]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9 unconditionally when gcc_cv_as_...
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
22252625
JJ
12002-09-06 Jakub Jelinek <jakub@redhat.com>
2
3 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
4 unconditionally when gcc_cv_as_flags64 checks are gone.
5 * configure: Rebuilt.
6
bc401279
AM
72002-09-06 Alan Modra <amodra@bigpond.net.au>
8
9 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10 2002-07-26 change. Comment.
11
b3fbfc07
KG
122002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13
14 * frv.c (frv_unique_section, frv_select_section,
15 frv_select_rtx_section): Delete.
16 (frv_in_small_data_p): New.
17 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
18 TARGET_ASM_SELECT_RTX_SECTION): Delete.
19 (TARGET_IN_SMALL_DATA_P): Define.
20
41e34bab
DJ
212002-09-05 Dale Johannesen <dalej@apple.com>
22
23 * reload1.c (reload): Retain only those memory clobbers
24 added for variable-array handling.
25
dc0ba55a
JT
262002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
27
28 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
29 return-in-memory rules.
30 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
31
dd19d142
DE
322002-09-05 David Edelsohn <edelsohn@gnu.org>
33
34 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
35 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
36
3717da94
JT
372002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
38
39 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
40 not a compile-time constant for the non-IBM case.
41 * config/arm/arm-protos.h (arm_float_words_big_endian): New
42 prototype.
43 * config/arm/arm.c (arm_float_words_big_endian): New function.
b5b620a4
JT
44 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
45 if TARGET_VFP and not TARGET_HARD_FLOAT.
3717da94
JT
46 (ARM_FLAG_VFP, TARGET_VFP): Define.
47 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
48
225cee28
DE
492002-09-05 David Edelsohn <edelsohn@gnu.org>
50
51 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
52 URLs. Fix AIX wording.
53
c72bfda7
SS
542002-09-05 Stan Shebs <shebs@apple.com>
55
56 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
57 -fPIC equivalent on Darwin.
58
3578cf63
R
59Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
60
61 * sh.c (sh_expand_builtin): Return early if encountering an
62 error_mark for a type.
63
7974fe63
UW
642002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
65
66 * config/s390/s390.c (s390_expand_plus_operand): Do not require
67 double-word scratch register.
68 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
69
70 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
71 "*cli"): Replace s_operand by memory_operand.
72 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
73
f8cb5851
KH
742002-09-05 Kazu Hirata <kazu@cs.umass.edu>
75
76 * config/h8300/h8300.c (asm_file_start): Add a missing
77 semicolon.
78
f4b488fd
KG
792002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
80
81 * frv.c (frv_encode_section_info): Fix error in last change.
82
0e5dbd9b
DE
832002-09-04 David Edelsohn <edelsohn@gnu.org>
84
85 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
86 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
87 (TARGET_BINDS_LOCAL_P): Define.
88 (rs6000_override_options): Save original flag_pic value.
89 (rs6000_elf_select_section): Call default_elf_select_section_1.
90 (rs6000_elf_unique_section): Call default_unique_section_1.
91 (rs6000_elf_in_small_data_p): New function.
92 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
93 (rs6000_xcoff_select_section): Update based on defaults.
94 (rs6000_xcoff_unique_section): Set to basic name if not common.
95 (rs6000_binds_local_p): New function.
96 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
97 targetm.have_srodata_section if SDATA_EABI.
98 (TARGET_IN_SMALL_DATA_P): Define.
99
f57f9cb8
DJ
1002002-09-04 Dale Johannesen <dalej@apple.com>
101
102 * varasm.c (struct rtx_const, decode_rtx_const):
103 Make veclo and vechi fields not share storage.
104
ed6cc1f5
R
105Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
106
107 * loop.c (scan_loop): Don't mark separate insns out of a libcall
108 for moving.
109 (move_movables): Abort if we see the first insn of a libcall.
110
ab5e2615
RH
1112002-09-04 Richard Henderson <rth@redhat.com>
112
113 * builtin-types.def (BT_FN_FLOAT): New.
114 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
115 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
116 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
117 * builtins.c (fold_builtin_inf): New.
118 (fold_builtin): Call it.
119 * real.c (ereal_inf): New.
120 * real.h: Declare it.
121 * doc/extend.texi: Document new builtins.
122
9beb7d20
RH
1232002-09-04 Richard Henderson <rth@redhat.com>
124
125 * cse.c (cse_insn): Avoid subreg games if the equivalence
126 is already in the proper mode.
127
29984e05
EB
1282002-09-04 Eric Botcazou <ebotcazou@multimania.com>
129
130 PR c/7102
131 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
132
8d46398e
JDA
1332002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
134
135 * pa.md (setccfp0, setccfp1): New patterns.
136
14966b94
KG
1372002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
138
139 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
140 frv_select_section, frv_select_rtx_section,
141 frv_encode_section_info, frv_unique_section): Delete.
142 * frv.c: Update for target hooks.
143 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
144 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
145 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
146
c8bf1a1a
KG
1472002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
148
149 * ip2k-protos.h (function_prologue, function_epilogue,
150 encode_section_info): Update to match target hook specification.
151 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
152 (function_prologue, function_epilogue, encode_section_info):
153 Update to match target hook specification.
154 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
155 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
156 (NOTICE_UPDATE_CC): Cast to void.
157 * ip2k.md: Add defaults in switch statements.
158
0484cb35
JJ
1592002-09-04 Janis Johnson <janis187@us.ibm.com>
160
161 * doc/trouble.texi (Interoperation): Update information about C++ ABI
162 issues.
163
3e62bd08
JT
1642002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
165
166 * config/sparc/t-netbsd64: Disable multilib for now.
167
275b6d80
DE
1682002-09-04 David Edelsohn <edelsohn@gnu.org>
169
170 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
171 * target.h (gcc_target): Add have_srodata_section member.
172 * varasm.c (section_category): Add SECCAT_SRODATA.
173 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
174 READONLY_SDATA_SECTION defined.
175 (decl_readonly_section_1): True for SECCAT_SRODATA also.
176 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
177 (default_unique_section_1): Likewise.
178
015b1ad1
JDA
1792002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
180
181 * expr.c (emit_group_load): Revise to allow splitting TCmode source
182 into DImode pieces.
183
184 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
185 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
186 for floating-point register class.
187 * pa.c (function_arg): Fix handling of modes wider than one word for
188 TARGET_64BIT.
189
b10f2187
R
190Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
191
192 * combine.c (make_compound_operation): Don't generate zero / sign
193 extensions in floating point modes.
194
478c9e72
JJ
1952002-09-04 Janis Johnson <janis187@us.ibm.com>
196
197 * doc/c-tree.texi: Fix overfull hboxes.
198 * doc/cppopts.texi: Ditto.
199 * doc/extend.texi: Ditto.
200 * doc/gty.texi: Ditto.
201 * doc/invoke.texi: Ditto.
202 * doc/makefile.texi: Ditto.
203 * doc/rtl.texi: Ditto.
204 * doc/standards.texi: Ditto.
205 * doc/tm.texi: Ditto.
206
77e8a0cc
RH
2072002-09-04 Richard Henderson <rth@redhat.com>
208
209 * c-common.c (builtin_define_with_hex_fp_value): New.
210 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
211
a9c60612
JJ
2122002-09-04 Janis Johnson <janis187@us.ibm.com>
213
214 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
215 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
216 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
217 Warn that these options can break ABI compatibility.
218
4b67a274
RH
2192002-09-04 Richard Henderson <rth@redhat.com>
220
221 * real.c (ereal_to_decimal): Add digits parameter.
222 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
223 * c-pretty-print.c (pp_c_real_literal): Update call.
224 * print-rtl.c (print_rtx): Likewise.
225 * print-tree.c (print_node_brief, print_node): Likewise.
226 * sched-vis.c (print_value): Likewise.
227 * config/arc/arc.c (arc_print_operand): Likewise.
228 * config/c4x/c4x.c (c4x_print_operand): Likewise.
229 * config/i370/i370.h (PRINT_OPERAND): Likewise.
230 * config/i386/i386.c (print_operand): Likewise.
231 * config/i960/i960.c (i960_print_operand): Likewise.
232 * config/ip2k/ip2k.c (asm_output_float): Likewise.
233 * config/m32r/m32r.c (m32r_print_operand): Likewise.
234 * config/m68hc11/m68hc11.c (print_operand): Likewise.
235 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
236 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
237 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
238 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
239 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
240 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
241 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
242 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
243 * config/mips/mips.c (print_operand): Likewise.
244 * config/ns32k/ns32k.c (print_operand): Likewise.
245 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
246 * config/vax/vax.h (PRINT_OPERAND): Likewise.
247 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
248
01abf342
BW
2492002-09-04 Bob Wilson <bob.wilson@acm.org>
250
251 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
252 xtensa_multibss_section_type_flags.
253 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
254
cd42d3df
RH
2552002-09-04 Richard Henderson <rth@redhat.com>
256
257 * doc/install-old.texi: Don't mention enquire.
258 * doc/sourcebuild.texi: Update float.h description.
259
502e6d5a
R
260Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
261
262 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
263
2cc9fb4c
DE
2642002-09-03 David Edelsohn <edelsohn@gnu.org>
265
266 * varasm.c (default_section_type_flags): Append _1 to name with
267 shlib parameter. Use original name to call new function with
268 implicit flag_pic.
269 (decl_readonly_section): Likewise.
270 (default_elf_select_section): Likewise.
271 (default_unique_section): Likewise.
272 (default_bind_local_p): Likewise.
273 (categorize_decl_for_section): Add shlib parameter to use in place
274 of implicit flag_pic.
275 * output.h: Declare new functions with _1 and shlib argument.
276
7c19f816
JJ
2772002-09-03 Janis Johnson <janis187@us.ibm.com>
278
8c085f6f
JJ
279 * doc/install.texi: Fix typos, formatting problems, and obvious
280 overfull/underfull boxes.
281
7c19f816
JJ
282 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
283 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
284 include its file, compat.texi.
285 * doc/compat.texi: New file with new chapter, Binary Compatibility.
286
79ba5e3b
NB
2872002-09-03 Neil Booth <neil@daikokuya.co.uk>
288
289 Debian BTS Bug #157416
290 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
291 * cpplib.c (destringize_and_run): Kludge around getting
292 tokens from in-progress macros.
293 (_cpp_do__Pragma): Simplify.
294
57016b47
SE
2952002-09-03 Steve Ellcey <sje@cup.hp.com>
296
297 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
298 (CPP_CPU_SPEC): Remove.
299 (TARGET_CPU_CPP_BUILTINS): New.
300 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
301 (CPP_SPEC): Remove.
302 (TARGET_OS_CPP_BUILTINS): New.
303 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
304 (TARGET_OS_CPP_BUILTINS): New.
305 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
306 TARGET_OS_CPP_BUILTINS.
307 (CPP_PREDEFINES): Remove.
308 (CPLUSPLUS_CPP_SPEC): Remove.
309 (TARGET_OS_CPP_BUILTINS): New.
310
d57a4b98
RH
3112002-09-03 Richard Henderson <rth@redhat.com>
312
313 * Makefile.in (USER_H): Add ginclude/float.h.
314 (FLOAT_H): Remove.
315 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
316 (mostlyclean): Don't remove float.h intermediate files.
317 (distclean): Don't remove float.h.
318 * config.gcc: Remove all float_format references.
319 * configure.in (float_format, float_h_file): Remove.
320
321 * c-common.c: Include tree-inline.h.
322 (builtin_define_with_int_value): New.
323 (builtin_define_type_precision): Use it.
324 (builtin_define_float_constants): New.
325 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
326 __FLT_EVAL_METHOD__.
327 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
328 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
329 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
330 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
331 (TARGET_FLT_EVAL_METHOD): New.
332
333 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
334 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
335 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
336 * ginclude/float.h: New.
337
527347f0
SS
3382002-09-03 Stan Shebs <shebs@apple.com>
339
340 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
341 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
342 (PREFERRED_DEBUGGING_TYPE): Ditto.
343 (ASM_OUTPUT_IDENT): Remove empty definition.
344
34c1864f
SE
3452002-09-03 Steve Ellcey <sje@cup.hp.com>
346
347 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
348 cxx_target.
349 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
350 handling routine for builtin pragma.
351 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
352 Registered pragma handling routine.
353 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
354 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
355 If builtin pragma seen for math routine and C89 conformance is
356 requested use different math function in order to set errno.
357 * t-ia64 (ia64-c.o): Add new rule for new file.
358
9b7c75b9
UW
3592002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
360
361 * config/s390/s390.md ("movti"): Add Q->Q alternative.
362 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
363 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
364
365 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
366 "*movsf_ss"): Remove.
367
710ba35f
JDA
3682002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
369
370 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
371 Delete macros.
372
ff970081
AD
3732002-09-03 Arati Dikey <aratid@kpit.com>
374
375 * h8300.c (asm_file_start): Corrected optimization comment.
376
b50d021d
SS
3772002-09-03 Stan Shebs <shebs@apple.com>
378
379 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
380 * c-tree.h (recognize_objc_keyword): Remove decl.
381 * c-typeck.c (comp_target_types): Update a comment.
382
b808c04c
UW
3832002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
384
385 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
386 and register validity checks.
387 (general_s_operand): Adapt to s390_decompose_address interface change.
388 (q_constraint): Likewise.
389 (s390_expand_plus_operand): Likewise.
390 (legitimiate_address_p): Likewise.
391 (legitimate_la_operand_p): Likewise.
392 (legitimize_la_operand): Likewise.
393 (print_operand_address): Likewise.
394 (print_operand): Likewise.
395
ee453219
NP
396Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
397
398 PR objc/5956:
399 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
400 was causing the new selector never to match the existing ones
401 (Patch by Alexander Malmberg <alexander@malmberg.org>).
402
d82283d5
GS
4032002-09-03 Graham Stott <graham.stott@btinternet.com>
404
405 * config/i386/i386.md ("femms"): Add "memory" attr "none".
406
4072002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
408
409 * expr.c (expand_expr): Remove extraneous comment and code.
410
98c0d8d1
RH
4112002-08-31 Richard Henderson <rth@redhat.com>
412
413 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
414
a5f3f0ab
JDA
4152002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
416
417 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
418
38ec83b1
RH
4192002-08-30 Richard Henderson <rth@redhat.com>
420
c9989d09 421 PR opt/7515
38ec83b1
RH
422 * c-objc-common.c: Include target.h.
423 (c_cannot_inline_tree_fn): Don't auto-inline functions that
424 don't bind locally. Factor setting DECL_UNINLINABLE.
425 * Makefile.in (c-objc-common.o): Update.
426
4c64396e
JJ
4272002-08-30 Janis Johnson <janis187@us.ibm.com>
428
429 * doc/install.texi (Configuration, Building): Fix a typo and
430 some formatting directives.
431
4226378a
PK
4322002-08-30 Paul Koning <pkoning@equallogic.com>
433
434 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
435 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
436 implemented" note.
437 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
438 for alphabetic order.
439 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
440 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
441 (VAX_HALFWORD_ORDER): Document.
442 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
443 IEEE float format.
444 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
445 (ASM_OUTPUT_LABEL_REF): Fix font.
446 (CASE_VECTOR_SHORTEN_MODE): Ditto.
447
b8074dbe
DC
4482002-08-30 Denis Chertykov <denisc@overta.ru>
449
450 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
451 stuff.
452 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
453 CONST_DOUBLE constants.
454
55f49e3d
JT
4552002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
456
457 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
458 related defines to...
459 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
460 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
461 as a no-op.
462
e1944073
KW
4632002-08-30 Krister Walfridsson <cato@df.lth.se>
464
465 * config/arm/arm.c (arm_asm_output_labelref): New function.
466 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
467 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
468
6e92b3a1
RB
4692002-08-29 Rodney Brown <rbrown64@csc.com.au>
470
471 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
472 memory exhausted" workarounds.
473
9d533cb5
GDR
4742002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
475
476 * diagnostic.c (fancy_abort): Don't repeat "internal error".
477 * toplev.c (crash_signal): Likewise.
478
1f676100
NP
479Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
480
481 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
482 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
483 Extended, updated documentation.
484 (-Wundeclared-selector): Documented.
485
23532de9
JT
4862002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
487
488 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
489 the value 1. Do not undef before defining.
490 * config/darwin.h: Likewise.
491 * config/dbx.h: Likewise.
492 * config/dbxcoff.h: Likewise.
493 * config/dbxelf.h: Likewise.
494 * config/elfos.h: Likewise.
495 * config/interix.h: Likewise.
496 * config/lynx-ng.h: Likewise.
497 * config/lynx.h: Likewise.
498 * config/netware.h: Likewise.
499 * config/psos.h: Likewise.
500 * config/svr3.h: Likewise.
501 * config/alpha/alpha.h: Likewise.
502 * config/alpha/elf.h: Likewise.
503 * config/alpha/vms.h: Likewise.
504 * config/arc/arc.h: Likewise.
505 * config/arm/aout.h: Likewise.
506 * config/arm/coff.h: Likewise.
507 * config/c4x/c4x.h: Likewise.
508 * config/h8300/h8300.h: Likewise.
509 * config/i386/cygwin.h: Likewise.
510 * config/i386/djgpp.h: Likewise.
511 * config/i386/gas.h: Likewise.
512 * config/i386/gstabs.h: Likewise.
513 * config/i386/i386-coff.h: Likewise.
514 * config/i386/i386-interix.h: Likewise.
515 * config/i386/sco5.h: Likewise.
516 * config/i386/svr3dbx.h: Likewise.
517 * config/i386/sysv3.h: Likewise.
518 * config/i386/win32.h: Likewise.
519 * config/i386/x86-64.h: Likewise.
520 * config/i960/i960.h: Likewise.
521 * config/ia64/ia64.h: Likewise.
522 * config/ip2k/ip2k.h: Likewise.
523 * config/m32r/m32r.h: Likewise.
524 * config/m68k/3b1.h: Likewise.
525 * config/m68k/3b1g.h: Likewise.
526 * config/m68k/ccur-GAS.h: Likewise.
527 * config/m68k/coff.h: Likewise.
528 * config/m68k/hp2bsd.h: Likewise.
529 * config/m68k/hp310g.h: Likewise.
530 * config/m68k/hp320g.h: Likewise.
531 * config/m68k/hp3bsd.h: Likewise.
532 * config/m68k/hp3bsd44.h: Likewise.
533 * config/m68k/linux-aout.h: Likewise.
534 * config/m68k/m68k-aout.h: Likewise.
535 * config/m68k/mot3300.h: Likewise.
536 * config/m68k/netbsd.h: Likewise.
537 * config/m68k/openbsd.h: Likewise.
538 * config/m68k/pbb.h: Likewise.
539 * config/m68k/plexus.h: Likewise.
540 * config/m68k/sun2.h: Likewise.
541 * config/m68k/sun3.h: Likewise.
542 * config/m68k/tower-as.h: Likewise.
543 * config/m68k/vxm68k.h: Likewise.
544 * config/m88k/aout-dbx.h: Likewise.
545 * config/m88k/m88k-aout.h: Likewise.
546 * config/mcore/mcore-elf.h: Likewise.
547 * config/mcore/mcore-pe.h: Likewise.
548 * config/mips/elf.h: Likewise.
549 * config/mips/elf64.h: Likewise.
550 * config/mips/iris5gas.h: Likewise.
551 * config/mips/iris6.h: Likewise.
552 * config/mips/mips.h: Likewise.
553 * config/mips/sni-gas.h: Likewise.
554 * config/mmix/mmix.h: Likewise.
555 * config/ns32k/netbsd.h: Likewise.
556 * config/pa/pa64-hpux.h: Likewise.
557 * config/romp/romp.h: Likewise.
558 * config/rs6000/sysv4.h: Likewise.
559 * config/rs6000/xcoff.h: Likewise.
560 * config/sh/coff.h: Likewise.
561 * config/sh/elf.h: Likewise.
562 * config/sparc/linux64.h: Likewise.
563 * config/sparc/liteelf.h: Likewise.
564 * config/sparc/netbsd.h: Likewise.
565 * config/sparc/openbsd.h: Likewise.
566 * config/sparc/pbd.h: Likewise.
567 * config/sparc/sp64-elf.h: Likewise.
568 * config/sparc/sp86x-elf.h: Likewise.
569 * config/sparc/sparc.h: Likewise.
570 * config/vax/vax.h: Likewise.
571 * config/vax/vaxv.h: Likewise.
572
5e98fba2
DD
5732002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
574
575 * h8300.c (shift_alg_hi): Various tweaks to improve performance
576 of HImode shifts.
577 (get_shift_alg): Corresponding changes.
578
43852342
JDA
5792002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
580
581 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
582
44bb111a
RH
5832002-08-29 Richard Henderson <rth@redhat.com>
584
585 * expr.h (enum block_op_methods): New.
586 (emit_block_move): Update prototype.
587 * expr.c (block_move_libcall_safe_for_call_parm): New.
588 (emit_block_move_via_loop): New.
589 (emit_block_move): Use them. New argument METHOD.
590 (emit_push_insn): Always respect the given alignment.
591 (expand_assignment): Update call to emit_block_move.
592 (store_expr, store_field, expand_expr): Likewise.
593 * builtins.c (expand_builtin_apply): Likewise.
594 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
595 * function.c (expand_function_end): Likewise.
596 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
597 * config/sparc/sparc.c (sparc_va_arg): Likewise.
598 * calls.c (expand_call, emit_library_call_value_1): Likewise.
599 (save_fixed_argument_area): Use emit_block_move with
600 BLOCK_OP_CALL_PARM instead of move_by_pieces.
601 (restore_fixed_argument_area): Likewise.
602 (store_one_arg): Fix alignment parameter to emit_push_insn.
603
08b3d104
JDA
6042002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
605
606 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
607
ce4e9970 6082002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
609
610 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
611 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
612 (PREDICATE_CODES): Include new predicates.
613 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
614 (TARGET_SWITCHES): Add strict-align.
615 (TARGET_STRICT_ALIGN): New.
616 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
617 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
618 Define.
619 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
620 v850_muldi3.
621 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
622 L_callt_save_r2_r31, L_return_r2_r31,
623 L_save_all_interrupt): Change addi to add.
624 (L_save_interrupt, L_return_interrupt): Rework.
625 (__return_r31): Correct .size directive.
626 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
627 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
628 New routines.
629 * config/v850/v850.c (expand_prologue): Call
630 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
631 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
632 (reg_or_int9_operand): New predicate.
633 (reg_or_const_operand): New routine.
634 * config/v850/v850.md (return_interrupt): Changed from
635 restore_interrupt.
636 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
637 (callt_save_interrupt): Change save sequence.
638 (callt_return_interrupt): New.
639 (save_interrupt): Don't use runtime function for LONG_CALLS
640 and TARGET_PROLOG_FUNCTION.
641 (save_all_interrupt): Likewise.
642 (mulsi3): Use new predicate.
643 (moviscc): Disallow some combination of constants.
644 Fix define_split for sasf insns, so that it will not generate bad
645 code if operand0 and operand5 are the same.
646 * config/v850/v850-protos.h: Prototype new predicates.
647
585e661a
GDR
6482002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
649
650 * c-common.c (builtin_define_type_precision): New function.
651 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
652 wchar_t is unsigned in C++.
653 * doc/cpp.texi (Common Predefined Macros): Document
654 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
655 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
656 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
657
bd8f9aec
SP
6582002-08-28 Sylvain Pion <pion@cs.nyu.edu>
659
660 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
661 section. Mention that it is enabled by -Wall.
662 (-Wall): Mention that there can be language-specific warnings as well.
663 (-Wctor-dtor-privacy): Mention that it is enabled by default.
664 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
665
58ab7171
R
666Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
667
668 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
669 if it is ever live.
670
671 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
672 attribute for SHCOMPACT.
673
674 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
675 appropriately.
676 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
677 by the ABI.
678
679 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
680
27f4b67e
JT
6812002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
682
683 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
684 "MASK_GAS|MASK_ABICALLS".
685 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
686 (TARGET_DEFAULT): Remove.
687 (MACHINE_TYPE): Undefine before defining.
688 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
689
eca7f13c
MM
6902002-08-27 Mark Mitchell <mark@codesourcery.com>
691
692 * c-common.c (warn_abi): New variable.
693 * c-common.h (warn_abi): Likewise.
694 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
695 (c_common_decode_option): Handle it.
7ee425e4 696 * doc/invoke.texi: Document -Wabi.
eca7f13c 697
ece4ce85
NP
698Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
699
700 * c-common.c (warn_undeclared_selector): New variable.
701 * c-common.h (warn_undeclared_selector): Idem.
702 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
703 to on when -Wundeclared-selector is found.
704 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
705 * objc/objc-act.c (build_selector_expr): If
706 warn_undeclared_selector is set, check that the selector has
707 already been defined, and emit a warning if not.
708
b4378319
NC
7092002-08-27 Nick Clifton <nickc@redhat.com>
710 Catherine Moore <clm@redhat.com>
711 Jim Wilson <wilson@cygnus.com>
712
713 * config.gcc: Add v850e-*-* target.
714 Add --with-cpu= support for v850.
715 * config/v850/lib1funcs.asm: Add v850e callt functions.
716 * config/v850/v850.h: Add support for v850e target.
717 * config/v850/v850.c: Add functions to support v850e target.
718 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
719 * config/v850/v850.md: Add patterns for v850e instructions.
720 * doc/invoke.texi: Document new v850e command line switches.
721
ef261fee
R
722Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
723 Aldy Hernandez <aldyh at redhat dot com>
724
725 * doc/tm.texi: Applied numerous fixes to the automaton based
726 scheduler descrition.
727
c60ee6f5
JH
728Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
729
730 * i386.c (classify_argument): Handle variable sized objects.
731
1985ef90
JH
732Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
733
734 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
735
7acc97e0
JH
736Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
737
738 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
739
23327dae
JH
740Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
741
742 * i386.c (classify_argument): Properly compute word size of the analyzed object.
743
c49439f1
R
744Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
745
746 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
747 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
748 accordingly.
749 (attribute insn_class): Provide default definitions based on type.
750 Remove all insn-specific settings.
751 (various function units): Remove old SH4 scheduling.
752 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
753 New attributes. Set them where appropriate.
754 (cpu unit FS): Don't define / use.
755 (F3, load_store): New cpu units.
756 (F01): New reservation.
757 (all insn_reservations): Make dependent on sh4 pipeline model.
758 Fix latencies.
759 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
760 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
761 (mt insn_reservation): Use type mt_group.
762 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
763 sh4_fload and sh4_store.
764 (insn_reservation branch_zero and branch): Replace with sh4_branch.
765 (insn_reservation branch_far): Replace with sh4_return.
766 (insn_reservation return_from_exp): Rename to:
767 (sh4_return_from_exp). Change to be just d_lock*5.
768 (insn_reservation lds_to_pr): Rename to:
769 (sh4_lds_to_pr). Change to be just d_lock*2.
770 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
771 d_lock*2.
772 (insn_reservation prload_mem): Rename to:
773 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
774 (insn_reservation fpscr_store): Rename to:
775 (fpscr_load). Change to d_lock,nothing,F1*3.
776 (insn_reservation fpscr_store_mem): Rename to:
777 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
778 (insn_reservation multi): Change to
779 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
780 (insn_reservation fp_arith): Change to issue,F01,F2.
781 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
782 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
783 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
784 (insn_reservation fp_double_cmp): Change to
785 d_lock,(d_lock+F01),F1+F2,F2.
786 (insn_reservation dp_div): Change to
787 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
788 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
789 (sh_adjust_cost, SHcompact): Differentiate between different
790 kinds of dependencies. Drop factor of ten for superscalar.
791 Use new instruction types. Add new exception rules.
792
793 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
794
795 * sh.md (mperm_w): Add DONE.
796
f34fc46e
DE
7972002-08-27 David Edelsohn <edelsohn@gnu.org>
798
799 * longlong.h: Import current PowerPC defintion from GMP-4.1.
800
801 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
802
803 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
804
dcb44500
R
805Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
806
807 * sh.h (MAX_FIXED_MODE_SIZE): Define.
808
3ec07554
GDR
8092002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
810
811 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
812 delimiter.
813
35885eab
GDR
8142002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
815
816 * c-common.c (cpp_define_data_format): New function.
817 (cb_register_builtins): Call it.
818
819 * doc/cpp.texi (Common Predefined Macros): Document
820 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
821 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
822 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
823 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
824 __TARGET_USES_VAX_H_FLOAT__.
825
d632dee9
ZL
8262002-08-26 Ziemowit Laski <zlaski@apple.com>
827
828 * objc/objc-act.c (get_super_receiver): If inside a class method
829 of a category, cast the receiver to 'id' before accessing the 'isa'
830 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
831
c3cc6b78
UW
8322002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
833
834 * config/s390/s390-protos.h (s390_function_prologue,
835 s390_function_epilogue): Remove.
836 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
837 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
838
839 config/s390/s390.c (s390_machine_dependent_recorg): New function.
840 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
841 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
842 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
843 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
844
845 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
846 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
847 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
848 function is not a leaf function. Use save_gprs and restore_gprs.
849 (s390_emit_epilogue): Likewise.
850 (save_gprs, restore_gprs): New functions.
851 (struct s390_frame): Remove return_reg_saved_p member.
852 (save_fprs_p): Remove.
853 (s390_optimize_prolog): New function.
854 (s390_legitimate_reload_constant): Remove now unnecessary check.
855
856 (s390_function_count): Remove.
857 (s390_output_symbolic_const): Replace s390_function_count by
858 current_function_funcdef_no.
859 (s390_output_constant_pool): Likewise.
860
861 (legitimize_pic_address): Use regs_ever_live to track PIC register
862 instead of current_function_uses_pic_offset_table.
863 (s390_emit_prologue): Likewise.
864 config/s390/s390.md ("call", "call_value"): Likewise.
865
3f662186
NB
8662002-08-26 Neil Booth <neil@daikokuya.co.uk>
867
868 * c-opts.c (find_opt): Don't complain about wrong languages
869 here. Return exact matches even for wrong language.
870 (c_common_decode_option): Complain about wrong languages
871 here.
872
b6128b8c
SH
8732002-08-24 Stuart Hastings <stuart@apple.com>
874
875 * function.h (struct function): Add flag
876 all_throwers_are_sibcalls.
877 * except.c (set_nothrow_function_flags): Replaces
878 nothrow_function_p. Set new flag.
879 * except.h (set_nothrow_function_flags): Replaces
880 nothrow_function_p.
881 * dwarf2out.c (struct dw_fde_struct): Add flag
882 all_throwers_are_sibcalls.
883 (output_call_frame_info): Test it.
884 (dwarf2out_begin_prologue) Propagate it from cfun to
885 dw_fde_struct.
886 * toplev.c (rest_of_compilation): Update calls to
887 nothrow_function_p.
888
280cf02a
ZW
8892002-08-23 Zack Weinberg <zack@codesourcery.com>
890
891 * ggc-page.c (compute_inverse): Short circuit calculation for
892 object sizes larger than half a page.
893
c6664446
DE
8942002-08-23 David Edelsohn <edelsohn@gnu.org>
895
896 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
897 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
898 default.
899 (rs6000_elf_unique_section): Likewise.
900
da57d233
KG
9012002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
902
903 * ns32k.c (ns32k_globalize_label): Delete.
904 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
905
56a7189a
AM
9062002-08-23 Alan Modra <amodra@bigpond.net.au>
907
908 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
909 for loading delta with num_insns_constant_wide. Calculate
910 delta_low, delta_high without using a conditional.
911
d65b1d77
JM
9122002-08-22 Jason Merrill <jason@redhat.com>
913
914 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
915 * c-common.def: Adjust.
916 * c-dump.c (c_dump_tree): Adjust.
917 * c-semantics.c (genrtl_return_stmt): Adjust.
918 * c-pretty-print.c (pp_c_statement): Adjust.
919 * tree-inline.c (copy_body_r): Adjust.
920
8537ed68
ZW
9212002-08-22 Zack Weinberg <zack@codesourcery.com>
922
923 * ggc-page.c: Avoid division in ggc_set_mark.
924 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
925 compute_inverse): New.
926 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
927 (init_ggc): Initialize inverse_table.
928
8567c70f
TT
9292002-08-22 Tom Tromey <tromey@redhat.com>
930
931 * doc/install.texi (Configuration): Document --datadir.
932
fde59d4b
AO
9332002-08-22 Alexandre Oliva <aoliva@redhat.com>
934
935 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
936
44ddc79a
HPN
9372002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
938
939 * gengtype-lex.l (ID): Allow underscore as first character.
940
b275d088
DE
9412002-08-21 David Edelsohn <edelsohn@gnu.org>
942
943 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
944 function.
945 (rs6000_xcoff_asm_named_section): Rename.
946 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
947
57ce46bb
TT
9482002-08-21 Tom Tromey <tromey@redhat.com>
949
950 For PR java/6005 and PR java/7611:
951 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
952 (fold): Likewise.
953 * langhooks.c (lhd_can_use_bit_fields_p): New function.
954 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
955 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
956 (LANG_HOOKS_INITIALIZER): Use it.
957 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
958 field.
959
27d30956
SS
9602002-08-21 Stan Shebs <shebs@apple.com>
961
962 * tree.c (finish_vector_type): Fix a typo in a comment.
963 * Makefile.in: Fix "the the" stutters in comments.
964 * genautomata.c: Ditto.
965 * ifcvt.c: Ditto.
966 * regrename.c: Ditto.
967 * config/alpha/alpha.c: Ditto.
968 * config/alpha/vms-crt0-64.c: Ditto.
969 * config/alpha/vms-crt0.c: Ditto.
970 * config/alpha/vms-psxcrt0-64.c: Ditto.
971 * config/alpha/vms-psxcrt0.c: Ditto.
972 * config/d30v/d30v.h: Ditto.
973 * config/fr30/fr30.h: Ditto.
974 * config/rs6000/rs6000.c: Ditto.
975 * config/stormy16/stormy16.h: Ditto.
976 * doc/md.texi: Ditto.
8537ed68 977
d873d827
JDA
9782002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
979
980 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
981
b462d4ab
JM
9822002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
983
984 * c-decl.c (grokdeclarator): Make invalid combinations with long,
985 short, signed or unsigned into hard errors. Fixes PR c/4319.
986 Also make duplicate modifiers such as "short short" into hard
987 errors.
988
b65d23aa 9892002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 990 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
991
992 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
993 to the actual end. Add '@end table' and '@table @code'.
8537ed68 994
3823f0b2
GK
9952002-08-20 Geoffrey Keating <geoffk@redhat.com>
996
8d25d915
GK
997 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
998
3823f0b2
GK
999 * unroll.c (biv_total_increment): Don't try to compute the total
1000 increment for FP BIVs.
1001
5eb99654
KG
10022002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1003
1004 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
1005 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
1006 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1007 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
1008 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
1009 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
1010 (GLOBAL_ASM_OP): Define.
1011 * arm.c (aof_globalize_label): New function.
1012 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
1013 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1014 * c4x.c (c4x_globalize_label): New function.
1015 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
1016 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
1017 (GLOBAL_ASM_OP): Define.
1018 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
1019 * darwin-protos.h (darwin_globalize_label): Declare.
1020 * darwin.c (darwin_globalize_label): New function.
1021 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
1022 (ASM_GLOBALIZE_LABEL): Delete.
1023 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
1024 * dsp16xx.c (asm_output_common): Use target hook.
1025 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
1026 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
1027 (GLOBAL_ASM_OP): Define.
1028 * i370.c (i370_globalize_label): New function.
1029 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
1030 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
1031 * i386.c (ix86_asm_file_end): Use target hook.
1032 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
1033 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
1034 * ia64.c (ia64_asm_output_external): Likewise.
1035 * ia64/sysv4.h: Update comment.
1036 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1037 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1038 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
1039 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1040 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
1041 * mmix-protos.h (mmix_asm_globalize_label): Delete.
1042 * mmix.c (mmix_asm_globalize_label): Likewise.
1043 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
1044 (GLOBAL_ASM_OP): Define.
1045 * ns32k.c (ns32k_globalize_label): New function.
1046 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
1047 (ASM_GLOBALIZE_LABEL): Delete.
1048 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
1049 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
1050 * pa.c (pa_globalize_label): New function.
1051 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
1052 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
1053 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
1054 (GLOBAL_ASM_OP): Define.
1055 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
1056 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1057 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
1058 (GLOBAL_ASM_OP): Define.
1059 * v850.c (v850_output_aligned_bss): Use target hook.
1060 * vax.c (vms_globalize_label): New function.
1061 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
1062 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
1063 (GLOBAL_ASM_OP): Define.
1064 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
1065 * doc/tm.texi: Update docs.
1066 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
1067 target hook.
1068 * final.c (output_alternate_entry_point): Likewise.
1069 * hooks.c (hook_FILEptr_constcharptr_void): New function.
1070 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
1071 * output.h (assemble_global): Delete.
1072 (default_globalize_label): Declare.
1073 * system.h (ASM_GLOBALIZE_LABEL): Poison.
1074 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
1075 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
1076 * target.h (gcc_target): Add globalize_label member.
1077 * varasm.c (asm_output_bss, asm_output_aligned_bss,
1078 globalize_decl): Use target hook.
1079 (assemble_global): Delete.
1080 (default_globalize_label): New function.
1081
f8f28a75
KG
10822002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1083
1084 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
1085
92b5aacd
DP
10862002-08-20 Devang Patel <dpatel@apple.com>
1087 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 1088
761c70aa
KG
10892002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1090
1091 * arc.c (output_shift): Use stdio instead of asm_fprintf.
1092 * arm.c (thumb_output_function_prologue): Likewise.
1093 * avr.c (print_operand): Likewise.
1094 * c4x.c (c4x_print_operand): Likewise.
1095 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
1096 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
1097 * cris.c (cris_target_asm_function_prologue,
1098 cris_asm_output_mi_thunk): Likewise.
1099 * h8300.c (print_operand): Likewise.
1100 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1101 * ip2k.c (print_operand): Likewise. Fix format specifier.
1102 * m68hc11.c (asm_print_register, print_operand,
1103 print_operand_address): Use stdio instead of asm_fprintf.
1104 (print_operand_address): Fix format specifier.
1105 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
1106 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
1107 asm_fprintf.
1108 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1109 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1110 * m68k.c (m68k_output_function_prologue,
1111 m68k_output_function_epilogue, print_operand): Likewise.
1112 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
1113 Likewise. Fix format specifier.
1114 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1115 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1116 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1117
5ce6f47b
EC
11182002-08-15 Eric Christopher <echristo@redhat.com>
1119 Jeff Knaggs <jknaggs@redhat.com>
1120
1121 * config.gcc (mipsisa64sr71k-elf): New target.
1122 * config/mips/sr71k.md: New file.
1123 * config/mips/mips.md: Use it.
1124 (rot*): Add sr71k specifics.
1125 * config/mips/t-sr71k: New file.
1126 * config/mips/mips.h (sr71k): New cpu.
1127 (TARGET_SR71K): Use it.
1128 (TUNE_SR71K): Ditto.
1129 (GENERATE_BRANCHLIKELY): Ditto.
1130 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
1131 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
1132 * config/mips/mips.c (sr71k): New cpu.
1133 (mips_use_dfa_pipeline_interface): Use.
1134
11352002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 1136 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
1137 Aldy Hernandez <aldyh@redhat.com>
1138 Graham Stott <grahams@redhat.com>
1139 Michael Meissner <meissner@redhat.com>
1140 Gavin Romig-Koch <gavin@redhat.com>
1141 Ken Raeburn <raeburn@cygnus.com>
1142 Alexandre Oliva <aoliva@redhat.com>
1143
1144 * config.gcc (mips64vr-elf): New target.
1145 * config/mips/5400.md: New file.
1146 * config/mips/5500.md: Ditto.
1147 * config/mips/mips.md: Use them.
1148 (frsqrt): New.
1149 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
1150 cpus.
1151 (mips_issue_rate): Use them.
1152 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
1153 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
1154 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
1155 cpus.
1156 (TARGET_MIPSx): Use them.
1157 (TUNE_MIPSx): Ditto.
1158 (GETNATE_MULT3_SI): Ditto.
1159 (ISA_HAS_BRANCHLIKELY): Ditto.
1160 (ISA_HAS_CONDMOVE): Ditto.
1161 (ISA_HAS_NMADD_NMSUB): Ditto.
1162 (ISA_HAS_MULHI): New. Ditto.
1163 (ISA_HAS_MULS): Ditto.
1164 (ISA_HAS_MSAC): Ditto.
1165 (ISA_HAS_MACC): Ditto.
1166 (ISA_HAS_ROTR_SI): Ditto.
1167 (ISA_HAS_ROTR_DI): Ditto.
1168 (RTX_COSTS): Use.
1169
48209ce5
JDA
11702002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
1171
1172 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
1173 at head.
1174 (remove_dup_nonsys_dirs): New function.
1175 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
1176 (merge_include_chains): Remove non-system include directories from
1177 quote and bracket include chains when they duplicate equivalent system
1178 directories.
1179 * doc/cpp.texi (-I): Update.
8537ed68
ZW
1180 * doc/cppopts.texi (-I): Update.
1181 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
1182 this option.
1183 * doc/invoke.texi (-I): Update.
1184
4ca79136
RH
11852002-08-20 Richard Henderson <rth@redhat.com>
1186
1187 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
1188 (emit_block_move): Split out subroutines.
1189 (emit_block_move_via_movstr): New.
1190 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
1191 (emit_block_move_libcall_fn): New. Construct function prototype for
1192 bcopy as well.
1193 (clear_storage): Split out subroutines.
1194 (clear_storage_via_clrstr): New.
1195 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
1196 (clear_storage_libcall_fn): New. Construct function prototype for
1197 bzero as well.
1198 (emit_push_insn): Use emit_block_move.
1199 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
1200 (store_constructor): Likewise.
1201
9f05cef3
ZL
12022002-08-19 Ziemowit Laski <zlaski@apple.com>
1203
1204 * objc/objc-act.c (building_objc_message_expr): Rename to
1205 current_objc_message_selector.
1206
1bd5981b
ZL
12072002-08-19 Ziemowit Laski <zlaski@apple.com>
1208
1209 * objc/objc-act.c (build_ivar_chain): Remove.
1210 (objc_copy_list): Likewise.
1211 (get_class_ivars): Inline call to removed build_ivar_chain
1212 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
1213 slot; use that slot (rather than CLASS_IVARS) when accessing
1214 ivars for base classes. Call copy_list and chainon instead of
1215 objc_copy_list.
1216 (build_private_template): Call get_class_ivars instead of
1217 build_ivar_chain.
1218 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
5ce6f47b 1219 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
1220 build_ivar_chain.
1221 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
1222 of DECL_BIT_FIELD (which may have been cleared).
1223 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
1224
2bf087c0
KG
12252002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1226
1227 * genautomata.c (output_translate_vect, output_state_ainsn_table,
1228 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
1229 in output file.
1230 (output_internal_min_issue_delay_func): Initialize variable in
1231 output file.
1232
3fcd079e
AO
12332002-08-19 Alexandre Oliva <aoliva@redhat.com>
1234
1235 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
1236 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
1237
71012d97
GK
12382002-08-19 Geoffrey Keating <geoffk@redhat.com>
1239 Steve Ellcey <sje@cup.hp.com>
1240
1241 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
1242 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
1243 * explow.c (trunc_int_for_mode): Abort when the mode is not
1244 a scaler integer mode.
1245 * combine.c (expand_compound_operation): Don't expand Vector
1246 or Complex modes into shifts.
1247 (expand_field_assignment): Don't do bitwise arithmatic and
1248 shifts on Vector or Complex modes.
1249 (simplify_comparison): Don't call trunc_int_for_mode
1250 for VOIDmode.
1251 * recog.c (general_operand): Likewise.
1252 (immediate_operand): Likewise.
1253 (nonmemory_operand): Likewise.
1254
af8cb5c5
DE
12552002-08-19 David Edelsohn <edelsohn@gnu.org>
1256
1257 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
1258 multi-instruction SImode constant. Add REG_EQUAL note.
1259 * config/rs6000/rs6000.md (movsi splitter): Use
5ce6f47b 1260 rs6000_emit_set_const.
af8cb5c5 1261
9bc146b3
KG
12622002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1263
1264 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
1265 the macro test controlling its use.
1266
66df2ac2
L
12672002-08-18 H.J. Lu (hjl@gnu.org)
1268
1269 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
1270 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
1271 gnu_ld=yes.
1272 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
1273 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
1274 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
1275 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
1276 here.
1277 (cris-*-linux*): Remove setting thread_file here.
1278
463f1b2b
NB
12792002-08-18 Neil Booth <neil@daikokuya.co.uk>
1280
1281 PR preprocessor/7602
1282 * cppinit.c (path_include): Treat the system environment
1283 variables as being cxx_aware.
1284
2984fe64
JM
12852002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
1286
1287 * c-decl.c (flexible_array_type_p): New function.
1288 (grokdeclarator, finish_struct): Use it.
1289 * doc/extend.texi: Document constraints on use of structures with
1290 flexible array members.
1291
fded6d78
RS
12922002-08-17 Richard Sandiford <rsandifo@redhat.com>
1293
1294 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
1295 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
1296 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
1297
8aa5074e
SS
12982002-08-16 Stan Shebs <shebs@apple.com>
1299
1300 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
1301 for ObjC with -fnext-runtime.
1302 * doc/cpp.texi: Document it.
1303
f97a5bda
JJ
13042002-08-16 Janis Johnson <janis187@us.ibm.com>
1305
1306 * doc/install.texi (Final installation): Replace links to individual
1307 build status pages with a link to a common page that lists them all.
1308
d3075b6c
SP
13092002-08-16 Sylvain Pion <pion@cs.nyu.edu>
1310
1311 * doc/invoke.texi: Fix typo.
1312
fdf68669
DE
13132002-08-16 David Edelsohn <edelsohn@gnu.org>
1314
1315 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
1316
13172002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
1318
1319 * tree-inline.c: Add includes for Java inliner.
1320 (remap_decl): Don't handle anonymous types for Java.
1321 (remap_block): Add handling for Java trees.
1322 (copy_scope_stmt): Conditionalize for non-Java use only.
1323 (copy_body_r): Handle Java trees. Add handling for
1324 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
1325 (initialize_inlined_parameters): Handle Java trees.
1326 (declare_return_variable): Likewise.
1327 (expand_call_inline): Handle Java trees.
1328 (walk_tree): Likewise.
1329 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
1330 (add_stmt_to_compound): New function.
1331
204250d2
RH
13322002-08-15 Richard Henderson <rth@redhat.com>
1333
1334 * Makefile.in (LOOSE_WARN): Remove -fno-common.
1335 (NOCOMMON_FLAG): New substitution point.
1336 (GCC_WARN_CFLAGS): Include it.
1337 * configure.in (ac_checking): Set nocommon_flag.
1338 (nocommon_flag): New substitution point.
1339
25587e40
AO
13402002-08-15 Alexandre Oliva <aoliva@redhat.com>
1341
1342 * c-tree.h (skip_evaluation): Move declaration...
1343 * c-common.h: ... here.
1344 * c-typeck.c (build_external_ref): Don't assemble_external nor
1345 mark a tree as used if skip_evaluation is set.
1346 * c-parse.in (typeof): New non-terminal to set skip_evaluation
1347 around TYPEOF.
1348 (typespec_nonreserved_nonattr): Use it.
1349
702ada3d
DR
13502002-08-15 Douglas B Rupp <rupp@gnat.com>
1351
1352 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
1353 (xcoff_debug_hooks): Update end_prologue.
1354 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
1355 * debug.h (end_prologue): Add file arg.
1356 (end_epilogue): Add line and file args.
1357 (dwarf2out_end_epilogue): Add line and file args.
1358 (vmsdbgout_after_prologue): Remove.
1359 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
1360 (dwarf2_debug_hooks): Update end_prologue.
1361 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
1362 (dwarfout_end_prologue): Add file arg.
1363 * final.c (vmsdbgout_after_prologue): Remove
1364 (final_end_function): Update end_epilogue call.
1365 (final_scan_insn): Update end_prologue call.
1366 * sdbout.c (sdbout_end_epilogue): Add line and file args.
1367 (sdbout_end_prologue): Add file arg.
1368 (sdb_debug_hooks): Update end_prologue.
1369 (sdb_begin_prologue): Update sdbout_end_prologue call.
1370 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
1371 vmsdbgout_end_function.
1372 (vmsdbgout_end_prologue): New function renamed from
1373 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
1374 (vmsdbgout_end_function): New function.
1375 (vmsdbgout_end_epilogue): Add line and file args. Call
1376 vmsdbgout_source_line.
1377 (write_pclines): Write only valid line numbers.
1378 (write_srccorr): Don't write source correlation records if 0 lines.
1379 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
1380
9ef30f83
SE
13812002-08-15 Steve Ellcey <sje@cup.hp.com>
1382
1383 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
1384 (_Unwind_Internal_Ptr): 32 bit version for use in
1385 read_encoded_value_with_base.
1386 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
1387 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
1388 right size.
1389
f7043461
KG
13902002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1391
1392 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
1393 signed/unsigned warnings.
1394
1395 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
1396 record_reg_classes): Likewise.
1397
1398 * reload.c (reload_inner_reg_of_subreg, push_reload,
1399 find_reloads_address_1): Likewise.
1400
b4d330e1
DE
14012002-08-15 David Edelsohn <edelsohn@gnu.org>
1402
1403 * rs6000.c (output_mi_thunk): Return to function section on
1404 TARGET_ELF.
1405
1406 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
1407
61f02ff5
UW
14082002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
1409
1410 * config/s390/s390.c (legitimize_address): Optimize loading
1411 of large displacements.
1412
1330f7d5
DR
14132002-08-14 Douglas B Rupp <rupp@gnat.com>
1414
1415 * config/alpha/alpha-protos.h: Update.
1416
1417 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
1418 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
1419 (alpha_linkage_symbol_p): New static function.
1420 (print_operand_address): Print linkage operand.
1421
1422 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
1423 variables.
1424 (reloc_kind): New enum.
1425 (struct alpha_funcs): New struct.
1426 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
1427
1428 (alpha_need_linkage): Rewrite.
1429 (alpha_use_linkage): New global function.
1430 (alpha_write_linkage): Rewrite and make static.
1431 (alpha_write_one_linkage): Rewrite
1432
1433 (alpha_start_function): Remove procedure descriptor output.
1434 (alpha_end_function): Write linkages at end of each function.
1435
1436 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
1437 (call_vms_1, call_value_vms_1): Rewrite.
1438
1439 * config/alpha/vms.h (ASM_FILE_END): Remove.
1440
d1f1cc6a
RH
14412002-08-14 Richard Henderson <rth@redhat.com>
1442
1443 * ggc-page.c (RTL_SIZE): New.
1444 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
1445 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
1446
23626154
RH
14472002-08-14 Richard Henderson <rth@redhat.com>
1448
1449 * calls.c: Include target.h.
1450 * Makefile.in (calls.o): Update.
1451
1452 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
1453 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
1454
fd350d24
RH
14552002-08-14 Richard Henderson <rth@redhat.com>
1456
1457 * Makefile.in (LOOSE_WARN): Add -fno-common.
1458 * c-common.h (constant_string_class_name): Add missing extern.
1459
182d89a3
NB
14602002-08-15 Neil Booth <neil@daikokuya.co.uk>
1461
1462 PR preprocessor/7358
1463 * c-opts.c (check_deps_environment_vars): Ignore main file
1464 for SUNPRO_DEPENDENCIES.
1465 * cppfiles.c (stack_include_file): Ignore main file if
1466 appropriate.
1467 * cpplib.h (struct cpp_options): New member in deps.
1468 * doc/cppenv.texi: Update.
1469
8bfb1467
NB
14702002-08-14 Neil Booth <neil@daikokuya.co.uk>
1471
1472 PR preprocessor/7526
1473 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
1474
41685063
NS
14752002-08-14 Nathan Sidwell <nathan@codesourcery.com>
1476
1477 * doc/invoke.texi (-a): Remove documentation.
1478 (-fprofile-arcs): Remove reference to -a, -ax options.
1479 * doc/gcov.texi (Gcov Data Files): Data might be merged.
1480
77893a23
GDR
14812002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1482
1483 Fix PR/7566
1484 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 1485 warning_with_decl.
77893a23 1486
260f91c2
DJ
14872002-08-14 Dale Johannesen <dalej@apple.com>
1488
8537ed68 1489 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
1490 preceding the stack pop, to prevent the scheduler from
1491 moving refs to variable arrays below this pop.
1492 * reload1.c (reload): Preserve these clobbers for sched2.
1493 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
1494
cd79e210
NB
14952002-08-14 Neil Booth <neil@daikokuya.co.uk>
1496
1497 * c-opts.c (c_common_post_options): Correct test.
1498
3eb75a73
KG
14992002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1500
1501 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
1502 order in call to fprintf.
1503
be3a0ce2
RO
15042002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1505
1506 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
1507
ccfc6cc8
UW
15082002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
1509
5ce6f47b 1510 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
1511 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
1512 (alternative_allows_memconst): Likewise.
1513 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 1514 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
1515 constrain_operands): Likewise.
1516 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1517 * local-alloc.c (block_alloc, requires_inout): Likewise.
1518 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1519
1520 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
1521 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1522 * doc/tm.texi: Document these two new target macros.
1523
1524 * config/s390/s390.c (s390_expand_plus_operand): Accept already
1525 valid operands.
1526 (q_constraint): New function.
1527 config/s390/s390-protos.h (q_constraint): Declare it.
1528 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
1529 (EXTRA_MEMORY_CONSTRAINT): New macro.
1530
1531 * config/s390/s390.md: Throughout the machine description,
1532 replace all instances of the constraint combinations 'Qo'
1533 or 'oQ' with simply 'Q'.
1534
d6ee9f6f
SC
15352002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1536
1537 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
1538 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
1539 (LIBGCC2_CFLAGS): Compile with -mrelax.
1540
8a0b86f5
SC
15412002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1542
1543 * doc/invoke.texi: Document -minmax for 68HC12.
1544
1545 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
1546 ("uminqi3"): Likewise.
1547 ("uminhi3", "umaxhi3"): Likewise.
1548
1549 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
1550 (TARGET_MIN_MAX): Define.
1551 (TARGET_SWITCHES): New option -minmax/-mnominmax.
1552
d6381f4e
SC
15532002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1554
1555 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
1556 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
1557
1558 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
1559 (ret, declare, farsym): New gas macros.
1560 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
1561 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
1562 and declare the symbol far when compiled with -mlong-calls.
5ce6f47b 1563 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
1564 far handler using jsr/bsr.
1565
1566 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
1567 (jsr): New macro to transform a 'jsr' into a 'call'.
1568
058edcdb
SC
15692002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1570
1571 * doc/invoke.texi: Document -mlong-calls for 68HC12.
1572
1573 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
1574 -mlong-calls is specified.
5ce6f47b 1575 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
1576 assembler directives.
1577 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
1578 (TARGET_SWITCHES): Add -mlong-calls options.
1579 (current_function_far): Declare.
1580
1581 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
1582 into account the page register saved on the stack.
1583 (m68hc11_override_options): Take into account -mlong-calls option.
1584 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
1585
1586 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
1587 if the function is going to be in 68HC12 banked memory (-mlong-calls).
1588 ("*return_16bit"): Likewise.
1589 ("*return_void"): Likewise.
1590 ("call", "call_value"): Use call for a far function call.
1591
c79043f3
NB
15922002-08-14 Neil Booth <neil@daikokuya.co.uk>
1593
1594 * toplev.c (parse_options_and_default_flags): Don't call
1595 post_options here.
1596 (general_init): Initialize GC, pools and tree hash here,
1597 instead of lang_independent_init.
1598 (lang_independent_init): Rename backend_init.
1599 (do_compile): Call post_options hook; exit early if there
1600 have been errors after switch processing.
1601 (toplev_main): Update.
1602
6bf346d4
GDR
16032002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1604
1605 * c-pretty-print.h: Guard against multiple inclusion.
1606 Robustify macros.
1607 (pp_c_attributes): Declare.
1608 * c-pretty-print.c (pp_c_attributes): New function.
1609
cbf2f479
KG
16102002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1611
1612 * m68k.c (m68k_output_function_prologue,
1613 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
1614 and NEWS/MOTOROLA.
1615 * genattrtab.c: Remove dpx2 comment.
1616 * libgcc2.c (__enable_execute_stack): Delete versions for
1617 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
1618 sony_news/SYSTYPE_BSD.
1619 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
1620 __gmicro__, __i860__, __NeXT__ and __pyr__.
1621 * rtl.h: Remove convex comment.
1622 * varasm.c: Likewise.
1623
d3969c34
KG
16242002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1625
1626 * c-opts.c (lang_flags): Const-ify.
1627 * ra-build.c (undef_table): Likewise.
1628 * ra.c (eliminables): Likewise.
1629
df89f8e7
GDR
16302002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1631
1632 * tree.h: Guard against multiple inclusion.
1633
cf87d551
HPN
16342002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
1635
1636 * reload1.c (reload_cse_simplify): Before checking
1637 REG_FUNCTION_VALUE_P, check REG_P.
1638
a43c8986
GK
16392002-08-13 Geoffrey Keating <geoffk@redhat.com>
1640
1641 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
1642
29337351
NB
16432002-08-13 Neil Booth <neil@daikokuya.co.uk>
1644
1645 * c-opts.c (c_common_init_options): Extra braces needed.
1646
8202c8c4
R
1647Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
1648
1649 * sh.c (sh_init_builtins): Add PARAMS to declaration.
1650 (sh_media_init_builtins, sh_expand_builtin): Likewise.
1651 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
1652 (sh_expand_binop_v2sf): Likewise.
1653 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
1654 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
1655 (sh_initialize_trampoline): Likewise.
1656
07893d4f
UW
16572002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
1658
1659 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
1660 new condition code modes.
1661 s390.c (s390_match_ccmode_set): Handle those new CC modes.
1662 (s390_select_ccmode): Likewise.
1663 (s390_branch_condition_mask): Likewise.
1664
1665 * s390-protos.h (s390_tm_ccmode): Declare.
1666 s390.c (s390_tm_ccmode): New function.
1667 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
1668
1669 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
1670 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
1671 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
1672
1673 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
1674 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
1675 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
1676 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
1677 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
1678
1679 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
5ce6f47b 1680 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
1681 "*cmpqi_ccs_0"): Remove, replace by ...
1682 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 1683 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
1684 "*tstqi", "*tstqi_cconly"): ... these new patterns.
1685
1686 ("*cmpsidi_ccs"): Remove, replace by ...
1687 ("*cmpsi_ccs_sign"): ... this new pattern.
1688 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
1689
1690 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
1691 ("*cli"): ... this new pattern.
1692
1693 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
1694 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
1695 New patterns.
1696 ("adddi3_64"): Rename to "*adddi3_64".
1697 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
1698 ("adddi3"): Adapt expander.
1699
1700 ("*addsi3_cc"): Allow "general_operand" for operand 2.
5ce6f47b 1701 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
1702 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
1703
1704 ("addhi3", "addqi3"): Remove, replace by ...
1705 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
1706
1707 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
1708 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
1709 ("subdi3"): Replace by insn and splitter "*subdi3_31".
1710 ("subdi3"): New expander.
1711
1712 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
1713
1714 ("subhi3", "subqi3"): Remove, replace by ...
1715 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
1716
1717 ("*muldi3_sign"): New pattern.
1718 ("muldi3"): Do not clobber CC.
1719 ("mulsi3"): Likewise.
1720 ("mulsi_6432"): Likewise.
1721
db62867b
DC
17222002-08-13 Denis Chertykov <denisc@overta.ru>
1723
1724 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 1725 which can change CC0.
db62867b 1726
8ba46434
R
1727Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
1728
1729 * gcse.c (adjust_libcall_notes): New function.
1730 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
1731
8733892f
NS
17322002-08-13 Nathan Sidwell <nathan@codesourcery.com>
1733
1734 * libgcc2.c (L_bb): Remove unneeded #includes.
1735 (__global_counters, __gthreads_active): Remove unused globals.
1736 (__bb_exit_func): Merge counts into files rather than appending.
1737 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
1738 (ALL_CFLAGS): ... to here.
1739
f4769721
DC
17402002-08-13 Denis Chertykov <denisc@overta.ru>
1741
1742 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
1743 (function_epilogue): Don't calculate function size.
1744 (ip2k_set_compare): Don't use lookup_const_double.
1745 (asm_file_start): Initialization of commands_in_file removed.
1746 (asm_file_end): Output of commands_in_file removed.
5ce6f47b 1747
f4769721
DC
1748 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
1749 __INT_MAX__.
1750
c31cddfd
NB
17512002-08-13 Neil Booth <neil@daikokuya.co.uk>
1752
1753 * c-opts.c (c_common_init_options): Check option array is
1754 sorted if checking enabled.
1755
f076f0ce
GDR
17562002-08-13 Gabriel Dos Reis <gdr@nerim.net>
1757
1758 * c-pretty-print.c: #include "c-tree.h".
1759 (pp_c_simple_type_specifier): Tweak.
1760 (pp_c_storage_class_specifier): New.
1761 (pp_c_function_specifier): Likewise.
1762 (pp_c_declaration_specifiers): Likewise.
1763 (pp_c_init_declarator): Likewise.
1764 (pp_c_declaration): Likewise.
1765 (pp_c_direct_declarator): Stub.
1766 (pp_c_declarator): Likewise.
1767 (pp_c_parameter_declaration): Likewise.
1768
f4ff5a69
NB
17692002-08-13 Neil Booth <neil@daikokuya.co.uk>
1770
1771 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
1772 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
1773 struct deferred_opt): New.
1774 (COMMAND_LINE_OPTIONS): Add -M*.
1775 (missing_arg): Update.
1776 (c_common_decode_option): Handle -M*.
1777 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
1778 don't call cpp_post_options.
1779 (c_common_finish, check_deps_environment_vars): Update.
1780 * cppfiles.c (stack_include_file, handle_missing_header): Update.
1781 * cpphash.h (CPP_PRINT_DEPS): Remove.
1782 * cppinit.c: Don't include version.h.
1783 (cpp_create_reader): Don't call deps_init. Initialize
1784 warn_long_long.
1785 (cpp_read_main_file): Init deps if necessary.
1786 (cpp_destroy): Conditionally free deps.
1787 (cpp_finish): Update.
1788 (no_tgt): Remove.
1789 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
1790 (cpp_post_options): Rename post_options.
1791 * cpplib.h (struct cpp_options): Remove some dependency options;
1792 move others to a new structure.
1793 (cpp_post_options): Remove.
1794 (cpp_finish): Comment.
1795 * fix-header.c (read_scan_file): Don't call cpp_post_options.
1796
34116c2a
HPN
17972002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
1798
1799 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
1800 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
1801 MMIX_rR_REGNUM as clobbered.
1802 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
1803
9b32718c
GDR
18042002-08-12 Gabriel Dos Reis <gdr@nerim.net>
1805
1806 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 1807 output_formatted_integer.
9b32718c
GDR
1808 * diagnostic.def: Add DK_DEBUG.
1809 * diagnostic.c (output_decimal): Adjust.
1810 (output_long_decimal): Likewise.
1811 (output_unsigned_decimal): Likewise.
1812 (output_octal): Likewise.
1813 (output_long_octal): Likewise.
1814 (output_hexadecimal): Likewise.
1815 (output_long_hexadecimal): Likewise.
1816 * c-pretty-print.c (pp_c_type_specifier): New function.
1817 (pp_c_specifier_qualifier_list): Likewise.
1818 (pp_c_abstract_declarator): Likewise.
1819 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
1820
032613df
DE
18212002-08-12 David Edelsohn <edelsohn@gnu.org>
1822
1823 * doc/trouble.texi (Disappointments): Add static constructor and
1824 destructor dependency information for AIX.
1825
a3737481
NB
18262002-08-12 Neil Booth <neil@daikokuya.co.uk>
1827
1828 * cpphash.h (struct printer): New from cppmain.c.
1829 (cpp_reader): New member.
1830 * cppmain.c (struct printer): Move to cpphash.h.
1831 (options, print): Remove.
1832 (account_for_newlines, print_line, maybe_print_line,
1833 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
1834 scan_translation_unit_trad, cb_line_change, cb_ident,
1835 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
1836 cb_def_pragma): Make reentrant.
1837
d71f7700
KG
18382002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1839
1840 * real.c (ieee_64): Always define.
1841 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
1842 (dec_h): Not used yet, hide it.
1843 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
1844 macro controlling use.
1845 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
1846
c16576e6
JH
1847Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
1848
1849 * i386.md (tablejump): Sign extend the operand.
1850 * i386.c (classify_argument): Fix missed case from previous patch.
1851
460bd0e3
NB
18522002-08-12 Neil Booth <neil@daikokuya.co.uk>
1853
1854 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
1855 to c-copts.c.
1856 (warn_multichar): Die.
1857 (cb_register_builtins): Export.
1858 * c-common.h (warn_multichar, preprocess_file): Remove.
1859 (cb_register_builtins): New.
1860 * c-lang.c (c_init): Remove.
1861 (LANG_HOOKS_INIT): Use c_objc_common_init.
1862 * c-lex.c (init_c_lex): Don't canonicalize filename.
1863 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
1864 (preprocess_file): Make static. Update for cpplib.
1865 (c_common_decode_option): Remove warn_multichar. Use in_fname.
1866 (c_common_post_options): Set some cpp options here.
1867 (c_common_init): Move from c-common.c.
1868 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
1869 * cpplib.h (struct cpp_options): Remove in_fname.
1870 (cpp_preprocess_file): Update.
1871 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
1872
f3f268dd
KG
18732002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1874
1875 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
1876
f0201fba
KG
18772002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1878
1879 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
1880 backslash in comment preceeding macro definition.
1881 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
1882 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
1883 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
1884
e56fc090
HPN
18852002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
1886
1887 * expr.c (store_expr): In condition for checking if value is
1888 generated in TARGET, move call to expr_size last.
1889
76c3e73e
NB
18902002-08-11 Neil Booth <neil@daikokuya.co.uk>
1891
1892 * c-common.c (c_common_init): Call preprocess_file instead.
1893 (c_common_finish): Move to c-opts.c.
1894 * c-common.h (preprocess_file): new.
1895 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
1896 check_deps_environment_vars, c_common_finish): New.
1897 (c_common_decode_option): Update for out_fname and dependencies.
1898 * cppinit.c (init_dependency_output, output_deps): Remove.
1899 (cpp_destroy): Update prototype.
1900 (cpp_add_dependency_target): New.
1901 (cpp_read_main_file): Don't overlay a buffer.
1902 (cpp_finish): Take a deps output stream and write deps to it.
1903 Return the error count.
1904 (cpp_post_options): Don't canonicalize out_fname, or do anything
1905 with dependencies.
1906 * cpplib.h (struct cpp_options): Remove out_fname and
1907 preprocess_only.
1908 (cpp_add_dependency_target): New.
1909 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
1910 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
1911 set preprocess_only. Don't handle the output stream directly.
1912
e0c32c62
KG
19132002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1914
1915 * dsp16xx.c (print_operand): Fix format specifier.
1916 * dsp16xx.md: Avoid automatic aggregate initialization.
1917 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
1918 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
1919 integer constant modifier.
1920 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
1921 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
1922 guards.
1923 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
1924 * v850.c (v850_select_section): Mark parameter with
1925 ATTRIBUTE_UNUSED.
1926 * global.c (global_alloc): Const-ify.
1927 * ra-colorize.c (hardregset_to_string): Fix format specifier.
1928
7ae8cf75
KG
19292002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1930
1931 * darwin-c.c (darwin_pragma_options): Const-ify.
1932 * darwin.c (machopic_non_lazy_ptr_name,
1933 machopic_validate_stub_or_non_lazy_ptr): Likewise.
1934 (machopic_indirect_data_reference): Wrap variables in macros
1935 controlling their use.
1936 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
1937 (machopic_select_section): Use parentheses around && within ||.
1938 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
1939
8819cab5
KG
19402002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1941
1942 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
1943 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
1944 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
1945 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
1946 mdr_try_remove_redundant_insns, track_w_reload,
1947 mdr_try_wreg_elim): Make function static to match prototype.
1948 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
1949 parameter with ATTRIBUTE_UNUSED.
1950
ab2877a3
KG
19512002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1952
1953 * arc.c (arc_init): Don't use ISO C style function definitions.
1954 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
1955 arm_get_strip_length, arm_strip_name_encoding): Likewise.
1956 * avr.h (progmem_section): Likewise.
1957 * h8300.c h8300_asm_insn_count): Likewise.
1958 * m32r.c (init_idents): Likewise.
1959 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
1960 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
1961 * xtensa.c (xtensa_build_va_list): Likewise.
1962
08767a6f
NB
19632002-08-11 Neil Booth <neil@daikokuya.co.uk>
1964
1965 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
1966 * c-opts.c (parse_option): Rename find_opt.
1967 (set_std_c99): New function.
1968 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
1969 (missing_arg): Remove OPT_std_bad. Handle -o.
1970 (c_common_decode_option): Handle input and output file names,
1971 -o and -remap. Clean up -std= handling.
1972 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
1973 (cpp_handle_option): Similarly. Don't handle filenames.
1974
db01f480
JH
1975Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
1976
1977 * i386.c (classify_argument): Fix computing of field's offsets.
1978
a7701995
AJ
19792002-08-11 Andreas Jaeger <aj@suse.de>
1980
1981 PR target/7531:
1982 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
1983
2516f236
ZL
19842002-08-10 Ziemowit Laski <zlaski@apple.com>
1985
1986 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
1987 reference to clk_objective_c with flag_objc.
1988 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
1989 Likewise.
1990 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
1991
f749a36b
NB
19922002-08-10 Neil Booth <neil@daikokuya.co.uk>
1993
1994 * c-opts.c (set_std_cxx98, set_std_c89): New.
1995 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
1996 (c_common_decode_option): Handle new switches from cppinit.c.
1997 Add -std=gnu++98.
1998 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
1999 (no_arg, no_num): Remove.
2000 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
2001 switches apart from -lang-objc and lang-asm.
2002 (cpp_handle_option): Similarly.
2003 * cpplib.h (cpp_set_lang): New.
2004 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
2005 -std=gnu++98.
2006 * objc/lang-specs.h: Remove -ansi.
2007
77abb5d8
JH
2008Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
2009 Graham Stott
2010
2011 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
2012 errors.
2013
fac37dc4
KG
20142002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2015
d950dee3
KG
2016 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
2017 emit_jump_insn): Fix uninitialized variable.
2018 * gcov.c (init_line_info): Likewise.
2019 * genautomata.c (transform_3): Add braces around ambiguous
2020 else.
2021 * ifcvt.c (cond_exec_process_insns): Mark parameter with
2022 ATTRIBUTE_UNUSED.
2023 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
2024 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
2025 variable.
2026
fac37dc4
KG
2027 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
2028 warnings in output files.
2029
0f7866e7
ZL
20302002-08-09 Ziemowit Laski <zlaski@apple.com>
2031
2032 * c-common.c (flag_objc): New.
2033 * c-common.h (c_language_kind): Get rid of clk_objective_c
2034 enum value.
2035 (flag_objc): New extern declaration.
2036 * c-decl.c (implicitly_declare): Call objc_check_decl
2037 instead of maybe_objc_check_decl.
2038 (finish_decl): Likewise.
2039 (grokfield): Likewise.
2040 (finish_struct): Likewise.
2041 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
2042 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 2043 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
2044 objc_message_selector.
2045 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
2046 replace with flag_objc as needed.
2047 * c-opts.c (c_common_init_options): Likewise.
2048 (c_common_decode_option): Likewise.
2049 * c-parse.in (init_reswords): Likewise.
2050 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
2051 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 2052 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
2053 objc_message_selector.
2054 * c-typeck.c (comptypes): Call objc_comptypes instead of
2055 maybe_objc_comptypes, and/or objc_message_selector instead of
2056 maybe_building_objc_message_expr.
2057 (comp_target_types): Likewise.
2058 (convert_for_assignment): Likewise.
2059 (warn_for_assignment): Likewise.
2060 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
2061 independently of those for other languages.
2062 * objc/objc-act.c (maybe_objc_comptypes): Delete.
2063 (maybe_objc_check_decl): Delete.
a7701995 2064 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
2065 objc_message_selector.
2066 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
2067 clk_objective_c; set flag_objc flag.
2068
c512fd7b
TM
20692002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2070
2071 * ifcvt.c (find_if_case_2): Test correct basic block for size.
2072
5e1bf043 20732002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 2074
5e1bf043
DJ
2075 * config/rs6000/rs6000.md: Add sibcall patterns.
2076 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
2077 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
2078 Rewritten to handle sibcalls.
2079 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
2080 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
2081
2043c38e
NS
20822002-08-08 Nathan Sidwell <nathan@codesourcery.com>
2083
2084 * profile.c (da_file_name): New static var.
2085 (init_branch_prob): Initialize it.
2086 (end_branch_prob): Remove da file.
2087
2088 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
41685063 2089 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
2090 * configure: Rebuilt.
2091
4b7091eb
NB
20922002-08-09 Neil Booth <neil@daikokuya.co.uk>
2093
2094 * Makefile.in (c-opts.o): Update
2095 * c-opts.c: Include intl.h.
2096 (print_help): Move from cppinit.c. Remove unused options.
2097 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
2098 (missing_arg): Complain for switches without an argument.
2099 (c_common_decode_option): Reject missing joined arguments.
2100 Handle new switches from cppinit.c.
2101 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
2102 (cpp_handle_option): Similarly.
2103 (print_help): Moved to c-opts.c.
2104 * cpplib.h (struct cpp_options): Remove help_only.
2105 * gcc.c (cpp_unique_options): Remove -$.
2106 * doc/cppopts.texi: Undocument -h.
2107
9e20be0c
JJ
21082002-08-08 Jakub Jelinek <jakub@redhat.com>
2109
2110 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
2111 legitimate constant.
2112 (legitimate_pic_operand_p): Neither pic operand.
2113 (legitimate_address_p): But legitimate address.
2114 (get_thread_pointer): Generate MEM/u instead of CONST around
2115 UNSPEC_TP.
2116 (print_operand): Remove printing of UNSPEC_TP.
2117 (print_operand_address): And print it here.
2118
7b9be5c7 21192002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 2120
a7701995
AJ
2121 * objc/objc-act.c (build_selector_translation_table): Issue warning,
2122 when -Wselector is used,if method for which selector is being
7b9be5c7 2123 created does not exist.
a7701995 2124
5615d8fd
SC
21252002-08-08 Stephen Clarke <stephen.clarke@superh.com>
2126
2127 * config/sh/sh.c (prepare_move_operands): Only call
2128 target_reg_operand if TARGET_SHMEDIA.
a7701995 2129
3b85fe5f
JJ
21302002-08-08 Jakub Jelinek <jakub@redhat.com>
2131
2132 * config/rs6000/rs6000.h, config/rs6000/aix.h,
2133 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
2134 two patches.
2135 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
2136
e10c79fe
LB
21372002-08-08 Lars Brinkhoff <lars@nocrew.org>
2138 Richard Henderson <rth@redhat.com>
2139
2140 * emit-rtl.c (gen_rtx_REG): After reload, only return
2141 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
2142
aa2a83dc
JJ
21432002-08-08 Jakub Jelinek <jakub@redhat.com>
2144
2145 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
2146 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
2147 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
2148 macro.
2149
aeaf4d25
AN
21502002-08-08 Adam Nemet <anemet@lnxw.com>
2151
2152 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
2153 register.
2154 (thumb_expand_prologue): Likewise.
2155 (thumb_output_function_prologue): Likewise.
2156 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
2157 the additional push of the PIC register.
2158
22aa533e
NS
21592002-08-08 Nathan Sidwell <nathan@codesourcery.com>
2160
2161 * configure.in (enable_coverage): New enable switch.
2162 * configure: Rebuilt.
2163 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
2164 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
2165 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
2166 (mostlyclean): Remove coverage files.
2167 * doc/install.texi: Document enable_coverage.
2168
2169 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
2170 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
2171 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
2172 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
2173 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
2174 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
2175 files.
a7701995 2176
18bdccaa
NB
21772002-08-08 Neil Booth <neil@daikokuya.co.uk>
2178
2179 * c-opts.c (cpp_opts): New.
2180 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
2181 (c_common_decode_options): Handle cpplib switches.
2182 (c_common_init_options): Set cpp_opts.
2183 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
2184 (cpp_handle_option): Similarly.
2185
774b5662
DE
21862002-08-08 David Edelsohn <edelsohn@gnu.org>
2187
2188 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
2189 (TARGET_ALTIVEC_ABI): Same.
2190 (TARGET_ALTIVEC_VRSAVE): Same.
2191
2192 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
2193 icode not CODE_FOR_nothing. Change switch to if.
2194
957e9e48
AM
21952002-08-08 Alan Modra <amodra@bigpond.net.au>
2196
2197 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
2198
daf06049
JJ
21992002-08-08 Jakub Jelinek <jakub@redhat.com>
2200
2201 * stor-layout.c (place_union_field): For bitfields if
2202 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
2203 TYPE_USER_ALIGN.
2204
043d39a6
JDA
22052002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
2206
2207 * pa.c (struct deferred_plabel): Constify name field.
2208
34bb92e3
NB
22092002-08-07 Neil Booth <neil@daikokuya.co.uk>
2210
2211 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
2212
3ec5d64d
JDA
22132002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
2214
2215 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
2216 local_prefix are the same.
2217 * configure: Rebuilt.
2218
ad9335eb
JJ
22192002-08-07 Jakub Jelinek <jakub@redhat.com>
2220 Richard Henderson <rth@redhat.com>
2221
2222 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2223 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
2224 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
2225 (place_field): Likewise.
2226 * config/i386/i386.c (x86_field_alignment): Don't check
2227 DECL_USER_ALIGN here.
2228 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
2229 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
2230 prototype.
2231 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
2232 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
2233 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
2234 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
2235 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
2236 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
2237
0b6f2917
NB
22382002-08-07 Neil Booth <neil@daikokuya.co.uk>
2239
2240 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
2241 * c-common.c: Don't include tree-inline.h.
2242 (c_common_init_options, c_common_post_options): Move to c-opts.c.
2243 * c-common.h (c_common_decode_option): New.
2244 * c-decl.c (c_decode_option): Remove.
2245 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
2246 * c-opts.c: New file.
2247 * c-tree.h (c_decode_option): Remove.
2248 * doc/passes.texi: Update.
2249 * objc/objc-act.c (objc_decode_option): Remove.
2250 * objc/objc-act.h (objc_decode_option): Remove.
2251 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
2252 c_common_decode_option.
2253
e49ec17d
CD
22542002-08-07 Chris Demetriou <cgd@broadcom.com>
2255
2256 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
2257 dependency on TARGET_DOUBLE_FLOAT.
2258
ac1ca451
SC
22592002-08-07 Stephen Clarke <stephen.clarke@superh.com>
2260
2261 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
2262 overwrite callee-save registers. Fix comment.
2263
af34e51e
CD
22642002-08-06 Chris Demetriou <cgd@broadcom.com>
2265
2266 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
2267 in target_flags based on ISA, if it was not set on the command
2268 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
2269 support Branch Likely instructions.
2270 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
2271 (TARGET_BRANCHLIKELY): Likewise.
2272 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
2273 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
2274 ISA_HAS_BRANCHLIKELY.
2275 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
2276 * doc/invoke.texi: Document new MIPS -mbranch-likely and
2277 -mno-branch-likely options.
2278
2631af95
KG
22792002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2280
f538618e
KG
2281 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
2282
2631af95
KG
2283 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
2284 $(GCONFIG_H).
2285
1ae0ccb6
AH
22862002-08-06 Aldy Hernandez <aldyh@redhat.com>
2287
8537ed68
ZW
2288 * c-decl.c (duplicate_decls): Error out for incompatible TLS
2289 declarations.
1ae0ccb6 2290
8537ed68 2291 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 2292
f1a044c7
JM
22932002-08-06 Jason Merrill <jason@redhat.com>
2294
2295 * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
2296 a VAR_DECL with RTL that matches the target, just return that RTL.
2297
8d3e27d1
DJ
22982002-08-06 Dale Johannesen <dalej@apple.com>
2299 * c-common.c (fname_decl): Use line number 0 for
8537ed68 2300 __func__, to avoid confusing debuggers.
8d3e27d1 2301
8b219a76
NS
23022002-08-06 Nathan Sidwell <nathan@codesourcery.com>
2303
2304 * gcov.c: Tidy.
2305 (struct line_info, struct coverage): New structures.
2306 (gcov_file_name, gcov_file): Remove globals.
2307 (output_data): Take source file parameter. Fix memory leak. Break
2308 up into ...
2309 (init_line_info, output_line_info, make_gcov_file_name,
2310 accumulate_branch_counts): ... here.
2311 (calculate_branch_probs, function_summary): Adjust.
2312 (main): Adjust.
2313 (function_*): Remove global variables.
2314
317e98c0
NB
23152002-08-06 Neil Booth <neil@daikokuya.co.uk>
2316
2317 * dwarf2out.c: Remove unused macros.
2318
81d41e74
NB
23192002-08-06 Neil Booth <neil@daikokuya.co.uk>
2320
2321 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
2322
58551c23
NB
23232002-08-06 Neil Booth <neil@daikokuya.co.uk>
2324
2325 * cppinit.c (struct lang_flags): Rename trigraphs std.
2326 (set_lang): Update.
2327 * cpplib.h (struct cpp_options): New member std.
2328 * cppmacro.c (_cpp_builtin_macro_text): Use std.
2329 (collect_args): Flag whether to swallow a possible future
2330 comma pasted with varargs.
2331 (replace_args): Use this flag.
2332 * doc/cpp.texi: Update varargs extension documentation.
2333
daeabcd0
JJ
23342002-08-06 Jakub Jelinek <jakub@redhat.com>
2335
2336 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
2337
39e3a681
JJ
23382002-08-06 Jakub Jelinek <jakub@redhat.com>
2339
9812691e
JJ
2340 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
2341 and MODE_CLASS_INT modes.
39e3a681 2342
609a87f3
JJ
23432002-08-06 Jakub Jelinek <jakub@redhat.com>
2344
2345 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
2346 --{enable,disable}-threads is given to configure.
2347 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
2348 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
2349 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
2350 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
2351 Remove thread_file setting here.
2352
ff4c5e7b
DE
23532002-08-06 David Edelsohn <edelsohn@gnu.org>
2354
2355 * doc/install.texi (Binaries): Update Bull Freeware URL.
2356
54f3aa9e
GP
23572002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2358
2359 * doc/gcc.texi (Top): Rename Index to Keyword Index.
2360
d19202ba
NS
23612002-08-05 Nathan Sidwell <nathan@codesourcery.com>
2362
2363 * gcov.c (output_data): Round to % to nearest, tweak formatting.
2364
1bed5ee3
JJ
23652002-08-05 Jakub Jelinek <jakub@redhat.com>
2366
2367 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
2368 of the operands into MINUS_EXPR if code is PLUS_EXPR.
2369
84512347
DR
23702002-08-05 Douglas B Rupp <rupp@gnat.com>
2371
2372 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
2373 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
2374 drectve_section): Define.
2375 * config/i386/t-interix: Replace interix.o rule with winnt.o.
2376 * config/i386/interix.c: Remove.
2377
b835f6f1
GK
23782002-08-05 Geoffrey Keating <geoffk@redhat.com>
2379
2380 * attribs.c: Don't include obstack.h.
2381 * builtins.c: Likewise.
2382 * cfganal.c: Likewise.
2383 * cfgbuild.c: Likewise.
2384 * cfgcleanup.c: Likewise.
2385 * emit-rtl.c: Likewise.
2386 * loop.c: Likewise.
2387 * stmt.c: Likewise.
2388
2389 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
2390
fd291392
GDR
23912002-08-05 Gabriel Dos Reis <gdr@nerim.net>
2392
2393 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
2394
054b7507
CD
23952002-08-04 Chris Demetriou <cgd@broadcom.com>
2396
2397 * doc/invoke.texi: Remove duplicated paragraph describing
2398 TARGET_SWITCHES.
2399
6d9f628e
GK
24002002-08-04 Geoffrey Keating <geoffk@redhat.com>
2401
2402 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
2403 * collect2.h (permanent_obstack): Delete declaration.
2404 * collect2.c (permanent_obstack): Delete definition.
2405 (main): Don't initialise permanent_obstack. Use xstrdup instead.
2406 * expr.c: Don't include obstack.h.
2407 (permanent_obstack): Delete declaration.
2408 * function.c: Don't include obstack.h.
2409 (permanent_obstack): Delete declaration.
2410 * integrate.c: Don't include obstack.h.
2411 (function_maybepermanent_obstack): Delete declaration.
2412 * print-tree.c (debug_tree): Use x*alloc not permalloc.
2413 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
2414 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
2415 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
2416 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
2417 of permalloc, expralloc, perm_calloc.
2418 * tree.c (permanent_obstack): Delete definition.
2419 (init_ttree): Rename from init_obstacks.
2420 (permalloc): Delete.
2421 (perm_calloc): Delete.
2422 (dump_tree_statistics): Don't print information about
2423 permanent_obstack.
2424 * varasm.c (assemble_start_function): Use xstrdup instead of
2425 permalloc/strcpy.
2426 (assemble_variable): Likewise.
2427 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
2428 permalloc.
2429 (unicosmk_add_extern): Likewise.
2430 * config/c4x/c4x.c (c4x_external_ref): Likewise.
2431 (c4x_global_label): Likewise.
2432 * config/frv/frv.c (frv_encode_section_info): Likewise.
2433 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
2434 (i386_pe_record_exported_symbol): Likewise.
2435 * config/mips/mips.c (mips_output_external): Likewise.
2436 (mips_output_external_libcall): Likewise.
2437 * config/pa/pa.c: (permanent_obstack): Delete declaration.
2438 (output_call): Use ggc_strdup instead of allocating on
2439 permanent_obstack.
2440 * config/romp/romp.c: Include ggc.h.
2441 (get_symref): Don't declare permanent_obstack, use ggc_strdup
2442 intead of permanent_obstack.
2443 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
2444 instead of permalloc.
2445 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
2446 instead of permalloc
2447 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
2448 instead of permalloc.
2449 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
2450 permalloc.
2451
36a05131
BS
24522002-08-04 Bernd Schmidt <bernds@redhat.com>
2453
2454 Contribute a port developed primarily by Michael Meissner,
2455 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
2456 * config.gcc: Add frv-elf target.
2457 * config/frv/cmovd.c: New file.
2458 * config/frv/cmovh.c: New file.
2459 * config/frv/cmovw.c: New file.
2460 * config/frv/frv-abi.h: New file.
2461 * config/frv/frv-asm.h: New file.
2462 * config/frv/frv-modes.def: New file.
2463 * config/frv/frv-protos.h: New file.
2464 * config/frv/frv.c: New file.
2465 * config/frv/frv.h: New file.
2466 * config/frv/frv.md: New file.
2467 * config/frv/frvbegin.c: New file.
2468 * config/frv/frvend.c: New file.
2469 * config/frv/lib1funcs.asm: New file.
2470 * config/frv/media.h: New file.
2471 * config/frv/modi.c: New file.
2472 * config/frv/t-frv: New file.
2473 * config/frv/uitod.c: New file.
2474 * config/frv/uitof.c: New file.
2475 * config/frv/ulltod.c: New file.
2476 * config/frv/ulltof.c: New file.
2477 * config/frv/umodi.c: New file.
2478 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
2479
2480 * config/frv/media.h: Removed again.
2481
37b8715b
NS
24822002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2483
2484 * gcov.c (bb_file_time): New static variable.
2485 (object_directory): May also be object file.
2486 (preserve_paths): New static variable.
2487 (print_usage): Adjust.
2488 (options): Adjust.
2489 (process_args): Adjust.
2490 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
2491 file. Find modification date on bb file.
2492 (read_profile): Don't rewind a NULL file.
2493 (format_hwint): New static function.
2494 (function_summary): Use format_hwint.
2495 (output_data): SOURCE_FILE_NAME is never relative to
2496 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
2497 mangling. Adjust output format to make it more machine readable.
2498 * doc/gcov.texi: Document & clarify semantics.
a7701995 2499
d500c5d7
JM
25002002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
2501
2502 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
2503
ea67fe71
NS
25042002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2505
2506 * gcc.c (cc1_options): Pass output file as auxbase when
2507 appropriate.
2508 * profile.c (init_branch_prob): FILENAME has already had ending
2509 stripped.
2510 * final.c (end_final): Likewise.
2511 * toplev.c (aux_base_name): New global.
2512 (compile_file): Pass aux_base_name to init init_branch_prob and
2513 end_final.
2514 (independent_decode_option, case 'a'): New auxinfo options.
2515 (case 'd'): Protect against mising basename.
2516 (do_compile): Initialize aux_base_name.
2517 * toplev.h (aux_base_name): New global.
2518 * doc/invoke.texi: Adjust documentation.
2519
b23c054d
NS
25202002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2521
2522 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
2523 of TARGET_ALIGN_DOUBLE.
2524
04c1334c 25252002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 2526
04c1334c
GDR
2527 * diagnostic.c (inform): New function.
2528 * diagnostic.h (inform): Declare.
a7701995 2529
e34eaae5
DE
25302002-08-03 David Edelsohn <edelsohn@gnu.org>
2531
2532 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
2533 (movhi_internal): Same.
2534 (movqi_internal): Same.
2535 (movdi_internal64): Same.
2536
2537 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
2538
2539 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
2540 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
2541 (COMMON_ASM_OP): Define.
2542 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
2543 Use ALIGN parameter.
2544 (LOCAL_COMMON_ASM_OP): Define.
2545 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
2546
e7b489c8
RS
25472002-08-03 Roger Sayle <roger@eyesopen.com>
2548
2549 * builtins.def: Define new builtin functions exp, expf, expl,
2550 log, logf and logl (and their __builtin_* variants).
2551 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
2552 Define exp_optab and log_optab.
2553 * optabs.c (init_optans): Initialize exp_optab and log_optab.
2554 * genopinit.c (optabs): Implement exp_optab and log_optab
2555 using exp?f2 and log?f2 patterns.
2556 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
2557 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
2558 (expand_builtin): Ignore the new builtins (and all cos and
2559 sin variants) when not optimizing. Expand new builtins via
2560 expand_builtin_mathfn when flag_unsafe_math_optimizations.
2561
2562 * doc/extend.texi: Document new exp and log builtins.
2563 * doc/md.texi: Document new exp?f2 and log?f2 patterns
2564 (and previously undocumented cos?f2 and sin?f2 patterns).
2565
de8920be
JM
25662002-08-03 Jason Merrill <jason@redhat.com>
2567
2568 * explow.c (int_expr_size): New fn.
2569 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
2570 * expr.h: Declare it.
2571
ba462c8e
KW
25722002-08-02 Krister Walfridsson <cato@df.lth.se>
2573
2574 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
2575 gengtype-* dependencies.
2576
2017ed61
EC
25772002-08-02 Eric Christopher <echristo@redhat.com>
2578
2579 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
2580 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
2581 #ifndef to #undef.
2582 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
2583
055dd007
DE
25842002-08-02 David Edelsohn <edelsohn@gnu.org>
2585
2586 PR optimize/7067
2587 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
2588 small if optimizing for size.
2589
771a2a66
DJ
25902002-08-02 Daniel Jacobowitz <drow@mvista.com>
2591
2592 * configure.in (FORBUILD): Use $build_alias.
2593 * configure: Regenerated.
2594
ac8ab9fe
RS
25952002-08-02 Richard Sandiford <rsandifo@redhat.com>
2596
2597 * config.gcc: Don't include mips/abi64.h in $tm_file.
2598 * hard-reg-set.h (call_really_used_regs): Declare.
2599 * config/mips/abi64.h: Remove file.
2600 * config/mips/linux.h,
2601 * config/mips/iris6.h: Don't include it.
2602 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
2603 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
2604 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
2605 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
2606 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
2607 Bring across definitions from abi64.h.
2608 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
2609 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
2610 (struct mips_args): Use it.
2611 * config/mips/mips.c (mips_conditional_register_usage): Define.
2612
a77a9a18
JM
26132002-08-02 Jason Merrill <jason@redhat.com>
2614
2615 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
2616 * langhooks.c (lhd_expr_size): Define default.
2617 * langhooks.h (struct lang_hooks): Add expr_size.
2618 * explow.c (expr_size): Call it.
2619 * expr.c (store_expr): Don't copy an expression of size zero.
2620 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
2621 to store.
2622 * Makefile.in (builtins.o): Depend on langhooks.h.
2623
a6be5aee
KG
26242002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2625
2626 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
2627 * ra-debug.c: Include "tm_p.h".
2628 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
2629
e3e16ee3
TM
26302002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
2631
2632 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
2633 when not honoring signalling NaNs.
2634 (simplify_ternary_operation): a == b has a definite value
2635 when not honoring NaNs.
2636
b9d8832d
JM
26372002-08-02 Jason Merrill <jason@redhat.com>
2638
2639 * gdbinit.in (pct): New macro.
2640
825abef4
SS
26412002-08-01 Stan Shebs <shebs@apple.com>
2642 Andreas Tobler <toa@pop.agri.ch>
2643
2644 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
2645 plays nice with Darwin headers.
bf2e488f 2646 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 2647
56da7207
ZW
26482002-08-01 Zack Weinberg <zack@codesourcery.com>
2649
2650 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
2651 * cppinit.c (cpp_post_options): Likewise.
2652
2653 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
2654 warning about 'LL' suffix (but not 'ULL' etc) when
2655 -Wno-long-long is in effect.
2656
2657 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
2658 Check for failing time()/localtime(), issue a warning, and
2659 make __TIME__ and __DATE__ expand to fallback strings.
2660
2661 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
2662 and __TIME__ when the date and time cannot be determined.
2663
f4857b9b
AM
26642002-08-02 Alan Modra <amodra@bigpond.net.au>
2665
2666 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
2667
77ca7b2e
DJ
26682002-08-01 Daniel Jacobowitz <drow@mvista.com>
2669
2670 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
2671
5b552f76
CD
26722002-08-01 Chris Demetriou <cgd@broadcom.com>
2673
2674 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
2675 (mipsisa64sb1el-*-elf*): Likewise.
2676 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
2677 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
2678 (TARGET_SB1, TUNE_SB1): New macros.
2679 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
2680 -mtune flags.
2681
54fbf6a1
DE
26822002-08-01 David Edelsohn <edelsohn@gnu.org>
2683
2684 * varasm.c (asm_emit_uninitialized): Return false if global BSS
2685 and ASM_EMIT_BSS not supported by target.
2686 (assemble_variable): Do not duplicate uninitialized logic.
2687 Fall through if asm_emit_uninitialized failed.
2688
3d16b407
CD
26892002-08-01 Chris Demetriou <cgd@broadcom.com>
2690
2691 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
2692
fb52d8de
AM
26932002-08-02 Alan Modra <amodra@bigpond.net.au>
2694
80926cc1
AM
2695 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
2696 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
2697
fb52d8de
AM
2698 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
2699 HOST_BITS_PER_WIDE_INT == 64.
2700
a4b5414c
KG
27012002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2702
2703 * df.c (df_insn_table_realloc): Change parameter to unsigned.
2704 * optabs.c (expand_binop): Make variable unsigned.
2705 * simplify-rtx.c (simplify_subreg): Likewise.
2706 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
2707
a03e67c3
FS
27082002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2709
2710 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
2711
de273d3f
RH
27122002-08-01 Richard Henderson <rth@redhat.com>
2713
56da7207 2714 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
2715 flag_reorder_blocks for -Os.
2716
2717 * config/avr/avr.c (avr_optimization_options): Remove.
2718 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
2719 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
2720 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
2721
4e4d733e
L
27222002-08-01 H.J. Lu <hjl@gnu.org>
2723 Richard Henderson <rth@redhat.com>
2724
2725 * output.h (DECL_READONLY_SECTION): Remove.
2726 (decl_readonly_section): Declare.
2727 * varasm.c (decl_readonly_section): New.
2728 (default_section_type_flags, default_select_section): Use it.
2729 * config/arm/pe.c (arm_pe_unique_section): Likewise.
2730 * config/i386/interix.c (i386_pe_unique_section): Likewise.
2731 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
2732 * config/mcore/mcore.c (mcore_unique_section): Likewise.
2733 * config/mips/mips.c (mips_unique_section): Likewise.
2734
32e9b960
RH
27352002-08-01 Richard Henderson <rth@redhat.com>
2736
2737 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
2738 refers to a subroutine parameter.
2739
81e602b5
JJ
27402002-08-01 Jakub Jelinek <jakub@redhat.com>
2741
2742 * varasm.c (assemble_visibility): Strip name encoding.
2743
ac14c725
ID
27442002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2745
2746 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
2747 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
2748 when there is no frame pointer.
2749 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
2750 registers properly.
2751 * config/ns32k/__unorddf2.c: New file.
2752 * config/ns32k/__unordsf2.c: New file.
2753 * config/ns32k/t-ns32k: New file.
2754 * config.gcc (ns32k-*-netbsd*): Use it.
2755
17072732
AH
27562002-08-01 Aldy Hernandez <aldyh@redhat.com>
2757
2758 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
2759
c288218a
NB
27602002-08-01 Neil Booth <neil@daikokuya.co.uk>
2761
2762 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
2763
43bfc248
BK
27642002-08-01 Benjamin Kosnik <bkoz@redhat.com>
2765
2766 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
2767
479f2cea
RS
27682002-08-01 Richard Sandiford <rsandifo@redhat.com>
2769
2770 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
2771
02280659
ZD
27722002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2773
2774 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
2775 n_sets): Removed.
2776 (expr_hash_table, set_hash_table): Type changed to ...
2777 (struct hash_table): New type.
2778 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
2779 insert_expr_in_table, insert_set_in_table, compute_hash_table,
2780 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
2781 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
2782 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
2783 (alloc_hash_table): New.
2784 (free_set_hash_table, free_expr_hash_table): Merged to ...
2785 (free_hash_table): New.
2786 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
2787 (compute_hash_table_work): New.
2788 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
2789 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
2790 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
2791 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
2792 hoist_code, one_code_hoisting_pass,
2793 trim_ld_motion_mems): Altered due to changed type of hash tables.
2794
905173eb
ZW
27952002-08-01 Zack Weinberg <zack@codesourcery.com>
2796
2797 * final.c (output_alternate_entry_point):
2798 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
2799
83321d36
KG
28002002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2801
ad0f1765
KG
2802 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
2803 avoid ISO C style function definition.
2804
83321d36
KG
2805 * expr.c (expand_assignment): Delete unused variable.
2806
73e42cf3
TM
28072002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
2808
2809 * c-common.c (cb_register_builtins): Set
2810 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
2811 is given, and to 0 otherwise.
2812 * combine.c (simplify_if_then_else): HONOR_NANS
2813 implies FLOAT_MODE_P.
2814
78df51fe
NB
28152002-08-01 Neil Booth <neil@daikokuya.co.uk>
2816
2817 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
2818 (cpp_handle_option): Don't handle it.
2819 (print_help): Update.
2820 * doc/cppopts.texi: Update.
2821
abecfc8f
NB
28222002-08-01 Neil Booth <neil@daikokuya.co.uk>
2823
2824 * c-common.c (cb_register_builtins): If C++, define
2825 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
2826 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
2827cp:
2828 * lang-specs.h: Simplify in accordance with new code in
2829 c-common.c.
2830
4078b403
NB
28312002-08-01 Neil Booth <neil@daikokuya.co.uk>
2832
2833 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
2834 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
2835 * c-decl.c: Move all warning and flag variables to c-common.c.
2836 * c-format.c: Move all warning variables to c-common.c.
2837 * c-tree.h: Move all warning and flag declarations to c-common.h.
2838 * objc/objc-act.c: Move all warning variables to c-common.c.
2839 (flag_warn_protocol): Rename warn_protocol.
2840
692f5611
JDA
28412002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
2842
2843 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
2844
c7a009a2 28452002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 2846
905173eb 2847 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
2848 .section prefix.
2849
b069de3b
SS
28502002-07-31 Stan Shebs <shebs@apple.com>
2851
2852 * config.gcc (i[34567]86-*-darwin*): New configuration.
2853 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
2854 defining.
2855 (TARGET_ENCODE_SECTION_INFO): Ditto.
2856 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
2857 * config/darwin.c (machopic_indirect_data_reference): Remove
2858 setting of RTX_UNCHANGING_P.
2859 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
2860 not to be applied to sums.
2861 * config/i386/t-darwin: New file.
2862 * config/i386/darwin.h: New file.
2863 * config/i386/i386.h (TARGET_MACHO): Add default definition.
2864 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
2865 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
2866 label and not the GOT add.
2867 (constant_address_p): For Mach-O, seeing a CONST is enough.
2868 (legitimate_pic_address_disp_p): Add a Mach-O case.
2869 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
2870 (legitimize_pic_address): Use generic Mach-O code to legitimize.
2871 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
2872 if outputting a difference.
2873 (ix86_output_addr_diff_elt): Add Mach-O case.
2874 (ix86_expand_move): Similarly.
2875 (ix86_expand_call): Similarly.
2876 (current_machopic_label_num): New global.
2877 (machopic_output_stub): New function.
2878 (ix86_value_regno): New function.
2879 (ix86_function_value): Use it instead of VALUE_REGNO.
2880 (ix86_libcall_value): Ditto.
2881 * config/i386/unix.h (VALUE_REGNO): Remove.
2882
1de4ecb6
GS
28832002-07-31 Graham Stott <grahas@btinternet.com>
2884
2885 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 2886 hash for LABEL_REF's.
1de4ecb6 2887
23368455
GS
28882002-07-31 Graham Stott <grahams@btinternet.com>
2889
2890 * config/rs6000/rs6000.c (spe_init_builtins,
2891 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 2892 Replace ANSI with K&R function def.
23368455 2893
ad72b533
DE
28942002-07-31 David Edelsohn <edelsohn@gnu.org>
2895
2896 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
2897 for CCFPmode.
2898
302359da
RS
28992002-07-31 Richard Sandiford <rsandifo@redhat.com>
2900
2901 * config/mips/crtn.asm: Don't use __mips16 to determine the
2902 return-address offset. Define RA to a suitable temporary
2903 register for the return address.
2904
ead0c1d5
RS
29052002-07-31 Richard Sandiford <rsandifo@redhat.com>
2906
2907 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
2908 constraints to 'd'.
2909
3fb9d48a
CD
29102002-07-30 Chris Demetriou <cgd@broadcom.com>
2911
2912 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
2913 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
2914 patch on 2002-07-29.)
2915 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2916
072cdaed
KG
29172002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2918
506a61b1
KG
2919 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
2920 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
2921 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
2922 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
2923 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
2924 (ASM_GLOBALIZE_LABEL): Delete.
2925 (GLOBAL_ASM_OP): Define.
2926
072cdaed 2927 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 2928
072cdaed
KG
2929 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
2930 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
2931
6fd14075
GK
29322002-07-30 Geoffrey Keating <geoffk@redhat.com>
2933
2934 * doc/extend.texi (Hints implementation): Document that GCC
2935 mostly ignores `register'.
2936
2e8f2e8f
TM
29372002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
2938
2939 * flags.h: Declare flag_finite_math_only.
2940 Use it in definition of HONOR_NANS and
2941 HONOR_INFINITIES.
2942 * c-common.c (cb_register_builtins): Emit
2943 __FINITE_MATH_ONLY__ when flag_finite_math_only
2944 is set.
2945 * combine.c (simplify_if_then_else): If
2946 flag_finite_math_only is set, a == b has a
2947 definite value.
2948 * toplev.c: Initialize flag_finite_math_only.
2949 (set_flags_fast_math): Set it on -ffast-math.
2950 (flag_fast_math_set_p): Test it.
2951 * doc/invoke.texi: Document -ffinite-math-only.
2952
a538e580
RH
29532002-07-30 Richard Henderson <rth@redhat.com>
2954
2955 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
2956 (noce_process_if_block): Likewise.
2957
26e20555
BS
29582002-07-30 Bernd Schmidt <bernds@redhat.com>
2959
2960 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
2961 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
2962 * genemit.c (gen_expand): Recognize return insns even if the return
2963 appears in a parallel.
d8088c6f
BS
2964 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
2965 * config/fp-bit.c: Likewise.
2966 * doc/tm.texi: Document it.
905173eb 2967
0559cc77
DE
29682002-07-30 David Edelsohn <edelsohn@gnu.org>
2969 Zack Weinberg <zack@codesourcery.com>
2970
2971 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
2972 CODE_FOR_nothing. Change switch to if.
2973 (rs6000_expand_binop_builtin): Same.
2974 (rs6000_expand_builtin): Expand builtin if target support enabled.
2975 (rs6000_init_builtins): Init builtin if target support enabled.
2976 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
2977
60b8aa94
FS
29782002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2979
2980 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
2981
714fb710
RS
29822002-07-30 Richard Sandiford <rsandifo@redhat.com>
2983
2984 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
2985
c608a684
R
2986Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
2987
2988 * sh.md (cond_delay_slot): New attribute.
2989 (cbranch delay): Use it for anulled-true case.
2990 (stuff_delay_slot): New pattern.
2991 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
2992 delay slot insn.
2993 (gen_far_branch): Emit stuff_delay_slot pattern.
2994
0a756401
R
2995Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
2996
2997 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
2998
68e82b83
KH
29992002-07-30 Kazu Hirata <kazu@cs.umass.edu>
3000
3001 * fold-const.c: Fix comment typos.
3002 * gcse.c: Likewise.
3003 * reload1.c: Likewise.
3004
fe6b547a
AH
30052002-07-29 Aldy Hernandez <aldyh@redhat.com>
3006
3007 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
3008 for TARGET_SPE.
3009
7ff4a7ef
GDR
30102002-07-30 Gabriel Dos Reis <gdr@nerim.net>
3011
3012 * c-pretty-print.h (pp_c_statement): Declare.
3013 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
3014 (pp_c_statement): Define.
3015
4ad5e05d
KG
30162002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3017
3018 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
3019 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
3020 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
3021 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
3022 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
3023 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
3024
3025 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
3026 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
3027
1e6a3e1e
GDR
30282002-07-30 Gabriel Dos Reis <gdr@nerim.net>
3029
3030 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
3031 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
3032 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
3033 (pp_c_expression): Update.
3034
1dcd444b
KG
30352002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3036
3037 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
3038 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
3039 * alpha/vms-ld.c (main): Likewise.
3040 * dsp16xx.c (double_reg_to_memory): Likewise.
3041 * mcore.c (mcore_expand_prolog): Likewise.
3042 * cppfiles.c (read_name_map): Likewise.
3043 * gensupport.c (process_rtx, identify_predicable_attribute,
3044 alter_test_for_insn): Likewise.
3045 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
3046
e62f4abc
RS
30472002-07-29 Roger Sayle <roger@eyesopen.com>
3048
3049 * builtins.c (expand_builtin): Change the default behavior to
905173eb 3050 only issue an error if the builtin function doesn't have a
e62f4abc
RS
3051 fallback library call. Remove several cases handled by the
3052 new default.
3053
0cd2fb44
JDA
30542002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
3055
3056 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
3057 floating point format of the target is IEEE.
3058 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
3059 format of the target is DEC.
3060
b642261e
RH
30612002-07-29 Richard Henderson <rth@redhat.com>
3062
3063 * unroll.c (verify_addresses): Remove.
3064 (find_splittable_givs): Never split DEST_ADDR givs.
3065
cba57c9d
GK
30662002-07-29 Geoffrey Keating <geoffk@redhat.com>
3067
3068 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
3069 is exhaustive.
3070 (Files): Improve documentation on generated source files.
3071
3072 * doc/extend.texi (Translation implementation): Document what
3073 diagnostics look like.
3074 (Identifiers implementation): Document that there's normally no
3075 limit on identifier names.
3076 (Integers implementation): Document two's complement.
3077 (Hints implementation): Document that GCC honours 'inline', mostly.
3078 (Preprocessing directives implementation): Document that GCC
3079 requires the current time.
3080
76a8ecba
GDR
30812002-07-30 Gabriel Dos Reis <gdr@nerim.net>
3082
3083 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
3084 (pp_initializer): New macro.
3085 (pp_c_initializer): Declare.
3086 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
3087 (pp_c_initializer): Define.
3088 (pp_c_initializer_list): New function.
3089 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
3090 VECTOR_CST, CONSTRUCTOR.
3091 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 3092 IMAGPART_EXPR.
76a8ecba
GDR
3093 (pp_c_cast_expression): Handle FLOAT_EXPR.
3094 (pp_c_assignment_expression): Handle INIT_EXPR.
3095 (pp_c_expression): Update.
3096
4307be72
NB
30972002-07-30 Neil Booth <neil@daikokuya.co.uk>
3098
3099 * objc/objc-act.c (objc_init): Return immediately if filename
3100 is NULL.
3101
6d439235
EC
31022002-07-29 Eric Christopher <echristo@redhat.com>
3103
905173eb
ZW
3104 * config/mips/elf.h: Remove ecoff.h and gofast includes.
3105 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
3106 (SDB_DEBUGGING_INFO): Undefine.
3107 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
3108 (PUT_SDB_SIZE): Remove.
3109 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
3110 (STARTFILE_SPEC): Add isa3264 define.
3111 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
3112 * config/mips/ecoff.h: Remove. and here...
3113 * config/mips/iris3.h: and here...
3114 * config/mips/sni-svr4.h: and here...
3115 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
3116 Add assembler -mmdebug options for non-dwarf debugging.
3117 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
3118 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
3119 * config/mips/isa3264.h: Ditto.
3120 * config/mips/t-isa3264: Fix up for file removal and gofast configure
3121 change.
3122 * config/mips/t-elf: Ditto.
3123 * config/mips/t-ecoff: Ditto.
3124 * config/mips/t-r3900: Ditto.
3125 * config/mips/t-iris5-6: Ditto.
3126 * config/mips/t-isa3264: Ditto.
3127 * config/mips/t-linux: Remove.
3128 * config/mips/t-netbsd: Remove.
3129 * config/mips/t-mips: New file.
3130 * config/mips/t-gofast: Ditto.
3131 * config/mips/netbsd.h: Remove unnecessary undefines.
3132 * config/mips/linux.h: Remove #include of mips.h.
3133 * config.gcc: Add mips.h include for elf targets. Remove tm_file
3134 for ecoff. Add gofast configure option for mips.
6d439235 3135
4357a6c3
CD
31362002-07-29 Chris Demetriou <cgd@broadcom.com>
3137
3138 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
3139 linker scripts use STARTUP directives consistently.
3140 * configure: Regenerate.
3141 * config.in: Regenerate.
3142 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
3143 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
3144 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3145 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
3146 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
3147 will be the same.
3148
9a5cd606
AH
31492002-07-29 Aldy Hernandez <aldyh@redhat.com>
3150
3151 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
3152
a23acaa6
AH
31532002-07-29 Aldy Hernandez <aldyh@redhat.com>
3154
3155 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
3156
10ed84db
AH
31572002-07-29 Aldy Hernandez <aldy@quesejoda.com>
3158
3159 * config/rs6000/rs6000.md: Move altivec patterns from here...
3160
3161 * config/rs6000/altivec.md: ...to here.
3162
c3021e5d
AH
31632002-07-29 Aldy Hernandez <aldyh@redhat.com>
3164
3165 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
3166
6f1087be
RH
31672002-07-29 Richard Henderson <rth@redhat.com>
3168
3169 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
3170 set_mem_attributes and add BITPOS argument. Subtract it from
3171 OFFSET when same is adjusted.
3172 (set_mem_attributes): New wrapper function.
3173 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
3174 remove offset adjustment hack.
3175 * expr.h (set_mem_attributes_minus_bitpos): Declare.
3176
61ccbcfd
GDR
31772002-07-29 Gabriel Dos Reis <gdr@nerim.net>
3178
3179 * Makefile.in (C_OBJS): Include c-pretty-print.o
3180 (c-pretty-print.o): Add depency rule.
3181 * pretty-print.h: Add more macros.
3182 * c-pretty-print.c: New file.
3183 * c-pretty-print.h: Likewise.
3184
09101f56
AH
31852002-07-29 Aldy Hernandez <aldyh@redhat.com>
3186
3187 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
3188 constants to __ev64_s32__.
3189 (__internal_ev_mwhgsmian): Same.
3190 (__internal_ev_mwhgsmfan): Same.
3191 (__internal_ev_mwhgssfan): Same.
3192 (__internal_ev_mwhgumiaa): Same.
3193 (__internal_ev_mwhgsmiaa): Same.
3194 (__internal_ev_mwhgsmfaa): Same.
3195 (__internal_ev_mwhgssfaa): Same.
3196
af673a52
DE
31972002-07-29 David Edelsohn <edelsohn@gnu.org>
3198
3199 * varasm.c (assemble_variable): Narrow test for uninitialized
3200 without BSS target support.
3201
6c208acd
NS
32022002-07-29 Nathan Sidwell <nathan@codesourcery.com>
3203
3204 * profile.c: Add file comment describing the overall algorithm and
3205 structures.
3206 (struct edge_info): Add comments.
3207 (struct bb_info): Add comments.
3208 * basic-block.h (EDGE_*): Add comments.
3209 * doc/gcov.texi (Gcov Data Files): Document bit flags.
3210
624f0d60
BW
32112002-07-29 Bob Wilson <bob.wilson@acm.org>
3212
3213 * config/xtensa/elf.h, config/xtensa/linux.h
3214 (TARGET_OS_CPP_BUILTINS): Define.
3215 (CPP_PREDEFINES): Remove.
3216 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
3217 (CPP_SPEC): Remove.
3218
2199e5fa
ZW
32192002-07-29 Zack Weinberg <zack@codesourcery.com>
3220
3221 * gensupport.c: Include hashtab.h.
3222 (insn_elision, condition_table, hash_c_test, cmp_c_test,
3223 maybe_eval_c_test): New routines and data structures to
3224 support insn elision.
3225 (init_md_reader): Read and initialize the condition_table.
3226 (read_md_rtx): Discard insn patterns whose C test is provably
3227 always false.
3228 * gensupport.h: Declare new functions and data structures.
3229
3230 * genconditions.c, dummy-conditions.c: New files.
3231 * Makefile.in: Build genconditions; run it to construct
3232 insn-conditions.c; build that and link it into most gen*
3233 programs.
3234 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
3235 (GEN): Delete, unused.
3236 (STAGESTUFF): Update.
3237
3238 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
3239 CODE_FOR_nothing for all elided patterns.
3240 (main): Tweaked to support this.
3241 * genflags.c (gen_proto): Emit a static inline generator
3242 function here for all elided patterns, which simply returns
3243 NULL_RTX.
3244 (gen_insn): Do not define HAVE_xxx for elided patterns.
3245 (main): Tweaked to support this. No need to forward-declare
3246 struct rtx_def.
3247 * genrecog.c: Do not bother emitting the C test if it's known
3248 to be true at compile time.
3249
6ab185d6
MS
32502002-07-29 Mike Stump <mrs@apple.com>
3251
6d439235 3252 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 3253 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 3254
72b075d1
RE
32552002-07-29 Richard Earnshaw <rearnsha@arm.com>
3256
3257 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
3258 remove clobber of LR.
3259 (sibcall_insn, sibcall_value_insn): Update accordingly.
3260 (sibcall_epilogue): Remove debugging comment from assembler stream.
3261
f63c45ec
GDR
32622002-07-29 Gabriel Dos Reis <gdr@nerim.net>
3263
3264 * pretty-print.h: Define more macros.
3265 * diagnostic.h (output_formatted_integer): Moved from...
3266 * diagnostic.c: ... here.
3267
c27c15db
KG
32682002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3269
3270 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
3271
99086d59
ZW
32722002-07-28 Zack Weinberg <zack@codesourcery.com>
3273
3274 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
3275 arguments. Always use ".-symbol" as expression argument.
3276 * doc/tm.texi: Update to match. Document requirement for
3277 ".size symbol, .-symbol" to be acceptable to assembler.
3278
3279 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3280 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
3281 config/i386/freebsd-aout.h, config/i386/sco5.h,
3282 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
3283 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
3284
dd86aabf
KG
32852002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3286
6fd327e9
KG
3287 * Makefile.in (gengtype-lex.c): Fix error in last change.
3288
8155cedd
KG
3289 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
3290 backslash.
3291
dd86aabf
KG
3292 * Makefile.in (vmsdbgout.o): Depend on function.h.
3293
3294 * vmsdbgout.c: Include function.h.
3295
d4348177
AM
32962002-07-28 Alan Modra <amodra@bigpond.net.au>
3297
3298 * prefix.c (update_path): Don't strip single `.' path components
3299 unless stripping a later `..' component. Exit loop as soon as
3300 a valid path is found.
3301
c2ef6d34
RS
33022002-07-27 Roger Sayle <roger@eyesopen.com>
3303
3304 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
3305 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
3306 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
3307 floating point unordered comparisons (e.g. __builtin_isgreater)
3308 as const, and leave the remaining GCC_BUILTINs unchanged.
3309
3310 * c-decl.c (builtin_function): No need to explicitly mark
3311 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
3312
52bfebf0
RS
33132002-07-27 Roger Sayle <roger@eyesopen.com>
3314
3315 * Makefile.in: rtlanal.o now depends upon real.h.
3316
3317 * flags.h [flag_signaling_nans]: New flag.
3318 [HONOR_SNANS]: New macro.
3319
3320 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 3321 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
3322 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
3323 (process_options): flag_signaling_nans implies flag_trapping_math.
3324
3325 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
3326 when -fsignaling-nans. First step to implementing WG14's N965.
3327
3328 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
3329 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
3330 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
3331
3332 * simplify-rtx.c (simplify_relational_operation): Conditionalize
3333 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
3334
3335 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
3336 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
3337 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
3338 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
3339 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
3340
3341 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
3342
e66f55b8
KG
33432002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3344
3345 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
3346 * gengtype-lex.l (YY_USE_PROTOS): Undef.
3347 (YY_DECL): Define.
3348
a3926fe1
RS
33492002-07-27 Roger Sayle <roger@eyesopen.com>
3350
3351 * doc/invoke.texi: Document that both -fno-builtin-foo and
3352 -fno-builtin are supported by the g++ front-end.
3353
ef69da62
SS
33542002-07-27 Stan Shebs <shebs@apple.com>
3355
3356 * configure.in: Rename config_gtfiles to target_gtfiles.
3357 * configure: Regenerate.
3358 * doc/gty.texi: Update reference.
3359 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
3360 instead of appending to it.
3361
a4b0320c
AH
33622002-07-25 Aldy Hernandez <aldyh@redhat.com>
3363
3364 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
3365 vectors are split into two registers.
3366 (function_arg): Same.
3367
c427db5d
R
3368Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
3369
3370 * pa.md (extv): Check predicates before emitting extv_32.
3371
57ac7be9
AM
33722002-07-27 Alan Modra <amodra@bigpond.net.au>
3373
3374 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
3375 (rs6000_traceback): New var.
3376 (rs6000_override_options): Set rs6000_traceback.
3377 (rs6000_output_function_epilogue): Implement traceback options.
3378 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
3379 (rs6000_traceback_name): Declare.
3380
3381 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
3382 label reference when NO_PROFILE_COUNTERS.
3383
8e51619a
JM
33842002-07-26 Jason Merrill <jason@redhat.com>
3385
3386 * function.c (assign_parms): Handle frontend-directed pass by
3387 invisible reference.
3388
b41f25cf
NB
33892002-07-26 Neil Booth <neil@daikokuya.co.uk>
3390
3391 * doc/cppopts.texi: Update.
3392
c2734e05
NB
33932002-07-26 Neil Booth <neil@daikokuya.co.uk>
3394
3395 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
3396 warnings on assertions.
3397
c372b0fa
NB
33982002-07-26 Neil Booth <neil@daikokuya.co.uk>
3399
3400 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
3401 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
3402 RID_COMPL): Remove.
3403 * c-parse.in (rid_to_yy): Similarly.
3404
558ee214
JM
34052002-07-26 Jason Merrill <jason@redhat.com>
3406
3407 * c-dump.c: Resurrect.
3408 * tree-dump.c: Move C-specific stuff to c-dump.c.
3409 * c-common.h: Declare c_dump_tree.
3410 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
3411 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
3412 (c-dump.o): New rule.
3413
ce71f754
AM
34142002-07-26 Alan Modra <amodra@bigpond.net.au>
3415
3416 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
3417 PowerPC64. Replace "T" and "S" constraints with "n" when the
3418 predicate will do. Formatting fixes.
3419 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
3420 as for extzvsi_internal1.
3421
e179e7d7
NB
34222002-07-25 Neil Booth <neil@daikokuya.co.uk>
3423
3424 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
3425 DERIV_END_LABEL_FMT): Remove.
3426 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
3427
a2056183
NB
34282002-07-25 Neil Booth <neil@daikokuya.co.uk>
3429
3430 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
3431 Remove.
3432
308c142a
SS
34332002-07-25 Stan Shebs <shebs@apple.com>
3434
3435 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
3436 local var dwarfp.
3437 (output_compiler_stub): Remove unused locals.
3438 (output_call): Always initialize line number.
3439
59324685
R
3440Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3441
3442 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
3443 * sh.md (truncdiqi2, movqi_media): Likewise.
3444
77bbd421
NB
34452002-07-25 Neil Booth <neil@daikokuya.co.uk>
3446
3447 * gcse.c (obstack_chunk_alloc): Remove.
3448 (gcse_alloc): Fix to count allocated bytes.
3449 * collect2.c (SYMBOL__MAIN): Remove.
3450
7bad45b0
NB
34512002-07-25 Neil Booth <neil@daikokuya.co.uk>
3452
3453 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
3454 HAVE_TARGET_EXECUTABLE_SUFFIX.
3455
184166b5
R
3456Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3457
3458 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
3459 SIZE, EXPR and OFFSET.
3460
40cb04f1
RH
34612002-07-25 Richard Henderson <rth@redhat.com>
3462
3463 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
3464 in ARRAY_REF of DECL_P case.
3465
a27fb29b
RS
34662002-07-25 Richard Sandiford <rsandifo@redhat.com>
3467
3468 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
3469 description. Document -mips32, -mips64, and the associated -march
3470 values. Describe the "mipsN" arguments to -march. Say that the
3471 -mipsN options are equivalent to -march. Reword the description
3472 of default type sizes.
3473 * toplev.h (target_flags_explicit): Declare.
3474 * toplev.c (target_flags_explicit): New var.
3475 (set_target_switch): Update target_flags_explicit.
3476 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
3477 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
3478 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
3479 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
3480 * config/mips/mips.h (mips_cpu_info): New struct.
3481 (mips_cpu_string, mips_explicit_type_size_string): Remove.
3482 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
3483 (MIPS_CPP_SET_PROCESSOR): New macro.
3484 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
3485 Define _MIPS_ARCH and _MIPS_TUNE.
3486 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
3487 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
3488 MIPS_ISA_DEFAULT were already defined.
3489 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
3490 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
3491 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
3492 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
3493 (ABI_GAS_ASM_SPEC): Remove.
3494 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
3495 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
3496 Invoke %(asm_abi_default_spec) if no ABI was specified.
3497 (CC1_SPEC): Remove ISA -> register-size rules.
3498 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
3499 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
3500 (mips_cpu_string, mips_explicit_type_size_string): Remove.
3501 (mips_cpu_info_table): New array.
3502 (mips_set_architecture, mips_set_tune): New fns.
3503 (override_options): Rework to make -mipsN equivalent to -march.
3504 Detect more erroneous cases, including those removed from CC1_SPEC.
3505 Don't change the ABI based on architecture, or vice versa.
3506 Unify logic with GAS.
3507 (mips_asm_file_start): Get architecture name from mips_arch_info.
3508 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
3509 (mips_parse_cpu): Take the name of the option as argument. Handle
3510 'from-abi'. Raise an error if the option is wrong.
3511 (mips_cpu_info_from_isa): New fn.
3512
6bbdc759
RS
35132002-07-25 Richard Sandiford <rsandifo@redhat.com>
3514
3515 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
3516 (tablejump_mips162): Likewise.
3517
80a62484
R
3518Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
3519
3520 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
3521 int_mode_for_mode.
3522
ea793912
GDR
35232002-07-25 Gabriel Dos Reis <gdr@nerim.net>
3524
3525 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 3526 complaining.
ea793912
GDR
3527 * c-common.h (c_sizeof): Adjust definition.
3528 (c_alignof): Likewise.
3529 * c-tree.h (c_sizeof_nowarn): Now macro.
3530 * c-typeck.c (c_sizeof_nowarn): Remove definition.
3531
2d615444
NB
35322002-07-25 Neil Booth <neil@daikokuya.co.uk>
3533
3534 * c-decl.c (c_decode_option): No need to handle switches
3535 cpplib handles.
3536
2be2ac70
ZW
35372002-07-24 Zack Weinberg <zack@codesourcery.com>
3538
3539 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
3540 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
3541 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
3542 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3543
3544 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3545 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
3546 config/cris/aout.h, config/i386/freebsd-aout.h,
3547 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
3548 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
3549 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
3550 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
3551 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
3552 config/xtensa/elf.h, config/xtensa/linux.h:
3553 Use the new macros.
3554 Where possible, remove redundant definitions of SIZE_ASM_OP,
3555 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3556
518878e1
AH
35572002-07-24 Aldy Hernandez <aldyh@redhat.com>
3558
3559 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
3560 TARGET_ISEL, and TARGET_FPRS.
99086d59 3561
518878e1
AH
3562 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3563 -mabi=spe, -mabi=no-spe, and -misel=.
3564
3565 * config/rs6000/rs6000-protos.h: Add output_isel.
3566 Move vrsave_operation prototype here.
3567
3568 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
3569 (smaxsi3): Same.
3570 (uminsi3): Same.
3571 (umaxsi3): Same.
3572 (abssi2_nopower): Disallow when TARGET_ISEL.
3573 (*ne0): Same.
3574 (negsf2): Change to expand and rename old pattern to *negsf2.
3575 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 3576
518878e1
AH
3577 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
3578 fixunssfsi2.
3579
3580 Change patterns that check for TARGET_HARD_FLOAT or
3581 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
3582
3583 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
3584 rs6000_isel, rs6000_fprs, rs6000_isel_string.
3585 (rs6000_override_options): Add 8540 case to
3586 processor_target_table.
3587 Set rs6000_isel for the 8540.
3588 Call rs6000_parse_isel_option.
3589 (enable_mask_for_builtins): New.
3590 (rs6000_parse_isel_option): New.
3591 (rs6000_parse_abi_options): Add spe and no-spe.
3592 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
3593 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
3594 for TARGET_HARD_FLOAT.
3595 Add case for SPE_VECTOR_MODE.
3596 (rs6000_legitimize_reload_address): Handle SPE vector modes.
3597 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
3598 vector modes.
3599 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
3600 (rs6000_emit_move): Check for TARGET_FPRS.
3601 Add cases for SPE vector modes.
3602 (function_arg_boundary): Return 64 for SPE vector modes.
3603 (function_arg_advance): Check for TARGET_FPRS and
3604 Handle SPE vectors.
3605 (function_arg): Same.
3606 (setup_incoming_varargs): Check for TARGET_FPRS.
3607 (rs6000_va_arg): Same.
3608 (struct builtin_description): Un-constify mask field. Move up in
3609 file.
3610 (bdesc_2arg): Un-constify and add SPE builtins.
3611 (bdesc_1arg): Same.
3612 (bdesc_spe_predicates): New.
3613 (bdesc_spe_evsel): New.
3614 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
3615 (rs6000_expand_binop_builtin): Same.
3616 (bdesc_2arg_spe): New.
3617 (spe_expand_builtin): New.
3618 (spe_expand_predicate_builtin): New.
3619 (spe_expand_evsel_builtin): New.
3620 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
3621 (rs6000_init_builtins): Initialize SPE builtins. Call
3622 rs6000_common_init_builtins.
3623 (altivec_init_builtins): Move all non-altivec builtin code to...
3624 (rs6000_common_init_builtins): ...here. New function.
3625 (branch_positive_comparison_operator): Allow NE code for SPE.
3626 (ccr_bit): Return correct ccr bit for SPE fp.
3627 (print_operand): Emit crnor in 'D' case for SPE.
3628 New case 't'.
3629 Add SPE code for 'y' case.
3630 (rs6000_generate_compare): Generate rtl for SPE fp.
3631 (output_cbranch): Handle SPE hard floats.
3632 (rs6000_emit_cmove): Handle isel.
3633 (rs6000_emit_int_cmove): New.
3634 (output_isel): New.
3635 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
3636 64-bits for SPE.
3637 (debug_stack_info): Add SPE info.
3638 (gen_frame_mem_offset): New.
3639 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
3640 Change mode of frame pointer, when saving it, to Pmode.
3641 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
3642 Misc cleanups and use gen_frame_mem_offset when appropriate.
3643
3644 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
3645 (TARGET_SPE_ABI): New.
3646 (TARGET_SPE): New.
3647 (TARGET_ISEL): New.
3648 (TARGET_FPRS): New.
3649 (FIXED_SCRATCH): New.
3650 (RTX_COSTS): Add PROCESSOR_PPC8540.
3651 (ASM_CPU_SPEC): Add case for 8540.
3652 (TARGET_OPTIONS): Add isel= case.
3653 (rs6000_spe_abi): New.
3654 (rs6000_isel): New.
3655 (rs6000_fprs): New.
3656 (rs6000_isel_string): New.
3657 (UNITS_PER_SPE_WORD): New.
3658 (LOCAL_ALIGNMENT): Adjust for SPE.
3659 (HARD_REGNO_MODE_OK): Same.
3660 (DATA_ALIGNMENT): Same.
3661 (MEMBER_TYPE_FORCES_BLK): New.
3662 (FIRST_PSEUDO_REGISTER): Set to 113.
3663 (FIXED_REGISTERS): Add SPE registers.
3664 (reg_class): Same.
3665 (REG_CLASS_NAMES): Same.
3666 (REG_CLASS_CONTENTS): Same.
3667 (REGNO_REG_CLASS): Same.
3668 (REGISTER_NAMES): Same.
3669 (DEBUG_REGISTER_NAMES): Same.
3670 (ADDITIONAL_REGISTER_NAMES): Same.
3671 (CALL_USED_REGISTERS): Same.
3672 (CALL_REALLY_USED_REGISTERS): Same.
3673 (SPE_ACC_REGNO): New.
3674 (SPEFSCR_REGNO): New.
3675 (SPE_SIMD_REGNO_P): New.
3676 (HARD_REGNO_NREGS): Adjust for SPE.
3677 (VECTOR_MODE_SUPPORTED_P): Same.
3678 (REGNO_REG_CLASS): Same.
3679 (FUNCTION_VALUE): Same.
3680 (LIBCALL_VALUE): Same.
3681 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
3682 (SPE_VECTOR_MODE): New.
3683 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
3684 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
3685 (rs6000_stack): Add spe_gp_size, spe_padding_size,
3686 spe_gp_save_offset.
3687 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
3688 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
3689 (SPE_CONST_OFFSET_OK): New.
3690 (rs6000_builtins): Add SPE builtins.
3691
3692 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 3693
518878e1
AH
3694 * config/rs6000/eabispe.h: New.
3695
3696 * config/rs6000/spe.h: New.
3697
3698 * config/rs600/spe.md: New.
3699
3700 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3701 __SIMD__ for TARGET_SPE.
3702
3703 * config.gcc: Add powerpc-*-eabispe* case.
3704 Add spe.h to user headers for powerpc.
3705
8d1b7ba1
CD
37062002-07-24 Chris Demetriou <cgd@broadcom.com>
3707
3708 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
3709 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3710 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
3711
8ad8135a
RH
37122002-07-24 Richard Henderson <rth@redhat.com>
3713
3714 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
3715 form when not optimizing.
3716
dc44a4d8
DM
37172002-07-24 David Mosberger <davidm@hpl.hp.com>
3718
3719 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
3720 thread_pointer_rtx as unchanging.
3721
c5605318
MM
37222002-07-24 Michael Matz <matz@suse.de>
3723
3724 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
3725 (free_reg): Use it.
3726
3ade30ea
RE
37272002-07-24 Richard Earnshaw <rearnsha@arm.com>
3728
3729 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
3730 pattern.
3731 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
3732 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
3733
8a3ad737
CD
37342002-07-24 Chris Demetriou <cgd@broadcom.com>
3735
3736 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
3737 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3738 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
3739
7e51e626
JH
3740Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
3741
3742 * toplev.c (rest_of_compilation): Dump loops before clobbering
3743 the structure.
3744
5df533b3
JH
3745Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
3746
3747 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
3748
79258dce
RS
37492002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
3750
3751 PR optimization/7291
3752 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
3753 problem on x86_64.
3754
26ff2117
GDR
37552002-07-24 Gabriel Dos Reis <gdr@nerim.net>
3756
3757 * pretty-print.h: Add macros from cp/error.c
3758
0ba1b2ff
AM
37592002-07-24 Alan Modra <amodra@bigpond.net.au>
3760
3761 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
3762 (mask64_2_operand): Declare.
3763 (build_mask64_2_operands): Declare.
3764 (and64_2_operand): Declare.
3765 (extract_MB): Declare.
3766 (extract_ME): Declare.
3767 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
3768 CONST_DOUBLE code.
3769 (mask_operand_wrap): New insn predicate.
3770 (mask64_2_operand): Likewise.
3771 (and64_2_operand): Likewise.
3772 (build_mask64_2_operands): New function.
3773 (extract_MB): New function.
3774 (extract_ME): New function.
3775 (print_operand <case m,M>): Use extract_MB and extract_ME.
3776 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
3777 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
3778 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
3779 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
3780 * config/rs6000/rs6000.md (andsi3_internal3): New
3781 (andsi3_internal3+1): Enable split for powerpc64.
3782 (andsi3_internal3+2): New split.
3783 (andsi3_internal4): Renamed old andsi3_internal3.
3784 (andsi3_internal5): New.
3785 (andsi3_internal5+1): Enable split for powerpc64.
3786 (andsi3_internal5+2): New split.
3787 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
3788 (anddi3): Handle 't' constraint.
3789 (anddi3+1): New split.
3790 (anddi3_internal2): Handle 't' constraint.
3791 (anddi3_internal2+1): New split.
3792 (anddi3_internal3): Handle 't' constraint.
3793 (anddi3_internal3+1): New split.
3794
097657c3
AM
37952002-07-24 Alan Modra <amodra@bigpond.net.au>
3796
3797 * config/rs6000/rs6000.md: Remove scratch reg on insns using
3798 addze and similar (plus (comparison r1 r2) r3) insns. Add
3799 missing scratch reg in one case. Formatting fixes.
3800
a69cbaac
NB
38012002-07-24 Neil Booth <neil@daikokuya.co.uk>
3802
3803 * cppexp.c (parse_defined): Mark macro used.
3804 * cpphash.h (struct cpp_macro): New member "used".
3805 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
3806 (struct cpp_reader): New member.
3807 * cppinit.c (cpp_finish_options): Set first_unused_line.
3808 (cpp_finish): Warn of unused macros if requested.
3809 (OPT_TABLE): New switches.
3810 (cpp_handle_option): Handle them.
3811 * cpplib.c (do_undef): Warn if macro unused.
3812 (do_ifdef, do_ifndef): Mark macro used.
3813 * cpplib.h (struct cpp_options): New member.
3814 * cppmacro.c (_cpp_warn_if_unused_macro): New.
3815 (enter_macro_context): Mark macro used.
3816 (_cpp_create_definition): Mark macro unused; warn if unused
3817 when redefined.
3818 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
3819 Mark macros used.
3820 * doc/cppopts.texi: Update.
3821
c0667597
NB
38222002-07-23 Neil Booth <neil@daikokuya.co.uk>
3823
3824 * dwarf2out.c (SECTION_ASM_OP,
3825 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3826 * system.h (SECTION_ASM_OP): Poison.
3827 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
3828 * config/alpha/alpha-interix.h, config/mips/linux.h
3829 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3830 * config/mmix/mmix-protos.h, config/mmix/mmix.c
3831 (mmix_asm_output_define_label_difference_symbol): Remove.
3832 * config/mmix/mmix.h
3833 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 3834 * doc/tm.texi: Remove documentation.
c0667597 3835
bf7cd754
R
3836Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
3837
3838 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
3839 (constrain_operands): Likewise.
3840 * regclass.c (record_reg_classes): Likewise.
3841 * reload.c (find_reloads): Likewise.
3842 * doc/md.texi: Likewise.
451f86fd
R
3843
3844 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
3845 * simplify-rtx.c (simplify_subreg): When converting to a non-int
3846 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
3847
3848 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
3849 from individual subregs, check that each subreg has been generated
3850 sucessfully.
3851
10d6af32
NB
38522002-07-23 Neil Booth <neil@daikokuya.co.uk>
3853
3854 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
3855 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
3856 FOR_EACH_BB_IN_SBITMAP): Remove.
3857 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
3858 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
3859 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
3860 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
3861 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
3862 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
3863
6aaae39a
GDR
38642002-07-23 Gabriel Dos Reis <gdr@nerim.net>
3865
3866 * pretty-print.h: New file.
3867
45e574d0
JDA
38682002-07-23 Paul Koning <pkoning@equallogic.com>
3869
3870 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
3871 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
3872 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
3873 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 3874 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
3875 to internal form.
3876 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
3877 vs. others.
3878 (e113toe): Change to use ieeetoe.
3879
38802002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
3881
3882 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
3883 IBM.
3884 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
3885 (e64toe): Remove special cases for DEC and IBM. Remove support for
3886 ARM_EXTENDED_IEEE_FORMAT.
3887 (e24toe): Remove special cases for DEC.
3888 (significand_size): Simplify. Indent.
3889 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
3890 (etoieee, toieee): New.
3891 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
3892 etoieee and toieee for IEEE arithmetic.
3893
3764f879
GDR
38942002-07-23 Gabriel Dos Reis <gdr@nerim.net>
3895
3896 * doc/extend.texi: Say ISO C90, not ISO C89.
3897 * doc/invoke.texi: Likewise.
3898 * doc/standards.texi: Likewise.
3899
aa0f70e6
SE
39002002-07-23 Steve Ellcey <sje@cup.hp.com>
3901
3902 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
3903 Fix permutation of conversion and plus/mult.
3904 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
3905 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
3906 (expand_builtin_strncpy) Ditto.
3907 (expand_builtin_memset) Ditto.
3908
fa72b064
GDR
39092002-07-23 Gabriel Dos Reis <gdr@nerim.net>
3910
3911 Fix PR/7363:
3912 * c-common.c (c_sizeof_or_alignof_type): New function.
3913 (c_alignof): Remove definition.
3914 * c-common.h (c_sizeof, c_alignof): Define as macros.
3915 (c_sizeof_or_alignof_type): Declare.
3916 (my_friendly_assert): Moved from cp/cp-tree.h
3917 * c-typeck.c (c_sizeof): Remove definition.
3918
2b773ee2
JH
39192002-07-23 Jan Hubicka <jh@suse.cz>
3920
3921 * gcse.c (try_replace_reg): Use num_changes_pending.
3922 * recog.c (num_changes_pending): New function.
3923 (validate_replace_src): Use validate_repalce_src_group.
3924 (validate_replace_src_group): New.
3925 * recog.h (validate_repalce_src_group): New.
3926 (num_changes_pending): Likewise.
3927
a0dc500c
R
3928Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
3929
3930 * calls.c (emit_library_call_value_1): If
3931 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
3932 libcall, const call nor pure call.
3933
d22eda7b
NB
39342002-07-23 Neil Booth <neil@daikokuya.co.uk>
3935
3936 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
3937
b5e66e65
NB
39382002-07-23 Neil Booth <neil@daikokuya.co.uk>
3939
3940 * vmsdbgout.c (SECTION_ASM_OP): Remove.
3941
c3a600c0
NB
39422002-07-23 Neil Booth <neil@daikokuya.co.uk>
3943
3944 * config/i386/i386.c (AT_BP): Remove.
3945
4fa31c2a
NB
39462002-07-23 Neil Booth <neil@daikokuya.co.uk>
3947
3948 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
3949 Default definition.
3950 * gcse.c: Don't define obstack_chunk_free.
3951 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
3952 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
3953 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
3954 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
3955 Don't define obstack macros.
3956
fd576c86
SC
39572002-07-22 Stephane Carrez <stcarrez@nerim.fr>
3958
3959 PR target/6744
3960 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
3961 ASM_OPERANDS instructions.
3962
b791ff31
SC
39632002-07-22 Stephane Carrez <stcarrez@nerim.fr>
3964
3965 PR target/7361
3966 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
3967 constant addresses only on 68HC12.
3968
4a941115
NB
39692002-07-22 Neil Booth <neil@daikokuya.co.uk>
3970
3971 * cppfiles.c (stack_include_file): Correct test of whether
3972 a dependency should be output.
3973
7488cc6d
DE
39742002-07-22 David Edelsohn <edelsohn@gnu.org>
3975
3976 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
3977
b41caf7c
RE
39782002-07-22 Richard Earnshaw <rearnsha@arm.com>
3979
3980 * arm.md (movqi): If optimizing and we can create pseudos, use
3981 a ZERO_EXTEND to load from memory, then copy the result into the
3982 target.
3983 (movhi): Likewise, but only for ARMv4.
3984
492e9934
NB
39852002-07-22 Neil Booth <neil@daikokuya.co.uk>
3986
3987 * ssa-ccp.c (PHI_PARMS): Remove.
3988
f01f01a6
RS
39892002-07-22 Richard Sandiford <rsandifo@redhat.com>
3990
3991 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
3992 on big-endian targets.
3993
c2ae8aef
KG
39942002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3995
3996 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
3997 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
3998 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
3999 New formatting macros.
4000
4001 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
4002
eab2120d
R
4003Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
4004
4005 * rtlanal.c (subreg_regno_offset): Return correct offset for
4006 big endian paradoxical subregs.
0d541696
R
4007
4008 * optabs.c (expand_vector_unop): Don't expand using sub_optab
4009 if we got the wrong mode.
bb9b3805
R
4010
4011 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
4012 * genrecog.c (write_switch, write_cond): Use it.
4013 * genemit.c (gen_exp): Likewise.
4014
e96eb215
JJ
40152002-07-22 Jakub Jelinek <jakub@redhat.com>
4016
4017 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
4018
cf3c4f56
JJ
40192002-07-22 Jakub Jelinek <jakub@redhat.com>
4020
4021 * c-decl.c (build_compound_literal): Defer compound literal decls
4022 until until file end to emit them only if they are actually used.
4023
533c4863
KG
40242002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4025
4026 * ra-build.c (check_conflict_numbers): Hide unused function.
4027 (livethrough_conflicts_bb): Avoid automatic aggregate
4028 initialization.
4029 (parts_to_webs_1): Avoid `U' integer constant modifier.
4030 (conflicts_between_webs): Wrap a variable in the macro controlling
4031 its usage.
4032 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
4033 (dump_igraph, dump_graph_cost): Avoid string concatenation
4034 (dump_static_insn_cost): Avoid automatic aggregate
4035 initialization.
4036 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
4037 initialization.
4038 (dump_cost): Avoid string concatenation
4039
8943a0b4
RH
40402002-07-21 Richard Henderson <rth@redhat.com>
4041
4042 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
4043 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
4044
b1aef35b
RH
40452002-07-21 Richard Henderson <rth@redhat.com>
4046
4047 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
4048 that are not unrolled completely.
4049
5e1afb11
RH
40502002-07-21 Richard Henderson <rth@redhat.com>
4051
4052 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
4053 * loop.c (strength_reduce): Update.
4054 * toplev.c (rest_of_compilation): Do unrolling in the first
4055 loop pass, not the second.
4056
c67a1cf6
RH
40572002-07-21 Richard Henderson <rth@redhat.com>
4058
4059 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
4060 when flag_argument_noalias == 2.
4061 * alias.c (nonoverlapping_memrefs_p): Handle that.
4062 * print-rtl.c (print_mem_expr): Likewise.
4063
b68daef4
HS
40642002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
4065
4066 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
4067 instead of __negdi2 directly.
4068
060a58c5
NB
40692002-07-21 Neil Booth <neil@daikokuya.co.uk>
4070
4071 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
4072 * function.c (SYMBOL__MAIN): Remove definition.
4073 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 4074 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
4075 * profile.c (GCOV_INDEX_TO_BB): Remove.
4076 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
4077 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
4078
2f8dd115
NB
40792002-07-21 Neil Booth <neil@daikokuya.co.uk>
4080
4081 * c-lex.c (GET_ENVIRONMENT): Remove.
4082 * collect2.c (GET_ENV_PATH_LIST): Remove.
4083 (prefix_from_env): Use GET_ENVIRONMENT.
4084 * cppinit.c (GET_ENV_PATH_LIST): Remove.
4085 (init_standard_includes): Use GET_ENVIRONMENT.
4086 * defaults.h (GET_ENVIRONMENT): Define here if not already.
4087 * gcc.c (GET_ENV_PATH_LIST): Remove.
4088 (make_relative_prefix, process_command): Update.
4089 * protoize.c (GET_ENV_PATH_LIST): Remove.
4090 (do_processing): Update.
4091
56508306
GDR
40922002-07-21 Gabriel Dos Reis <gdr@nerim.net>
4093
4094 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
4095 (grokdeclarator): Likewise.
4096 * c-format.c (C_STD_NAME): Likewise.
4097 * c-lex.c (interpret_integer): Likewise.
4098 * c-typeck.c (build_array_ref): Likewise.
4099 * cpplex.c (_cpp_lex_direct): Likewise.
4100 * toplev.c (documented_lang_options): Likewise.
4101
e2f62855
NB
41022002-07-21 Neil Booth <neil@daikokuya.co.uk>
4103
4104 * c-format.c (T99_I, T99_UI): Remove.
4105
c89d1dfd
NB
41062002-07-21 Neil Booth <neil@daikokuya.co.uk>
4107
4108 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
4109
46690369
JH
4110Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
4111
4112 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
4113 do_local_cprop.
4114
60ffc1b8
AJ
41152002-07-21 Andreas Jaeger <aj@suse.de>
4116
99086d59 4117 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 4118
c05ffc49
BS
41192002-07-21 Bernd Schmidt <bernds@redhat.com>
4120
4121 Improvements for the ifcvt pass from Michael Meissner, with patches
4122 by Richard Sandiford <rsandifo@redhat.com>
4123 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
4124 * ifcvt.c (cond_exec_changed_p): New static variable.
4125 (last_active_insn): New function, renamed from last_active_insn_p
4126 and changed to return the last active insn in a basic block. All
4127 callers updated.
4128 (block_fallthru): New function.
4129 (cond_exec_process_insns): New argument CE_INFO. Pass it to
4130 IFCVT_MODIFY_INSN. All callers updated.
4131 Return false if START or END are NULL.
4132 Handle case where we're processing an insn that is already
4133 conditional.
4134
4135 (noce_process_if_block): CE_INFO argument rather than
4136 multiple args containing the involved basic blocks. All callers
4137 changed.
4138 (process_if_block, merge_if_block, find_if_block,
4139 cond_exec_process_if_block): Likewise.
4140
4141 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
4142 changed.
4143 Use new function last_active_insn to simplify some code.
4144 New code to handle multiple tests.
4145 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
4146 cond_exec_changed_p to TRUE.
4147
4148 (process_if_block): New code to handle multiple tests.
4149 (merge_if_block): Likewise.
4150 (find_if_header): New arg PASS. Changed to return the currently
4151 processed basic block or NULL instead of true/false. All callers
4152 changed.
4153 Call IFCVT_INIT_EXTRA_FIELDS.
4154 (block_jumps_and_fallthru_p): New function.
4155 (find_if_block): Discover opportunities to convert multiple tests.
4156 Add additional debugging output.
4157 Update the ce_info structure before returning.
4158
4159 (if_convert): Run multiple passes of if-conversion.
4160 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
4161 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
4162 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
4163 these macros.
4164
ae860ff7
JH
4165Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
4166
4167 * gcse.c: Include cselib.h
4168 (constptop_register): Break out from ...
4169 (cprop_insn): ... here; kill basic_block argument.
4170 (do_local_cprop, local_cprop_pass): New functions.
4171 (one_cprop_pass): Call local_cprop_pass.
4172
0da65b89
RS
41732002-07-20 Roger Sayle <roger@eyesopen.com>
4174
4175 * simplify-rtx.c (simplify_relational_operation): Optimize
4176 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
4177
47cc673a
MM
41782002-07-20 Michae Matz <matz@suse.de>
4179
4180 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
4181
68e65275
NB
41822002-07-20 Neil Booth <neil@daikokuya.co.uk>
4183
4184 * cppexp.c (struct op): Add token pointer.
4185 (check_promotion, CHECK_PROMOTION): New.
4186 (optab): Update.
4187 (_cpp_parse_expr): Update, use token pointer of struct op.
4188 (reduce): Warn about change of sign owing to promotion.
4189 * cppinit.c (cpp_handle_option): New warning if -Wall.
4190 * cpplib.h (struct cpp_options): New member.
4191
e3485bbc
DE
41922002-07-19 David Edelsohn <edelsohn@gnu.org>
4193
4194 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
4195 fpu list. Separate Power4 compare and delayed_compare. Correct
4196 Power4 fpcompare.
4197 (fix_truncdfsi2_internal): Restore FPR preference.
4198 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
4199 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
4200
449655a6
MV
42012002-07-19 Momchil Velikov <velco@fadata.bg>
4202
4203 * reload1.c (reload_as_needed): Duplicate oldpat.
4204
8b583747
AM
42052002-07-20 Alan Modra <amodra@bigpond.net.au>
4206
4207 PR optimization/7130
4208 * loop.h (struct loop_info): Add "preconditioned".
4209 * unroll.c (unroll_loop): Set it.
4210 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
4211
0dc36574
ZW
42122002-07-19 Zack Weinberg <zack@codesourcery.com>
4213
4214 * rtl.def (CODE_LABEL): Remove slot 8.
4215 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
4216 (LABEL_ALTERNATE_NAME): Delete.
4217 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
4218 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
4219
4220 * final.c (output_alternate_entry_point): New.
4221 (final_scan_insn): Use it instead of
4222 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
4223 of a case label being an alternate entry point.
4224
4225 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
4226 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
4227 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
4228 (field deleted).
4229 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
4230
4231 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
4232 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
4233 * doc/tm.texi: Delete documentation of
4234 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
4235
59267987
RO
42362002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4237
4238 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
4239 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
4240 (LINK_SPEC): Define.
4241 (STARTFILE_SPEC): Define.
4242 (ENDFILE_SPEC): Define.
4243
4244 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
4245 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
4246
4247 * config/mips/iris6-o32-gas.h: New file.
4248 * config.gcc (mips-sgi-irix6*o32): Use it.
4249
4250 * config/mips/t-iris5-gas: New file.
4251 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
4252
75aef48a
NB
42532002-07-19 Neil Booth <neil@daikokuya.co.uk>
4254
4255 * cppexp.c (ALWAYS_EVAL): Remove.
4256 (optab, reduce): Always evaluate.
4257 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
4258 only if not skipping evaluation.
4259
72a5503d
MM
42602002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
4261
4262 * config/avr/avr.c (debug_hard_reg_set): Remove.
4263
059ba716
CD
42642002-07-19 Chris Demetriou <cgd@broadcom.com>
4265
4266 * gcc.c (cpp_options): Include "%1" (cc1_spec).
4267
544823b6
RH
42682002-07-19 Richard Henderson <rth@redhat.com>
4269
4270 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
4271
c35383cb
AM
42722002-07-19 Alan Modra <amodra@bigpond.net.au>
4273
4274 * prefix.c (update_path): Don't zap single `.' path components
4275 unless followed by another `.' and fix typo last patch.
4276
ad28cff7
NB
42772002-07-18 Neil Booth <neil@daikokuya.co.uk>
4278
4279 * cppexp.c (cpp_num_mul): Remove unused parameter.
4280 (UNARY, BINARY, OTHER, binary_handler): Remove.
4281 (ALWAYS_EVAL): New.
4282 (optab): Update.
4283 (reduce): Refactor to a large switch, don't use a function
4284 pointer.
4285
139b7f86
BT
42862002-07-18 Bo Thorsen <bo@berlioz.suse.de>
4287
4288 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
4289
e69d1422
R
4290Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
4291
4292 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
4293 (sh_expand_binop_v2sf): Likewise.
4294 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
4295 (int_gpr_dest, trunc_hi_operand): New functions.
4296 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
4297 trunc_hi_operand.
4298 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
4299 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
4300 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
4301 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
4302 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
4303 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
4304 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
4305 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
4306 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
4307 (movsf_ie+1): Likewise.
4308 (loaddi_trunc): Use int_gpr_dest predicate.
4309 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
4310 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
4311 (casesi_worker_0+[12], casesi_worker): Likewise.
4312 (shcompact_preserve_incoming_args): Likewise.
4313 (mov_nop): Use any_register_operand predicate.
4314 (mperm_w0): Use trunc_hi_operand predicate.
4315
47a4976f
JDA
43162002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4317
4318 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
4319 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
4320 numbering.
4321
f3a4e54e
JDA
43222002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4323
4324 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
4325
30484ccf
RH
43262002-07-18 Richard Henderson <rth@redhat.com>
4327
4328 PR optimization/7147
4329 * ifcvt.c (noce_get_condition): Make certain that the condition
4330 is valid at JUMP.
4331
d042370e
R
4332Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
4333
4334 * sh.c (barrier_align, push): Shut up compiler warnings.
4335 (initial_elimination_offset,sh_media_init_builtins): Likewise.
4336 (reg_no_subreg_operand): Delete.
4337
61fee9b3
BT
43382002-07-17 Bo Thorsen <bo@suse.de>
4339
4340 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
4341 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
4342 (STARTFILE_SPEC): Remove hardcoded library paths.
4343 (ENDFILE_SPEC): Likewise.
4344
f305679f
JH
4345Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
4346
4347 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
4348
4349 * gcse.c (try_replace_reg): Do not return false positives.
4350
99bcb625
AM
43512002-07-18 Alan Modra <amodra@bigpond.net.au>
4352
f6f23ad2
AM
4353 * prefix.c: (update_path): Strip ".." components when prior dir
4354 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
4355
99bcb625
AM
4356 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
4357 (ASM_OUTPUT_REG_POP): Likewise.
4358
09eeeacb
AM
43592002-07-18 Alan Modra <amodra@bigpond.net.au>
4360
4361 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
4362 adjustments to first_reg for profiling case.
4363 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
4364 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
4365 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
4366 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
4367 (ASM_OUTPUT_REG_POP): Define.
4368 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
4369 (ASM_OUTPUT_REG_POP): Undef.
4370
74d06cf2
NB
43712002-07-17 Neil Booth <neil@daikokuya.co.uk>
4372
4373 * cpplib.c (do_sccs): Handle #sccs on all systems.
4374 * system.h (SCCS_DIRECTIVE): Poison.
4375 * config/darwin.h, config/freebsd.h, config/netbsd.h,
4376 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
4377 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
4378 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
4379 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
4380 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
4381 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
4382 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
4383 Remove all references to SCCS_DIRECTIVE.
4384 * doc/cpp.texi, doc/tm.texi: Update.
4385
61dde664
R
4386Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
4387
4388 * regrename.c (maybe_mode_change): New function.
4389 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
4390
97f51ac4
RB
43912002-07-17 Rodney Brown <rbrown64@csc.com.au>
4392
4393 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
4394 suppress addition when either ct or cf are zero.
4395
f1a73cfe 43962002-06-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 4397 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
4398
4399 PR optimization/6713
4400 * loop.c (loop_givs_rescan): Explicitly delete the insn that
4401 sets a non-replaceable giv after issuing the new one.
4402
23ff0223
NB
44032002-07-17 Neil Booth <neil@daikokuya.co.uk>
4404
4405 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
4406 eval_token): Clarify and correct use of "bool" variables.
4407 * cpplib.h (struct cpp_options): Similarly.
4408 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
4409 * cpptrad.c (recursive_macro): Similarly.
4410
ac09192a
R
4411Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
4412
d28586ab 4413 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 4414 SHmedia code.
68cef009
R
4415
4416 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
4417
4418 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
4419 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
4420
4421 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
4422 * sh-protos.h (sh_initialize_trampoline): Declare.
4423 * sh.c (sh_initialize_trampoline): New function.
4424 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
4425 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
4426 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
4427 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
4428 * sh.md (initialize_trampoline, double_shori): New patterns.
4429 (initialize_trampoline_compact): Likewise.
4430 (shmedia32_initialize_trampoline_big): Remove.
4431 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
4432
4433 * sh-protos.h (binary_float_operator): Remove declaration.
4434 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
4435 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
4436 (unary_float_operator, sh_expand_unop_v2sf): New functions.
4437 (sh_expand_binop_v2sf): Likewise.
4438 (zero_vec_operand): Delete.
4439 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
4440 all non-shared ones.
4441 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
4442 Enable nsb and byterev.
4443 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
4444 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
4445 in general regs.
4446 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
4447 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
4448 immediate operands.
4449 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
4450 Add DF_HI_REGS.
4451 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
4452 lowpart fp regs - only for big endian for now.
4453 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
4454 when FPU is in use.
4455 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
4456 (LOAD_EXTEND_OP): NIL for SImode.
4457 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
4458 general and fp registers is 4.
4459 PREDICATE_CODES: Amend binary_float_operator entry.
4460 Remove zero_vec_operand. Add unary_float_operator.
4461 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
4462 subreg SET_DEST.
4463 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
4464 (truncdiqi2): Do sign extension.
4465 (movsi_media, movdi_media): Allow to use r63 to an fp register.
4466 (movdf_media, movsf_media): Likewise.
4467 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
4468 Collapse to one define_insn_and_split. Allow immediate sources.
4469 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
4470 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
4471 (movv4sf): Allow immediate sources.
4472 (movsf_media_nofpu+1): Don't split moves to FP registers.
4473 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
4474 (movv8qi_i+3): Check against CONST0_RTX.
4475 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
4476 for input and output operands. Fix argument 3 to gen_mextr_rl.
4477 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
4478 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
4479 (mshf0_w, fipr, ftrv): Likewise.
4480 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
4481
e9d7b180
JD
44822002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4483
4484 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
4485 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
4486 * arm.c: Similarly.
4487
8214bf98
RS
44882002-07-17 Richard Sandiford <rsandifo@redhat.com>
4489
4490 * config/mips/mips-protos.h (mips_sign_extend): Declare.
4491 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
4492 (TARGET_SWITCHES): Remove debugh.
4493 (ISA_HAS_TRUNC_W): New macro.
4494 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
4495 (PREDICATE_CODES): Remove se_nonimmediate_operand.
4496 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
4497 any SImode move_operand.
4498 (se_nonimmediate_operand): Remove.
4499 (mips_sign_extend): New.
4500 (mips_move_2words): Use it for sign-extended source operands.
4501 (override_options): Allow integers to be put into single FPRs.
4502 (mips_secondary_reload_class): Handle integers in float registers.
4503 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
4504 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
4505 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
4506 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
4507 (fix_truncdfdi2): Provide only a single alternative, in which the
4508 integer is in a float register. Depend on TARGET_FLOAT64 rather
4509 than TARGET_64BIT.
4510 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
4511 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
4512 (movdi_internal2): Don't allow the source operand to be sign-extended.
4513 Add alternatives for float registers.
4514 (*movdi_internal2_extend): New. Version of movdi_internal2 that
4515 allows sign-extension.
4516 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
4517 (movsi_internal2): Rename to movsi_internal. Add alternatives for
4518 float registers. Remove TARGET_DEBUG_H_MODE test.
4519 (movhi_internal1): Rename to movhi_internal. Don't check
4520 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
4521 (movqi_internal1): Rename to movqi_internal and remove
4522 TARGET_DEBUG_H_MODE dependency.
4523 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
4524
7ab0121e
JW
45252002-07-16 Jim Wilson <wilson@redhat.com>
4526
4527 * toplev.c (lang_dependent_init): Create function context for
4528 init_expr_once.
4529
349ccf2e
HPN
45302002-07-16 Hans-Peter Nilsson <hp@axis.com>
4531
4532 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
4533 --gc-sections if -r.
4534 * config/cris/cris.h: Ditto.
4535
06ec023f
RB
45362002-07-16 Rodney Brown <rbrown64@csc.com.au>
4537
4538 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
4539 the comparison directly gives a mask suppress addition when cf is
4540 zero by complementing the mask.
4541
39cef914
NN
45422002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
4543
4544 * Makefile.in: Delete references to enquire.
4545 * enquire.c: Move to contrib.
4546
92c1a778
SS
45472002-07-16 Stan Shebs <shebs@apple.com>
4548
2aa9948d
SS
4549 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
4550 config/rs6000/darwin.h.
4551 (ASM_OUTPUT_SKIP): Ditto.
4552 (TEXT_SECTION_ASM_OP): Ditto.
4553 (DATA_SECTION_ASM_OP): Ditto.
4554 (ASM_APP_ON): Define.
4555 (ASM_APP_OFF): Define.
4556 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
4557 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
4558
4559 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
4560 (machopic_function_base_name): Declare result to be const.
4561 (machopic_non_lazy_ptr_name): Ditto.
4562 (machopic_stub_name): Ditto.
2aa9948d 4563 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 4564
daaab00a
JH
4565Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
4566
4567 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
4568
63c574cc
JH
4569Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
4570
4571 * i386.md (prefetch): Fix for 64bit mode.
4572 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
4573
2a500b9e
JH
4574Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
4575
4576 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
4577 * i386.c (x86_machine_dependent_reorg): New function.
4578 * i386-protos.h (x86_machine_dependent_reorg): Declare.
4579
e5faf155
ZW
45802002-07-16 Zack Weinberg <zack@codesourcery.com>
4581
4582 * builtins.c (std_expand_builtin_va_start): Remove unused
4583 first argument.
4584 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
4585 std_expand_builtin_va_start with just two arguments.
4586 * expr.h: Update prototypes.
4587
4588 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
4589 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
4590 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
4591 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
4592 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
4593 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
4594 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
4595 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
4596 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
4597 argument from all implementations of EXPAND_BUILTIN_VA_START
4598 and all uses of std_expand_builtin_va_start.
4599
dbf65c2f
R
4600Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
4601
4602 * regrename.c (copy_value): Don't record high part copies.
4603
6acb6d3e 46042002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 4605
6acb6d3e
SE
4606 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
4607 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
4608 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
4609
5d7c2819
ID
46102002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
4611
4612 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
4613
4614 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
4615 into addsi3 using register class "x" and "y".
4616
4617 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
4618 "earlyclobber" constraint modifier for some alternative.
e5faf155 4619
5d7c2819
ID
4620 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
4621 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
4622 unordered.
4623 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
4624
4625 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
4626 (TARGET_SWITCHES): Add -mieee-compare option.
4627 (OVERRIDE_OPTIONS): 32332 is a subset of
4628 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
4629 (TARGET_SWITCHES): Fix description of bitfield option.
4630 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
4631 -mieee-compare option. Remove 32332 flag.
4632
5da4f548 46332002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
4634
4635 * explow.c (convert_memory_address): Remove special handling
5da4f548 4636 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 4637 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
4638 (movedi_symbolic): Fix typo.
4639 (load_fptr): Remove mode restriction so it works for SI and DI.
4640 (load_fptr_internal1): Ditto.
4641 (load_gprel): Ditto.
4642 (load_symptr_internal1): Ditto.
4643 (call_pic): Ditto.
5d7c2819 4644 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
4645 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
4646 (ia64_expand_move): Ditto.
4647 (ia64_assemble_integer): Handle SImode function pointers.
4648 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
4649 (ia64_expand_op_and_fetch): Ditto.
4650 (ia64_expand_compare_and_swap): Ditto.
4651 (ia64_expand_lock_test_and_set): Ditto.
4652 (ia64_expand_lock_release): Ditto.
4653
1575c31e
JD
46542002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4655
4656 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
4657
46582002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4659 Richard Earnshaw <rearnsha@arm.com>
4660
e5faf155 4661 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
4662 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
4663
3894f59e
RE
46642002-07-16 Richard Earnshaw <rearnsha@arm.com>
4665
4666 * arm.md (stack_tie): New insn. Use an idiom that the alias code
4667 understands to be a memory clobber.
4668 * arm.c (arm_expand_prologue): Use it.
4669
e0b89be2 46702002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
4671
4672 * ra-rewrite.c: #include reload.h, insn-config.h
4673 * ra-build.c: #include reload.h
4674 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 4675 depend on reload.h, insn-config.h.
54b2a7f8 4676
cffa2189
R
4677Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
4678
4679 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
4680 the same size as a word.
4681
4682 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
4683 BYTES_BIG_ENDIAN into account.
4684
052c96b1
JH
4685Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
4686
4687 * i386.md (prefetch): Fix for 64bit mode.
4688 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
4689
4690 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
4691
ae32926b
MM
46922002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
4693
4694 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
4695
6c535c69
ZW
46962002-07-15 Zack Weinberg <zack@codesourcery.com>
4697
4698 * ginclude/varargs.h: Replace with stub which issues #error.
4699 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
4700 __builtin_va_start.
4701
4702 * builtins.def (BUILT_IN_VARARGS_START): Delete.
4703 (BUILT_IN_VA_START): New.
4704 * builtins.c (expand_builtin_va_start): Eliminate first
4705 argument and code to implement pre-ISO varargs.
4706 (std_expand_builtin_va_start): Ignore first argument; it is
4707 always 1.
4708 (expand_builtin): Handle BUILT_IN_VA_START and
4709 BUILT_IN_STDARG_START identically. Delete
4710 BUILT_IN_VARARGS_START case.
4711
4712 * function.c (assign_parms): Delete hide_last_arg and all
4713 its uses.
4714 (mark_varargs): Delete function.
4715 * function.h (struct function): Delete 'varargs' bit.
4716 (current_function_varargs): Delete macro.
4717 * tree.h: Don't declare mark_varargs.
4718
4719 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
4720 (c_expand_body): Don't call mark_varargs.
4721 * c-objc-common.c: Handle BUILT_IN_VA_START and
4722 BUILT_IN_STDARG_START identically. Delete
4723 BUILT_IN_VARARGS_START case.
4724 * c-tree.h: Don't declare c_mark_varargs.
4725 * c-parse.in: Remove grammar rules for '&...' (which has been
4726 commented out since before 2.7.2) and for '...' in K+R
4727 argument declarations.
4728
4729 * builtins.c, function.c, integrate.c, sibcall.c,
4730 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
4731 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
4732 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
4733 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
4734 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
4735 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
4736 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
4737 config/stormy16/stormy16.c: Delete all references to
4738 current_function_varargs, and code predicated on that flag.
4739
4740 * config/alpha/alpha.c (alpha_va_start),
4741 config/arc/arc.c (arc_va_start),
4742 config/i386/i386.c (ix86_va_start),
4743 config/mips/mips.c (mips_va_start),
4744 config/mn10300/mn10300.c (mn10300_va_start),
4745 config/rs6000/rs6000.c (rs6000_va_start),
4746 config/s390/s390.c (s390_va_start),
4747 config/sh/sh.c (sh_va_start),
4748 Ignore first argument; it is always 1.
4749
4750 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
4751 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
4752 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
4753 Delete m68hc11_va_start.
4754 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
4755 No need to define EXPAND_BUILTIN_VA_START.
4756
4757 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
4758 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
4759
6d80a854
EB
47602002-07-15 Eric Botcazou <ebotcazou@multimania.com>
4761
4762 PR optimization/7153
4763 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
4764 dies in more than one insn.
4765
043cfcbe
JT
47662002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
4767
4768 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
4769
ed8d2920 47702002-07-15 Michael Matz <matz@suse.de>,
6c535c69 4771 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
4772 Denis Chertykov <denisc@overta.ru>
4773
4774 Add a new register allocator.
4775
4776 * ra.c: New file.
4777 * ra.h: New file.
4778 * ra-build.c: New file.
4779 * ra-colorize.c: New file.
4780 * ra-debug.c: New file.
4781 * ra-rewrite.c: New file.
4782
4783 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
4784 (ra-rewrite.o): New .o files for libbackend.a.
4785 (GTFILES): Add basic-block.h.
4786
4787 * toplev.c (flag_new_regalloc): New.
4788 (f_options): New option "new-ra".
4789 (rest_of_compilation): Call initialize_uninitialized_subregs()
4790 only for the old allocator. If flag_new_regalloc is set, call
4791 new allocator, instead of local_alloc(), global_alloc() and
4792 friends.
4793
4794 * doc/invoke.texi: Document -fnew-ra.
4795 * basic-block.h (FOR_ALL_BB): New.
4796 * config/rs6000/rs6000.c (print_operand): Write small constants
4797 as @l+80.
4798
4799 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
4800 (df_reg_table_realloc): Make size at least as large as max_reg_num().
4801 (df_insn_table_realloc): Size argument now is absolute, not relative.
4802 Changed all callers.
4803
4804 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
4805 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
4806
4807 2002-06-20 Michael Matz <matz@suse.de>
4808
4809 * df.h (struct ref.id): Make unsigned.
4810 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
4811
4812 2002-06-13 Michael Matz <matz@suse.de>
4813
4814 * df.h (DF_REF_MODE_CHANGE): New flag.
4815 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
4816 involving subregs with invalid mode changes, when
4817 CLASS_CANNOT_CHANGE_MODE is defined.
4818
4819 2002-05-07 Michael Matz <matz@suse.de>
4820
4821 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
4822
4823 2002-05-03 Michael Matz <matz@suse.de>
4824
4825 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
4826
4827 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
4828
4829 * regclass.c (regclass): Work with all regs which have sets or
4830 refs.
4831 (reg_scan_mark_refs): Count regs inside (clobber ...).
4832
4833 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
4834
4835 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
4836 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
4837 add new refs.
4838 (df_bb_refs_update): Don't clear insns_modified here, ...
4839 (df_analyse): ... but here.
4840
4841 * sbitmap.c (dump_sbitmap_file): New.
4842 (debug_sbitmap): Use it.
4843
4844 * sbitmap.h (dump_sbitmap_file): Add prototype.
4845
4846 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
4847
4848 * df.c (df_insn_modify): Grow the UID table if necessary, rather
4849 than assume all emits go through df_insns_modify.
4850
4851 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
4852
4853 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
4854 increase REG_N_REFS (like flow does), so that regclass doesn't
4855 think a reg is useless, and thus, not calculate a class, when it
4856 really should have.
4857
4858 2001-01-28 Daniel Berlin <dberlin@redhat.com>
4859
4860 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
4861 dataflow analysis.
4862
794a292d
JJ
48632002-07-15 Jakub Jelinek <jakub@redhat.com>
4864
4865 PR middle-end/7245
4866 * config/i386/i386.c (const_int_1_31_operand): New.
4867 * config/i386/i386.h (PREDICATE_CODES): Add it.
4868 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
4869 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
4870 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
4871
05d49501
AM
48722002-07-14 Alan Modra <amodra@bigpond.net.au>
4873
4874 PR target/7282
4875 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
4876 (floatunssidf2): Likewise.
4877 (floatsidf_ppc64): New insn_and_split.
4878 (floatunssidf_ppc64): Likewise.
4879
e89617fe
AJ
48802002-07-14 Andreas Jaeger <aj@suse.de>
4881
4882 * config.gcc (sh64): Remove unused
4883 target_requires_64bit_host_wide_int.
4884
78762e3b
RS
48852002-07-12 Roger Sayle <roger@eyesopen.com>
4886
4887 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
4888 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
4889 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
4890 whether clear_by_pieces should be used to clear storage.
4891 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
4892
4893 * doc/tm.texi: Document these two new target macros.
4894
f7a454e9
SC
48952002-07-12 Stephane Carrez <stcarrez@nerim.fr>
4896
4897 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
4898 the scratch register.
4899 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
4900 of it, forbid reload to use it.
4901
26af4041
MM
49022002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
4903
4904 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
4905 usage on 64-bit hosts, return value was truncated to 32 bits.
4906
226cfe61
R
4907Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
4908
4909 * simplify-rtx.c (simplify_subreg): Handle floating point
4910 CONST_DOUBLEs. When an integer subreg of a smaller mode than
4911 the element mode is requested, compute a subreg with an
4912 integer mode of the same size as the element mode first.
4913
25c25947
R
4914Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
4915
4916 * combine.c (try_combine): When converting a paradoxical subreg
4917 to an extension, take LOAD_EXTEND_OP into account.
4918
789b7de5
RO
49192002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4920
4921 * config.gcc (mips-sgi-irix6*o32): New configuration.
4922
4923 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
4924 configurations.
4925 * configure: Regenerate.
4926
4927 * config/mips/iris6-o32-as.h: New file.
4928 * config/mips/iris6-o32.h: New file.
e89617fe 4929
789b7de5
RO
4930 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
4931 (NM_FLAGS): Define.
4932 (HAVE_AS_SHF_MERGE): Undefine.
4933
4934 * config/mips/t-iris5-as: New file.
4935 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
4936
4937 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
4938 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
4939 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
4940 dp-bit.c, fp-bit.c): Move ...
4941 * config/mips/t-iris5-6: ... here.
4942 New file, shared by IRIX 5 and IRIX 6.
4943 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
4944 mips-sgi-irix5*): Use it.
4945
4946 * config/mips/iris6.h: Remove duplicate comment.
4947
4948 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
4949 !TARGET_IRIX6]: Define.
4950 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
4951
4952 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
4953
a18c2c5f
JDA
49542002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4955
4956 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
4957 and delete code to force constant to register.
4958 * pa-protos.h (adddi3_operand): Add prototype.
4959 * pa.c (adddi3_operand): New function.
4960
e65a2d65
RS
49612002-07-11 Roger Sayle <roger@eyesopen.com>
4962
4963 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
4964 non-ANSI builtin functions.
4965
a06e3c40
R
4966Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
4967
4968 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
4969 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
4970 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
4971 (gen_const_vector_0): Use it.
4972
47abc309
JDA
49732002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4974
4975 * pa.md (adddi3): For 32-bit targets, force constants to a register
4976 if they don't fit in an 11-bit immediate. Change insn predicate to
4977 arith11_operand. Remove comment.
4978 * pa.c (cint_ok_for_move): Fix comment.
4979 (emit_move_sequence): Don't directly split DImode constants on 32-bit
4980 targets.
4981
8ac9d31f
TJ
49822002-07-11 Tim Josling <tej@melbpc.org.au>
4983
e89617fe 4984 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
4985
4986 * Makefile.in
4987 (STAGESTUFF): add gtyp-gen.h
4988 (GTFILES): Remove front end specific files.
4989 (GTFILES_FILES_LANGS): New, from configure..
4990 (GTFILES_FILES_FILES): Likewise.
4991 (GTFILES_LANG_DIR_NAMES): Likewise.
4992 (GTFILES_SRCDIR): Likewise.
4993 (gtyp-gen.h): Build from configure information.
4994 (s-gtype): Remove command line parameters from gengtype.
4995 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
4996 (mostlyclean): Delete files generated by and for gengtype.
4997
4998 * c-config-lang.in: New file.
4999
5000 * configure.in (all_gtfiles_files_langs): New. Accumulate files
5001 for each language.
5002 (all_gtfiles_files_files): New. Accumulate language for each file
5003 accumulated.
5004 (gtfiles): Pick up value for C.
5005 (srcdir): AC-SUBST this variable.
5006 (all_gtfiles_files_langs): AC-SUBST this variable.
5007 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 5008
8ac9d31f 5009 * configure: Regenerate.
e89617fe 5010
8ac9d31f
TJ
5011 * gengtype-lex.l (parse_file): Make parameter const.
5012
5013 * gengtype.c (toplevel): include gtyp-gen.h.
5014 (BASE_FILE_<language> unnamed enum): Delete.
5015 (lang_names): Delete (replaced by gtyp-gen.h)
5016 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
5017 all references.
5018 (NUM_GT_FILES): New.
5019 (NUM_LANG_FILES): New.
5020 (srcdir_len): New.
5021 (NUM_BASE_FILES): Change calculation.
5022 (open_base_files): Change prototype to avoid warning.
5023 (startswith): Delete.
5024 (get_file_basename): Iterate through generated language list not
5025 hard coded list.
5026 (get_base_file_bitmap): Use generated list of files and languages.
5027 (close_output_files): Add prototype to rmove warning.
5028 (main): Iterate through list of generated files from gtyp-gen.h
5029 rather than command line paramaters. Ignore duplicated file
e89617fe 5030 names.
8ac9d31f
TJ
5031
5032 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 5033
8ac9d31f
TJ
5034 * doc/sourcebuild.texi: Document gtfiles variable.
5035
5036 * doc/gty.texi: Document changes to gtfiles variable for front
5037 ends.
5038
5039 * objc/config-lang.in (gtfiles): Add files needed for objc front
5040 end.
5041
0e603223
RS
50422002-07-10 Roger Sayle <roger@eyesopen.com>
5043
5044 PR c/2454
5045 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
5046 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
5047
c5358a5d
RS
50482002-07-10 Roger Sayle <roger@eyesopen.com>
5049 Zack Weinberg <zack@codesourcery.com>
5050
5051 * builtins.def: Make the argument types of abort and exit
5052 independent of the front-end.
5053
a35f8b74
AM
50542002-07-11 Alan Modra <amodra@bigpond.net.au>
5055
5056 * config/rs6000/linux64.h (ASM_SPEC): Define.
5057
89e7058f
AH
50582002-07-10 Aldy Hernandez <aldyh@redhat.com>
5059
6c535c69
ZW
5060 * config/rs6000/rs6000.c (emit_frame_save): New.
5061 (rs6000_frame_related): Replace reg2 before reg.
5062 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
5063 and eh_return registers.
89e7058f 5064
086bbd21
TM
50652002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
5066
5067 Revert all patches for optimization of Complex .op. Real.
5068 * complex_part_zero_p: Remove
5069 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
5070 with x.
5071 * expand_cmplxdiv_wide: Ditto.
5072 * expand_binop: Ditto.
5073
126dbce0
MM
50742002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
5075
5076 * config/avr/avr.md: Fix two 0x80000000 constants to make them
5077 negative also on 64-bit hosts.
5078
5079 Default to -fno-reorder-blocks when optimizing for size.
5080 * config/avr/avr-protos.h (avr_optimization_options): Declare.
5081 * config/avr/avr.c (avr_optimization_options): New function.
5082 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
5083
5084 Optimize returning from simple functions.
5085 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
5086 * config/avr/avr.c (avr_simple_epilogue): New function.
5087 * config/avr/avr.md (return): New insn.
5088
21c318ba
DR
50892002-07-10 Douglas B Rupp <rupp@gnat.com>
5090
5091 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
5092 HAS_INIT_SECTION to protection.
5093
537834c8
MM
50942002-07-10 Mark Mitchell <mark@codesourcery.com>
5095
5096 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
5097 deprecated.
5098
80ba02b1
R
5099Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
5100
5101 * combine.c (gen_lowpart_for_combine): Handle vector modes.
5102 Supply non-VOID mode to simplify_gen_subreg.
5103
ae3aa00d
JH
5104Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
5105
5106 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
5107
029f3983
JL
51082002-07-10 Jeffrey A Law <law@redhat.com>
5109
7a464913
JL
5110 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
5111 as appropriate.
5112
6c535c69
ZW
5113 * mn10200.c (expand_epilogue): Fix test to determine which scratch
5114 register to use.
029f3983 5115
ff27a429
R
5116Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
5117
5118 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
5119 Get mode from dest.
5120 If simplify_gen_subreg fails, try next equivalent.
5121
e6986399
GDR
51222002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
5123
5124 * diagnostic.h: #include location.h
5125 (location_t): Move definition to..
5126 * location.h: ... here. New file.
5127 * tree.h: #include location.h
5128 (DECL_SOURCE_LOCATION): New macro.
5129 (DECL_SOURCE_FILE): Use.
5130 (DECL_SOURCE_LINE): Likewise.
5131 (struct tree_decl): REplace filename and linenum with locus.
5132 * Makefile.in (TREE_H): add location.h
5133 (diagnostic.o): Depends on gt-location.h
5134 (gt-location.h): Depends on s-gtype
5135
7990b46f
MK
51362002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
5137
5138 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
5139 TARGET_OS_CPP_BUILTINS.
5140 * config/rs6000/aix31.h: Likewise.
5141 * config/rs6000/aix41.h: Likewise.
5142 * config/rs6000/aix43.h: Likewise.
5143 * config/rs6000/aix51.h: Likewise.
5144 * config/rs6000/beos.h: Likewise.
5145 * config/rs6000/darwin.h: Likewise.
5146 * config/rs6000/eabi.h: Likewise.
5147 * config/rs6000/eabisim.h: Likewise.
5148 * config/rs6000/linux.h: Likewise.
5149 * config/rs6000/linux64.h: Likewise.
5150 * config/rs6000/lynx.h: Likewise.
5151 * config/rs6000/mach.h: Likewise.
5152 * config/rs6000/rtems.h: Likewise.
5153 * config/rs6000/sysv4.h: Likewise.
5154 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
5155
51562002-07-09 Devang Patel <dpatel@apple.com>
5157 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
5158 Do not allow ObjC objects as a parameter type for Objective-C methods.
5159 My previous patch restricted 'struct' also.
e89617fe 5160
cd98faa1
NB
51612002-07-09 Neil Booth <neil@daikokuya.co.uk>
5162
5163 * cpperror.c (cpp_error): Default to directive_line within
5164 directives here.
5165 * cppexp.c (cpp_interpret_integer): Only use traditional
5166 number semantics in directives.
5167 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
5168 (do_include_common): Similarly.
5169 * cpptrad.c (scan_out_logical_line): Implement accurate
5170 quoting of <> in #include.
5171 * doc/cpp.texi: Update.
5172
2ad65b0e 5173Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 5174 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
5175
5176 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
5177 * sh.md (attribute issues): Replace with:
5178 (attribute pipe_model). All users changed.
5179 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
5180 All users changed.
5181 (function units sh5issue, sh5fds): New.
5182 (attribute is_mac_media): New.
5183 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
5184 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
5185 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
5186 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
5187 (call_media, call_value_media, sibcall_media): Likewise.
5188 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
5189 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
5190 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
5191 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
5192 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
5193 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
5194 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
5195 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
5196 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
5197 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
5198 (truncdfsf2_media): Likewise.
5199 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
5200 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
5201
b6d33983
R
5202Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
5203
5204 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
5205 * sh.c (general_extend_operand, inqhi_operand): New functions.
5206 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
5207 alternatives using 'N' modifier. Add type.
5208 (adddi3z_media): Likewise. Enable generator function generation.
5209 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
5210 exact predicates / constraints. Add type.
5211 (subsi3): Allow 0 for SHMEDIA.
5212 (udivsi3_i4_media): Use match_operand for input values
5213 rather than hard registers.
5214 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
5215 unnecessarily through hard registers. Keep copies of pseudo
5216 registers outside of the libcall sequence.
5217 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
5218 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
5219 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
5220 (extendhidi2, extendqidi2): Likewise.
5221 (andsi3_compact): Name.
5222 (andcdi3): Enable generator function generation.
5223 (zero_extendhisi2, zero_extendqisi2): Rename to
5224 (zero_extendhisi2_compact, zero_extendqisi2_compact).
5225 (extendhisi2, extendqisi2): Rename to
5226 (extendhisi2_compact, extendqisi2_compact).
5227 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
5228 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
5229 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
5230 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
5231 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
5232 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
5233 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
5234 (shmedia32_initialize_trampoline_big): Likewise.
5235 (shmedia32_initialize_trampoline_little): Likewise.
5236 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
5237 (negdi2): Remove spurious T clobber.
5238 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
5239 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
5240 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
5241 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
5242 (ic_invalidate_line_media): Write back data cache before invalidating
5243 instruction cache. Add type.
5244 (movsf_media): Sign-extend when the destination is a general
5245 purpose register. Add type.
5246 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
5247 (casesi_worker_0+1): Only increment ref count for proper label.
5248 (casesi_worker_0+2): Likewise.
5249
7ca0873c
MM
52502002-07-09 Mark Mitchell <mark@codesourcery.com>
5251
5252 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
5253
26b10ae0 52542002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 5255
26b10ae0
SE
5256 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
5257 from Pmode to ptr_mode.
5258 (get_exception_pointer): Ditto.
5259 (connect_post_landing_pads): Ditto.
5260 (dw2_build_landing_pads): Ditto.
5261
0c3a2ea0
SE
52622002-07-08 Steve Ellcey <sje@cup.hp.com>
5263 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
5264 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
5265 (handle_pragma_redefine_extname): Change to use new function.
5266
26c34780
RS
52672002-07-08 Roger Sayle <roger@eyesopen.com>
5268
5269 * combine.c (combine_simplify_rtx): Add an explicit cast
5270 to avoid signed/unsigned comparison warning.
5271 (simplify_if_then_else): Likewise.
5272 (extended_count): Likewise.
5273 (simplify_shift_const): Likewise.
5274 (simplify_comparison): Likewise.
5275
1d4047e0
RS
52762002-07-08 Richard Sandiford <rsandifo@redhat.com>
5277
5278 * config/mips/mips.md: Add imadd type. Update scheduler description
5279 to use imadd as well as imul.
5280 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
5281 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
5282 (*mul_sub_si): Likewise for first alternative. Change second
5283 alternative from imul to multi.
5284
5351f1ca
NB
52852002-07-07 Neil Booth <neil@daikokuya.co.uk>
5286
5287 * c-common.c (c_common_post_options): Update prototype;
5288 don't init backends if preprocessing only.
5289 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
5290 * langhooks.h (struct lang_hooks): Update post_options to
5291 return a boolean.
5292 * toplev.c (parse_options_and_default_flags, do_compile,
5293 lang_independent_init): Update prototypes. Allow the
5294 front end to specify that there is no need to initialize
5295 the back end.
5296 (general_init): Move call to hex_init here...
5297 (toplev_main): ...from here. Pass flag for back end init
5298 suppression.
5299
c8cc4417
R
5300Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
5301
5302 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
5303 (PREDICATE_CODES): Add entries for equality_comparison_operator,
5304 greater_comparison_operator and less_comparison_operator.
5305 * sh.c (print_operand): Add '\'' code. Make 'o' handle
5306 more operators.
5307 (equality_comparison_operator): New function.
5308 (greater_comparison_operator, less_comparison_operator): Likewise.
5309 * sh.md (beq_media_i): Disable generator function generation.
5310 Use match_operator to handle a whole class of comparisons. Add
5311 modifier in output template to provide branch prediction. Add type.
5312 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
5313 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
5314 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
5315 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
5316
957ec0f9
HPN
53172002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
5318
5319 Emit MMIX function prologue and epilogue as rtl.
5320 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
5321 not unprototyped get_hard_reg_initial_val.
5322 ("call_value", "nonlocal_goto_receiver"): Ditto.
5323 ("return"): Make define_expand. Move real insn to...
5324 ("*expanded_return"): New pattern.
5325 ("prologue", "epilogue"): New define_expands.
5326 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
5327 (struct machine_function): New member in_prologue.
5328 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
5329 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
5330 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
5331 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
5332 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
5333 (LOCAL_REGNO): Define. Adjust comment.
5334 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
5335 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
5336 leaf_function_p.
5337 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
5338 the prologue.
5339 (mmix_target_asm_function_prologue): Make static. Just mark that
5340 the prologue is being emitted. Move guts to...
5341 (mmix_expand_prologue): New function. Adjust for emitting
5342 prologue as rtl. For sizes, use HOST_WIDE_INT only.
5343 (mmix_target_asm_function_epilogue): Make static. Simply emit a
5344 \n. Move guts to...
5345 (mmix_expand_epilogue): New function. Adjust for emitting
5346 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
5347 (mmix_target_asm_function_end_prologue): Mark that the prologue
5348 has ended.
5349 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
5350 (mmix_conditional_register_usage): Improve comments.
5351 (mmix_local_regno): New function.
5352 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
5353 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
5354 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
5355 (mmix_get_hard_reg_initial_val): Ditto.
5356
7ab5c789
AJ
53572002-07-06 Andreas Jaeger <aj@suse.de>
5358
5359 * toplev.c (set_fast_math_flags): Don't use ISO C style function
5360 definitions.
5361 * gengtype.c (open_base_files): Likewise.
5362 (close_output_files): Likewise.
5363 * tracer.c (find_best_predecessor): Likewise.
5364 (find_best_successor): Likewise.
5365 (ignore_bb_p): Likewise.
5366
df061a43
RS
53672002-07-05 Roger Sayle <roger@eyesopen.com>
5368
5369 PR c++/7099
5370 * builtin-attrs.def: Define new attribute lists for use in
5371 builtins.def.
5372 * builtins.def [DEF_BUILTIN]: Modify to take an additional
5373 ATTRS argument, an enumerated value defined in builtin-attrs.def
5374 that represents the attribute list for the builtins. Modify
5375 all builtin functions to pass an appropriate attribute list.
5376 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
5377 their required noreturn attributes.
5378 * tree.h (enum_builtin_function): Ignore the additional parameter
5379 to DEF_BUILTIN.
5380 * builtins.c (built_in_names): Likewise.
5381 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
5382 argument with a tree representing the functions attribute list.
5383 Pass this "attrs" argument to builtin_function. No longer handle
5384 the noreturn_p processing manually.
5385 (built_in_attributes): Move the definitions from builtin-attrs.def
5386 before c_common_nodes_and_builtins.
5387 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
5388 DEF_BUILTIN, passing it to both builtin_function and the changed
5389 builtin_function_2.
5390
5391 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
5392 __builtin__exit and __builtin__Exit.
5393
e5eb8de8
SC
53942002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5395
5396 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
5397 QI mode registers in soft registers.
7ab5c789 5398 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
5399 for register allocation (use '*' constraint).
5400
4c8aed14
SC
54012002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5402
5403 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
5404 it is dead.
5405 ("*ashrsi3"): Likewise.
5406 ("*lshrsi3"): Likewise.
5407
99ed68ea
VM
54082002-07-05 Vladimir Makarov <vmakarov@redhat.com>
5409
5410 * genautomata.c (output_max_insn_queue_index_def): Take latencies
5411 into account.
5412
4c8aed14 54132002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
5414
5415 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
5416 address computation and memory moves.
5417
9833f679
MM
54182002-07-03 Mark Mitchell <mark@codesourcery.com>
5419
5420 PR c++/6706
5421 * dwarfout.c (output_reg_number): Fix warning message.
5422 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
5423 before using it.
7ab5c789 5424
81bca2f5
RO
54252002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5426
5427 * gcc/gcc.c (asm_debug): Move initialization ...
5428 (init_spec): ... here.
5429
17f44f02
NS
54302002-07-05 Nathan Sidwell <nathan@codesourcery.com>
5431
5432 * c-parse.in (extdef): Append ';'.
5433 (old_style_parm_decls): Append ';'.
5434
da77408f
DJ
54352002-07-04 Daniel Jacobowitz <drow@mvista.com>
5436
5437 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
5438 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
5439 to gcc_cv_as_gstabs_flag.
5440 * configure: Rebuilt.
5441
ec52b446
GK
54422002-07-04 Geoffrey Keating <geoffk@redhat.com>
5443
5444 * ggc.h (ggc_add_root): Document as obsolete.
5445
8721e3df
R
5446Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
5447
5448 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
5449 (mshflo_w): Likewise.
5450
3767c0fd
R
5451Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
5452
5453 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
5454 vector mode subregs of constants to finding integer mode
5455 subregs of constants.
5456 * cse.c (cse_insn): Use simplify_gen_subreg.
5457 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
5458 From a vector mode expression of different size than the
5459 target mode.
5460
4e314d1f
EC
54612002-07-03 Eric Christopher <echristo@redhat.com>
5462
5463 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
5464 * config/mips/mips.h: Remove deprecated -m<processor> options
5465 and cc1_cpu_spec associated.
5466 (CONSTANT_ADDRESS_P): Fix last patch.
5467 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
5468 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
5469 sunge_sf): Remove.
5470
6f0361e3
SS
54712002-07-03 Stan Shebs <shebs@apple.com>
5472
5473 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
5474 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
5475 (CPP_SPEC): Remove insertion of APPLE_CC definition.
5476
3129af4c
RS
54772002-07-03 Roger Sayle <roger@eyesopen.com>
5478
5479 * combine.c (struct_undo): Change types of recorded substitutions
5480 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
5481 (do_SUBST_INT): Change types of the substitution from unsigned int
5482 to int, to avoid compilation warning from SUBST_INT's only caller.
5483
5484 (make_extraction): Add cast to avoid compilation warning.
5485 (force_to_mode): Remove cast to avoid compilation warning.
5486
c7375e61
EB
54872002-07-03 Eric Botcazou <ebotcazou@multimania.com>
5488 Jeff Law <law@redhat.com>
5489
5490 * i386.md (length_immediate attribute): Fix typo.
5491 (length_address attribute): Likewise.
5492 (modrm attribute): Set it to 0 for immediate call instructions.
5493 (jcc_1 pattern): Set modrm attribute to 0.
5494 (jcc_2 pattern ): Likewise.
5495 (jump pattern): Likewise.
5496 (doloop_end_internal pattern): Explicitly set length.
5497 (leave pattern): Fix typo.
5498 (leave_rex64 pattern): Likewise.
5499
61c07d3c
DE
55002002-07-03 David Edelsohn <edelsohn@gnu.org>
5501
5502 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
5503 in FPR as preference.
5504 (fctiwz): Same.
5505 (floatdidf2, fix_truncdfdi2): Same.
5506 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
5507 (floatditf2): Same.
5508 (floatsitf2, fix_trunctfsi2): SImode in GPR.
5509 (ctrdi): Remove FPR alternative and splitter.
5510
55112002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
5512
5513 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
5514
34a80643
R
5515Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
5516
5517 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
5518 than UNITS_PER_WORD, unless this is little endian and the first unit
5519 in this word. Let extract_bit_field decide how to load an element.
5520 Force arguments to matching mode.
5521 (expand_vector_unop): Likewise.
5522
5523 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
5524 consist of word_mode elements.
5525 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
5526 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
5527 (build_unary_op): Allow vector types for BIT_NOT_EPR.
5528 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
5529 CONST_VECTOR.
5530 * optabs.c (expand_vector_binop): Try to perform operation in
5531 smaller vector modes with same inner size. Add handling of AND, IOR
5532 and XOR. Reject expansion to inner-mode sized scalars when using
5533 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
5534 (expand_vector_unop): Try to perform operation in smaller vector
5535 modes with same inner size. Add handling of one's complement.
5536 When there is no vector negate operation, try a vector subtract
5537 operation. Use simplify_gen_subreg on constants.
5538 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
5539 constants into smaller vectors with same inner mode, and to
5540 integer CONST_DOUBLEs.
5541
622d3731
KG
55422002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5543
5544 * c-parse.in (parsing_iso_function_signature): New variable.
5545 (extdef_1): New, copied from...
5546 (extdef): ... here. Reset parsing_iso_function_signature.
5547 (old_style_parm_decls): Reset parsing_iso_function_signature.
5548 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
5549 Warn about ISO C style function definitions.
5550 (nested_function, notype_nested_function): Reset
5551 parsing_iso_function_signature.
5552 (parmlist_2): Set parsing_iso_function_signature.
5553
5554 * doc/invoke.texi (-Wtraditional): Document new behavior.
5555
9bb46191
CD
55562002-07-02 Chris Demetriou <cgd@broadcom.com>
5557
5558 * config.gcc (mips*el-*-*): Use tm_defines to set
5559 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
5560 * config/mips/little.h: Remove.
5561
e1c2dd26 55622002-07-02 Devang Patel <dpatel@apple.com>
c40da518 5563
c40da518 5564 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
5565 object as parameter. Prevent something like 'NSObject' to be
5566 used as the type for a method argument.
c40da518 5567
0879540b
NB
55682002-07-03 Neil Booth <neil@daikokuya.co.uk>
5569
5570 * cpptrad.c: Update comment.
5571
b6fb43ab 55722002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 5573
b6fb43ab
NB
5574 * doc/cpp.texi: Update for traditional preprocessing changes.
5575 * goc/cppopts.texi: Similarly.
5576
c1c5187c
ZL
55772002-07-02 Ziemowit Laski <zlaski@apple.com>
5578
5579 * c-parse.in (designator): Enable designated initializers if ObjC.
5580 (objcmessageexpr): Remove references to objc_receiver_context.
5581 * objc/objc-act.h (objc_receiver_context): Remove decl.
5582 * objc/objc-act.c (objc_receiver_context): Remove.
5583 (lookup_objc_ivar): Test objc_method_context instead of
5584 objc_receiver_context.
5585
52702ae1
R
5586Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
5587
5588 * sh.c (print_operand, case 'N'): Allow zero vector.
5589 (arith_reg_or_0_operand): Likewise.
5590 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 5591 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
5592 IOR, XOR, PLUS and SET and take their respective constant
5593 ranges into account.
5594 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
5595 * sh.md (subdi3, subdi3_media): Allow zero operand.
5596 (movv8qi_i+3): Only vector that is not split is the zero vector.
5597 Fix operand 3 to simplify_subreg.
5598 (movv2si_i): Split alternative 1.
5599 (mshfhi_l_di_rev+1): New splitter.
5600
49e7b251
NB
56012002-07-02 Neil Booth <neil@daikokuya.co.uk>
5602
ba57a9c0 5603 PR preprocessor/7029
49e7b251
NB
5604 * cppinit.c (cpp_handle_option): Suppress warnings with an
5605 implicit "-w" for "-M" and "-MM".
5606 * doc/cppopts.texi: Update.
5607
a3acdc0c
RS
56082002-07-01 Roger Sayle <roger@eyesopen.com>
5609
5610 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
5611 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
5612 builtin_function.
5613
0b558962
AM
56142002-07-02 Alan Modra <amodra@bigpond.net.au>
5615
5616 * README.Portability: Fix typos.
5617
9a81c5b7
HPN
56182002-07-01 Hans-Peter Nilsson <hp@axis.com>
5619
5620 PR target/7177
5621 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
5622 of indirections for register inside sign-extended mem part.
5623
6a2dd09a
RS
56242002-07-01 Roger Sayle <roger@eyesopen.com>
5625
5626 * tree.h: Modify builtin_function interface to take an extra
5627 argument ATTRS, which is a tree representing an attribute list.
5628
5629 * c-decl.c (builtin_function): Accept additional parameter.
5630 * objc/objc-act.c (builtin_function): Likewise.
5631 * f/com.c (builtin_function): Likewise.
5632 * java/decl.c (builtin_function): Likewise.
5633 * ada/utils.c (builtin_function): Likewise.
5634 * cp/decl.c (builtin_function): Likewise.
5635 (builtin_function_1): Likewise.
5636
5637 * c-common.c (c_common_nodes_and_builtins): Pass an additional
5638 NULL_TREE argument to builtin_function. (builtin_function_2):
5639 Likewise.
5640 * cp/call.c (build_java_interface_fn_ref): Likewise.
5641 * objc/objc-act.c (synth_module_prologue): Likewise.
5642 * java/decl.c (java_init_decl_processing): Likewise.
5643 * f/com.c (ffe_com_init_0): Likewise.
5644
5645 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
5646 NULL_TREE argument to builtin_function.
5647 * config/arm/arm.c (def_builtin): Likewise.
5648 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
5649 * config/i386/i386.c (def_builtin): Likewise.
5650 * config/ia64/ia64.c (def_builtin): Likewise.
5651 * config/rs6000/rs6000.c (def_builtin): Likewise.
5652
e20569ae
ZW
56532002-07-01 Zack Weinberg <zack@codesourcery.com>
5654
5655 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
5656 * config/mips/t-isa3264: Likewise.
5657 * config/mmix/t-mmix: Likewise.
5658
f1b690f1
JDA
56592002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
5660
5661 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
5662
6bfa5aac
RS
56632002-07-01 Roger Sayle <roger@eyesopen.com>
5664
5665 PR opt/4046
5666 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
5667 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
5668 B are truth values.
5669
9a5c1b9d
NN
56702002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
5671
5672 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
5673
d3fc4dbc
MK
56742002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
5675
3b2124df
MK
5676 * README.Portability (Function prototypes): Give an example of
5677 declaring and defining a function with no arguments.
5678
d3fc4dbc
MK
5679 * README.Portability (Function prototypes): Document new
5680 variable-argument function macros.
5681
c1b92d09
R
5682Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
5683
5684 * sh.c (langhooks.h): Include.
5685 (sh_init_builtins, sh_media_init_builtins): New functions.
5686 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
5687 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
5688 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
5689 (builtin_description): New struct tag.
5690 (signature_args, bdesc): New arrays.
5691 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
5692 (print_operand): Add 'N' modifier.
5693 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
5694 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
5695 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
5696 (CONST_COSTS): Add special case for SHmedia AND.
5697 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
5698 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
5699 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
5700 target_operand can also be const or unspec.
5701 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
5702 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
5703 (attribute type): Add new types.
5704 (anddi3): Add splitter.
5705 (movdi_const_16bit+1): Add code to handle vector constants and
5706 bitmasks efficiently.
5707 (shori_media): Have generator function made.
5708 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
5709 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
5710 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
5711 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
5712 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
5713 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
5714 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
5715 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
5716 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
5717 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
5718 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
5719 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
5720 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
5721 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
5722 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
5723 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
5724 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
5725 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
5726 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
5727 (ftrv): Likewise.
5728
5729 (fpu_switch+1, fpu_switch+2): Remove constraint.
5730
97ebc06f
AH
57312002-07-01 Aldy Hernandez <aldyh@redhat.com>
5732
6c535c69
ZW
5733 * tree.c (build_function_type_list): Update function comment.
5734 Rename first argument to return_type.
97ebc06f 5735
353a10d0
NB
57362002-07-01 Neil Booth <neil@daikokuya.co.uk>
5737
5738 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
5739 tradcif.y and related files.
5740
e34cabb3
NB
57412002-07-01 Neil Booth <neil@daikokuya.co.uk>
5742
5743 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
5744
8bf3ccbb
KG
57452002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5746
5747 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
5748
118f8dc1
DP
57492002-06-30 Devang Patel <dpatel@apple.com>
5750
5751 * objc/objc-act.c (finish_file): Avoid finish_objc() if
5752 -fsyntax-only.
5753
e3223ea2
DC
5754Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
5755 Frank Ch. Eigler <fche@redhat.com>
6c535c69 5756 Matthew Green <mrg@redhat.com>
e3223ea2
DC
5757 Richard Henderson <rtl@redhat.com>
5758 Dave Hudson <dave.hudson@ubicom.com>
5759 Jeff Johnston <jjohnstn@redhat.com>
5760 Alan Lehotsky <apl@alum.mit.edu>
5761 Bernd Schmidt <bernds@redhat.com>
5762 Graham Stott <grahams@redhat.com>
4e314d1f 5763
e3223ea2
DC
5764 * doc/extend.texi: Add ip2k port to description of attribute
5765 naked.
5766 * doc/install.texi (Specific): Add ip2k description.
5767 * doc/install-old.texi (Configurations): Add ip2k to possible
5768 cpu types.
5769 * doc/md.texi: Document ip2k constraints.
5770 * config/ip2k/crt0.S: New file.
5771 * config/ip2k/ip2k-protos.h: New file.
5772 * config/ip2k/ip2k.c: New file.
5773 * config/ip2k/ip2k.h: New file.
5774 * config/ip2k/ip2k.md: New file.
5775 * config/ip2k/libgcc.S: New file.
5776 * config/ip2k/t-ip2k: New file.
5777
66b8c57f
HPN
57782002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
5779
5780 * config/mmix/mmix.md ("return"): New pattern.
5781 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
5782 (TARGET_USE_RETURN_INSN): New macros.
5783 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
5784 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
5785 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
5786 (MMIX_POP_ARGUMENT): New macro.
5787 (mmix_target_asm_function_prologue): When no epilogue is executed,
5788 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
5789 (mmix_print_operand) <case '.'>: New case.
5790 (mmix_print_operand_punct_valid_p): Match '.'.
5791 (mmix_use_simple_return): New function.
5792 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
5793 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
5794 -msingle-exit, -mno-single-exit.
5795 (MMIX Options): Ditto.
5796
e7a60f56
AH
57972002-06-30 Aldy Hernandez <aldyh@redhat.com>
5798
6c535c69 5799 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
e7a60f56 5800
1ef7d32b
KG
58012002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5802
5803 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
5804
c8b64bf2
AM
58052002-06-30 Alan Modra <amodra@bigpond.net.au>
5806
5807 * unroll.c (loop_iterations): Handle EQ loops.
5808
35aba846
DE
58092002-06-29 David Edelsohn <edelsohn@gnu.org>
5810
5811 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
5812 constraint in define_expand, not splitter.
5813 Formatting.
5814
b4de2f7d
AH
58152002-06-29 Aldy Hernandez <aldyh@redhat.com>
5816
6c535c69
ZW
5817 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
5818 build_function_type_list instead of build_function_type.
b4de2f7d 5819
6c535c69 5820 * config/ia64/ia64.c (ia64_init_builtins): Same.
b4de2f7d 5821
6c535c69 5822 * config/alpha/alpha.c (alpha_init_builtins): Same.
b4de2f7d 5823
6c535c69 5824 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
b4de2f7d 5825
6c535c69 5826 * config/arm/arm.c (arm_init_builtins): Same.
b4de2f7d 5827
6c535c69 5828 * tree.h: Add build_function_type_list prototype.
b4de2f7d 5829
6c535c69 5830 * tree.c (build_function_type_list): New.
b4de2f7d 5831
1691051f
KG
58322002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5833
5834 * collect2.c (scan_prog_file): Fix typo in message.
5835
7bfb14f1
AL
58362002-06-28 Aaron Lehmann <aaronl@vitelus.com>
5837
6c535c69 5838 * fold-cont.c: Remove unused CHARMASK.
7bfb14f1 5839
38800fe8
NB
58402002-06-29 Neil Booth <neil@daikokuya.co.uk>
5841
5842 PR preprocessor/7150
5843 * cppmain.c (scan_translation_unit_trad): Simplify.
590e1987 5844 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
38800fe8 5845
f60ed6be
NB
58462002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
5847
5848 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
5849 Don't use CPP_PREDEFINES.
5850 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
5851 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
5852 * config/i386/djgpp.h, config/i386/i386-coff.h,
5853 config/i386/i386-interix.h, config/i386/i386-interix3.h,
5854 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
5855 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
5856 config/i386/uwin.h: Similarly.
5857
76118c11
HB
58582002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5859
6c535c69 5860 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
76118c11
HB
5861 flag_inline_trees to enable inlining.
5862
9137b119
PE
58632002-06-28 Phil Edwards <pme@gcc.gnu.org>
5864
5865 * configure.in (gcc_gxx_include_dir): Change to match versioned
5866 C++ headers if --enable-version-specific-runtime-libs is used.
5867 * configure: Regenerate.
5868
6bdb8dd6
JH
58692002-06-28 Jan Hubicka <jh@suse.cz>
5870
5871 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
5872
f1b1186f
SC
58732002-06-28 Stephen Clarke <stephen.clarke@superh.com>
5874
5875 * combine.c (combine_simplify_rtx): Pass the mode of the
5876 shift count, not the shift operation when trying to simplify
5877 a shift on a SHIFT_COUNT_TRUNCATED target.
5878
ae9bd481
SC
58792002-06-28 Stephane Carrez <stcarrez@nerim.fr>
5880
5881 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
5882 avoid the auto increment addressing modes.
5883 ("*subsi3"): Likewise.
4e314d1f 5884 (split for add/sub on address): For 68HC12 push the value on
ae9bd481
SC
5885 the stack and do the operation with a pop.
5886
1d63a28a
NB
58872002-06-28 Neil Booth <neil@daikokuya.co.uk>
5888
5889 * cpplib.c (_cpp_handle_directive): Move #define-specific
5890 code to the #define handler...
5891 (do_define): ...here.
5892 (lex_macro_node): No longer a need to check for comments here.
5893
4caff360
SC
58942002-06-28 Stephane Carrez <stcarrez@nerim.fr>
5895
5896 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
5897 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
5898 Declare.
5899 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
5900 do not reorder basic blocks at the end when optimizing for size.
5901
2cc21497
SC
59022002-06-28 Stephane Carrez <stcarrez@nerim.fr>
5903
5904 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
5905 (m68hc11_make_autoinc_notes): New function.
5906 (m68hc11_split_move): Be very cautious when spliting a move with
5907 auto increment/decrement modes because this may result in incompatible
5908 directions; add REG_INC notes to the resulting insn for CSE reg.
5909
3cdd2821
SC
59102002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
5911
5912 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
5913 can be a valid address.
5914
e6a82e80
AH
59152002-06-28 Aldy Hernandez <aldyh@redhat.com>
5916
6c535c69
ZW
5917 * config/rs6000/rs6000.c: Remove unusued variables from last
5918 patch.
e6a82e80 5919
a7ae18e2
AH
59202002-06-27 Aldy Hernandez <aldyh@redhat.com>
5921
5922 Revert:
6c535c69
ZW
5923 * config/rs6000/rs6000.c (rs6000_override_options): Move
5924 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
a7ae18e2 5925
3a9b8c7e
AH
59262002-06-27 Aldy Hernandez <aldyh@redhat.com>
5927
6c535c69
ZW
5928 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
5929 lvx/stv/dst builtins...
5930 (altivec_expand_ld_builtin): ...to here.
5931 (altivec_expand_st_builtin): ...here.
5932 (altivec_expand_dst_builtin): ...and here (respectively).
3a9b8c7e 5933
5f9dc214
BW
59342002-06-28 Bob Wilson <bob.wilson@acm.org>
5935
5936 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
5937
53501a19
BS
59382001-06-08 Bernd Schmidt <bernds@redhat.com>
5939
5940 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
5941 subregs.
5942 * recog.c (general_operand, register_operand): Disallow them.
5943
d1a58688
NB
59442002-06-28 Neil Booth <neil@daikokuya.co.uk>
5945
5946 PR preprocessor/7138
5947 * cpplib.c (_cpp_handle_directive): Do traditional
5948 preparation after setting state.angled_headers.
5949 * cpptrad.c (scan_out_logical_line): Fix potential
5950 quote bug.
5951
55c1c60d
AH
59522002-06-27 Aldy Hernandez <aldyh@redhat.com>
5953
6c535c69
ZW
5954 * config/rs6000/rs6000.c (rs6000_override_options): Move
5955 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
55c1c60d 5956
3219c65b
BW
59572002-06-27 Bob Wilson <bob.wilson@acm.org>
5958
5959 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
5960 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
5961 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
5962
c8f863fc
RS
59632002-06-27 Roger Sayle <roger@eyesopen.com>
5964
5965 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
5966 * config/stormy16/stormy16.h: Likewise.
5967
5968 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
5969 with #define.
5970
8d5362b7
GP
59712002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5972
5973 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
5974 Hitachi entry. Make punctuation more consistent.
5975
57694e40
MK
59762002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
5977
5978 * doc/install.texi: Change ` bit' to `-bit'.
5979 * doc/md.texi: Change `-bits' to `-bit'.
5980 * doc/tm.texi: Change `-bits' to ` bits'.
5981
c635a1ec
DB
59822002-06-27 Daniel Berlin <dberlin@dberlin.org>
5983
5984 * gcse.c (hoist_code): Rewrite to only get list of dominated
4e314d1f 5985 blocks once per BB. Also fix reversed test (by removing need for
c635a1ec
DB
5986 the test at all).
5987
951a0766
NB
59882002-06-27 Neil Booth <neil@daikokuya.co.uk>
5989
5990 * cpphash.h (_cpp_set_trad_context): Remove.
5991 * cpplib.c (prepare_directive_trad): Do nothing for #define.
5992 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
5993 * cpptrad.c: Update comments.
5994 (_cpp_read_logical_line_trad): Let scan_logical_line handle
5995 updating the current context.
5996 (scan_logical_line): Update the current context.
5997 (_cpp_create_trad_definition): Similarly.
5998 (_cpp_set_trad_context): Remove.
5999
06470238
NB
60002002-06-27 Neil Booth <neil@daikokuya.co.uk>
6001
6002 PR preprocessor/7070
6003 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
6004
0c14a54d
BW
60052002-06-26 Bob Wilson <bob.wilson@acm.org>
6006
6007 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
6008 config/xtensa/xtensa.c (xtensa_return_addr): New function.
6009 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
6010 config/xtensa/xtensa.md (fix_return_addr): New pattern.
6011
e9873fd5
KG
60122002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6013
6014 * mips.c (coprocessor_operand, coprocessor2_operand,
6015 symbolic_operand): Move prototypes from here...
6016 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
6017 symbolic_operand): ...to here.
6018
650e8d05
R
6019Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
6020
6021 * config/sh/crt1.asm: remove _stack label definition
6022 and sentinel value.
6023
c7836bcd
KG
60242002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6025
6026 * varasm.c: Include real.h before output.h.
6027
6e1f54e2
AH
60282002-06-26 Aldy Hernandez <aldyh@redhat.com>
6029
6c535c69
ZW
6030 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
6031 check for TARGET_ALTIVEC.
6e1f54e2 6032
18fbcbcf
NN
60332002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
6034
6035 * config.gcc (vax-*-vms*): Make obselete.
6036
09bed167
KG
60372002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6038
6039 * gcc.c (warn_std): Delete.
6040
8254cb45
LR
60412002-06-25 Loren J. Rittle <ljrittle@acm.org>
6042
6043 * doc/extend.texi: Fix formatting of last checkin.
6044
f9ee10ab
RO
60452002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6046
6047 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
6048 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
6049
90989b26
AH
60502002-06-25 Aldy Hernandez <aldyh@redhat.com>
6051
6c535c69
ZW
6052 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
6053 discrepancies from motorola's documentation.
90989b26 6054
9881adff
R
6055Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
6056
6057 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
6058 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
4de1b7a9 6059
4e314d1f 6060 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
4de1b7a9
R
6061 produce a 32 bit result before normalization, then normalize with a
6062 left shift. Compute approximative error of 2nd reciprocal
6063 approximation in 2's complement. Fix mask generation from upper
6064 longword of second divide stage result.
6065 For large divisor, fix shift count used to truncate first stage
6066 divide result; make decision if to adjust upwards based on comparison
6067 of higher parts of normalized values.
6068 (udivdi): Likewise. Undo normalization of result for large divisor
6069 case.
6070
16b46035
DM
60712002-06-25 David S. Miller <davem@redhat.com>
6072
6073 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
6074
0c6db544
NB
60752002-06-25 Neil Booth <neil@daikokuya.co.uk>
6076
6077 * cpplib.c (do_include_common): Revert to correct line number
6078 if -traditional.
6079 * cpptrad.c (scan_out_logical_line): Treat null directive as
6080 white space. Invlidate MI optimization for non-whitespace
6081 text outside a directive.
6082
eef709c7
KG
60832002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6084
b41e09a7
KG
6085 * Makefile.in (SHELL): Set to @SHELL@.
6086 * fixinc/Makefile.in (SHELL): Likewise.
6087
eef709c7
KG
6088 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
6089 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
6090 initialization.
6091
b0ac73f8
JL
60922002-06-24 Jeff Law <law@redhat.com>
6093
6094 * flow.c (propagate_one_insn): When removing an insn
6095 with a REG_LIBCALL note but not the entire libcall sequence,
6096 delete the associated REG_RETVAL note.
6097
9e96203d
R
6098Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
6099
6100 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
6101 (udivsi3): Likewise. Rewrite SH1 implementation.
6102 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
6103 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
6104 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
6105 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
6106 (_moddi3): Likewise.
6107
6108 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
87912be7
R
6109
6110 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
6111 arguments into account for stack_regs.
6112
0d893a63
MK
61132002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
6114
6115 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
6116 in examples.
4e314d1f 6117
04a5176a
AH
61182002-06-24 Art Haas <ahaas@neosoft.com>
6119
6120 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
6121 * doc/tm.texi (Frame Layout): Likewise.
6122
cad61762 61232002-06-20 Steve Ellcey <sje@cup.hp.com>
ec52b446 6124
cad61762
SE
6125 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
6126 Set float_format to i128.
6127
556a56ac
DM
61282002-06-24 David S. Miller <davem@redhat.com>
6129
6130 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
6131 32-bit ABI libfuncs to NULL.
6132
563facba
DM
6133 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
6134 strings instead of quoted strings for code blocks.
b776892b 6135
556a56ac
DM
6136 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
6137 optabs if op1 is const0_rtx.
6138
a8106207
DM
6139 * Makefile.in (GTFILES): Add basic-block.h
6140 * basic-block.h (label_value_list, tail_recursion_label_list):
6141 Mark with GTY.
6142
2c088b53
NB
61432002-06-24 Neil Booth <neil@daikokuya.co.uk>
6144
6145 * cpptrad.c (scan_out_logical_line): Check recursing only when
6146 we know we have a macro invocation in the function-like case.
6147 Only call _cpp_handle_directive if we know we have a good
6148 directive, or we want to reject a bad directive.
6149
0228d06b
AM
61502002-06-24 Alan Modra <amodra@bigpond.net.au>
6151
6152 * doloop.c (doloop_valid_p): Correct comment.
6153 (doloop_modify_runtime <abs_inc != 1>): Simplify.
6154 (doloop_modify_runtime <do-while>): Don't emit code when NE.
6155
2f9021d3
DC
6156Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
6157
6158 * config.gcc: Add support for ip2k.
6159
bc9c2952 61602002-06-23 Jan Hubicka <jh@suse.cz>
f81a79ef
JH
6161 Jeff Law <law@redhat.com>
6162
6163 * function.h (struct emit_status): Clarify potential contents
6164 of regno_reg_rtx array.
6165 * integrate.c (copy_rtx_and_substitute): Update comments. Make
6166 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
bc9c2952
AJ
6167
6168 * reg-stack.c (convert_regs_exit): Push the registers to stack in
6169 proper order.
6170
faa964e5
UW
61712002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
6172
6173 PR middle-end/6963
6174 * function.c (assign_stack_temp_for_type): Do not return
6175 the same MEM rtx for multiple uses of a stack slot.
6176
7ae3e57c
DM
61772002-06-22 David S. Miller <davem@redhat.com>
6178
6179 PR target/6841 target/6770 target/6719
6180 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
6181 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
6182 GENERAL_OR_EXTRA_FP_REGS.
6183
847c76c8
NB
61842002-06-22 Neil Booth <neil@daikokuya.co.uk>
6185
6186 * cpptrad.c (struct fun_macro): Add line number.
6187 (scan_out_logical_line): Set it, and use it to report unterminated
6188 macro invocations.
6189
813674e0
KG
61902002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6191
6192 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
6193 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
6194 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
6195 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
6196 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
6197 REGEXP_ONEOF, check_name): Const-ify.
6198
23361093
MT
61992002-06-21 Matt Thomas <matt@3am-software.com>
6200
6201 * config/vax/vax.c (vax_output_function_prologue): Use
bc9c2952 6202 REGISTER_PREFIX. Fix some indentation.
23361093
MT
6203 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
6204 (VAX_ISTREAM_SYNC): Define.
6205 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
bc9c2952
AJ
6206 i-stream sync to the end.
6207 (REGISTER_PREFIX): Define as "".
23361093
MT
6208 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
6209
1c655a0d
JT
62102002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
6211
6212 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
6213 configurations.
6214
3e16bfe2
KG
62152002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6216
6217 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
6218 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
6219
6b0760fd
MT
62202002-06-21 Matt Thomas <matt@3am-software.com>
6221
6222 * config/vax/netbsd.h: Adjust a comment.
6223 (TARGET_DEFAULT): Redefine as 0.
6224
31a78298
RH
62252002-06-21 Richard Henderson <rth@redhat.com>
6226
6227 * bb-reorder.c (make_reorder_chain_1): Search harder for the
bc9c2952
AJ
6228 vax casesi fallthru edge.
6229 * cfglayout.c (cleanup_unconditional_jumps): Use
31a78298
RH
6230 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
6231 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
6232 block after ADDR_VEC.
6233
d8bf1785
RO
62342002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6235
6236 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
6237
00b94a44
NB
62382002-06-21 Neil Booth <neil@daikokuya.co.uk>
6239
6240 * cpperror.c (cpp_error): For traditional CPP, default to
6241 diagnostics on pfile->line.
6242 * cpplib.c (prepare_directive_trad): Set line number for
6243 diagnostics for #define too.
6244 * cpptrad.c (skip_whitespace): Skip comments properly.
6245 (_cpp_expansions_different_trad): Initialize quote2.
6246
c583c5c3
HPN
62472002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
6248
6249 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
6250 * config/mmix/mmix.h: Ditto.
6251 * config/mmix/mmix-protos.h: Ditto.
6252 * config/mmix/mmix.c: Ditto. Fix typo in comment.
6253 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
6254 comment. Comment extra CC modes.
6255
1292ec0c
JH
62562002-06-20 Jan Hubicka <jh@suse.cz>
6257
6258 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
6259 (scope_to_insns_finalize): Do not call set_block_levels; handle
6260 sequences.
6261 (choose_inner_scope): New.
6262 * rtl.h (choose_inner_scope): Declare.
6263
0f8e3849
JDA
62642002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
6265
6266 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
6267 HOST_WIDE_INT.
6268 * pa.c (pa_asm_output_mi_thunk): Likewise.
6269 (n_deferred_plabels): Change type to size_t.
6270 (output_deferred_plabels, output_call): Use size_t instead of int.
6271
0655301f
RH
62722002-06-20 Richard Henderson <rth@redhat.com>
6273
6274 PR target/4041
6275 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
6276 pattern and adjust constraints for coldfire.
6277
2b3aadfc
RH
62782002-06-20 Richard Henderson <rth@redhat.com>
6279
6280 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
6281
5c44e275
CD
62822002-06-20 Chris Demetriou <cgd@broadcom.com>
6283
6284 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
6285
8fff5435
CD
62862002-06-20 Chris Demetriou <cgd@broadcom.com>
6287
6288 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
6289
8a67e083
SS
62902002-06-20 Stan Shebs <shebs@apple.com>
6291
6292 * dominance.c: Include errors.h instead of error.h.
6293
017acb41
NB
62942002-06-20 Neil Booth <neil@daikokuya.co.uk>
6295
6296 * cppexp.c (cpp_interpret_integer): Don't force traditional
6297 numbers to be unsigned.
6298 * cpplib.c (prepare_directive_trad): Set line number for
6299 diagnostics.
6300 * cpptrad.c (scan_out_logical_line): Continue scanning out
6301 at start of buffer.
6302 * gcc.c (trad_capable_cpp): Use cc1 always.
6303
0ed4a390
JL
63042002-06-20 Jeffrey Law <law@redhat.com>
6305
6306 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
6307 elimination in leaf functions by default yet.
6308
988ef418
RS
63092002-06-20 Richard Sandiford <rsandifo@redhat.com>
6310
6311 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
6312
0ab2e54b
RO
63132002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6314
6315 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
6316 multilibs.
6317 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
d8bf1785 6318 Fixes PR other/6836.
0ab2e54b 6319
355be0dc
JH
6320Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
6321 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6322
6323 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
6324
6325 * basic-block.h: Do not include et-forest.h
6326 (dominance_info): Declare as struct dominance-info.
6327 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
6328 deleting block.
6329 * dominance.c (struct dominance_info): Define.
6330 (BB_NODE, SET_BB_NODE): New macros.
6331 (bb_hash_func, bb_eq_func): Kill.
6332 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
6333 nearest_common_dominator, dominated_by_p, recount_dominator,
6334 add_to_dominance_info, delete_from_dominance_info): update for new
6335 representation.
6336 (get_dominated_by, redirect_immediate_dominators): Rewrite using
6337 enumerate_sons.
6338 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
6339 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
6340 structure.
6341
6342 * et-forest.h: Update copyright; revamp all function to operate on
6343 nodes
6344 (et_forest_value): Kill.
6345 (et_forest_enumerate_sons, et_forest_node_value): New.
6346 * et-forest.c: Update copyright.
6347 * et-forest.h: Update copyright; revamp all function to operate on
6348 nodes
6349 (et_forest_value): Kill.
6350 (et_forest_enumerate_sons, et_forest_node_value): New.
6351
6352 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
6353
6354 * basic-block.h: Inlude et-forest.h
6355 (basic_block_def): Kill dominator.
6356 (dominance_info): New type.
6357 (loops): Use dominace_info.
6358 (dominace handling functions): Take dominace_info as argument
6359 instead of bitmaps.
6360 (create_preheader): Likewise.
6361 * cfg.c (entry_exit_blocks): Kill dominator.
6362 (dump_flow_info): Do not dump dominators.
6363 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
6364 dominators.
6365 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
6366 (flow_loops_pre_header_scan, make_forwarder_block,
6367 canonicale_loop_headers, flow_loops_find): Likewise.
6368 * dominance.c: Include error.h
6369 (idoms_to_doms): Kill.
6370 (bb_hash_func, bb_eq_func): New static functions.
6371 (debug_dominace_info): New global function.
6372 (calculate_dominance_info): Use new et forest structure.
6373 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
6374 get_dominated_by, redirect_immediate_dominators,
6375 nearest_common_dominator, dominated_by_p, verify_dominators,
6376 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
6377 delete_from_dominance_info): New global functions.
6378 * gcse.c (domnators): CHange to dominance_info.
6379 (alloc_hoist_mem): Do not alloc dominators
6380 (free_code_hoist_mem): Use free_dominance_info.
6381 (compute_code_hoist_data): Use dominance_info.
6382 (hoist_code): Likewise.
6383 * ifcvt.c (post_dominators): Likewise.
6384 (find_if_case_2, if_convert): Likewise.
6385 * predict.c (process_note_predictions, process_note_prediction,
6386 estimate-probability): Likewise.
6387 * sched-rgn.c (find_rgns, init_regions): Likewise.
6388 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
6389 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
6390 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
6391 find_evaluations, convert_to_ssa): Likewise.
6392 * ssa.h (compute_dominance_frontiers): Likewise.
6393
6394 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6395
6396 * Makefile.in (et-forest.c): Add.
6397 * et-forest.c: New file.
6398 * at-forest.h: New file.
6399
ef9772c8
KG
64002002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6401
62c71f4b
KG
6402 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
6403 array size calculation.
6404 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
6405 Likewise.
6406
ef9772c8
KG
6407 * diagnostic.c (diagnostic_kind_text): Const-ify.
6408 * gengtype.c (lang_names): Likewise.
6409
b0dd4808
JH
6410Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
6411
6412 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
6413
8433a25e
RO
64142002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6415
6416 * config/sol2.h: New file.
6417 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
6418 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
6419 (sparc-*-chorusos*): Likewise.
6420 (sparc-*-elf*): Likewise.
6421 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
6422 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
6423 (sparc-hal-solaris2*): Likewise.
6424 (sparc-*-solaris2*): Likewise.
6425 (sparclite-*-elf*): Likewise.
6426 (sparc86x-*-elf*): Likewise.
6427 (sparc64-*-elf*): Likewise.
bc9c2952 6428
8433a25e
RO
6429 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
6430 config/sol2.h.
6431 (ASM_SPEC): Override config/sol2.h version for now.
6432 Removed obsolete GAS_REJECTS_MINUS_S variant.
6433 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
6434 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
6435 (TARGET_OS_CPP_BUILTINS): Likewise.
6436 Assert system=unix.
6437 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
6438 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
6439 config/sol2.h.
6440 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
6441 (ASM_CPU_SPEC): Define.
6442 (SUBTARGET_EXTRA_SPECS): Define.
bc9c2952 6443
8433a25e
RO
6444 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
6445 in config/sparc/sol2.h.
6446 (ASM_SPEC): Moved to config/sol2.h.
6447 (CPP_CPU_SPEC): Simplified.
6448 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
6449 consistency.
6450 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
6451 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
6452 STARTFILE_ARCH64_SPEC.
6453 (STARTFILE_SPEC): Moved to config/sol2.h
6454 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
6455 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
6456 (LINK_ARCH64_SPEC): Simplified.
6457 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
6458 (LINK_SPEC): Moved to config/sol2.h
bc9c2952 6459
8433a25e
RO
6460 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
6461 config/sol2.h.
6462 Use BITS_PER_WORD for size.
6463 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
6464 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
6465 (CPP_PREDEFINES): Removed OS-specific part handled by
6466 TARGET_OS_CPP_BUILTINS.
6467 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
6468 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
6469 (ASM_SPEC): Moved to config/sol2.h.
6470 (PREFERRED_DEBUGGING_TYPE): Likewise.
6471 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
6472 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
6473 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
6474 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
bc9c2952 6475
8433a25e
RO
6476 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
6477 * config/i386/sol2gas.h: Removed.
6478
b6bb1d56
JH
6479Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
6480
6481 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
6482
e50b19ce 64832002-06-16 Aldy Hernandez <aldyh@redhat.com>
4e314d1f 6484
e50b19ce
AH
6485 * gcc.c-torture/execute/simd-1.c: New.
6486
6487 * gcc.dg/simd-1.c: New.
6488
6489 * doc/extend.texi (Vector Extensions): Document that we can
6490 specify simd types not specifically supported by the hardware.
6491 Document that simd types can be used as function arguments.
6492 Document that signness does make a difference in SIMD types.
6493 Misc cleanups and revisions to the vector extensions section.
6494
6495 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
6496 constants.
6497
6498 * expr.c (vector_mode_valid_p): New.
6499
6500 * expr.h: Add vector_mode_valid_p.
6501
6502 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
6503
6504 * c-common.c (type_for_mode): Always build vector nodes regardless
6505 of VECTOR_MODE_SUPPORTED_P.
6506 (handle_mode_attribute): Error if we can't emulate a nonexisting
6507 vector mode.
6508 (handle_vector_size_attribute): Same.
6509
6510 * optabs.c (expand_binop): Open-code vector operations.
6511 (expand_unop): Open-code vector unops.
6512 (expand_vector_binop): New.
6513 (expand_vector_unop): New.
4e314d1f 6514
e50b19ce
AH
6515 * c-typeck.c (build_binary_op): Allow vectors in binops.
6516 Allow vectors in conditional operatiors.
6517 (build_unary_op): Allow vectors in unary minus.
6518
6519 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
6520 TARGET_ALTIVEC.
6521
74d86f4f
RH
65222002-05-20 Richard Henderson <rth@redhat.com>
6523
6524 * c-common.c (c_common_get_alias_set): Correctly handle characters.
6525 Rearrange order of expressions; don't handle vectors here.
6526 * alias.c (get_alias_set): Let vectors match their components.
6527
1867b624
CD
65282002-06-19 Chris Demetriou <cgd@broadcom.com>
6529
6c535c69 6530 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1867b624
CD
6531 match desired locality.
6532
2c1d2fcb
DD
65332002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
6534
6535 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
6536 (h8300_insert_attributes): New.
6537
84d901be
AD
65382002-06-19 Akim Demaille <akim@epita.fr>
6539
6540 * c-parse.in (initelt: identifier ':' initval): Add an empty
6541 action to fix a type clash.
6542 (aliasdecl, classdef): Add the missing closing `;'.
6543 Whitespace changes.
6544 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
6545 $$ = $1 type clashes.
6546
8f2e3902
EC
65472002-06-19 Eric Christopher <echristo@redhat.com>
6548
6549 * config/mips/mips.c (symbol_operand): New function.
6550 (mips_emit_prefetch): Ditto.
6551 * config/mips/mips-protos.h: Define.
6552 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
6553 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
6554 (LEGITIMIZE_ADDRESS): Ditto.
6555 * config/mips/mips.md (prefetch, prefetch_si_address,
6556 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
6557
c894819c
EC
65582002-06-19 Eric Christopher <echristo@redhat.com>
6559
6560 * config/fp-bit.h: Add unordered defines for gofast.
6561
4005971c
VM
65622002-06-19 Vladimir Makarov <vmakarov@redhat.com>
6563
6564 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
6565 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
6566 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
6567 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
6568 checking and without it.
6569 (decl_name, decl_mode_check_failed, regexp_name,
6570 regexp_mode_check_failed): New functions.
6571 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
6572 gen_presence_set, gen_absence_set, gen_automaton,
6573 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
6574 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
6575 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
6576 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
6577 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
6578 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
6579 (decl_hash, decl_eq_p): Use the macros.
6580 (find_decl): Ditto. Set up mode of work_decl.
6581 (process_excls, process_presence_absence, process_decls,
6582 check_automaton_usage, process_regexp, process_regexp_decls,
6583 check_usage, loop_in_regexp, check_loops_in_regexps,
6584 process_regexp_cycles, add_advance_cycle_insn_decl,
6585 initiate_states, initiate_excl_sets,
6586 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
6587 transform_2): Use the macros.
6588 (transform_3): Ditto. Check mode before making transformations of
6589 ALLOF.
6590 (regexp_transform_func, transform_insn_regexps,
6591 process_unit_to_form_the_same_automaton_unit_lists,
6592 form_the_same_automaton_unit_lists_from_regexp,
6593 form_the_same_automaton_unit_lists,
6594 process_seq_for_forming_states, process_alts_for_forming_states,
6595 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
6596 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
6597 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
6598 units_to_automata_heuristic_distr, create_ainsns,
6599 units_to_automata_distr, create_automata): Use the macros.
6600 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
6601 (longest_path_length, min_issue_delay_pass_states,
6602 output_dead_lock_vect, output_tables, output_insn_code_cases,
6603 output_internal_insn_latency_func, output_print_reservation_func,
6604 output_description, output_automaton_units, generate): Use the
6605 macros.
6606 (make_insn_alts_attr): Ditto. Check case when there are not
6607 alternatives in the reservation.
6608 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
6609 make_bypass_attr, form_important_insn_automata_lists,
6610 expand_automata): Use the macros.
c894819c 6611
015089dd
TJ
66122002-06-20 Tim Josling <tej@melbpc.org.au>
6613
6614 * Makefile.in: Clean up code to check for misspecified languages
6615 in enable-languages.
6616
7999462c
AP
66172002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
6618
84d901be 6619 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 6620
9c8d079c
JM
66212002-06-19 Jason Merrill <jason@redhat.com>
6622
6623 * Makefile.in (unstrap, restrap): New targets.
6624 (bootstrap): Mention restrap.
6625
d90a95fb
MK
66262002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
6627
6628 * except.c (ehl_free): Remove.
6629
6630 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
6631 builtin_define and builtin_define_std.
6632
f01a0d8d
ID
66332002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
6634
6635 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
6636 (sCOND): Restrict operand class so that gcc knows how to reload them.
6637 (bitfield_set): Merge two unnamed insn's using alternatives.
6638 (call_value): Remove constraint on unused uperand.
6639 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
6640 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
c894819c 6641
f01a0d8d
ID
6642 * longlong.h (count_trailing_zeros): Escape newline and beautify.
6643
62363d99
MM
66442002-06-19 Mark Mitchell <mark@codesourcery.com>
6645
6646 * Makefile.in (QMTEST_DIR): Simplify definition.
6647
099bd656
NC
66482002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
6649
6650 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
6651 #define.
6652
278c4662
NB
66532002-06-19 Neil Booth <neil@daikokuya.co.uk>
6654
6655 * cpphash.h (struct cpp_reader): Make date and time strings.
6656 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
6657 _cpp_replacement_text_len): New.
6658 * cppinit.c (cpp_create_reader): Update.
6659 (init_builtins): Register appropriate builtins for -traditional-cpp.
6660 * cppmacro.c (new_number_token): Remove.
6661 (_cpp_builtin_macro_text): New.
6662 (builtin_macro): Use it.
6663 (cpp_macro_definition): Update to handle traditional macros.
6664 * cppmain.c (cb_line_change): Don't do column positioning for
6665 traditional output.
6666 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
6667 state ls_fun_close.
6668 (skip_whitespace): Fix.
6669 (maybe_start_funlike): Don't set state.parsing_args.
6670 (scan_out_logical_line): Remove duplicate error. Use lex_state
6671 rather than state.parsing_args.
6672 (push_replacement_text): Handle builtins.
6673 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
6674
afd1930f 66752002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 6676 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
6677
6678 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
6679 attribute __always_inline__.
6680
5ee924c2
BW
66812002-06-18 Bob Wilson <bob.wilson@acm.org>
6682
6683 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
6684 when generating the call to _mcount.
6685 (NO_PROFILE_COUNTERS): Define.
6686
32c36ac8
RH
66872002-06-18 Richard Henderson <rth@redhat.com>
6688
6689 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
6690 2002-06-02 change.
6691
c985dc5e
R
6692Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
6693
6694 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
6695 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
6696 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
6697 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
e3ba8d11
R
6698
6699 * sh-protos.h (sh_pr_interrupt): Declare.
6700 * sh.c (sh_pr_interrupt): New function.
6701 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
6702 (sh_hard_regno_rename_ok): Likewise.
6703 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
6704
e3c8eb86
VM
67052002-06-18 Vladimir Makarov <vmakarov@redhat.com>
6706
6707 * rtl.def (DEFINE_AUTOMATON): Add description of new options
6708 `time' and `v'. Fix incorrect description of option `w'.
6709
6710 * doc/md.texi: Ditto.
6711
6712 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
6713 (gen_automata_option): Process the new options.
6714 (transform_2, transform_3): Initialize some variables.
6715 (initiate_automaton_gen): Use the new macros.
c894819c 6716
b2471838
RS
67172002-06-18 Richard Sandiford <rsandifo@redhat.com>
6718
6719 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
6720 (mips_set_return_address, mips_restore_gp): Declare.
6721 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
6722 (current_frame_info): Remove.
6723 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
6724 * config/mips/mips.c: Remove uses of current_frame_info.
6725 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
6726 (struct machine_function): Add 'frame' and 'insns_len'.
6727 (current_frame_info, zero_frame_info): Remove.
6728 (mips_restore_gp, mips_set_return_address): New.
6729 (mips_initial_elimination_offset): New.
6730 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
6731 (eh_return define_split): Use mips_set_return_address.
6732
d97371e0
NB
67332002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
6734
6735 * cpplib.c (dtable): Update.
6736 (end_directive): Decrement expansion prevention count.
6737 Clear state.in_expression.
6738 (prepare_directive_trad): Set state.in_expression.
6739 Increment expansion prevention count.
6740 * cpptrad.c (enum ls): New.
6741 (_cpp_overlay_buffer): Set overlaid_buffer.
6742 (_cpp_remove_overlay): Use overlaid_buffer.
6743 (_cpp_read_logcial_line_trad): Update buffer when it might
6744 have changed.
6745 (scan_out_logical_line): Handle state transitions for assertions
6746 and defined() in #if, and for funlike invocations including the
6747 directive case. Handle '<' and '>' as a quote mechanism in
6748 #include. Warn about unterminated macro invocations.
6749 * cpphash.h (struct lexer_state): New member in_expression.
6750 (struct cpp_reader): New member overlaid buffer.
6751
807b20b0
HPN
67522002-06-18 Hans-Peter Nilsson <hp@axis.com>
6753
6754 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
6755 __always_inline__.
6756
8a09a7e5
AM
67572002-06-18 Alan Modra <amodra@bigpond.net.au>
6758
147d5f6f
AM
6759 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
6760
8a09a7e5
AM
6761 * doloop.c (doloop_optimize): Extract pattern from insn.
6762
390de769
MK
67632002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
6764
6765 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
6766
0ed4a390 67672002-06-17 Jeff Law <law@redhat.com>
912ce297
JL
6768
6769 * libgcc2.c: Do not include symcat.h or machmode.h.
6770
5c45425b
RH
67712002-06-17 Richard Henderson <rth@redhat.com>
6772
6773 PR target/6922
6774 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
6775
9aa497ae
TT
67762002-06-17 Tom Tromey <tromey@redhat.com>
6777
6778 * dwarfout.c: Include function.h.
6779
7f11f1f9
AS
67802002-06-17 Andreas Schwab <schwab@suse.de>
6781
6782 * print-rtl.c (print_rtx): Print space before vector, not after.
6783 (debug_rtx): Clear sawclose before printing.
6784 (debug_rtx_list): Print newline after each list element.
6785 (debug_rtx_range): Likewise.
6786
df696a75
RH
67872002-06-17 Richard Henderson <rth@redhat.com>
6788
6789 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
6790 (current_function_funcdef_no): Similarly.
6791 * function.c (funcdef_no): Similarly.
6792 (prepare_function_start): Set current_function_funcdef_no.
6793 (expand_function_start): Don't set current_function_profile_label_no.
6794 * dwarf2out.h (current_funcdef_number): Remove.
6795 * dwarf2out.c (current_funcdef_number): Remove. Replace with
6796 current_function_funcdef_no throughout.
6797 * dwarfout.c, vmsdbgout.c: Similarly.
6798 * except.c (sjlj_funcdef_number): Remove.
6799 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
6800 (output_function_exception_table): Likewise.
6801 * final.c (profile_function): Use current_function_funcdef_no
6802 instead of current_function_profile_label_no.
6803
97272202
VM
68042002-06-17 Vladimir Makarov <vmakarov@redhat.com>
6805
6806 * sched-ebb.c (init_ready_list): Check INSN_P first.
6807
8bccce2d
R
6808Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
6809
6810 * sh.md (divsi3): Update way how to find insns in a sequence.
dec0798e
R
6811
6812 * reload1.c (merge_assigned_reloads): Don't change reloads
6813 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
6814 to RELOAD_OTHER when there are conflicting input reloads.
6815
0af5c896
RE
68162002-06-17 Richard Earnshaw (rearnsha@arm.com)
6817
6818 * function.c (epilogue_done): Correctly build a sequence of insns for
6819 a sibcall epilogue.
6820
9d0fa9d6
NC
68212002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
6822
845b1456
NC
6823 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
6824 #define.
6825
9d0fa9d6
NC
6826 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
6827
e83f3cff
RH
68282002-06-16 Richard Henderson <rth@redhat.com>
6829
6830 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
6831 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
6832
caecc099
RH
68332002-06-16 Richard Henderson <rth@redhat.com>
6834
6835 PR opt/6722
6836 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
6837
3d05b15f
NB
68382002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
6839
caecc099
RH
6840 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
6841 * config/i386/i386-aout.h, config/i386/i386elf.h,
6842 config/i386/sysv4.h: Remove CPP_PREDEFINES.
6843 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
6844 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
6845 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
6846 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3d05b15f 6847 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 6848 * config/i386/sysv4-cpp.h: New.
3d05b15f 6849
8370aa3a
RH
68502002-06-16 Richard Henderson <rth@redhat.com>
6851
65a90f3c 6852 PR c/7030
8370aa3a
RH
6853 * dwarf2out.c (modified_type_die): Don't assign the qualified die
6854 to the unqualified type.
6855
e932b21b
JH
6856Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
6857
6858 * i386-protos.h (x86_field_alignment): Declare.
6859 * i386.c (x86_field_alignment): Define.
6860 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
6861 (BIGGEST_FIELD_ALIGNMENT): Kill.
6862
7ee02381
RH
68632002-06-16 Richard Henderson <rth@redhat.com>
6864
f01a0d8d 6865 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 6866
750491fc
RH
68672002-06-16 Richard Henderson <rth@redhat.com>
6868
6869 * c-common.c (flag_ms_extensions): Move from c++ front end.
6870 * c-common.h (flag_ms_extensions): Declare.
6871 * c-decl.c (c_decode_option): Add -fms-extensions.
6872 (grokfield): Don't accept anonymous structures in ISO C mode;
6873 accept only unnamed anonymous structures in GNU C mode; accept
6874 Plan 9 extensions in MS mode.
6875 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
6876 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
6877 (extension): Clear flag_iso.
6878 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
6879
c134da6b
HPN
68802002-06-16 Hans-Peter Nilsson <hp@axis.com>
6881
6882 PR target/7042
6883 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
6884 early if current_function_epilogue_delay_list is non-empty.
6885 * config/cris/cris.md ("return"): Add sanity check asserting that
6886 current_function_epilogue_delay_list is empty.
6887
038c7976
JL
68882002-06-16 Jeff Law <law@redhat.com>
6889
006a94b0
JL
6890 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
6891 sharing of hard registers.
6892
6893 * toplev.c (rest_of_compilation): Remove redundant conditional.
6894
038c7976
JL
6895 * toplev.c (rest_of_compilation): Perform a simpler, less costly
6896 cleanup of the CFG when not optimizing.
6897
0797741a
AM
68982002-06-16 Alan Modra <amodra@bigpond.net.au>
6899
6900 * gcc.c (main): Correct startfile_prefix_spec check.
6901
a6e2e53e
GK
69022002-06-12 Geoffrey Keating <geoffk@redhat.com>
6903
6904 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
6905 include both darwin.o and rs6000-c.o.
6906
129e0ee8
RS
69072002-06-15 Roger Sayle <roger@eyesopen.com>
6908
6909 * expr.c (compare_from_rtx): Call simplify_relational_operation
6910 on all comparisons, not just those between integer constants,
6911 with the correct (possibly unsigned) comparison code.
6912 (do_compare_rtx_and_jump): Likewise.
6913
d5355cb2
JDA
69142002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
6915
6916 * Makefile.in (tm_defines): New configuration variable.
6917 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
6918 Pass tm_defines in TM_DEFINES.
6919 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
6920 * config.gcc (tm_defines): New configuration variable.
6921 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
6922 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
6923 * configure.in: Substitute tm_defines.
6924 * configure: Rebuilt.
6925 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
6926 * doc/install.texi: Update.
6927 * pa/pa-700.h: Delete file.
6928 * pa/pa-7100.h: Delete file.
6929
8dcb27ed
RS
69302002-06-15 Roger Sayle <roger@eyesopen.com>
6931
6932 * fold-const.c (comparison_to_compcode): New function to convert
6933 an comparison TREE CODE into a bit-based representation.
6934 (compcode_to_comparison): New function to convert from this bit
6935 based representation back to a comparison TREE CODE.
6936 (fold_truthop): Simplify (x<y) && (x==y) and related composite
6937 comparisons.
6938
182e515e
AH
69392002-06-15 Aldy Hernandez <aldyh@redhat.com>
6940
f01a0d8d 6941 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 6942
f01a0d8d
ID
6943 * stor-layout.c (compute_record_mode): Remove check for
6944 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
6945 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
6946 MEMBER_TYPE_FORCES_BLK.
182e515e 6947
f01a0d8d 6948 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 6949
f01a0d8d 6950 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 6951
8773135d
JS
69522002-06-14 Jeff Sturm <jsturm@one-point.com>
6953
6954 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
6955
893a047c
SE
69562002-06-14 Steve Ellcey <sje@cup.hp.com>
6957
6958 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
6959 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
6960 * configure, config.in: Regenerate.
6961
045d7161
EB
69622002-06-14 Eric Botcazou <ebotcazou@multimania.com>
6963
6964 * loop.c (check_final_value): Use v->always_executed
6965 instead of v->always_computable.
6966 * unroll.c (final_giv_value): Don't calculate the final
6967 value as a function of the biv if the giv is not computed
6968 for every loop iteration.
6969
048c8616 69702002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 6971
048c8616
EB
6972 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
6973
43e4a9d8
EB
69742002-06-14 Eric Botcazou <ebotcazou@multimania.com>
6975
52689a98 6976 PR c/6677
43e4a9d8
EB
6977 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
6978 the truncation down when the target type is signed.
6979 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
6980 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
6981 the conversion if the target type is a smaller type.
6982
fa4a5557
RH
69832002-06-14 Richard Henderson <rth@redhat.com>
6984
6985 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
6986 earlier. Re-factor comparisons vs extrema.
6987
d95eb49f
RH
69882002-06-14 Richard Henderson <rth@redhat.com>
6989
6990 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
6991
be202ec2
FS
69922002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6993
6994 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
6995 * sched-deps.c (add_dependence): Likewise.
6996 (group_leader): Likewise.
6997 * sched-rgn.c (init_ready_list): Likewise.
6998 * doc/rtl.texi: Adjust accordingly.
6999
e56c4463
JL
70002002-06-13 Jeffrey Law <law@redhat.com>
7001
99a15921
JL
7002 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
7003 null pointer checks were eliminated. Update prototype.
7004 (delete_null_pointer_checks): Similarly.
7005 * rtl.h (delete_null_pointer_checks): Update prototype.
7006 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
7007 delete_null_pointer_checks deletes one or more null
7008 pointer checks. Do not run cleanup_cfg before gcse, the
7009 CFG is accurate and optimized at that point..
7010
e56c4463
JL
7011 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
7012 of hard registers.
7013
556b821e
UW
70142002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
7015
7016 * Makefile.in (libgcc.mk): Depend on specs.
7017
fa60f36d
R
7018Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
7019
7020 * sh.md (mulsi3): Update way how to find insns in a sequence.
7021
03b8ec29
DD
7022Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
7023
7024 * sh.h: Define HARD_REGNO_RENAME_OK
7025 * sh.c: sh_hard_regno_rename_ok: New. If current function has
7026 interrupt_handler attribute, only registers saved on stack are OK.
7027 * sh-protos.h: Declare sh_hard_regno_rename_ok.
7028
8e831557
KK
70292002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
7030
7031 * config/sh/sh.md (jump): Emit jump insn.
7032 (call_pcrel): Get pattern of the result of gen_call_site.
7033 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
7034
bf9d5852
NB
70352002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
7036
7037 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
7038 * cpptrad.c: Update comments.
7039 (skip_whitespace, copy_comment): Take a new parameter.
7040 (skip_escaped_newlines): Don't duplicate escaped newline test.
7041 (copy_comment): Different location for CUR, decide here how
7042 to copy / replace the comment.
7043 (skip_whitespace): Copy whitespace.
7044 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
7045 (scan_out_logical_line): Let copy comment handle keeping or
7046 replacing comments.
7047 (scan_parameters, _cpp_create_trad_definition): Update.
7048
57292ec3
AL
70492002-06-13 Alan Lehotsky <apl@alum.mit.edu>
7050
7051 * reload.c (get_secondary_mem,find_reloads_address,
7052 find_reloads_address_1): Pass reference to MEM to find_reloads_address
7053 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
c894819c 7054
a6f5e048
RH
70552002-06-13 Jessica Han <jessica@cup.hp.com>
7056
7057 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
7058 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
7059 * doc/tm.texi: Document them.
7060 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
7061 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
7062 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
7063 (ASM_OUTPUT_FDESC): Likewise.
7064
3aafa0bb
EC
70652002-06-13 Eric Christopher <echristo@redhat.com>
7066
7067 * diagnostic.c (output_format): Fix thinko.
7068
8e581963
R
7069Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
7070
7071 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
7072 (DWARF2_UNWIND_INFO): Define to 0.
9d7ed806
R
7073
7074 * config/sh/sh.c (calc_live_regs): Don't use initial_value
7075 optimization for PR_MEDIA_REG.
7076
b66377c1
NB
70772002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
7078
7079 * cpphash.h (_cpp_lex_identifier_trad): Remove.
7080 * cpplib.c (end_directive): Don't skip, always remove overlay
7081 apart from #define.
7082 (prepare_directive_trad): Handle NULL pfile->directive.
7083 (_cpp_handle_directive): Always call prepare_directive_trad
7084 if traditional.
7085 * cppmain.c (check_multiline_token): Rename account_for_newlines,
7086 generalize inputs.
7087 (scan_translation_unit_trad): Use it.
7088 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
7089 output, get escaped newline in comment close correct.
7090 (check_output_buffer, skip_whitespace): Update.
7091 (_cpp_lex_identifier_trad): Remove.
7092 (scan_out_logical_line): Handle -C and comments in directives
7093 properly.
7094
8bc6e101
R
7095Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
7096
7097 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
7098 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
7099 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
7100 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
7101 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
7102 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
7103 (SELECT_SH5_COMPACT_NOFPU): Likewise.
7104 (TARGET_SWITCHES): Use them.
7105 (TARGET_CPU_DEFAULT): Define if not already defined.
7106 (TARGET_DEFAULT): Use it.
7107 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
7108 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
7109 * config/sh/t-monolib: New file.
7110
2181005d
RS
71112002-06-13 Roger Sayle <roger@eyesopen.com>
7112
7113 * toplev.c (rest_of_compilation): Simplify (and correct) the
7114 logic of the first delete-null-pointer-checks pass.
7115
aaae0bb9
JH
7116Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
7117
7118 * i386.c (ix86_expand_movstr): Fix pasto.
7119
7120Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
7121
7122 * reload.c (find_valid_class): Fix thinko in my previous patch.
7123
dd3fbd93
UW
71242002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
7125
7126 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
7127 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
7128 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
7129 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
7130
0d0f605c
GDR
71312002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
7132
7133 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 7134 fields.
0d0f605c 7135
c92bcccb
GDR
71362002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
7137
7138 * diagnostic.c (output_format): Recognize "%H" as a format
7139 specifier for a location_t.
7140 (text_specifies_location): New function.
7141 (diagnostic_set_info): Use it.
7142
7f243674
JL
71432002-06-13 Jeffrey Law <law@redhat.com>
7144
6cde4876
JL
7145 * emit-rtl.c (static_regno_reg_rtx): Define.
7146 (init_emit_once): Initialize static_regno_reg_rtx.
7147 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
7148 of building new hard reg objects once per function.
7149 (gen_rtx_REG): Try to share hard regs.
7150 * regclass.c (init_fake_stack_mems): New function broken out from
7151 init_regs.
7152 * rtl.h (init_fake_stack_mems): Declare.
7153 * toplev.c (lang_independent_init): Call init_regs before
7154 init_emit_once. Call init_fake_stack_mems after init_emit_once.
7155
110b3faa
JL
7156 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
7157
7f243674
JL
7158 * alias.c (argument_registers): Remove.
7159 (init_alias_once): Initialize static_reg_base_value here. Remove
7160 initialization of argument_registers.
7161 (init_alias_once_per_function): Remove.
7162 (init_alias_analysis): Copy all the entries from static_reg_base_value
7163 into new_reg_base_value all at once.
7164 * rtl.h (init_alias_once_per_function): Remove declaration.
7165 * function.c (prepare_function_start): Do not call
7166 init_alias_once_per_function.
7167
7168 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
7169 starting a sequence and emitting an INSN.
7170
a336f2e5
RS
71712002-06-13 Richard Sandiford <rsandifo@redhat.com>
7172
7173 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
7174
2acf0fa9
DM
71752002-06-13 David S. Miller <davem@redhat.com>
7176
7177 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
7178
974c43f1
NB
71792002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
7180
7181 * cpplib.c (end_directive): Handle line skipping. Only remove
7182 the rest of the line if the directive was valid.
7183 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
7184 expanding a traditional macro.
7185 * cpptrad.c (recursive_macro): New.
7186 (read_logical_line_trad): Handle skipping.
7187 (scan_out_logical_line): Continue after a successful directive.
7188 Don't expand macros whilst skipping, or if recursing.
7189 (_cpp_create_trad_definition): scan_out_logical_line now sets
7190 the output current position.
7191
12bf26b6
EC
71922002-06-12 Eric Christopher <echristo@redhat.com>
7193
7194 From Chris Demetriou <cgd@broadcom.com>
7195 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
7196 comment.
7197 (ISA_HAS_MADD_MSUB): Ditto.
7198 (ISA_HAS_NMADD_NMSUB): Ditto.
7199
be95b8a5
EC
72002002-06-12 Eric Christopher <echristo@redhat.com>
7201
7202 * config.gcc: Consolidate little endian handling and
7203 little/big endian targets.
7204 * config/mips/elfl.h: Remove file.
7205 * config/mips/elfl64.h: Ditto.
7206 * config/mips/ecoffl.h: Ditto.
7207 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
7208
e03856fe
GK
72092002-06-12 Geoffrey Keating <geoffk@redhat.com>
7210
7211 * gengtype.h (xvasprintf): New prototype.
7212 (xasprintf): New prototype.
7213 (struct outf): New.
7214 (get_output_file): Return an outf_p.
7215 (header_file): Is now an outf_p.
7216 (base_files): Now are outf_p.
7217 (oprintf): New.
7218 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
7219 rather than stdio operations. Use xasprintf in a few places,
7220 when appropriate.
7221 (xvasprintf): New.
7222 (xasprintf): New.
7223 (struct filemap): Delete.
7224 (files): Delete.
7225 (output_files): New.
7226 (oprintf): New.
7227 (create_file): Create an outf_p. Add parameter to indicate output
7228 file name, change all callers.
7229 (open_base_files): Create gtype-desc.c here.
7230 (get_output_file_with_visibility): Rewrite.
7231 (get_output_file_name): Just look at 'name' field in struct outf.
7232 (close_output_files): Rewrite.
7233
ec01703c
JT
72342002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
7235
7236 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 7237 (MASK_G_FLOAT): Define.
ec01703c
JT
7238 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
7239 (TARGET_SWITCHES): Likewise.
7240 (TARGET_DEFAULT): Likewise.
7241
8b0397a6
DJ
72422002-06-12 Daniel Jacobowitz <drow@mvista.com>
7243
7244 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
7245 * config/mips/mips.c (mips_output_filename): Don't print a
7246 ".file" directive if we are using DWARF-2.
7247 (mips_output_function_prologue): Do not emit source file
7248 name for TARGET_GAS.
7249
495333a6
JH
7250Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
7251
7252 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
7253 decide whether emit the short opcode.
7254 * i386.h (x86_shift1): Declare.
7255 (TARGET_SHIFT1): New macro.
7256 * i386.c (x86_shift1): New global variable.
7257
8b0397a6
DJ
7258 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
7259 unconditionally; make loop to rebuild CFG; kill unnecesary
7260 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
7261 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
7262 * haifa-sched.c (sched_init): Likewise.
7263 * ssa-ccp.c (ssa_const_prop): Likewise.
7264 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7265
d11cea13
DM
72662002-06-11 David S. Miller <davem@redhat.com>
7267
7268 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
7269 active_insn_p.
7270
676997cf
RH
72712002-06-11 Richard Henderson <rth@redhat.com>
7272
7273 * c-common.c (builtin_define_type_max): New.
7274 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
7275 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
7276
7277 From Joseph S. Myers:
7278 * glimits.h: Rewrite to expect the double underscore definitions
7279 from the compiler.
7280
7281 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
7282 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
7283 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
7284 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
7285 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
7286 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
7287 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
7288 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
7289
116b7a5e
RH
72902002-06-11 Richard Henderson <rth@redhat.com>
7291
7292 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
7293 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
7294 (code_for_builtns): Update.
7295 (alpha_init_builtins): Add __builtin_thread_pointer and
7296 __builtin_set_thread_pointer.
7297 (alpha_expand_builtin): Handle void builtins.
7298 * doc/extend.texi (Alpha Built-in Functions): Update.
7299
0cec6af1
HPN
73002002-06-11 Hans-Peter Nilsson <hp@axis.com>
7301
7302 PR target/6997
7303 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
7304
1c0ca89d
ZW
73052002-06-11 Zack Weinberg <zack@codesourcery.com>
7306
7307 * config.gcc: Make the name of the extra-modes file adjustable
7308 by target stanzas.
7309 (s390x, strongarm, xscale stanzas): Use this facility.
7310 * configure.in: Update to match.
7311 * configure: Regenerate.
7312
5dc8d536
AH
73132002-06-11 Aldy Hernandez <aldyh@redhat.com>
7314
1c0ca89d
ZW
7315 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
7316 max/mins as unsigned GE compares.
5dc8d536 7317
169274cd
JT
73182002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
7319
1c0ca89d 7320 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
7321 * config/vax/bsd.h: New file.
7322 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
7323 (CPP_PREDEFINES): Remove.
7324 (TARGET_OS_CPP_BUILTINS): Define.
7325 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
7326 * config/vax/openbsd.h: Update copyright years.
7327 (CPP_PREDEFINES): Remove.
7328 (TARGET_OS_CPP_BUILTINS): Define.
7329 * config/vax/ultrix.h: Likewise.
7330 * config/vax/vaxv.h: Likewise.
7331 * config/vax/vms.h: Likewise.
7332 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
7333 (CPP_PREDEFINES, CPP_SPEC): Remove.
7334
2f41793e
JH
7335Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
7336
7337 * i386.md (addqi_1_slp, subqi_1_slp
7338 (andqi_ext0, testqi_ext0): Remove unnecesary check.
7339 (addhi*, addqi*): Simplify "dec" condition.
7340 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
7341 (and, or, xor to QImode splitters): New.
7342 (iorqi_ext*): New.
7343 (xorqi_ext_0): New.
7344 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
7345 (andqi_ext_1_rex64): New.
7346 (ashrqi*_slp): New.
7347 (ashlqi*_slp): New.
7348 (lshlqi*_slp): New.
7349 (rotrqi3*_slp): New.
7350 (rotlqi3*_slp): New.
7351
fc5c400a
GK
73522002-06-11 Geoffrey Keating <geoffk@redhat.com>
7353
4c4eb375
GK
7354 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
7355 softfloat.h.
7356 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
7357 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7358 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
7359 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
7360 __LONG_DOUBLE_128__ setting, _CALL_* setting.
7361 (CPP_DEFAULT_SPEC): Delete.
7362 (CPP_FLOAT_DEFAULT_SPEC): Delete.
7363 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
7364 (CPP_SYSV_DEFAULT_SPEC): Delete.
7365 (CPP_ENDIAN_BIG_SPEC): Delete.
7366 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7367 (CPP_ENDIAN_SPEC): Delete.
7368 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
7369 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
7370 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
7371 cpp_longdouble_default.
7372 * config/rs6000/softfloat.h: Delete.
7373 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
7374 (EXTRA_SPECS): Delete cpp_cpu.
7375 (TARGET_CPU_CPP_BUILTINS): New.
7376 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
7377 prototype.
7378 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
7379 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
7380 (CPP_DEFAULT_SPEC): Delete.
7381 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
7382 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
7383 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
7384 (CPP_DEFAULT_SPEC): Delete.
7385 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7386 (CPLUSPLUS_CPP_SPEC): Likewise.
7387 (CPP_CPU_SPEC): Delete.
7388 (CPP_DEFAULT_SPEC): Delete.
7389 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7390 (CPLUSPLUS_CPP_SPEC): Likewise.
7391 (CPP_CPU_SPEC): Delete.
7392 (CPP_DEFAULT_SPEC): Delete.
7393 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
7394 (CPP_DEFAULT_SPEC): Delete.
7395 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
7396 (CPP_DEFAULT_SPEC): Delete.
7397
fc5c400a
GK
7398 * doc/gty.texi: Small updates.
7399
13f0d49c
GDR
74002002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
7401
7402 * objc/objc-act.c (warn_with_ivar): Adjust calls to
7403 diagnostic_count_error.
7404 (warn_with_method): Likewise.
7405
7406 * diagnostic.h (warnings_are_errors_message): New field of
7407 diagnostic_context.
7408 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
7409 match semantics.
7410 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
7411 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 7412 diagnostics.
13f0d49c
GDR
7413 (diagnostic_initialize): Initialize warnings_are_errors_message field.
7414
0797e472
TT
74152002-06-11 Tom Tromey <tromey@redhat.com>
7416
7417 For PR java/6520:
7418 * fold-const.c (fold_convert): Don't modify existing tree's type.
7419
f288d4aa
GK
74202002-06-11 Geoffrey Keating <geoffk@redhat.com>
7421
7422 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
7423
d27bab4c
RH
74242002-06-11 Richard Henderson <rth@redhat.com>
7425
7426 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
7427
bc2a8f08
RH
74282002-06-11 Richard Henderson <rth@redhat.com>
7429
1c0ca89d 7430 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
7431 DWARF2_UNWIND_INFO is false.
7432
b217ec1b
BW
74332002-06-11 Bob Wilson <bob.wilson@acm.org>
7434
7435 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
7436
11819f80
UW
7437 * config/s390/s390.c (emit_prologue): gen_store_multiple
7438 returns an insn now, not a pattern.
7439
c2727579
RO
74402002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7441
7442 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
7443 $(TEXI2DVI) -o.
7444
285464d0
JH
7445Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
7446
7447 * i386.c (x86_promote_QImode): Set for Athlon
7448 (x86_fast_prefix): New global variable.
7449 (x86_arch_always_fancy_math_387): Fix formating.
7450 * i386.h (x86_fast_prefix): Declare
7451 (TARGET_FAST_PREFIX): define.
7452 * i386.md (and to strict_low_part, HI to SI
7453 promoting splitter): Use new macro.
7454
7455 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
7456
1bb1f121
ZW
74572002-06-11 Zack Weinberg <zack@codesourcery.com>
7458
7459 * Makefile.in (distclean): Delete junk left in testsuite
7460 directory, too.
7461
88c65786
JL
74622002-06-11 Jeffrey Law <law@redhat.com>
7463
c6a3fcf0
JL
7464 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
7465 last insn created by the splitter.
7466
0db79a6b
JL
7467 * caller-save.c (init_caller_save): Move creation of SAVEINSN
7468 and RESTINSN into into the scope of the sequence.
7469
47eb2ca8
JL
7470 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
7471 RETURN insns.
7472
603b4b92
JL
7473 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
7474
88c65786
JL
7475 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
7476 not the pattern. So extract the pattern from the insn.
882c7223
JL
7477
7478 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
7479
df14489a
UW
74802002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
7481
7482 * config/s390/s390.md (movsi): Only use floating point
7483 register alternatives when operands are already fprs.
7484 (movdi_31, movdi_64): Likewise.
7485
6f9703af
DM
74862002-06-11 David S. Miller <davem@redhat.com>
7487
7488 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
7489 Only run RTX equality checks on INSN_P rtl.
7490
b2ccb744
UW
74912002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
7492
7493 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 7494 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 7495 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 7496 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
7497 s390_asm_output_pool_prologue): Likewise.
7498 * s390.h (s390_pool_start_insn): Likewise.
7499
1c0ca89d 7500 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
7501 old-style pool chunks.
7502 (s390_function_epilogue): Likewise.
1c0ca89d 7503 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
7504 alignment for 64-bit literal pools.
7505 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 7506 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
7507 old-style pool chunks.
7508 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
7509 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
7510 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
7511
7512 * s390.c (consttable_operand): New function.
7513 * s390-protos.h (consttable_operand): Declare it.
7514 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
7515 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
7516 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
7517 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
7518 * s390.c (struct constant, struct constant_pool): New data types.
7519 (constant_modes, gen_consttable): New variables.
1c0ca89d 7520 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 7521 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 7522 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
7523 overflow handling.
7524
7525 * s390.c (s390_pool_overflow): New variable.
7526 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 7527 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
7528 jumps in literal pool overflow situations.
7529
7530 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 7531 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
7532 by new literal pool overflow code.
7533 (s390_emit_prologue): Likewise.
7534
2f937369
DM
75352002-06-05 David S. Miller <davem@redhat.com>
7536
7537 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
7538 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
7539 emit_insns_before_scope, emit_insns_after,
7540 emit_insns_after_scope): Delete declaration.
7541 * ada/misc.c (insert_code_for): Use emit_insn* instead of
7542 emit_insns_foo.
7543 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
7544 (alpha_set_memflags): Fix comment.
7545 (set_frame_related_p): Use get_insns instead of gen_sequence.
7546 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
7547 emitting no insns.
7548 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
7549 gen_sequence.
7550 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
7551 * config/fr30/fr30.c (fr30_move_double): Likewise.
7552 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
7553 Likewise.
7554 * config/ia64/ia64.c (spill_restore_mem): Likewise.
7555 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
7556 no insns.
7557 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
7558 instead of gen_sequence.
7559 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
7560 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
7561 * config/sh/sh.c (sh_need_epilogue): Likewise.
7562 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
7563 attributes.
7564 (setjmp pattern and split): Use them to avoid splitter which emits
7565 no RTL.
7566 * genattrtab.c (main): Emit include of function.h
7567 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
7568 get_insns instead of gen_sequence.
7569 * config/cris/cris.c (cris_split_movdx): Likewise.
7570 * emit-rtl.c (emit_insns*): Kill.
7571 (try_split): Expect insn list instead of SEQUENCE.
7572 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
7573 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
7574 Make them abort if a SEQUENCE is given and RTL checking is
7575 enabled.
7576 (emit_*_scope): Don't forget to set scope on final insn.
7577 (gen_sequence): Move from here...
7578 * ssa.c (gen_sequence): To here as private function.
7579 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
7580 comments.
7581 (expand_builtin_return, expand_builtin_mathfn): Likewise.
7582 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
7583 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
7584 (expand_builtin_expect_jump): Use get_insns and fix comments.
7585 * calls.c (try_to_integrate): Use emit_insn_foo.
7586 (expand_call, emit_library_call_value_1): Likewise.
7587 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
7588 (emit_move_insn_1): Use get_insns instead of gen_sequence.
7589 (expand_expr): Use emit_insn_foo.
7590 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
7591 * except.c (build_post_landing_pads): Likewise.
7592 * flow.c (attempt_auto_inc): Likewise.
7593 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
7594 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
7595 * function.c (fixup_var_refs_insn): Use get_insns instead of
7596 gen_sequence.
7597 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
7598 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
7599 (fixup_stack_1, purge_addressof_1, expand_main_function,
7600 get_arg_pointer_save_area): Likewise.
7601 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
7602 expand_function_end): Use emit_insn_foo.
7603 (record_insns, keep_stack_depressed): Work with insn list instead
7604 of SEQUENCE, fix comments.
7605 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
7606 noce_try_store_flag_constants, noce_try_store_flag_inc,
7607 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
7608 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
7609 (noce_process_if_block): Use get_insns instead of gen_sequence.
7610 * optabs.c (add_equal_note): Work with insn list, fix comments.
7611 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
7612 (expand_unop, expand_complex_abs, expand_unop_insn,
7613 expand_no_conflict_block): Likewise.
7614 (gen_move_insn): Use get_insns instead of gen_sequence.
7615 (gen_cond_trap): Likewise.
7616 * integrate.c (copy_rtx_and_substitute): Likewise.
7617 (emit_initial_value_sets): Use emit_insn_foo.
7618 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
7619 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
7620 now that RTL generators give insn lists.
7621 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
7622 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
7623 instead of gen_sequence.
7624 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
7625 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
7626 instead of gen_sequence.
7627 * loop.c (move_movables, emit_prefetch_instructions,
7628 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
7629 Likewise.
7630 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
7631 (product_cheap_p): Likewise, and add commentary about RTL wastage
7632 here.
7633 * lcm.c (optimize_mode_switching): Use get_insns instead of
7634 gen_sequence.
7635 * profile.c (gen_edge_profiler): Likewise.
7636 * regmove.c (copy_src_to_dest): Likewise.
7637 * reg-stack.c (compensate_edge): Likewise and fix comment.
7638 * gcse.c (process_insert_insn): Likewise.
7639 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
7640 * jump.c (delete_prior_computation): Update comment.
7641 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
7642 of gen_sequence, update comments to match.
7643 * recog.c (peephole2_optimize): Work with insn lists instead of
7644 SEQUENCE rtl.
7645 * sched-vis.c (print_pattern): Abort on SEQUENCE.
7646 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
7647 Use get_insns instead of gen_sequence.
7648 (copy_loop_body): Likewise and don't emit dummy NOTE.
7649 * genrecog.c: Don't mention SEQUENCE rtl in comments.
7650 * combine.c (try_combine): Expect insn lists from split generator.
7651 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
7652 hand.
1c0ca89d 7653
43cf10b5
RS
76542002-06-11 Roger Sayle <roger@eyesopen.com>
7655 Andreas Jaeger <aj@suse.de>
7656
7657 * cfgbuild.c: Update copyright years.
7658
1062f15a
AS
76592002-06-11 Andreas Schwab <schwab@suse.de>
7660
1c0ca89d 7661 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 7662
ce3649d2
EC
76632002-06-11 Eric Christopher <echristo@redhat.com>
7664
7665 * doc/tm.texi (Run-time Target): Add comment about flag_iso
7666 and strict ANSI.
7667 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
7668 * config/mips/ecoffl.h: Ditto.
7669 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
7670 (CPP_PREDEFINES): Ditto.
7671 * config/mips/elfl64.h: Ditto.
7672 * config/mips/elfl.h: Ditto.
7673 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
7674 out until irix header consolidation.
7675 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
7676 with SUBTARGET_OS_CPP_BUILTINS.
7677 * config/mips/iris6.h: Ditto.
7678 (CPLUSPLUS_CPP_SPEC): Remove.
7679 * config/mips/linux.h: Ditto.
7680 * config/mips/netbsd.h: Ditto.
7681 * config/mips/openbsd.h: Ditto.
7682 * config/mips/rtems.h: Ditto.
7683 * config/mips/rtems64.h: Ditto.
7684 * config/mips/sni-svr4.h: Ditto.
7685 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
7686 ISA_MIPS32, ISA_MIPS64): New defines.
7687 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
7688 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
7689 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
7690 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
7691 (TARGET_CPU_CPP_BUILTINS): Define.
7692 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
7693 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
7694 (movdicc): Remove check for ISA_MIPS32.
7695 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
7696 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
7697 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
7698 sunge_sf, sunle_df, sunle_sf): New patterns.
7699
bc3437ba
NB
77002002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
7701
7702 * Makefile.in: Update cppmain.o.
7703 * cpphash.h (struct cpp_reader): Move some members to a
7704 nested structure.
7705 (trad_line): Rename saved_line.
7706 (_cpp_read_logical_line_trad): Update.
7707 (_cpp_remove_overlay): New.
7708 * cppinit.c (cpp_create_reader): No need to set saved_line.
7709 (cpp_destroy): Update.
7710 (cpp_read_main_file): Only overlay if compiling.
7711 * cpplex.c (continue_after_nul): Return false if in directive.
7712 * cpplib.c (EXPAND): New.
7713 (directive_table, SEEN_EOL): Update.
7714 (end_directive): Remove overlay if traditional; don't skip
7715 line in traditional #define.
7716 (prepare_directive_trad): New.
7717 (_cpp_handle_directive, run_directive): Update for traditional
7718 directives.
7719 (lex_macro_node): Simplify, don't use lex_identifier_trad.
7720 * cpplib.h (struct options): Add preprocess_only.
7721 * cppmain.c: Don't include intl.h.
7722 (cpp_preprocess_file): Set options->preprocess_only.
7723 (scan_translation_unit_trad): Fix, and print line numbers.
7724 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
7725 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
7726 save_replacement_text, _cpp_create_trad_definition): Update for
7727 variable renaming.
7728 (_cpp_overlay_buffer): Save line number.
7729 (_cpp_remove_overlay): Rename from restore_buff, restore line.
7730 (_cpp_read_logical_line_trad): Don't handle overlays here.
7731 (scan_out_logical_line): Process directives.
7732
b25bb36a
DS
77332002-06-11 Danny Smith <dannysmith@users.sourforge.net>
7734
7735 * gthr-win32.h: Wrap functions in extern "C".
7736 (__gthread_key_t): Typedef as unsigned long,
7737 not win32 DWORD.
7738 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
7739 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
7740 (__gthr_win32_once, __gthr_win32_key_create,
7741 __gthr_win32_key_delete, __gthr_win32_getspecific,
7742 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
7743 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
7744 __gthr_win32_mutex_unlock): Declare.
7745 (__gthread_once,__gthread_key_create,
7746 __gthread_key_delete, __gthread_getspecific,
7747 __gthread_setspecific, __gthread_mutex_init_function,
7748 __gthread_mutex_lock,__gthread_mutex_trylock,
7749 __gthread_mutex_unlock): Call corresponding
7750 __gthr_win32_* extern implementations if #defined
7751 __GTHREAD_HIDE_WIN32API.
7752 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 7753 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
7754 * config/i386/gthr-win32.c: New implementation file.
7755 (__gthr_win32_once, __gthr_win32_key_create,
7756 __gthr_win32_key_delete, __gthr_win32_getspecific,
7757 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
7758 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
7759 __gthr_win32_mutex_unlock): New functions, based on
7760 static inlines in gthr-win32.h.
7761
a69c385e
BW
77622002-06-10 Bob Wilson <bob.wilson@acm.org>
7763
7764 * config/xtensa/xtensa.c (override_options): Don't warn about
7765 using -fpic or -fPIC when PIC is enabled by default.
7766
e654730d
RS
77672002-06-10 Roger Sayle <roger@eyesopen.com>
7768
7769 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
7770
a5381466
ZW
77712002-06-10 Zack Weinberg <zack@codesourcery.com>
7772
7773 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 7774 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
7775 exists, substitute its pathname as @extra_modes_file@, define
7776 EXTRA_MODES_FILE to be an appropriate string to #include it
7777 with, and define EXTRA_CC_MODES to 1.
7778
7779 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
7780 it's defined. Get rid of redundancy in calling sequence for
7781 CC; don't use it to define CCmode, to avoid a warning.
7782 * libgcc2.c: Include symcat.h for the sake of machmode.def.
7783
7784 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
7785 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
7786 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
7787 New files.
7788 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
7789 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
7790
7791 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
7792 defining extra CC modes.
7793
852c6ec7
RS
77942002-06-10 Roger Sayle <roger@eyesopen.com>
7795 Andreas Jaeger <aj@suse.de>
7796
7797 * cfgrtl.c (create_basic_block_structure): Remove index argument
7798 and use last_basic_block++ instead. (create_basic_block): Update.
7799 * cfgbuild.c (find_basic_blocks_1): Likewise.
7800
7801 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
7802 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
7803 * sched-ebb.c (schedule_ebbs): Likewise.
7804 * sched-rgn.c (schedule_insns): Likewise.
7805 * ssa-ccp.c (ssa_const_prop): Likewise.
7806 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
7807 * toplev.c (rest_of_compilation): Likewise.
7808 * config/ia64/ia64.c (ia64_reorg): Likewise.
7809
60c86d4e
RS
78102002-06-10 Roger Sayle <roger@eyesopen.com>
7811
7812 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
7813 of matching registers.
7814
9543a9d2
RS
78152002-06-10 Roger Sayle <roger@eyesopen.com>
7816
7817 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
7818 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
7819
38e18619
HPN
78202002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
7821
7822 * config/mmix/mmix.h: Improve comments.
7823 (CPP_SPEC, CPP_PREDEFINES): Don't define.
7824 (TARGET_CPU_CPP_BUILTINS): Define.
7825 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
7826 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
7827 unused predicate.
7828 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
7829 compiler warning.
7830 (mmix_constant_address_p): Remove another
7831 redundant test before case.
7832 (mmix_canonicalize_comparison): Remove unused function.
7833 (mmix_print_operand_address): Don't test and adjust for operand in
7834 non-canonical format.
7835 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
7836 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
7837
ac17cd8f
ZW
78382002-06-10 Zack Weinberg <zack@codesourcery.com>
7839
7840 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
7841 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
7842 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
7843 (gen_compare): Use CCmode unconditionally.
7844
7b668f9e
JJ
78452002-06-10 Jakub Jelinek <jakub@redhat.com>
7846
7847 PR optimization/6759
7848 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
7849 the REQ_EQUAL note.
7850
85d49058
JJ
78512002-06-10 Jakub Jelinek <jakub@redhat.com>
7852
7853 PR c/6660
7854 * c-decl.c (grokfield): Allow user defined types if they declare
7855 structs or unions for unnamed fields.
7856
50f30e6b
JJ
78572002-06-10 Jakub Jelinek <jakub@redhat.com>
7858
7859 PR c/6809
7860 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
7861
156755ac
JJ
78622002-06-10 Jakub Jelinek <jakub@redhat.com>
7863
7864 PR optimization/6842
7865 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
7866 operand subreg cannot be simplified.
7867
5d056e9b
JJ
78682002-06-10 Jakub Jelinek <jakub@redhat.com>
7869
7870 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
7871 (compare_constant): Likewise.
7872 (output_addressed_constants): Likewise.
7873
2bf87216
JJ
78742002-06-10 Jakub Jelinek <jakub@redhat.com>
7875
7876 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
7877 merge bb with itself.
7878
135fd2d8
RH
78792002-06-10 Richard Henderson <rth@redhat.com>
7880
7881 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
7882 (builtin_zapnot): Likewise.
7883
7884 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
7885 reservation.
7886
fce5a9f2
EC
78872002-06-10 Eric Christopher <echristo@redhat.com>
7888
7889 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
7890 prototype and function.
7891 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
7892 (call_insn_operand): Remove half pic references.
7893 (legitimate_address_p): Ditto.
7894 * config/i386/i386.h: Remove half pic defines.
7895
95b1627e
EC
78962002-06-10 Eric Christopher <echristo@redhat.com>
7897
7898 * doc/extend.texi (Return Address): Add note explaining the side-
7899 effects of inlining on __builtin_return_address.
7900
aea185b3
TT
79012002-06-10 Tom Tromey <tromey@redhat.com>
7902
7903 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
7904 (c-common.o): Depend on langhooks.h.
7905
afb03408
NB
79062002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
7907
7908 * cpphash.h (_cpp_read_logical_line_trad,
7909 _cpp_expansions_different_trad): Update prototypes.
7910 * cpplex.c (continue_after_nul): New.
7911 * cppmain.c: Include cpphash.h.
7912 (scan_translation_unit_trad): New.
7913 (cpp_preprocess_file): Call it.
7914 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
7915 overlay.
7916 (_cpp_expansions_different_trad): Update prototype.
7917
2754d3c5
R
7918Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
7919
7920 Fix cfi generation for SH[1-4]:
7921
7922 * sh.c (frame_insn): New function.
7923 (output_stack_adjust): Add parameter emit_fn. All callers changed.
7924 (push): Now returns rtx. Use frame_insn.
7925 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
7926 of a DF register.
7927 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
7928
ad854f24
ZW
79292002-06-10 Zack Weinberg <zack@codesourcery.com>
7930
7931 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
7932 and gtype-desc.c.
7933 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
7934 (distclean): ... not here. But do delete all testsuite/*.log,
7935 testsuite/*.sum files here. Delete mkheaders. Delete
7936 po/*.gmo and the testsuite directory in a split tree build.
7937
bf1660a6
JL
79382002-06-10 Jeffrey Law <law@redhat.com>
7939
7940 * alias.c (static_reg_base_value): New to hold RTL for
7941 items allocated once per function for the aliasing code.
7942 (init_alias_once_per_function): Initialize static_reg_base_value.
7943 (init_alias_analysis): Avoid throw-away allocations of RTL by
7944 using pre-computed values in static_reg_base_value.
7945 * function.c (prepare_function_start): Call
7946 init_alias_once_per_function appropriately.
7947 * rtl.h (init_alias_once_per_function): Declare.
7948 * caller-save (init_caller_save): Restructure slightly to
7949 avoid lots of silly RTL generation.
7950 * expr.c (init_expr_once): Likewise.
7951 * reload1.c (reload_cse_regs_1): Allocate throw-away register
7952 RTL object here. Pass it into children.
7953 (reload_cse_simplify_operands): Use passed-in register RTL
7954 object.
7955 (reload_cse_simplify): Pass through throw-away register
7956 RTL object.
7957
8dc58484 79582002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 7959
8dc58484
DB
7960 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
7961
ea16b5ee
RS
79622002-06-10 Richard Sandiford <rsandifo@redhat.com>
7963
7964 * gcc.c (process_command): Avoid assignment to read-only location.
7965 Fix sizeof calculation.
7966
6618c5d4
NB
79672002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
7968
7969 * cpphash.h (struct cpp_macro): Put comments on their own lines.
7970 (_cpp_expansions_different_trad): New.
7971 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
7972 * cpptrad.c (canonicalize_text): New.
7973 (scan_out_logical_line): Handle no arguments correctly.
7974 (save_replacement_text): Commit memory when finished.
7975 (_cpp_expansions_different_trad): New.
7976
96e3ac4f
TJ
79772002-06-10 Tim Josling <tej@melbpc.org.au>
7978
7979 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
7980 TREELANG and COBOL.
7981 (lang_names): Add treelang and cobol.
7982 (get_file_basename): Add code to support treelang and cobol as
7983 4th and 5th users of c-common.c.
7984
37a4aa31
GK
79852002-06-09 Geoffrey Keating <geoffk@redhat.com>
7986
7987 * Makefile.in (install-driver): Install driver as
7988 $(target_alias)-gcc-$(version).
7989 * gcc.c (spec_version): Make const.
7990 (process_command): Handle -V and -b by using exec.
7991 * doc/invoke.texi (Target Options): Restore -V option,
7992 update docs for -b option.
7993
02ef40d9
TJ
79942002-06-10 Tim Josling <tej@melbpc.org.au>
7995
ad854f24
ZW
7996 * configure.in (remaining_languages_check):
7997 Added check that all languages specified were found.
02ef40d9
TJ
7998 Exit if not found. Previous behaviour was silent failure.
7999 * configure: Regenerated.
8000
b38b97c4 80012002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 8002
1c0ca89d 8003 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
8004 instructions in sourcebuild.texi. Also add to gcc.c list of
8005 default languages.
ad854f24 8006
b38b97c4
TJ
8007 * doc/contrib.texi: Add self as contributor of treelang.
8008
8009 * doc/frontends.texi: Add mention of treelang.
8010
8011 * doc/invoke.texi (Overall Options): Add mention of treelang.
8012
8013 * doc/standards.texi: Add mention of treelang.
8014
ae9dbf1f
HPN
80152002-06-09 Hans-Peter Nilsson <hp@axis.com>
8016
8017 * config/cris/cris.c: Include ggc.h
8018
1ce676a0
NB
80192002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
8020
8021 * cpphash.h (_cpp_push_text_context): Update.
8022 (_cpp_arguments_ok): New.
8023 * cppmacro.c (_cpp_arguments_ok): New, split out from...
8024 (collect_args): ...here.
8025 (_cpp_push_text_context): Change inputs.
8026 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
8027 replace_args_and_push): New.
8028 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
8029 Don't use IS macros directly.
8030 (scan_out_logical_line): Handle function-like macro argument
8031 collection.
8032 (push_replacement_text): Update.
8033 (replacement_length): Remove.
8034 (_cpp_create_trad_definition): Don't skip whitespace before
8035 checking for '('.
8036
25f2e176
MM
80372002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
8038
8039 * config/avr/avr.c (avr_mcu_types): Update for new devices.
8040 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
8041 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
8042 * config/avr/avr.md ("type" and "length" attributes): New type
8043 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
8044 output a single "call" or "rcall" insn depending on device size.
8045 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
8046
309323c2
DE
80472002-06-09 David Edelsohn <edelsohn@gnu.org>
8048
8049 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
8050 synonym for 630. Add power4. Remove embedded processors. Use -m604
8051 assembler option.
8052 (CPP_CPU_SPEC): Add power3 and power4.
8053 (PROCESSOR_DEFAULT): Change to 604e.
8054 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
8055 (CPP_CPU_SPEC): Similar additions.
8056 (enum process_type): Add POWER4.
8057 (RTX_COSTS): Add POWER4.
8058 (CPP_CPU_SPEC): Similar additions.
8059 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 8060 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
8061 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
8062 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
8063 branch adjustment.
8064 (rs6000_issue_rate): Add Power4.
8065 * config/rs6000/rs6000.md (cpu attr): Add power4.
8066 (iu compare): Remove 604, 604e, 620, 630.
8067 Add basic Power4 scheduling information.
8068 (mfcr/mtcrf): Change type attribute to cr_logical.
8069
1f8e4682
KG
80702002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8071
57d80297
KG
8072 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
8073 ATTRIBUTE_PRINTF_2.
8074 * gengtype-lex.l: Fix format specifier warning.
8075
1f8e4682
KG
8076 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
8077 not isspace.
8078 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
8079 lieu of isspace/IDchar.
8080 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
8081 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
8082 ISSPACE.
8083
5a9ee623
ZW
80842002-06-08 Zack Weinberg <zack@codesourcery.com>
8085
8086 * Makefile.in (LIBCPP_OBJS): Take out version.o.
8087 * cpphash.h (cpp_reader): Take out print_version member.
8088 * cppinit.c: (cpp_handle_option): Don't do anything with
8089 -version. Just set help_only for --version, --target-help.
8090 Just set verbose option for -v.
8091 (cpp_post_options): Don't print a version string.
8092
c16e5a35
MM
80932002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
8094
8095 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
8096 (avr_section_type_flags): New, handle .noinit* sections.
8097
79bc889e
JT
80982002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8099
8100 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
8101 and include netbsd_entry_point.
8102 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
8103 (NETBSD_ENTRY_POINT): Define.
8104
6a79bb0a
JT
81052002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8106
8107 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 8108 if not already defined.
6a79bb0a
JT
8109 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
8110
e52b6b63
MM
81112002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
8112
8113 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
8114 in a noreturn function.
8115 (avr_output_function_prologue, avr_output_function_epilogue):
8116 Correct function size calculation. Do not crash on empty function.
8117 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
8118
1569d670
JT
81192002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8120
8121 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
8122 netbsd_link_spec and netbsd_entry_point.
8123 (LINK_SPEC): Use %(netbsd_link_spec).
8124 (NETBSD_ENTRY_POINT): Define.
8125
cfb06024
JT
81262002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8127
8128 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
8129 linker emulation.
8130 (LINK_ARCH64_SPEC): Likewise.
8131 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
8132 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
8133
5a9ee623
ZW
81342002-06-08 Marc Espie <espie@openbsd.org>
8135
8136 * lists.c (free_list): Fix typo in comment.
e3623158 8137
272cdf58
AJ
81382002-06-08 Andreas Jaeger <aj@suse.de>
8139
8140 * lcm.c (optimize_mode_switching): Add unused attribute for
8141 variable.
8142
8143 * sched-deps.c (sched_analyze): Remove unused variable.
8144
bf3f2a12
GDR
81452002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
8146
8147 * diagnostic.def: Don't capitalize diagnostict descriptors.
8148
523a5f2f
JT
81492002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8150
8151 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
8152 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
8153 (NETBSD_ENTRY_POINT): Define.
8154
a3e944f9
JT
81552002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8156
8157 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
8158 NETBSD_LINK_SPEC_ELF.
8159 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
8160 (NETBSD_ENTRY_POINT): Define.
8161 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
8162 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
8163 netbsd_entry_point.
8164 (NETBSD_ENTRY_POINT): Define.
8165
854928a0
JT
81662002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8167
8168 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
8169 netbsd_link_spec and netbsd_entry_point.
8170 (LINK_SPEC): Use %(netbsd_link_spec).
8171 (NETBSD_ENTRY_POINT): Define.
8172
6bb5d2e7
JT
81732002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8174
8175 * config/netbsd-elf.h (LINK_SPEC): Rename to...
8176 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
8177 to specify program entry point.
8178
e50126e8
JL
81792002-06-07 Jeff Law <law@redhat.com
8180
8181 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 8182 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
8183 than creating a new register.
8184 (distribute_notes): Likewise.
8185 * df.c (df_reg_use_gen): Likewise.
8186 (df_reg_clobber_gen): Likewise.
8187 (df_ref_record): Likewise.
8188 * expr.c (use_regs): Likewise.
8189 * flow.c (propagate_one_insn): Likewise.
8190 (mark_set_1): Likewise.
8191 (mark_used_reg): Likewise.
8192 * reload.c (emit_reload_insns): Likewise.
8193
bc9c18c3
RS
81942002-06-07 Roger Sayle <roger@eyesopen.com>
8195
8196 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
8197 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
8198 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
8199 comparison code comp can be reversed.
8200
437f1df1
RS
82012002-06-07 Roger Sayle <roger@eyesopen.com>
8202
8203 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
8204 constants last in comparisons. Optimize (x+1.0)>0.0 into the
8205 equivalent x > -1.0 when -ffast-math.
8206
cd24b8a4
JT
82072002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8208
8209 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
8210 * config/mips/t-netbsd: New file.
8211
09e77dee
ZW
82122002-06-07 Zack Weinberg <zack@codesourcery.com>
8213
8214 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
8215 options their own entries.
8216 (parse_option): Clarify comment.
8217 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
8218 special case. Replace if/strcmp chain for -W options with
8219 use of new OPT_* entries for them.
8220 (cpp_handle_options): Update to match.
8221 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
8222 * c-decl.c: Update call to cpp_handle_option.
8223
942030dc
AD
82242002-06-07 Akim Demaille <akim@epita.fr>
8225
8226 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
8227 Whitespace changes.
8228
f2846820
JL
82292002-06-07 Jeffrey Law <law@redhat.com>
8230
8231 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
8232 on empty lists.
8233
4bafaa6f
L
82342002-06-07 H.J. Lu (hjl@gnu.org)
8235
8236 * configure.in: Add --enable-__cxa_atexit.
8237 * configure: Regenerated.
8238 * config.in: Likewise.
8239
8240 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
8241 not defined.
8242
caef5b46
GDR
82432002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
8244
8245 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
8246
ac64a17c
JT
82472002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8248
8249 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
8250
97459791
JM
82512002-06-07 Jason Merrill <jason@redhat.com>
8252
8253 * cppexp.c (num_equality_op): Use a temporary variable to work
8254 around gcc 3.0.4 bug.
8255
4b1d52c7
GDR
82562002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
8257
8258 * diagnostic.c (diagnostic_build_prefix): Tidy.
8259
c70f6ed3
NB
82602002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
8261
8262 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
8263 scan_parameters, save_replacement_text, replacement_length): New.
8264 (scan_out_logical_line): Take a macro and save parameters if
8265 non-NULL.
8266 (_cpp_logical_line_trad): Update.
8267 (_cpp_create_trad_definition): Update to handle function-like
8268 macros.
8269 * cpplex.c (new_buff): Update.
8270 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
8271 * cpphash.h: ...here.
8272 (CPP_ALIGN2, _cpp_save_parameter): New.
8273 * cppmacro.c (save_parameter): Rename, export.
8274 (parse_params): Update.
8275
aec2ac46
AJ
82762002-06-07 Andreas Jaeger <aj@suse.de>
8277
8278 * config/mmix/mmix.c: Remove extra broken prototype for
8279 mmix_init_machine_status.
8280
9f313342
GK
82812002-06-06 Geoffrey Keating <geoffk@redhat.com>
8282
8283 * gengtype.c: Add comments before all the routines.
8284
3fa1b448
JT
82852002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8286
8287 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
8288 from and add t-sh64 to ${tmake_file}.
8289 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
8290 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
8291 * config/sh/t-netbsd-sh5-32: Remove.
8292 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
8293 MULTILIB_ENDIAN.
8294 (MULTILIB_DIRNAMES): Define.
8295
0d682900
JH
8296Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
8297
8298 * i386.md (and promoting splitters): Disable QI to SImode promoting
8299 when doing so changes immediate to be 32bit.
8300
8301 * rtl.h (emit_*_scope): Declare.
8302 * emit-rtl.c (emit_*_scope): New global functions.
8303 (try_split): Copy scope.
8304 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
8305 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
8306 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
8307 noce_process_if_block, find_cond_trap): Copy scopes.
8308 * recog.c (peephole2_optimize): likewise.
8309
c991649c
JL
83102002-06-06 Jeffrey Law <law@redhat.com>
8311
8312 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
8313
8a5d66c4
R
8314Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
8315
8316 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
8317
d7f8491b
RO
83182002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8319
8320 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
8321 ($(docdir)/gccinstall.info): New target.
8322 (info): Depend on it.
8323 (gccinstall.dvi): New target.
8324 (dvi): Depend on it.
8325 * doc/.cvsignore: Ignore new info files.
8326 * doc/install.texi (@setfilename): Reflect new info filename.
8327
eaeb7de8
R
8328Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
8329
8330 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
8331 on an UNSPEC.
8332
0c7aeb88
NP
8333Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
8334
8335 PR objc/6834
8336 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
8337 c_common_get_alias_set.
aec2ac46 8338 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 8339
2a496e8b
JDA
83402002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
8341
8342 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
8343 functions.
8344 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
8345 * avr/avr.c (avr_output_function_epilogue): Use above to determine
8346 function size.
8347 * pa/pa.c (pa_output_function_prologue): Likewise.
8348
2ff581c3
DM
83492002-06-05 David S. Miller <davem@redhat.com>
8350
8351 * integrate.c (subst_constants): Handle 'B' RTL format.
8352
b2e2d0cc
EC
83532002-06-05 Eric Christopher <echristo@redhat.com>
8354
8355 * varasm.c (make_decl_rtl): Fix comment for removed
8356 halfpic.c.
8357
0f81faf6
EC
83582002-06-05 Eric Christopher <echristo@redhat.com>
8359
8360 * Makefile.in: Remove missed halfpic bits.
8361
33005162
EC
83622002-06-05 Eric Christopher <echristo@redhat.com>
8363
8364 * toplev.c: Remove half-pic.
8365 * config/mips/mips.c: Ditto.
8366 * config/mips/mips.h: Ditto. Remove unused defines.
8367 * config/mips/openbsd.h: Update comment to reflect above.
8368 * config/mips/mips.md: Remove half-pic constraints.
8369 * halfpic.h: Delete.
8370 * halfpic.c: Ditto.
8371
80081028
JL
83722002-06-05 Jeffrey Law <law@redhat.com>
8373
5a9ee623
ZW
8374 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
8375 rejects (mem (lo_sum (reg) (unspec))), but will allow
8376 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 8377
cbc69f84
NB
83782002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
8379
8380 * cpphash.h (_cpp_create_definition): Update prototype.
8381 (_cpp_push_text_context, _cpp_create_trad_definition): New.
8382 ( cpp_lex_identifier_trad): New.
8383 (_cpp_set_trad_context): New.
8384 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
8385 * cpplib.c (SEEN_EOL): Update.
8386 (lex_macro_node): Update for -traditional.
8387 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
8388 * cppmacro.c (_cpp_create_definition): Split into
8389 create_iso_definition() and _cpp_create_trad_definition().
8390 (warn_of_redefinition): Update prototype; handle traditional
8391 macros.
8392 (_cpp_push_text_context): New.
8393 * cpptrad.c (skip_whitespace, push_replacement_text): New.
8394 (lex_identifier): Call ht_lookup with correct start.
8395 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
8396 _cpp_set_trad_context): New.
8397 (scan_out_logical_line): Update to handle changing contexts.
8398
dbf87f32
R
8399Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
8400
8401 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
8402 (shl*-*-elf*): Add.
8403 * config/sh/t-be (MULTILIB_ENDIAN): Set.
8404 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
8405 * t-sh (MULTILIB_ENDIAN): Set.
8406 (MULTILIB_OPTIONS): Use it.
8407 * t-sh64 (MULTILIB_OPTIONS): Likewise.
8408 (MULTILIB_DIRNAMES): Likewise.
8409
47b69537
GDR
84102002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
8411
8412 * toplev.h (report_error_function): Remove.
8413
8414 * diagnostic.h (location_t): New datatype.
8415 (text_info): Likewise.
8416 (diagnostic_info): Likewise.
8417 (output_prefix): New macro.
8418 (diagnostic_last_function_changed): Likewise.
8419 (diagnostic_set_last_function): Likewise.
8420 (diagnostic_last_module_changed): Likewise.
8421 (diagnostic_set_last_module): Likewise.
8422 (report_diagnostic): Now macro.
8423 (diagnostic_set_info): Declare.
8424
8425 * diagnostic.c (report_problematic_module): Rename to
33005162 8426 diagnostic_repor_current_module.
47b69537
GDR
8427 (set_diagnostic_context): Remove.
8428 (count_error): Rename to diagnostic_error_count.
8429 (error_function_changed): Remove.
8430 (record_last_error_function): Likewise.
8431 (error_module_changed): Likewise.
8432 (record_last_error_module): Likewise.
8433 (context_as_prefix): Rename to diagnostic_build_prefix.
8434 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
8435 (diagnostic_set_info): New function.
8436
8437 * objc/objc-act.c: #include diagnostic.h
8438 (error_with_ivar): Adjust call to count_error.
8439 (warn_with_method): Likewise.
8440 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
8441
540eaea8
BW
84422002-06-05 Bob Wilson <bob.wilson@acm.org>
8443
8444 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
8445 lang_hooks.types.make_type instead of make_node; set up
8446 __va_list_tag type decl.
8447 (xtensa_builtin_saveregs): Remove broken use of
8448 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
8449 for saved registers; add varargs alias set.
8450
f23a084d
NB
84512002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
8452
8453config:
8454 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
8455 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
8456 CPP_PREDEFINES and part of CPP_SPEC.
8457 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
8458 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
8459
3fe3a596
JH
8460Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
8461
8462 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
8463
1fd9ba59
AM
84642002-06-05 Alan Modra <amodra@bigpond.net.au>
8465
8466 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
8467
cea554e0
ZW
84682002-06-04 Zack Weinberg <zack@codesourcery.com>
8469
8470 * gengtype-yacc.y: Make sure all rules end with a semicolon.
8471
07232638
BW
84722002-06-04 Bob Wilson <bob.wilson@acm.org>
8473
8474 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
8475 typo in function prototype and include "ggc.h" header.
8476
c4b50f1a
RH
84772002-06-04 Richard Henderson <rth@redhat.com>
8478
8479 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
8480 (print_operand) ['U']: Likewise.
8481 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
8482 (alpha_expand_unaligned_store_words): Likewise.
8483 (alpha_expand_builtin_vector_binop): Fix typo.
8484 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
8485 umulh, and cix insns.
8486 (one_arg_builtins): Add cix builtins.
8487 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
8488 (alpha_expand_builtin): Fix typo in arity.
8489 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
8490 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
8491 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
8492 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
8493 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
8494 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
8495 builtin_ctlz, builtin_ctpop): New.
8496 * doc/extend.texi (Alpha Built-in Functions): Update.
8497
aaab35ae
GK
84982002-06-04 Geoffrey Keating <geoffk@redhat.com>
8499
afb0f770
GK
8500 * gengtype.c (write_gc_root): Don't unnecessarily prevent
8501 global variable-length arrays being roots.
8502
aaab35ae
GK
8503 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
8504 * configure.in (config_gtfiles): New variable.
8505 (all_gtfiles): Initialise from config_gtfiles.
8506 * configure: Regenerate.
8507
1ba7b414
NB
85082002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
8509
8510config/i386:
8511 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
8512 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
8513 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
8514 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
8515 win32.h (CPP_SPEC): Remove cpp_cpu.
8516 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
8517 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
8518
135ca7b2
JJ
85192002-06-04 Janis Johnson <janis187@us.ibm.com>
8520
8521 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
8522
85d69216 85232002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
8524 David Edelsohn <edelsohn@gnu.org>
8525 Michael Matz <matz@kde.org>
85d69216
JL
8526
8527 * sched-int.h (struct deps): New field libcall_block_tail_insn.
8528 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
8529 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
8530 is set, then mark the current insn as being part of a libcall
8531 scheduling group.
8532 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
8533
8534 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
8535 insns against the issue rate.
8536
63f4a88e
JH
8537Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
8538
8539 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
8540 * final.c (final_scan_insn): Likewise.
8541 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
8542 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
8543 * haifa-sched.c (unlink_other_notes): Likeewise.
8544 (reemit_notes): Likewise.
8545 * print-rtl.c (print_rtx): Likewise.
8546 * sched-deps (sched-analyze): Likewise.
8547 * rtl.c (note_insn_name): Likewise.
8548 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
8549 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
8550 (RANGE_*): Kill.
8551
a5d1f75b
JT
85522002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
8553
8554 * varasm.c (mark_constants): Handle RTX format 'B'.
8555
82eda77e
NB
85562002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
8557
8558 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
8559 (struct cpp_context): Add traditional fields.
8560 * cppmacro.c (paste_all_tokens, push_ptoken_context,
8561 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
8562 * cpptrad.c (skip_comment, lex_identifier,
8563 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
8564
589005ff
KH
85652002-06-04 Kazu Hirata <kazu@cs.umass.edu>
8566
8567 * gbl-ctors.h: Fix formatting.
8568 * gcc.c: Likewise.
8569 * gccspec.c: Likewise.
8570 * gcov.c: Likewise.
8571 * gcov-io.h: Likewise.
8572 * gcse.c: Likewise.
8573 * ggc-common.c: Likewise.
8574 * ggc.h: Likewise.
8575 * ggc-page.c: Likewise.
8576 * ggc-simple.c: Likewise.
8577 * global.c: Likewise.
8578 * graph.h: Likewise.
8579 * gthr-dce.h: Likewise.
8580 * gthr.h: Likewise.
8581 * gthr-posix.h: Likewise.
8582 * gthr-rtems.h: Likewise.
8583 * gthr-solaris.h: Likewise.
8584 * gthr-win32.h: Likewise.
8585
e2500fed
GK
85862002-06-03 Geoffrey Keating <geoffk@redhat.com>
8587
8588 Merge from pch-branch:
33005162 8589
e2500fed
GK
8590 * gengtype.h (UNION_OR_STRUCT_P): New macro.
8591 * gengtype.c (write_gc_structure_fields): Use it.
8592 (write_gc_root): Use it here too.
8593
8594 * gengtype.c (write_gc_structure_fields): Assume that lengths
8595 of typenames fit into an 'int'; don't pass a size_t to "%d" in
8596 printf.
8597 (write_gc_marker_routine_for_structure): Likewise.
8598 (write_gc_types): Likewise.
8599 (write_gc_root): Likewise.
8600
8601 * varray.h (VARRAY_CLEAR): New.
8602 (varray_clear): Prototype.
8603 * varray.c (varray_clear): New.
8604 * cselib.c (reg_values_old): New.
8605 (used_regs_old): New.
8606 (cselib_init): Use cached varrays if available to avoid
8607 generating large amounts of garbage.
8608 (cselib_finish): Don't throw away old varrays.
8609
8610 * final.c (insn_addresses_): Move out of ifdef.
8611
8612 * varray.c (uses_ggc): Make more varray kinds GCable.
8613 * varray.h (union varray_data_tag): Let gengtype see
8614 fields 'generic' and 'te'.
8615 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
8616 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
8617 (reg_to_stack): Don't call VARRAY_FREE.
8618 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
8619 (insn_addresses_): Use gengtype to mark.
8620 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
8621 pointers; handle generic pointers in unused union fields.
8622 (get_output_file_with_visibility): Include cselib.h,
8623 insn-addr.h in gtype-desc.c.
8624 * function.c (prologue): Use gengtype to mark.
8625 (epilogue): Likewise.
8626 (sibcall_epilogue): Likewise.
8627 * dependence.c: Include gt-dependence.h, ggc.h.
8628 (struct def_use): Use gengtype to mark.
8629 (struct loop): Likewise.
8630 (struct induction): Likewise.
8631 (struct dependence): Likewise.
8632 (def_use_chain): Likewise.
8633 (dep_chain): Likewise.
8634 (loop_chain): Likewise.
8635 (induction_chain): Likewise.
8636 (init_dependence_analysis): Don't free anything, just clear pointers.
8637 (build_def_use): Use GGC to allocate def_use.
8638 (add_loop): Use GGC to allocate loop.
8639 (find_induction_variable): Use GGC to allocate induction.
8640 (check_node_dependence): Use GGC to allocate induction, dependence.
8641 (dump_node_dependence): Don't free varrays.
8642 (end_dependence_analysis): Likewise.
8643 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
8644 (struct elt_loc_list): Likewise.
8645 (struct elt_list): Likewise.
8646 * cselib.c: Don't include obstack.h.
8647 (hash_table): Use gengtype to mark.
8648 (reg_values): Use gengtype to mark.
8649 (used_regs): Use gengtype to mark.
8650 (cselib_obstack): Delete.
8651 (cselib_startobj): Delete.
8652 (empty_vals): Mark as deletable.
8653 (empty_elt_lists): Mark as deletable.
8654 (empty_elt_loc_lists): Mark as deletable.
8655 (new_elt_list): Use GGC to allocate struct elt_list.
8656 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
8657 (clear_table): Don't delete obstack; don't unnecessarily clear
8658 deletable variables.
8659 (new_cselib_val): Use GGC to allocate struct cselib_val.
8660 (cselib_init): Don't set up obstacks. Use GGC to allocate
8661 hash table.
8662 (cselib_finish): Just clear variables, don't free anything.
8663 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
8664 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
8665 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
8666 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
8667 (gt-reg-stack.h): New rule.
8668 (gt-dependence.h): New rule.
8669 (gtype-desc.o): Add cselib.h, insn-addr.h.
8670
8671 * varray.c: Use only necessary headers.
8672 (element_size): New.
8673 (uses_ggc): New.
8674 (varray_init): Take type, not size. Use GGC if appropriate.
8675 (varray_grow): Update for change to struct varray_head_tag.
8676 Use GGC if appropriate.
8677 * varray.h (struct const_equiv_data): Use gengtype.
8678 (enum varray_data_enum): New.
8679 (union varray_data_tag): Use gengtype.
8680 (struct varray_head_tag): Use gengtype. Replace size field with
8681 enum varray_data_enum.
8682 (varray_init): Update prototype.
8683 (VARRAY_SCHED_INIT): Delete.
8684 (VARRAY_*_INIT): Update for change to varray_init.
8685 (VARRAY_SCHED): Delete.
8686 (VARRAY_PUSH_SCHED): Delete.
8687 (VARRAY_TOP_SCHED): Delete.
8688 * tree.h: Update for change to length specifier.
8689 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
8690 (clone_body): Likewise.
8691 * ssa.h (ssa_definition): Use gengtype to mark.
8692 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
8693 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
8694 * rtl.h (struct rtvec_def): Update for change to length specifier.
8695 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
8696 (struct initial_value_struct): Update for change to length specifier.
8697 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
8698 (ggc_add_tree_varray_root): Delete prototype.
8699 (ggc_mark_rtx_varray): Delete prototype.
8700 (ggc_mark_tree_varray): Delete prototype.
8701 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
8702 (ggc_add_tree_varray_root): Delete.
8703 (ggc_mark_rtx_varray): Delete.
8704 (ggc_mark_tree_varray): Delete.
8705 (ggc_mark_rtx_varray_ptr): Delete.
8706 (ggc_mark_tree_varray_ptr): Delete.
8707 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
8708 (create_varray): Delete prototype.
8709 * gengtype.c (varrays): Delete.
8710 (create_varray): Delete.
8711 (adjust_field_type): Detect array of string pointers.
8712 (process_gc_options): Remove code to handle varray_type option.
8713 (set_gc_used_type): Remove TYPE_VARRAY case.
8714 (output_escaped_param): New.
8715 (write_gc_structure_fields): Use output_escaped_param on all
8716 parameters. Handle 'skip' with 'use_param' option. Handle
8717 arrays of strings. Remove TYPE_VARRAY handling.
8718 (write_gc_roots): Use boolean to detect 'length' option.
8719 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
8720 (struct_fields): Call adjust_field_type on array fields.
8721 (type): Remove VARRAY_TYPE case.
8722 (type_option): Likewise.
8723 * gengtype-lex.l: Don't consider varray_type a keyword.
8724 * function.h: Update for change to length specifier.
8725 (free_eh_status): Delete prototype.
8726 * function.c (free_after_compilation): Don't call free_eh_status.
8727 (reorder_blocks): Don't use VARRAY_FREE.
8728 * except.c (struct eh_status): Update for change to length specifier.
8729 remove varray_type specifier.
8730 (free_eh_status): Delete.
8731 * dwarf2out.c: Include gt-dwarf2out.h.
8732 (used_rtx_varray): Use gengtype to mark, move
8733 outside ifdefs.
8734 (incomplete_types): Likewise.
8735 (decl_scope_table): Likewise.
33005162 8736 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
8737 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
8738 * c-tree.h (struct lang_type): Update for change to length specifier.
8739 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
8740 * c-objc-common.c: Include gt-c-objc-common.h.
8741 (deferred_fns): Mark for gengtype.
8742 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
8743 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
8744 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
8745 (gtype-desc.o): Update dependencies.
8746 (dwarf2out.o): Add gt-dwarf2out.h.
8747 (varray.o): Update dependencies.
8748 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
8749 (gt-c-objc-common.h): New rule.
8750 (gt-dwarf2out.h): New rule.
8751 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
8752
8753 * doc/gty.texi (GTY Options): Correct spelling.
8754 (GGC Roots): Likewise.
8755 * Makefile.in (TEXI_CPP_FILES): New.
8756 (TEXI_GCC_FILES): New.
8757 (TEXI_GCCINT_FILES): New.
8758 (TEXI_CPPINT_FILES): New.
8759 ($(docdir)/cpp.info): Use new macros.
8760 ($(docdir)/gcc.info): Likewise.
8761 ($(docdir)/gccint.info): Likewise.
8762 ($(docdir)/cppinternals.info): Likewise.
8763 (cpp.dvi): Likewise.
8764 (gcc.dvi): Likewise.
8765 (gccint.dvi): Likewise.
8766 (cppinternals.dvi): Likewise.
8767
8768 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
8769 * doc/gccint.texi (Top): Include gty.texi.
8770 * doc/gty.texi: New file.
8771
8772 * bitmap.c: Include ggc.h, gt-bitmap.h.
8773 (bitmap_ggc_free): New.
8774 (bitmap_elem_to_freelist): New.
8775 (bitmap_element_free): Use bitmap_elem_to_freelist.
8776 (bitmap_element_allocate): Allow use of GGC.
8777 (bitmap_clear): Use bitmap_elem_to_freelist.
8778 (bitmap_copy): Update for change to bitmap_element_allocate.
8779 (bitmap_set_bit): Likewise.
8780 (bitmap_operation): Update for changes elsewhere.
8781 (bitmap_initialize): Allow to create bitmaps that will use GGC.
8782 * bitmap.h (struct bitmap_element_def): Use gengtype.
8783 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
8784 (bitmap_initialize): Add extra parameter.
8785 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
8786 (BITMAP_ALLOCA): Delete.
8787 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
8788 (BITMAP_GGC_ALLOC): New.
8789 * Makefile.in (gtype-desc.o): Add bitmap.h.
8790 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
8791 (GTFILES): Add bitmap.c.
8792 (gt-bitmap.h): New rule.
8793 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
8794 * basic-block.h: Update for changes to bitmap_initialize.
8795 * except.c (exception_handler_label_map): Move into...
8796 (struct eh_status): Here.
8797 (struct eh_region): Make 'aka' GCable.
8798 (free_eh_status): Don't need to specially handle
8799 exception_handler_label_map.
8800 (add_ehl_entry): Update for changes to exception_handler_label_map.
8801 (find_exception_handler_labels): Likewise.
8802 (remove_exception_handler_label): Likewise.
8803 (maybe_remove_eh_handler): Likewise.
8804 (for_each_eh_label): Likewise.
8805 (remove_eh_handler): Allocate 'aka' using GGC.
8806 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
8807 to list of includes.
8808
8809 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 8810 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
8811 (write_gc_types): Arrange for the tests with NULL to be inlined.
8812 (write_gc_roots): Update uses of procedure pointers.
8813 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
8814
8815 * Makefile.in (explow.o): Add dependency on gt-explow.h.
8816 (sdbout.o): Add dependency on gt-sdbout.h.
8817
8818 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
8819 (mem_attrs_htab): Likewise.
8820 (init_emit_once): Don't call ggc_add_deletable_htab.
8821 * fold-const.c (size_htab): Use gengtype to clear unused entries.
8822 (size_int_type_wide): Don't call ggc_add_deletable_htab.
8823 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
8824 parameters, use them, change callers.
8825 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
8826 (write_gc_roots): Handle 'if_marked' option.
8827 (main): Don't need to call set_gc_used_type any more.
8828 * ggc.h (ggc_htab_marked_p): Delete.
8829 (ggc_htab_mark): Delete.
8830 (struct ggc_cache_tab): New.
8831 (gt_ggc_cache_rtab): New declaration.
8832 * ggc-common.c (struct d_htab_root): Delete.
8833 (d_htab_roots): Delete.
8834 (ggc_add_deletable_htab): Delete.
8835 (ggc_htab_delete): Handle new htab-deleting mechanism.
8836 (ggc_mark_roots): Use new htab-deleting mechanism.
8837 * tree.c (type_hash_table): Use gengtype to clear unused entries.
8838 Make static.
8839 (init_obstacks): Don't call ggc_add_deletable_htab.
8840
8841 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
8842 (struct hashed_entry): Likewise.
8843 (nst_method_hash_list): Likewise.
8844 (cls_method_hash_list): Likewise.
8845 (HASH_ALLOC_LIST_SIZE): Delete.
8846 (ATTR_ALLOC_LIST_SIZE): Delete.
8847 * objc/objc-act.c (hash_init): Use ggc to allocate
8848 nst_method_hash_list, cls_method_hash_list.
8849 (hash_enter): Use ggc to allocate; allocate one entry at a time.
8850 (hash_add_attr): Likewise.
8851 (ggc_mark_hash_table): Delete.
8852 (objc_act_parse_init): Delete.
8853 (objc_init): Delete reference to objc_act_parse_init.
8854 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
8855 obstack.h. Replace references to 'struct hash_table' with htab_t.
8856 (struct symbol_hash_entry): Replace hash header with key field.
8857 (struct file_hash_entry): Replace hash header with key field.
8858 (struct demangled_hash_entry): Replace hash header with key field.
8859 (hash_string_eq): New.
8860 (hash_string_hash): New.
8861 (symbol_hash_newfunc): Delete.
8862 (symbol_hash_lookup): Modify to use htab_t.
8863 (file_hash_newfunc): Delete.
8864 (file_hash_lookup): Modify to use htab_t.
8865 (demangled_hash_newfunc): Delete.
8866 (demangled_hash_lookup): Modify to use htab_t.
8867 (tlink_init): Modify to use htab_t.
8868 * hash.h: Delete.
8869 * hash.c: Delete.
8870 * ggc.h: Delete forward structure declarations.
8871 Delete prototypes for deleted functions.
8872 * ggc-common.c: Don't include hash.h.
8873 (ggc_add_tree_hash_table_root): Delete.
8874 (ggc_mark_tree_hash_table_entry): Delete.
8875 (ggc_mark_tree_hash_table): Delete.
8876 (ggc_mark_tree_hash_table_ptr): Delete.
8877 * gengtype.c (write_gc_structure_fields): Allow param_is option.
8878 (write_gc_marker_routine_for_structure): Use visibility of
8879 the parameter if there is one.
8880 * function.c: Replace hash.h with hashtab.h. Replace references
8881 to 'struct hash_table *' with htab_t.
8882 (struct insns_for_mem_entry): Include a plain key.
8883 (fixup_var_refs_insns_with_hash): Update to use htab_t.
8884 (insns_for_mem_newfunc): Delete.
8885 (insns_for_mem_hash): Update to use htab_t.
8886 (insns_for_mem_comp): Likewise.
8887 (insns_for_mem_walk): Likewise.
8888 * c-lang.c: Include ggc.h.
8889 * Makefile.in (OBJS): Remove hash.o.
8890 (c-lang.o): Add GGC_H.
8891 (COLLECT2_OBJS): Remove hash.o.
8892 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
8893 (ggc-common.o): Remove hash.h.
8894 (function.o): Remove hash.h, add HASHTAB_H.
8895 (genautomata.o): Remove hash.h, add HASHTAB_H.
8896
8897 * varasm.c (mark_const_str_htab_1): Delete.
8898 (mark_const_str_htab): Delete.
8899 (const_str_htab_del): Delete.
8900 (const_str_htab): Use gengtype to mark.
8901 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
8902 allocate them.
8903 * tree.c (mark_tree_hashtable_entry): Delete.
8904 (mark_tree_hashtable): Delete.
8905 * tree.h (mark_tree_hashtable): Delete prototype.
8906 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
8907 (ggc_mark): Likewise.
8908 (ggc_calloc): New.
8909 (htab_create_ggc): New.
8910 * ggc-common.c (ggc_calloc): New.
8911 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
8912 (struct type): Add param_struct structure.
8913 * gengtype.c (param_structs): New.
8914 (adjust_field_type): Handle param_is option.
8915 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
8916 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
8917 (write_gc_structure_fields): Add new PARAM parameter. Update
8918 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
8919 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
8920 Use it to generate function name. Update callers.
8921 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
8922 Process them.
8923 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
8924 option.
8925 (main): Define PTR as pointer-to-scalar. Don't specially
8926 mark deferred_string or ehl_map_entry.
8927 * gengtype-yacc.y (PARAM_IS): Add new token.
8928 (externstatic): Use adjust_field_type.
8929 (type_option): Add PARAM_IS.
8930 * gengtype-lex.l: Add rule for typedef of function pointers.
8931 Add rule for PARAM_IS.
8932 (IWORD): Add size_t.
8933 * except.c (exception_handler_label_map): Use gengtype to mark.
8934 (type_to_runtime_map): Likewise.
8935 (mark_ehl_map_entry): Delete.
8936 (mark_ehl_map): Delete.
8937 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
8938 (t2r_mark_1): Delete.
8939 (t2r_mark): Delete.
8940 * Makefile.in (gtype-desc.o): Correct dependencies.
8941 (GTFILES): Add hashtab.h.
8942 (genautomata.o): Actually uses hashtab.h.
8943
8944 * Makefile.in (stringpool.o): Add $(GGC_H).
8945 (dwarf2asm.o): Likewise.
8946 (GTFILES): Add hashtable.h.
8947 * c-common.h (struct c_common_identifier): Use gengtype.
8948 * c-decl.h (c_mark_tree): Delete.
8949 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
8950 * c-tree.h (struct lang_identifier): Use gengtype.
8951 (union lang_tree_node): New.
8952 (c_mark_tree): Delete prototype.
33005162 8953 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
8954 dwarf2_debug_hooks.
8955 * gengtype-lex.l (IWORD): Allow 'bool'.
8956 (ptr_alias): Match.
8957 * gengtype-yacc.y (ALIAS): New token.
8958 (type_option): New rule.
8959 (option): Use type_option.
8960 * gengtype.c (process_gc_options): New.
8961 (set_gc_used_type): Use it.
8962 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
8963 Add new variable 't' to hold the type of the field being processed.
8964 Add more error checking. Use UNION_P when looking at 'desc' option.
8965 Handle language-specific structures containing other
8966 language-specific structures.
8967 (write_gc_types): Handle 'ptr_alias' option.
8968 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
8969 * ggc-common.c (ggc_pending_trees): Delete.
8970 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
8971 (ggc_mark_trees): Delete.
8972 (gt_ggc_m_tree_node): Delete.
8973 * ggc.h (ggc_pending_trees): Delete.
8974 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
8975 * hashtable.h (ht_identifier): Use gengtype.
8976 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
8977 * langhooks.h (struct lang_hooks): Delete mark_tree.
8978 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
8979 anyway.
8980 * system.h: Poison LANG_HOOKS_MARK_TREE.
8981 * tree.c (tree_node_structure): New.
8982 * tree.h (struct tree_common): Use gengtype.
8983 (struct tree_int_cst): Likewise.
8984 (struct tree_real_cst): Likewise.
8985 (struct tree_string): Likewise.
8986 (struct tree_complex): Likewise.
8987 (struct tree_vector): Likewise.
8988 (struct tree_identifier): Likewise.
8989 (struct tree_list): Likewise.
8990 (struct tree_vec): Likewise.
8991 (struct tree_exp): Likewise.
8992 (struct tree_block): Likewise.
8993 (struct tree_type): Likewise.
8994 (struct tree_decl): Likewise.
8995 (enum tree_structure_enum): New.
8996 (union tree_node): Use gengtype, with an alias.
8997 (tree_node_structure): Prototype.
8998 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
8999
9000 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
9001 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
9002 to LANG_HOOKS_FUNCTION_FINAL.
9003 * Makefile.in (GTFILES): Add bitmap.h.
9004 * except.c (struct eh_region): Mark field 'aka' to be skipped.
9005
9006 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
9007 (alpha_init_machine_status): Give proper type.
9008 * Makefile.in (c-lang.o): Depend on gtype-c.h.
9009 (optabs.o): Depend on gt-optabs.h.
9010 (GTFILES): Add optabs.o.
9011 (gt-optabs.h): Add rule.
9012 * optabs.c: Include gt-optabs.h.
9013
9014 * gengtype.c (set_gc_used_type): Correct some errors in last change.
9015 (write_gc_structure_fields): If a field which should be NULL is
9016 not, abort.
9017 * c-pragma.c: Move struct align_stack and variable alignment_stack
9018 out from the ifdef.
9019
9020 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
9021 * config/xtensa/xtensa.c: Include gt-cris.h.
9022 (struct machine_function): Use gengtype to mark.
9023 * config/mmix/mmix.h (struct machine_function): Use gengtype
9024 to mark.
9025 * config/cris/t-cris: Add dependencies for gt-cris.h.
9026 * config/cris/cris.c: Include gt-cris.h.
9027 (struct machine_function): Use gengtype to mark.
9028 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
9029 to mark.
9030 * doc/tm.texi (Per-Function Data): Delete references to
9031 mark_machine_status.
9032 * config/ia64/ia64.c (ia64_override_options): Don't set
9033 mark_machine_status.
9034 * config/i386/i386.c (override_options): Likewise.
9035 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
9036 * config/arm/arm.c (arm_init_expanders): Likewise.
9037 * config/alpha/alpha.c (override_options): Likewise.
33005162 9038 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
9039 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
9040 (write_gc_structure_fields): Don't handle 'really' option.
9041 Handle 'maybe_null' option.
9042 (write_gc_types): Handle 'maybe_null' option.
9043 * function.h (struct function): Don't use "really".
9044 (mark_machine_status): Delete declaration.
9045 (mark_lang_status): Delete declaration.
9046 (gt_ggc_mr_machine_function): Delete prototype.
9047 (gt_ggc_mr_language_function): Delete prototype.
9048 * function.c (mark_machine_status): Delete.
9049 (mark_lang_status): Delete.
9050 (gt_ggc_mr_machine_function): Delete.
9051 (gt_ggc_mr_language_function): Delete.
9052 * c-tree.h (mark_c_function_context): Delete prototype.
9053 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
9054 * c-decl.c (struct language_function): Rename from struct
9055 c_language_function. Update uses. Use gengtype to mark.
9056 (mark_c_function_context): Delete.
9057 * c-common.h (struct c_language_function): Rename from struct
9058 language_function.
9059 (mark_stmt_tree): Delete prototype.
9060 (c_mark_lang_decl): Delete prototype.
9061 (mark_c_language_function): Delete prototype.
9062 * c-common.c (mark_stmt_tree): Delete.
9063 (c_mark_lang_decl): Delete.
9064 (mark_c_language_function): Delete.
9065
9066 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
9067 (lang_bitmap): New typedef. Use where appropriate.
9068 (struct type): Add gc_used field, lang_struct field.
9069 (UNION_P): New macro.
9070 (new_structure): New prototype.
9071 (find_structure): Remove 'pos' parameter. Change all callers.
9072 * gengtype-lex.l: Update for changes to find_structure.
9073 * gengtype-yacc.y (typedef_struct): Use new_structure.
9074 (yacc_ids): Suppress warning.
9075 (type): Use new_structure.
9076 * gengtype.c (string_type): Update for changes to struct type.
9077 (find_structure): Just find a structure, don't worry about
9078 creating one.
9079 (new_structure): New.
9080 (note_yacc_type): Use new_structure.
9081 (set_gc_used_type): New.
9082 (set_gc_used): New.
9083 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
9084 (write_gc_types): Handle TYPE_LANG_STRUCT.
9085 (write_gc_marker_routine_for_structure): New.
9086 (main): Call set_gc_used. Add some calls to set_gc_used_type
9087 for places where GCC doesn't use gengtype properly yet.
9088 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
9089 (gt_ggc_m_tree_node): Likewise.
9090
9091 * varasm.c (copy_constant): Call expand_constant if we hit
9092 something we can't recognise.
9093
9094 * ggc-common.c (ggc_mark_rtvec_children): Delete.
9095 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
9096 (lang_mark_false_label_stack): Delete.
9097 * rtl.h (struct rtvec_def): Use gengtype to mark.
9098 * ggc.h (ggc_mark_rtvec): Delete.
9099 (gt_ggc_m_rtvec_def): Delete.
9100 (ggc_mark_nonnull_tree): Delete.
9101 (ggc_mark_rtvec_children): Delete prototype.
9102 (lang_mark_false_label_stack): Delete declaration.
9103
9104 * gengtype.h (note_yacc_type): Add prototype.
9105 * gengtype.c (note_yacc_type): New function.
9106 * gengtype-lex.l: Add lexer support for yacc files.
9107 * gengtype-yacc.y (start): Extract union from yacc files.
9108 (yacc_union): New rule.
9109 (yacc_typematch): New rule.
9110 (yacc_ids): New rule.
9111 (enum_items): Tweak for efficiency.
9112 (optionseq): Likewise.
9113
9114 * c-common.h (struct language_function): Use gengtype.
9115 (struct c_lang_decl): Likewise.
9116 * c-tree.h (struct lang_decl): Likewise.
9117 (struct lang_type): Likewise.
9118 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
9119 tree language substructures.
9120
9121 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
9122 ggc_mark_tree.
9123 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
9124
9125 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
9126
9127 * stmt.c (struct nesting): Add discriminator. Use gengtype to
9128 mark. Remove 'data.block.cleanup_ptr' field.
9129 (struct stmt_status): Use usual technique to mark struct nesting.
9130 (gt_ggc_mr_nesting_cond): Delete.
9131 (gt_ggc_mr_nesting_loop): Delete.
9132 (gt_ggc_mr_nesting_block): Delete.
9133 (gt_ggc_mr_nesting_case_stmt): Delete.
9134 (expand_start_cond): Set discriminator.
9135 (expand_start_loop): Likewise.
9136 (expand_start_null_loop): Likewise.
9137 (expand_start_bindings_and_block): Set discriminator. Don't set
9138 deleted fields.
9139 (expand_decl_cleanup): Replace 'cleanup_ptr' with
9140 &thisblock->data.block.cleanups.
9141 (expand_start_case): Set discriminator.
9142 (expand_start_case_dummy): Set discriminator.
9143
9144 * ggc-callbacks.c: Remove.
9145
9146 * gengtype.h (struct type): Add 'u.s.bitmap' field.
9147 (find_structure): Add 'pos' parameter.
9148 * gengtype-lex.l: Update callers to find_structure.
9149 * gengtype-yacc.y: Likewise.
9150 * gengtype.c (find_structure): Allow for structures to be defined
9151 in multiple language backends.
9152 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
9153 (counter): Rename to gc_counter.
9154 (write_gc_structure_fields): Fail when writing out fields for
9155 an incomplete structure. Ignore arrays of scalars. Handle
9156 'tree_vec' special.
9157 (write_gc_types): Reset counter for each procedure written.
9158
9159 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
9160 (free_case_nodes): Delete.
9161 (expand_end_case_type): Delete call to free_case_nodes.
9162
9163 * Makefile.in (cselib.o): Include gt-<filename>.h.
9164 (gcse.o): Likewise.
9165 (profile.o): Likewise.
9166 (alias.o): Likewise.
9167 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
9168 alphabetize backend files.
9169 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
9170 * alias.c: Use gengtype for roots.
9171 * c-common.h (struct stmt_tree_s): Use gengtype.
9172 * c-decl.c: Use gengtype for roots.
9173 * cselib.c: Use gengtype for roots.
9174 * expr.c: Use gengtype for roots.
9175 * fold-const.c: Use gengtype for roots.
9176 * gcse.c: Use gengtype for roots.
9177 * gengtype-lex.l: Handle typedefs of function types.
9178 Allow for empty array bounds.
9179 Allow processing to stop on initialisers.
9180 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
9181 (semiequal): New rule.
9182 * gengtype.c (create_file): Tidy output files.
9183 (get_output_file_with_visibility): Fix paren warning. Fix bug
9184 involving multiple input files mapping to one output file.
9185 (write_gc_structure_fields): Skip arrays of scalars.
9186 (write_gc_types): Tidy output files.
9187 (write_gc_root): New function.
9188 (write_gc_roots): Fix bugs, add support for roots that are
9189 structures.
9190 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
9191 (ggc_mark_tree_ptr): Delete.
9192 (ggc_add_rtx_root): Delete.
9193 (ggc_add_tree_root): Delete.
9194 (ggc_del_root): Delete.
9195 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
9196 allocate struct initial_value_struct.
9197 * profile.c: Use gengtype for roots.
9198 * sdbout.c: Use gengtype for roots.
9199 * varasm.c (mark_weak_decls): Delete unused prototype.
9200 (mark_const_hash_entry): Delete unused function.
9201 * config/darwin-protos.h: Use gengtype for roots.
9202 (machopic_add_gc_roots): Delete.
9203 * config/arm/arm.c: Use gengtype for roots.
9204 * config/arm/arm.h: Use gengtype for roots.
9205 * config/c4x/c4x-protos.h: Use gengtype for roots.
9206 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
9207 * config/d30v/d30v-protos.h: Use gengtype for roots.
9208 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
9209 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
9210 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
9211 * config/ia64/ia64-protos.h: Use gengtype for roots.
9212 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
9213 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
9214 * config/m68hc11/m68hc11.c (z_reg): Make global.
9215 (z_reg_qi): Make global.
9216 (m68hc11_add_gc_roots): Delete.
9217 * config/mcore/mcore-protos.h: Use gengtype for roots.
9218 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
9219 * config/mips/mips.c (mips_add_gc_roots): Delete.
9220 * config/mips/mips.h: Use gengtype for roots.
9221 * config/mmix/mmix.c (override_options): Use gengtype for roots.
9222 * config/mmix/mmix.h: Use gengtype for roots.
9223 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
9224 * config/mn10200/mn10200.h: Use gengtype for roots.
9225 * config/pa/pa.c: Use gengtype for roots, marking.
9226 (struct deferred_plabel): Use GGC, gengtype.
9227 (pa_add_gc_roots): Delete.
9228 (mark_deferred_plabels): Delete.
9229 * config/pj/pj-protos.h: Use gengtype for roots.
9230 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
9231 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
9232 machopic_add_gc_roots.
9233 * config/rs6000/rs6000.h: Use gengtype for roots.
9234 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
9235 (gt-darwin.h): Add rule.
9236 * config/sh/sh.c: Use gengtype for roots.
9237 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
9238 (gt-sh.h): Add rule.
9239 * config/sparc/sparc.c: Use gengtype for roots.
9240 (sparc_add_gc_roots): Delete.
9241 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
9242 (mark_ultrasparc_pipeline_state): Delete.
9243 * config/sparc/sparc.h: Use gengtype for roots.
9244
9245 * Makefile.in (c-parse.o): Update dependencies.
9246 (c-common.o): Likewise.
9247 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
9248 Add dependencies for the files they generate.
9249 * c-common.c: Replace ggc_add_* uses with GTY annotations.
9250 * c-common.h: Likewise.
9251 * c-decl.c: Likewise.
9252 (gt_ggc_mp_binding_level): Delete.
9253 * c-lang.c: Include gtype-c.h.
9254 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
9255 gt-c-parse.h.
9256 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
9257 (gt_ggc_mp_align_stack): Delete.
9258 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
9259 * function.c: Replace ggc_add_* uses with GTY annotations.
9260 (gt_ggc_mp_function): Delete.
9261 * function.h: Replace ggc_add_* uses with GTY annotations.
9262 * gengtype.c (lang_names): New.
9263 (NUM_BASE_FILES): New.
9264 (open_base_files): Create language base files.
9265 (startswith): New.
9266 (get_file_basename): New.
9267 (get_base_file_bitmap): New.
9268 (get_output_file_with_visibility): Rename from get_output_file.
9269 Add more mappings for various C/Objc filenames.
9270 (finish_root_table): New.
9271 (write_gc_roots): Handle dependencies and scoping properly.
9272 * gengtype.h: Add prototypes for new functions.
9273 * ggc-common.c (struct deletable_root): Delete.
9274 (deletables): Delete.
9275 (ggc_add_deletable_root): Delete.
9276 (ggc_mark_roots): No need to deal with deleted functionality.
9277 * ggc.h (ggc_add_deletable_root): Delete prototype.
9278 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
9279 (gtype-objc.h): Add rule to create.
9280 * objc/config-lang.in (gtfiles): New.
9281 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
9282 ggc_add_* with GTY markers. Include gtype-objc.h.
9283 (ggc_mark_imp_list): Delete.
9284 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
9285 * objc/objc-lang.c: Random Whitespace Change.
9286
9287 * except.h (exception_handler_labels): Delete.
9288 (get_exception_handler_labels): New.
9289 * except.c (exception_handler_labels): Delete.
9290 (struct eh_status): Add exception_handler_labels field.
9291 (doing_eh): Don't add exception_handler_labels as root.
9292 (free_eh_status): Don't need to free exception_handler_labels.
9293 (get_exception_handler_labels): New.
9294 (find_exception_handler_labels): Update for move of
9295 exception_handler_labels.
9296 (remove_exception_handler_label): Likewise.
9297 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
9298 * jump.c (rebuild_jump_labels): Likewise.
9299 * loop.c (find_and_verify_loops): Likewise.
9300 * sched-rgn.c (is_cfg_nonregular): Likewise.
9301
9302 * gengtype.c (write_gc_structure_fields): Handle variable-length
9303 TYPE_ARRAYs.
9304
9305 * varasm.c (struct weak_syms): Use GGC, gengtype.
9306 (mark_weak_decls): Delete.
9307 (weak_decls): Likewise.
9308 (add_weak): Likewise.
9309 (remove_from_pending_weak_list): Likewise.
9310 (init_varasm_once): Likewise.
9311
9312 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
9313 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
9314 stor-layout.c, regclass.c, and lists.c.
9315 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
9316 gt-regclass.h and gt-lists.h on s-gtype.
9317 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
9318 * except.c: Use gengtype for roots.
9319 * explow.c: Use gengtype for roots. Include gt-explow.h.
9320 * expr.h (init_stor_layout_once): Delete prototype.
9321 * function.c: Use gengtype for roots.
9322 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
9323 * gengtype-yacc.y (start): Can also be an externstatic.
9324 (externstatic): New production.
9325 (struct_fields): Correct array bounds inversion for 2-d arrays.
9326 * gengtype.c (variables): New variable.
9327 (note_variable): New function.
9328 (get_output_file): Include libfuncs.h into gtype-desc.c.
9329 (get_output_file_name): New function.
9330 (write_gc_structure_fields): Suppress warnings.
9331 (write_gc_types): Make static.
9332 (put_mangled_filename): New function.
9333 (write_gc_roots): New function.
9334 (main): Call write_gc_roots.
9335 * gengtype.h (note_variable): Prototype.
9336 (get_output_file_name): Prototype.
9337 (write_gc_types): Delete prototype.
9338 * ggc.h: Clean up unnecessary structure predefinitions.
9339 (struct ggc_root_tab): Define.
9340 (gt_ggc_m_rtx_def): Make function, not macro.
9341 (gt_ggc_m_tree_node): Likewise.
9342 * libfuncs.h: Use gengtype for roots.
9343 * lists.c: Use gengtype for roots. Include gt-lists.h.
9344 (init_EXPR_INSN_LIST_cache): Delete.
9345 * optabs.c: Use gengtype for roots.
9346 (gt_ggc_mp_optab): Delete.
9347 * optabs.h: Use gengtype for roots.
9348 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
9349 * rtl.h: Use gengtype for roots.
9350 (init_EXPR_INSN_LIST_cache): Delete prototype.
9351 * stor-layout.c: Use gengtype for roots.
9352 Include gt-stor-layout.h.
9353 (init_stor_layout_once): Delete.
9354 * toplev.c: Use gengtype for roots. Delete calls to deleted
9355 routines.
9356 * tree.c: Use gengtype for roots.
9357 * tree.h: Use gengtype for roots.
9358 * varasm.c: Use gengtype for roots.
33005162 9359
e2500fed
GK
9360 * Makefile.in (GTFILES): Add @all_gtfiles@.
9361 * configure: Regenerate.
9362 * configure.in: Construct all_gtfiles from the gtfiles definitions
9363 in config-lang.in.
9364 * gengtype-yacc.y (type): Warn about duplicate structure names.
9365 * gengtype.c (get_output_file): Handle .c files in language
9366 subdirectories.
9367
9368 * Makefile.in (GTFILES): Run gengtype on all the config files
9369 and on the target .c file.
9370 * except.c (mark_eh_region): Delete.
9371 (init_eh_for_function): Use GGC on struct eh_status.
9372 (mark_eh_status): Delete.
9373 (free_eh_status): Use GGC.
9374 (expand_eh_region_start): Use GGC to
9375 (collect_eh_region_array): Allocate last_region_number using GGC.
9376 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
9377 (remove_eh_handler): Let GGC free struct eh_region.
9378 (add_call_site): Use GGC to reallocate call_site_record array.
9379 * function.c (init_machine_status): Update calling sequence.
9380 (mark_machine_status): Likewise.
9381 (mark_lang_status): Likewise.
9382 (prepare_function_start): Update init_machine_status call.
9383 (mark_function_status): Delete.
9384 (maybe_mark_struct_function): Delete.
9385 (ggc_mark_struct_function): Delete.
9386 (gt_ggc_mp_function): New.
9387 (gt_ggc_mr_machine_function): New.
9388 (gt_ggc_mr_language_function): New.
9389 (init_function_once): Use canonical names.
9390 * function.h (struct function): Use gengtype.
9391 (init_machine_status): Return the structure.
9392 (mark_machine_status): Take a 'void *'.
9393 (mark_lang_status): Likewise.
9394 * ggc-common.c (ggc_mark_trees): Use canonical name for
9395 ggc_mark_struct_function.
9396 * tree.h (ggc_mark_struct_function): Delete prototype.
9397 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
9398 (alpha_init_machine_status): Likewise.
9399 (override_options): Use canonical name for alpha_mark_machine_status.
9400 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
9401 * config/arm/arm.h (struct machine_function): Use gengtype.
9402 * config/arm/arm.c (arm_mark_machine_status): Delete.
9403 (arm_init_machine_status): Update calling sequence.
9404 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 9405 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
9406 calling sequence.
9407 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 9408 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
9409 calling sequence.
9410 (d30v_mark_machine_status): Delete.
9411 * config/i386/i386.c: Include gt-i386.h.
9412 (struct machine_function): Use gengtype.
9413 (ix86_init_machine_status): Update calling sequence.
9414 (ix86_mark_machine_status): Delete.
9415 (override_options): Use canonical namke for ix86_mark_machine_status.
9416 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 9417 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
9418 sequence.
9419 (ia64_mark_machine_status): Delete.
33005162 9420 (ia64_override_options): Use canonical name for
e2500fed 9421 ia64_mark_machine_status.
33005162 9422 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
9423 sequence.
9424 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
9425 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
9426 * gengtype.c (get_output_file): Fix warning.
9427 (main): Add prototype to suppress warning.
9428 * tree.c: Remove tree_hash_mark prototype.
9429
9430 * tree.h (init_stmt): Delete prototype.
9431 * toplev.c (lang_independent_init): Don't call init_stmt.
9432 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
9433 (stmt_obstack): Delete.
9434 (POPSTACK): No need to free 'struct nesting'.
9435 (gt_ggc_mr_nesting_cond): Use canonical names.
9436 (gt_ggc_mr_nesting_loop): Use canonical names.
9437 (gt_ggc_mr_nesting_block): Use canonical names.
9438 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
9439 (mark_stmt_status): Delete.
9440 (init_stmt): Delete.
9441 (clear_last_expr): Clear both last_expr_type and last_expr_value.
9442 Use it everywhere that last_expr_type was cleared.
9443 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
9444 (zap_lists): Delete.
9445 * ggc.h (ggc_add_deletable_root): Prototype.
9446 (mark_stmt_status): Remove prototype.
9447 * ggc-common.c (ggc_add_deletable_root): New.
9448 (ggc_mark_roots): Handle deletable roots.
9449 * function.c (ggc_mark_struct_function): Use canonical name
9450 for mark_stmt_status.
9451 * emit-rtl.c (free_sequence_stack): New.
9452 (start_sequence): Use a freelist for sequences.
9453 (end_sequence): Likewise.
9454 (init_emit_once): Add free_sequence_stack as a deleteable root.
9455 * c-pragma.c Include gt-c-pragma.h.
9456 (struct align_stack): Use gengtype.
9457 (push_alignment): Use GGC for struct align_stack.
9458 (mark_align_stack): Delete.
9459 (gt_ggc_mp_align_stack): New.
9460 (init_pragma): Use canonical name for mark_align_stack.
9461 * c-decl.c: Include gt-c-decl.h.
9462 (struct binding_level): Use gengtype.
9463 (make_binding_level): Use GGC; handle the freelist here.
9464 (pop_binding_level): New.
9465 (pushlevel): Move code into make_binding_level.
9466 (push_label_level): Likewise.
9467 (poplevel): Move code into pop_binding_level.
9468 (pop_label_level): Likewise.
9469 (mark_binding_level): Delete.
9470 (gt_ggc_mp_binding_level): New.
9471 (c_init_decl_processing): Use canonical name for mark_binding_level.
9472 Add free_binding_level as deletable root.
9473 (mark_c_function_context): Use canonical name for mark_binding_level.
9474 * Makefile.in (c-decl.o): Add gt-c-decl.h.
9475 (c-pragma.o): Add gt-c-pragma.h.
9476 (GTFILES): Add c-decl.c and c-pragma.c.
9477 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
9478
9479 * tree.c (struct type_hash): Use gengtype.
9480 (init_obstacks): Use canonical name for type_hash_mark.
9481 (type_hash_mark): Delete.
9482 Include gt-tree.h.
9483 * rtl.h (struct mem_attrs): Use gengtype.
9484 * optabs.h (struct optab): Use gengtype.
9485 * optabs.c (expand_binop): Squish signed/unsigned warning.
9486 (mark_optab): Make local, use canonical name, use autogenerated
9487 marker procedure.
9488 (init_optabs): Use canonical name for mark_optab.
9489 (new_optab): Use GGC to allocate optabs.
9490 * ggc.h: Delete mark_optab prototype.
9491 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
9492 mem_attrs marker procedure.
9493 * gengtype.c (get_output_file): Include headers in gtype-desc.c
9494 explicitly rather than deducing them from file names.
9495 (write_gc_structure_fields): Handle arrays of structures.
9496 (main): Return non-zero exit code if errors occur during output.
9497 * emit-rtl.c (mem_attrs_mark): Delete.
9498 (init_emit_once): Use canonical name for mem_attrs marker procedure.
9499 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
9500 (tree.o): Depend on gt-tree.h.
9501 (GTFILES): Add rtl.h, optabs.h, tree.c.
9502 (gt-tree.h): Add it to s-gtype rule.
9503
9504 * .cvsignore: Ignore gengtype flex/bison generated files.
9505 * Makefile.in (GGC_H): Add gtype-desc.h.
9506 (OBJS): Add gtype-desc.o.
9507 (GEN): Add gengtype.
9508 (STAGESTUFF): Add gengtype.
9509 (varasm.o): Add gt-varasm.h.
9510 (stmt.o): Add gt-stmt.h.
9511 (except.o): Add gt-except.h.
9512 (integrate.o): Add gt-integrate.h.
9513 (GTFILES): New.
9514 Add new rules for new files.
9515 * configure: Regenerate.
9516 * configure.in: Correct defaults.h paths.
9517 * emit-rtl.c (mark_sequence_stack): Delete.
9518 (mark_emit_status): Delete.
9519 (start_sequence): Allocate sequence structures using GGC.
9520 (end_sequence): Allocate sequence structures using GGC.
9521 * except.c: Use gengtype for various structures. Include
9522 gt-except.h.
9523 * expr.c (mark_expr_status): Delete.
9524 * function.c: Use gengtype for various structures. Include
9525 gt-function.h.
9526 (mark_function_status): Use standard gt_ggc names for marker functions.
9527 (ggc_mark_struct_function): Likewise.
9528 * function.h: Use gengtype for various structures.
9529 * gengtype-lex.l: New file.
9530 * gengtype-yacc.y: New file.
9531 * gengtype.c: New file.
9532 * gengtype.h: New file.
9533 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
9534 the standard names. Remove some now-unnecessary prototypes.
9535 * integrate.c: Use gengtype for various structures. Include
9536 gt-integrate.h.
9537 (mark_hard_reg_initial_vals): Delete.
9538 * integrate.h (mark_hard_reg_initial_vals): Delete.
9539 * stmt.c: Use gengtype for various structures. Include
9540 gt-stmt.h.
9541 (mark_case_node): Delete.
9542 (mark_goto_fixup): Delete.
9543 (mark_stmt_status): Use standard gt_ggc names for marker functions.
9544 * system.h: Define GTY to empty. In flex/bison files,
9545 don't poison malloc or realloc, instead just define them to
9546 xmalloc and xrealloc.
9547 * varasm.c: Use gengtype for various structures. Include
9548 gt-varasm.h. Use standard gt_ggc names for marker functions.
9549 (mark_pool_constant): Delete.
9550 (mark_varasm_status): Delete.
9551 (decode_rtx_const): #if 0 out non-typesafe hack.
9552
9553 * function.h (free_lang_status): Mark as obsolete.
9554 * function.c (free_lang_status): Mark as obsolete.
9555 * c-decl.c (push_c_function_context): Use GC to allocate and free
9556 struct language_function.
9557 (pop_c_function_context): Likewise.
9558 * c-common.c (mark_c_language_function): Mark struct
9559 language_function.
9560
9561 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
9562 Document that the machine_function structures must be allocated
9563 using GC. Update mark_machine_status documentation.
9564 * function.h: Don't declare free_machine_status.
33005162 9565 * function.c (free_machine_status): Don't define.
e2500fed
GK
9566 (free_after_compilation): Don't call free_machine_status.
9567 (ggc_mark_struct_function): Mark f->machine. Call
9568 mark_machine_status only on non-NULL pointers.
9569 * system.h: Poison free_machine_status.
9570 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
9571 struct machine_function.
9572 (xtensa_free_machine_status): Delete.
9573 (override_options): Don't set free_machine_status.
9574 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
9575 free_machine_status.
9576 (rs6000_init_machine_status): Use GC on struct machine_function.
9577 (rs6000_free_machine_status): Delete.
9578 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
9579 machine_function.
9580 (ia64_mark_machine_status): Likewise.
9581 (ia64_free_machine_status): Delete.
9582 (ia64_override_options): Don't set free_machine_status.
9583 * config/i386/i386.c (override_options): Don't set
9584 free_machine_status.
9585 (ix86_init_machine_status): Use GC on struct machine_function.
9586 (ix86_mark_machine_status): Likewise.
9587 (ix86_free_machine_status): Delete.
9588 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
9589 machine_function.
9590 (d30v_mark_machine_status): Likewise.
9591 (d30v_free_machine_status): Delete.
9592 (d30v_init_expanders): Don't set free_machine_status.
9593 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
9594 machine_function.
9595 (arm_init_machine_status): Likewise.
9596 (arm_free_machine_status): Delete.
9597 (arm_init_expanders): Don't set free_machine_status.
9598 * config/alpha/alpha.c (override_options): Don't set
9599 free_machine_status.
9600 (alpha_init_machine_status): Use GC on struct machine_function.
9601 (alpha_mark_machine_status): Likewise.
9602 (alpha_free_machine_status): Delete.
9603
9604 * varasm.c (compare_constant): Fix typo.
9605
9606 * varasm.c: Don't include obstack.h.
9607 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
9608 (struct rtx_const): Give substructures names, improve formatting.
9609 (struct constant_descriptor): Delete.
9610 (struct constant_descriptor_tree): New, based on constant_descriptor.
9611 (const_hash_table): Is a hash table of trees.
9612 (mark_const_hash_entry): Is used for hashes of trees. Mark
9613 constant_descriptor_tree structure.
9614 (mark_const_str_htab_1): Mark deferred_string structure.
9615 (compare_constant): Rewrite to compare trees.
9616 (compare_constant_1): Delete.
9617 (record_constant): Delete.
9618 (record_constant_1): Delete.
9619 (output_constant_def): Use struct constant_descriptor_tree.
9620 Don't duplicate trees twice.
9621 (struct constant_descriptor_rtx): New.
9622 (struct pool_constant): Used for rtx constants.
9623 (init_varasm_status): Update for change to struct varasm_status.
9624 (mark_varasm_status): Likewise.
9625 (free_varasm_status): Delete.
9626 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
9627 (record_constant_rtx): Likewise.
9628 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
9629 (force_const_mem): Likewise.
9630 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
9631 * function.c (free_after_compilation): Don't use free_varasm_status.
9632 * function.h: Don't prototype free_varasm_status.
9633
9634 * ggc-common.c (ggc_realloc): Handle X being NULL.
9635
9636 * ggc-common.c (ggc_realloc): New function.
9637 * ggc.h: Prototype it.
9638 * emit-rtl.c (free_emit_status): Delete.
9639 (init_emit): Allocate emit subarrays using GC.
9640 (gen_reg_rtx): Reallocate subarrays using GC.
9641 (init_emit): Use GC to allocate 'struct emit_status' and its
9642 subarrays.
9643 (mark_emit_status): Mark structure and its subarrays.
9644 * stmt.c (free_stmt_status): Delete.
9645 * expr.c (free_expr_status): Delete.
9646 * function.h: Remove prototypes for deleted functions.
9647 * function.c (free_after_compilation): Don't use deleted functions.
9648 Don't call free() on x_parm_reg_stack_loc.
9649 (free_after_parsing): Don't use free_stmt_status.
9650 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
9651 (mark_function_status): Mark x_parm_reg_stack_loc.
9652
9653 * varasm.c (init_varasm_status): Use GC to allocate
9654 'struct varasm_status' and its fields x_const_rtx_hash_table
9655 and x_const_rtx_sym_hash_table.
9656 (mark_varasm_status): Mark them.
9657 (free_varasm_status): Use GC to free them.
9658 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
9659 (mark_expr_status): Mark the structure itself.
9660 (free_expr_status): Use GC to free the structure.
9661 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
9662 (mark_stmt_status): Mark the 'struct stmt_status' itself.
9663 (init_stmt_for_function): Allocate the structure for GC.
9664
9665 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
9666 (equate_type_number_to_die): Likewise.
9667 * tree.h (TYPE_SYMTAB_DIE): New macro.
9668 (struct die_struct): Predeclare.
9669 (struct tree_type): Add field symtab.die. Add a tag
9670 to the union type of field symtab.
9671
9672 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
9673 'struct rtvec_def *', not 'struct rtvec_def'.
9674
9675 * function.h (original_arg_vector): Make a real rtvec.
9676 * function.c (ggc_mark_struct_function): Adjust.
9677 * integrate.c (expand_inline_function): Adjust.
9678
b655555e
JT
96792002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
9680
9681 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
9682 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
9683 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
9684 (TARGET_VERSION_CPU): Define according to the
9685 default target.
9686 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
9687 TARGET_VERSION_CPU.
9688 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
9689 if TARGET_SHMEDIA64.
9690 (LINK_DEFAULT_CPU_EMUL): Define according to the
9691 default target.
9692 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
9693 (SUBTARGET_LINK_SPEC): Define.
9694 (LINK_SPEC): Use SH_LINK_SPEC.
9695 (ASM_SPEC): Remove.
9696 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
9697 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
9698 and TARGET_SHMEDIA64 which abort, for now.
9699 * config/sh/t-netbsd-sh5: New file.
9700 * config/sh/t-netbsd-sh5-32: New file.
9701 * config/sh/t-netbsd-sh5-64: New file.
9702
6d8fd7bb
RH
97032002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9704 Richard Henderson <rth@redhat.com>
9705
9706 * config/alpha/alpha.c (reg_or_const_int_operand): New.
9707 (some_operand, input_operand): Accept CONST_VECTOR.
9708 (alpha_extra_constraint): Add 'W'.
9709 (alpha_expand_zap_mask): New.
9710 (alpha_expand_builtin_vector_binop): New.
9711 (enum alpha_builtin): New.
9712 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
9713 (alpha_init_builtins, alpha_expand_builtin): New.
9714 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
9715 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
9716 (PREDICATE_CODES): Update.
9717 * config/alpha/alpha-protos.h: Update.
9718 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
9719 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
9720 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
9721 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
9722 (movv2si, movv2si_fix, movv2si_nofix): New.
9723 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
9724 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
9725 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
9726 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
9727 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
9728 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
9729 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
9730 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
9731 builtin_unpkbw, unpkbw): New.
9732 * doc/extend.texi (Alpha Built-in Functions): New.
9733
618939de
RH
97342002-06-03 Richard Henderson <rth@redhat.com>
9735
9736 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
9737 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
9738
73db7137
RH
97392002-06-03 Richard Henderson <rth@redhat.com>
9740
6933647a
RH
9741 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
9742
73db7137
RH
9743 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
9744 (const0_operand): New.
9745 (reg_or_fp0_operand, fp0_operand): Remove.
9746 * config/alpha/alpha.h (PREDICATE_CODES): Update.
9747 * config/alpha/alpha-protos.h: Update.
9748 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
9749 and fp0_operand with reg_or_0_operand and const0_operand.
9750
a6f7c915
DN
97512002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
9752
9753 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
9754
b2f02503
RS
97552002-06-03 Roger Sayle <roger@eyesopen.com>
9756
9757 * gcse.c (cprop_jump): Use single_set to get the pattern
9758 from the setcc argument.
9759
4fcc2065
GDR
97602002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
9761
33005162 9762 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
9763 diagnostic_context.
9764 (diagnostic_kind_count): Adjust definition.
9765
5204d665
JH
9766Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
9767
9768 * except.c (except.c): Do not rebuild CFG.
9769 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
9770 optimization.
9771
0478a14c
JH
9772Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
9773
9774 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
9775 * toplev.c: Include cfglahout.h
9776 * Makefile.in (toplev.c): Add dependnecy.
9777
30efe578
NB
97782002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
9779
9780 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
9781 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
9782 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
9783
a782515b
JT
97842002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
9785
9786 * config/ns32k/netbsd.h: Update copyright years.
9787 (TARGET_OS_CPP_BUILTINS): Define.
9788 (CPP_PREDEFINES): Remove.
9789 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
9790 (TARGET_CPU_CPP_BUILTINS): Define.
9791
0fb7aeda
KH
97922002-06-02 Kazu Hirata <kazu@cs.umass.edu>
9793
589005ff 9794 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
9795 * errors.h: Likewise.
9796 * except.c: Likewise.
9797 * explow.c: Likewise.
9798 * expmed.c: Likewise.
9799 * expr.c: Likewise.
9800 * expr.h: Likewise.
9801
1c8ec18b
KH
98022002-06-02 Kazu Hirata <kazu@cs.umass.edu>
9803
9804 * config/h8300/elf.h: Fix formatting.
9805 * config/h8300/rtems.h: Likewise.
9806
86cb04f6
JT
98072002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
9808
9809 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
9810
5d83269d
TT
98112002-06-02 Tom Tromey <tromey@redhat.com>
9812
9813 * fixinc/fixincl.x: Rebuilt.
9814 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
9815
62f6a494
NB
98162002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9817
9818config/i370:
9819 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
9820 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
9821 * mvs.h: Similarly.
9822 * oe.h: Similarly.
9823
0acb0203
JH
9824Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
9825
9826 * final.c (final): Allow notes to not have computed addresses;
9827 kill no longer needed STACK_REGS ifdef.
9828
ada8d98a
RH
98292002-06-02 Richard Henderson <rth@redhat.com>
9830
9831 * gcse.c (bypass_conditional_jumps): Fix typo last change.
9832
ba4f7968
JH
9833Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
9834
ada8d98a
RH
9835 * loop.c (emit_prefetch_instructions): Properly place the address
9836 computation.
ba4f7968
JH
9837
9838Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
9839
9840 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
9841 (set_block_for_insn): Turn into macro.
9842 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
9843 * cfglayout.c (insn_scopes): Kill.
9844 (scope_to_insns_initialize): Do not use insn_scopes.
9845 (scope_to_insns_finalize): Likewise.
9846 (duplicate_insn_chain): Likewise.
9847 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
9848 * cfgrtl.c (basic_block_for_insn): Kill.
9849 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
9850 (create_basic_block_structure): Use reorder_insns.
9851 (compute_bb_for_insn): Do not use basic_block_for_insn.
9852 (merge_blocks_nomove): Likewise.
9853 (update_bb_for_insn): Likewise.
9854 (verify_flow_info): Likewise.
9855 (set_block_for_insn): Kill.
9856 * combine.c (try_combine): Update gen_rtx_INSN call.
9857 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
9858 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
9859 scopes and BBs.
9860 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
9861 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
9862 Clear BB.
9863 (emit_insns_after): Simplify.
9864 (emit_copy_of_insn_after): Copy scope.
9865 * final.c (final_start_function): Lower scopes.
9866 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
9867 * integrate.c (copy_insn_list): Cope scopes.
9868 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
9869 * loop.c (loop_optimize): Do not care block notes.
9870 * print-rtl.c (print_rtx): Print BB.
9871 * recog.c (apply_change_group): Simplify.
9872 * rtl.c (copy_rtx): Handle 'B'.
9873 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
9874 * rtl.h (Field accessors): Update indexes.
9875 * sched-ebb.c (schedule_ebbs): Do not lower notes.
9876 * sched-rgn.c (schedule_insns): Likewise.
9877 * toplev.c (rest_of_compilation): Lower notes.
9878 * unroll.c (unroll_loop): Do not care scoping notes.
9879 (copy_loop_body): Copy scopes.
9880
537fc532
NB
98812002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9882
9883config/h8300:
9884 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
9885 SUBTARGET_SPEC.
9886 * rtems.h: Similarly.
9887 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
9888 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
9889 (TARGET_CPU_CPP_BUILTINS): Use.
9890
ab780373
RH
98912002-06-02 Richard Henderson <rth@redhat.com>
9892
9893 * alias.c: Include target.h.
9894 (mark_constant_function): Use targetm.binds_local_p instead
9895 of checking TREE_PUBLIC ourselves.
9896 * Makefile.in (alias.o): Add TARGET_H.
9897
b9305c66
NB
98982002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9899
9900 * c-lex.c: Update copyright and file description.
9901
0ac3e0c4
NB
99022002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9903
9904 * config/fr30/fr30.h: Update to new CPP macros.
9905
be3a1d46
NB
99062002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9907
9908 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
9909
ceeedfc1 99102002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 9911 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
9912
9913 * c-common.c (c_common_init): Override cpplib's default
9914 warn_long_long setting.
9915 * c-lex.c (lex_number): Replace with interpret_integer,
9916 interpret_float, narrowest_unsigned_type and
9917 narrowest_signed_type, taking advantage of the new
9918 cpplib functionality.
9919 * cpperror.c (_cpp_begin_message): If a warning is turned
9920 into an error, avoid printing "warning:".
9921 * cppexp.c (cpp_num_sign_extend): New.
9922 * cppinit.c: Update comment.
9923 * cpplib.h (cpp_num_sign_extend): New.
9924 * tree.h: Update comment.
9925
27e511e0
GDR
99262002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
9927
9928 * diagnostic.h (struct diagnostic_context): Add new member
33005162 9929 internal_error.
27e511e0
GDR
9930 (internal_error_function): Remove declaration.
9931 * diagnostic.c (internal_error_function): Remove definition..
9932 (internal_error): Adjust use.
9933
818b6b7f
RH
99342002-06-02 Richard Henderson <rth@redhat.com>
9935
9936 * rtl.h (CC0_P): New.
9937 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
9938 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
9939 (bypass_block): Save old dest block for dump text.
9940 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
9941 Allow only true SET insns, not single_set.
9942
167143a0
GDR
99432002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
9944
9945 * diagnostic.c (diagnostic_finish): Rename to output_flush.
9946 (clear_disgnostic_info): Rename to output_clear_data. Use false
9947 instead of 0 for boolean value.
9948 Adjust function call throughout.
9949
eae4bc56
JH
9950Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
9951
9952 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
9953 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
9954
9eb404a0
NB
99552002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9956
9957 * d30v.h (CPP_PREDEFINES): Replace with
9958 (TARGET_CPU_CPP_BUILTINS): New.
9959
53e8b0b8
RS
99602002-06-02 Roger Sayle <roger@eyesopen.com>
9961
9962 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
9963
92e34b67
JH
9964Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
9965
9966 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
9967
e7e9d242
RH
99682002-06-02 Richard Henderson <rth@redhat.com>
9969
9970 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
9971
9af145ae
MM
99722002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
9973
9974 Support for C++ constructors/destructors.
9975 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
9976 instead of looping if main() returns.
9977 (asm_file_start): Output global symbols that cause .data and .bss
9978 initialization code to be linked in, unconditionally for now.
9979 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
9980 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
9981 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9982 (LIBSTDCXX): New.
9983 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
9984 (__tablejump__): New.
9985 (__do_copy_data, __do_clear_bss): New.
9986 (__do_global_ctors, __do_global_dtors): New.
9987 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
9988 _ctors, _dtors.
9989
0d66ad57
NB
99902002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9991
9992 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
9993 (CPP_SPEC, CPP_PREDEFINES): Kill.
9994 * c4x/rtems.h (CPP_PREDEFINES): Kill.
9995 (TARGET_OS_CPP_BUILTINS): New.
9996
5c856b23
JH
9997Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
9998
9999 * Makefile.in (tracer.o): New.
10000 * params.def (TRACER_*): New options.
10001 * rtl.h (tracer): Declare.
10002 * timevar.def (TV_TRACER): New.
10003 * toplev.c (dump_file_index): Add DFI_tracer.
10004 (dump_file_info): Add tracer.
10005 (flag_tracer): New.
10006 (lang_indepdenent_options): Add tracer.
10007 (rest_of_compilation): Call tracer.
10008 * tracer.c: New file.
10009 * invoke.texi (-ftracer): Document.
10010 (--param tracer-*): Document.
10011
e2405951
DB
100122002-06-01 Daniel Berlin <dberlin@dberlin.org>
10013
10014 * tree-inline.c (expand_call_inline): Make the statement
33005162 10015 expression we generate have a COMPOUND_STMT.
e2405951 10016
0e3f0221
RS
100172002-06-01 Roger Sayle <roger@eyesopen.com>
10018
10019 * gcse.c (cprop_cc0_jump): Function deleted.
10020 (cprop_jump): Take an additional argument which is the possibly
10021 NULL cc setting insn immediately before the conditional jump.
10022 When a MODE_CC set is present, substitute it into the JUMP_INSN
10023 before attempting the constant propagation.
10024 (cprop_insn): Recognize cc setters followed by conditional jumps
10025 as a special case. Use cprop_jump instead of cprop_cc0_jump.
10026 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
10027 (find_bypass_set): New function based upon find_avail_set used by
10028 cprop, but finds constant expressions available at the end of
10029 basic blocks.
10030 (bypass_block): New function. Given a basic block that begins
10031 with a conditional jump and multiple incoming edges, perform
10032 the jump bypass optimization.
10033 (bypass_conditional_jumps): New function. Call bypass_block with
10034 each suitable basic block in the CFG using a simple single pass.
10035
378393da
RS
100362002-06-01 Roger Sayle <roger@eyesopen.com>
10037
10038 * tree.c (real_minus_onep): New function to test for -1.0.
10039 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
10040
01c58f26
RS
100412002-06-01 Roger Sayle <roger@eyesopen.com>
10042
10043 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
10044 and "!p && !q" into "(p|q) == 0" under suitable conditions.
10045
91b12472
AJ
100462002-06-01 Andreas Jaeger <aj@suse.de>
10047
10048 * cppexp.c (cpp_classify_number): Cast precission to int for
10049 correct printf format.
10050
01e9ae86
MM
100512002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
10052
10053 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
10054 expected, but don't really exist: atmega83, atmega85, attiny10.
10055 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
10056 emulations for all devices.
10057 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
10058 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
10059
be1e06df
KH
100602002-06-01 Kazu Hirata <kazu@cs.umass.edu>
10061
10062 * config/h8300/h8300-protos.h: Add a prototype for
10063 h8300_shift_needs_scratch_p.
10064 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
10065 * config/h8300/h8300.h (OK_FOR_R): New.
10066 (OK_FOR_S): Likewise.
10067 (OK_FOR_T): Likewise.
10068 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
10069 * config/h8300/h8300.md (anonymous shift patterns): Use
10070 constraints R, S, and T.
10071
2ecfd709
ZD
10072Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10073
10074 * basic-block.h (struct basic_block_def): New field loop_father.
10075 (BB_VISITED): New flag.
10076 (struct loop): New field pred, removed field shared.
10077 (struct loops): New field parray.
10078 (LOOP_EXITS_DOMS): Removed.
10079 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
10080 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
10081 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
10082 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
10083 verify_loop_structure): Declare.
10084 * cfg.c (entry_exit_blocks): Initialize loop_father field.
10085 * cfganal.c (dfs_enumerate_from): New function.
10086 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
10087 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
10088 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
10089 flow_loop_dump, flow_loops_dump, flow_loops_free,
10090 flow_loop_tree_node_add, flow_loop_level_compute,
10091 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
10092 flow_loop_outside_edge_p): Modified for new infrastructure.
10093 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
10094 redirect_edge_with_latch_update, flow_loop_free): New static functions.
10095 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
10096 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
10097 find_common_loop, verify_loop_structure, loop_latch_edge,
10098 loop_preheader_edge): New functions.
10099 (flow_loops_cfg_dump): Do not show dominators, as this information
10100 does not remain up to date long.
10101 (flow_loops_find): Store results in new format.
10102 * predict.c (propagate_freq, estimate_probability,
10103 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
10104 infrastructure.
10105
d9763749 101062002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 10107
d9763749
AL
10108 * except.c (nothrow_function_p): Walk epilogue delay list
10109 checking the insn, not the chain for potential throws.
91b12472 10110
1e730c5c
ZW
101112002-05-31 Zack Weinberg <zack@codesourcery.com>
10112
10113 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
10114 (install): Refer to install-cpp directly.
10115 (uninstall-cpp): Folded into uninstall rule.
10116 * configure.in: Delete all code relating to --disable-cpp.
10117 * configure: Regenerate.
10118 * config/t-install-cpp: Delete.
10119
6f9b006d
RH
101202002-05-31 Richard Henderson <rth@redhat.com>
10121
10122 * configure.in (HAVE_AS_TLS): Add alpha tests.
10123 * configure: Rebuild.
10124 * config/alpha/alpha.c (TARGET_AS_TLS): New.
10125 (alpha_tls_size, alpha_tls_size_string): New.
10126 (overide_options): Set it. Always install machine_status hooks.
10127 (input_operand): Accept got tls predicates.
10128 (local_symbol_p): Merge into ...
10129 (local_symbolic_operand): ... here. Reject tls symbols.
10130 (global_symbolic_operand): Likewise.
10131 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
10132 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
10133 (tp16_symbolic_operand, tp32_symbolic_operand): New.
10134 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
10135 (alpha_encode_section_info): Handle TLS symbols.
10136 (alpha_strip_name_encoding): Likewise.
10137 (alpha_legitimate_address_p): Likewise.
10138 (alpha_legitimize_address): Likewise.
10139 (alpha_expand_mov): Early exit to avoid nop moves.
10140 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
10141 (alpha_init_machine_status, alpha_mark_machine_status,
10142 alpha_free_machine_status): Always define.
10143 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
10144 (print_operand, print_operand_address): Add TLS relocs.
10145 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
10146 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
10147 (TARGET_SWITCHES): Add -mtls-kernel.
10148 (alpha_tls_size, alpha_tls_size_string): New.
10149 (TARGET_OPTIONS): Add -mtls-size=.
10150 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
10151 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
10152 (ASM_OUTPUT_LABELREF): Skip %.
10153 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
10154 (PREDICATE_CODES): Update.
10155 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
10156 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
10157 UNSPEC_TP, UNSPECV_SET_TP): New.
10158 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
10159 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
10160 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
10161 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
10162 (call_value_osf_2_er): Accept anything as op4.
10163 * config/alpha/alpha-protos.h: Update.
10164 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
10165
39e5db1a
ZW
101662002-05-31 Zack Weinberg <zack@codesourcery.com>
10167
10168 * cppinit.c (append_include_chain): Always pay attention to
10169 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
10170 marker on argument.
10171
41077ce4
KH
101722002-05-31 Kazu Hirata <kazu@cs.umass.edu>
10173
10174 * target.h: Fix formatting.
10175 * timevar.h: Likewise.
10176 * tlink.c: Likewise.
10177 * toplev.c: Likewise.
10178 * toplev.h: Likewise.
10179 * tree.c: Likewise.
10180 * tree-dump.h: Likewise.
10181 * tree.h: Likewise.
10182 * tree-inline.h: Likewise.
10183 * unroll.c: Likewise.
10184 * unwind-dw2.c: Likewise.
10185 * unwind-dw2-fde.c: Likewise.
10186 * unwind-dw2-fde-glibc.c: Likewise.
10187 * unwind-dw2-fde.h: Likewise.
10188 * unwind.h: Likewise.
10189 * unwind-sjlj.c: Likewise.
10190 * varasm.c: Likewise.
10191 * varray.h: Likewise.
10192 * vmsdbg.h: Likewise.
10193 * vmsdbgout.c: Likewise.
10194 * xcoffout.h: Likewise.
10195
b2e426a0
IS
101962002-05-31 Igor Shevlyakov <igor@microunity.com>
10197
1e730c5c 10198 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
10199 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
10200
8b968bd1
MW
102012002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
10202
10203 * gcc.c (cpp_unique_options): Remove "-d" options.
10204 (cpp_debug_options): New spec string.
10205 (default_compilers): Use it.
10206 * objc/lang-specs.h: Likewise.
10207
5c35940c
NN
102082002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
10209
1e730c5c 10210 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
10211 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
10212 * gcc/mklibgcc.in: Likewise.
10213 * gcc/config/arc/t-arc: Likewise.
10214 * gcc/configure.in: Likewise.
10215 * gcc/configure: Regenerate.
10216
8b496ceb
SS
102172002-05-31 Stan Shebs <shebs@apple.com>
10218 Turly O'Connor <turly@apple.com>
10219
10220 * c-decl.c (struct binding_level): Change int field n_incomplete
10221 to tree list incomplete_list.
10222 (clear_binding_level): Init field with NULL.
10223 (pushdecl): Add incomplete type to list.
10224 (mark_binding_level): Mark the incomplete list.
10225 (finish_struct): Scan the incomplete list for types instead
10226 of all decls in the current binding level.
10227
4722213d
JDA
102282002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10229
10230 * pa.c (output_millicode_call): Add missing '%' characters.
10231 (output_call): Likewise.
10232
1086fcb1
DE
102332002-05-31 David Edelsohn <edelsohn@gnu.org>
10234
10235 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
10236 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
10237
afdfb380 102382002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 10239
afdfb380
AL
10240 * varasm.c (mark_constant_pool): Walk epilogue delay list
10241 checking the insn, not the chain for potential constants.
1e730c5c 10242
f2df45f6
R
10243Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
10244
10245 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
10246
91ea38f9
JH
10247Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
10248
10249 * i386.c (classify_argument): Properly handle base types.
10250
10251 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
10252 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
10253 registers.
10254
10d1bb36
JH
10255Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
10256
10257 * gcse.c (gcse_emit_move_after): New.
10258 (pre_delete, hoist_store): Use it.
10259
10260 * reload1.c (emit_input_reload_insns): Use constrain_operands
10261 instead of constraint_accepts_reg_p to verify optimization.
10262 (constraint_accepts_reg_p): Kill
10263
10264 * reload1.c (reload_cse_delete_noop_set): Kill.
10265 (reload_cse_simplify): use delte_insn_and_edges.
10266
8a72fb76
ZD
102672002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10268
10269 * cfgloop.c (flow_loops_find): Initialize first and last fields
10270 correctly.
10271
a9da2e5b
NB
102722002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
10273
10274 * c-common.c (builtin_define_std): Correct logic.
10275
6248c4dd
JDA
102762002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10277
10278 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
10279 (output_call): Likewise.
10280
d499455b
JDA
102812002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10282
10283 * pa.c: Move output.h include after tree.h include.
10284 (pa_asm_output_mi_thunk): Constify identifier lab.
10285
2eb2901a
JT
102862002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10287
10288 * config/ns32k/ns32k.h: Define named constants for the
10289 bits in target_flags and use them.
10290 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
10291
806bf413
JDA
102922002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10293
10294 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
10295 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
10296 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
10297 default scheduling model.
10298 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
10299 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
10300 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
10301 * doc/install.texi (hppa*-*-*): Document default scheduling.
10302
6d8d2bbc
JDA
103032002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10304
10305 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
10306
c8eb9785
JT
103072002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10308
10309 * config.gcc (ns32k-*-netbsd*): Set tm_file to
10310 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
10311 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
10312 netbsd.h, or netbsd-aout.h.
10313
6e2e5b6a
JT
103142002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10315
10316 * longlong.h (count_trailing_zeros): Add missing \, and clean up
10317 whitespace in __ns32000__ case.
10318
00182e1e
AH
103192002-05-31 Aldy Hernandez <aldyh@redhat.com>
10320
1e730c5c
ZW
10321 * expr.c (expand_expr): Output partially zeroed out vectors with
10322 output_constant_def.
00182e1e 10323
b4eb03fe
JT
103242002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10325
10326 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
10327 (sh-*-netbsdelf*)
10328 (shl*-*-netbsdelf*): New targets.
10329 * config/sh/netbsd-elf.h: New file.
8fd0df91 10330 * config/sh/t-netbsd: New file.
b4eb03fe 10331
261376e7
RH
103322002-05-30 Richard Henderson <rth@redhat.com>
10333 Eric Botcazou <ebotcazou@multimania.com>
10334
10335 PR optimization/6822
10336 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
10337 to unsigned int for op1 comparisons. Use gen_int_mode.
10338
ce60bf25
EB
103392002-05-30 Eric Botcazou <ebotcazou@multimania.com>
10340
10341 * expmed.c (const_mult_add_overflow_p): New.
10342 * expr.h: Declare it.
10343 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
10344 Don't eliminate the biv if the giv has a constant multiplier and
10345 the rhs argument of the comparison does satisfy the predicate.
10346 Use expand_mult_add to compute the replacement constant.
10347
d18b1ed8
OS
103482002-05-30 Osku Salerma <osku@iki.fi>
10349
10350 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
10351 (c_common_get_alias_set): Handle it.
10352 * doc/extend.texi: Document it.
10353
a7943381
RH
103542002-05-30 Richard Henderson <rth@redhat.com>
10355
10356 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10357 * toplev.c (process_options): Don't check it.
10358 * doc/tm.texi: Don't document it.
10359 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
10360 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10361 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
10362 frame pointer optimization if current_function_profile.
10363
e11e816e
KH
103642002-05-30 Kazu Hirata <kazu@cs.umass.edu>
10365
10366 * langhooks.c: Fix formatting.
10367 * langhooks.h: Likewise.
10368 * lcm.c: Likewise.
10369 * libgcc2.c: Likewise.
10370 * lists.c: Likewise.
10371 * local-alloc.c: Likewise.
10372 * loop.c: Likewise.
10373 * loop.h: Likewise.
10374
103752002-05-30 Marc Espie <espie@openbsd.org>
10376
10377 * config.gcc (sparc64-*-openbsd*): New.
10378 * config/sparc/openbsd1-64.h: New.
10379 * config/sparc/openbsd64.h: New.
91f0fcee 10380
d35dfca9
JL
103812002-05-30 Jeff Law <law@redhat.com>
10382
10383 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
10384 a dead insn with a REG_RETVAL note when the entire libcall is not
10385 dead and remove the associated REG_LIBCALL note at the same time.
10386
81b40b72
R
10387Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
10388
10389 * lcm.c (output.h): #include.
10390 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
10391 as an ordinary block.
10392 (optimize_mode_switching): Don't pretend that the exit block is
10393 an ordinary block, or handle sucessors of entry block specially.
10394 Instead, split edges from entry block and to exit block, and
10395 put a computing definition on the thus gained post-entry-block,
10396 and a need on the pre-exit-block.
10397
c8ea9a0f
JH
10398Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
10399
10400 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
10401 * rtl.texi: Document 'B'
10402
348f0869
JT
104032002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10404
10405 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
10406 at run-time.
10407 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
10408
9a171fcd
AH
104092002-05-30 Aldy Hernandez <aldyh@redhat.com>
10410
1e730c5c
ZW
10411 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
10412 const0_rtx instead of NULL_RTX when in error.
10413 (altivec_expand_abs_builtin): Same.
10414 (rs6000_expand_binop_builtin): Same.
10415 (altivec_expand_predicate_builtin): Same.
10416 (altivec_expand_stv_builtin): Same.
10417 (rs6000_expand_ternop_builtin): Same.
10418 (altivec_expand_builtin): Same.
9a171fcd 10419
62a35e60
DM
104202002-05-29 David S. Miller <davem@redhat.com>
10421
10422 * rtl.h (clear_emit_caches): Delete.
10423 * integrate.c (output_inline_function): Don't call it.
10424 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
10425 (clear_emit_caches): Delete definition.
10426 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
10427
cbc39da8
HPN
104282002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
10429
10430 * config/mmix/mmix.c: Include real.h.
10431 (mmix_constant_address_p): Remove redundant test before switch.
10432
50efa737
JT
104332002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10434
10435 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
10436 only if not already defined.
10437
2e760b15
KH
104382002-05-29 Kazu Hirata <kazu@cs.umass.edu>
10439
10440 * config/h8300/h8300-protos.h: Remove prototypes for
10441 ok_for_bclr and small_power_of_two.
10442 * config/h8300/h8300.c (small_power_of_two): Remove.
10443 (ok_for_blcr): Likewise.
10444 (fix_bit_operand): Make WHAT deal with an integer instead of a
10445 constraint character.
10446 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
10447 (CONST_OK_FOR_P): Likewise.
10448 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
10449 CONST_OK_FOR_P any more.
10450 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
10451 of fix_bit_operand.
10452 (iorqi3): Likewise.
10453 (xorqi3): Likewise.
10454
e1c293ae
JT
104552002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10456
10457 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10458 (CPP_PREDEFINES): Make sure this is undefined.
10459 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
10460 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
10461 or -U__MIPSEB__ before defining one or the other. Instead,
10462 use %(subtarget_endian_default) if neither -EB nor -EL are
10463 specified.
10464 (SUBTARGET_EXTRA_SPECS): Define.
10465 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
10466 %(netbsd_cpp_spec).
10467
fde6d81f
HPN
104682002-05-29 Hans-Peter Nilsson <hp@axis.com>
10469
10470 * doc/md.texi (Patterns): Note pattern condition pitfall
10471 for unnamed insn.
10472
92898235
AH
104732002-05-29 Aldy Hernandez <aldyh@redhat.com>
10474
1e730c5c
ZW
10475 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
10476 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
10477 ternary operations from here...
10478 (rs6000_expand_builtin): ...to here.
10479 New argument expandedp.
10480 Change all instances of altivec_expand_binop_builtin to
10481 rs6000_expand_binop_builtin.
10482 (altivec_expand_unop_builtin): Rename to
10483 rs6000_expand_unop_builtin.
10484 (altivec_expand_binop_builtin): Rename to
10485 rs6000_expand_binop_builtin.
10486 (altivec_expand_ternop_builtin): Rename to
10487 rs6000_expand_ternop_builtin.
92898235 10488
67adf6a9
RH
104892002-05-29 Richard Henderson <rth@redhat.com>
10490
10491 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
10492 (TARGET_BI_ARCH): Likewise.
10493 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
10494 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
10495 (TARGET_64BIT_DEFAULT): Default to 0.
10496 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
10497
145aacc2
RH
104982002-05-29 Richard Henderson <rth@redhat.com>
10499
10500 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
10501 (get_pc_thunk_name): New.
10502 (output_set_got): Use it.
10503 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
10504 into linkonce sections.
10505
a5b49bbc
JT
105062002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10507
10508 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10509 (CPP_PREDEFINES): Make sure this is undefined.
10510 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
10511 (CPP_SUBTARGET_SPEC): Don't provide different versions for
10512 default-32 and default-64. Just always use %(netbsd_cpp_spec).
10513 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
10514 cpp_subtarget_spec64. Add netbsd_cpp_spec.
10515 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10516 (CPP_PREDEFINES): Make sure this is undefined.
10517 (SUBTARGET_EXTRA_SPECS): Define.
10518 (CPP_SPEC): Use %(netbsd_cpp_spec).
10519
54374491
JL
105202002-05-29 Jeff Law <law@redhat.com>
10521
ae02eae8
JL
10522 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
10523
b862c2aa
JL
10524 * flow.c (propagate_one_insn): Do not remove a dead insn if it
10525 contains a REG_RETVAL note.
10526
d10791ba
JL
10527 * haifa-sched (sched_analyze): Remove another useless clearing
10528 of SCHED_GROUP_P I missed yesterday.
10529
54374491
JL
10530 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
10531 * pa.c (pa_asm_output_mi_thunk): New function.
10532 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
10533
92c392e6
NB
105342002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10535 Marek Michalkiewicz <marekm@amelek.gda.pl>
10536
10537 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
10538 (avr_asm_only_p): Make non-static.
10539 (enum avr_arch): Remove.
10540 (avr_arch_types): New.
10541 (avr_mcu_types): Update.
10542 (avr_override_options): Use avr_arch_types table instead of switch.
10543 * avr.h (CPP_PREDEFINES): Die.
10544 (avr_base_arch_macro, avr_extra_arch_macro): New.
10545 (TARGET_CPU_CPP_BUILTINS): New.
10546 (CPP_SPEC, EXTRA_SPECS): Simplify.
10547 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
10548 CPP_AVR5_SPEC): Die.
10549
4528173e
JT
105502002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10551
10552 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
10553 NETBSD_OS_CPP_BUILTINS_AOUT.
10554 (SUBTARGET_EXTRA_SPECS): Define.
10555 (CPP_SPEC): Use %(netbsd_cpp_spec).
10556
bd09bdeb
RH
105572002-05-29 Richard Henderson <rth@redhat.com>
10558
10559 * config/i386/i386.c (ix86_output_function_epilogue): New.
10560 (TARGET_ASM_FUNCTION_EPILOGUE): New.
10561 (pic_label_name): Remove.
10562 (pic_labels_used): New.
10563 (ix86_asm_file_end): Emit one pc load stub for each register used.
10564 (output_set_got): Generate deep pc load to any register.
10565 (ix86_select_alt_pic_regnum): New.
10566 (ix86_save_reg): Don't save pic register if we can find a valid
10567 call-clobbered replacement.
10568 (ix86_expand_prologue): If we found a valid replacement, renumber
10569 pic_offset_table_rtx.
10570 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
10571 pic_offset_table_rtx after reload.
10572 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
10573 * config/i386/i386.md (set_got): Make insn, not expander.
10574 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
10575
002ff5bc
RH
105762002-05-29 Richard Henderson <rth@redhat.com>
10577
10578 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
10579 alignment for alloca.
10580
edfe8595
RH
105812002-05-29 Richard Henderson <rth@redhat.com>
10582
10583 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
10584 (print_operand_address): Only add rip for symbolic addresses
10585 for which we do not have another relocation type.
10586
cd7714ee
JT
105872002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10588
10589 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10590 (EXTRA_SPECS): Add netbsd_cpp_spec.
10591 (CPP_SPEC): Use %(netbsd_cpp_spec).
10592 (CPP_PREDEFINES): Remove.
10593 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10594 (EXTRA_SPECS): Define.
10595 (CPP_SPEC): Use %(netbsd_cpp_spec).
10596 (CPP_PREDEFINES): Remove.
10597
8dc901de
NB
105982002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10599
10600 PR preprocessor/6844
10601 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
10602 NUL.
10603
2274b31a
EC
106042002-05-29 Eric Christopher <echristo@redhat.com>
10605
10606 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
10607 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
10608
5c7666c1
NC
106092002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
10610
10611 * config/fr30/fr30.md: Remove previous restriction on splits.
10612 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 10613 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
10614 as the assembler does not support ".bss".
10615
45beef47
JT
106162002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10617
10618 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10619 (CPP_PREDEFINES): Remove.
10620 (SUBTARGET_EXTRA_SPECS): Define.
10621 (CPP_SPEC): Use %(netbsd_cpp_spec).
10622 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10623 (CPP_PREDEFINES): Remove.
10624 (SUBTARGET_EXTRA_SPECS): Define.
10625 (CPP_SPEC): Use %(netbsd_cpp_spec).
10626 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
10627 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
10628 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
10629 Add netbsd_cpp_spec.
10630 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
10631
cd7ab83f
NB
106322002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10633 Zack Weinberg <zack@codesourcery.com>
10634
10635 * cppexp.c (cpp_num): Move to cpplib.h.
10636 (CPP_ERROR): Remove.
10637 (interpret_float_suffix, interpret_int_suffix): New.
10638 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
10639 (cpp_classify_number, cpp_interpret_integer): New.
10640 (interpret_number): Remove.
10641 (eval_token): Update to use new routines.
10642 * cpphash.h (cpp_num_part): Move to cpplib.h.
10643 * cppinit.c (cpp_post_options): Set warn_long_long.
10644 * cpplib.h (struct cpp_options): Add warn_long_long.
10645 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
10646 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
10647 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
10648 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
10649 cpp_interpret_integer): New.
10650
61a8515c
JS
106512002-05-29 Joel Sherrill <joel@OARcorp.com>
10652
10653 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
10654
53a428b5
JT
106552002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10656
10657 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
10658 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
10659 (CPP_SUBTARGET_SPEC): Define.
10660 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
10661 (CPP_SPEC): Remove.
10662
45b1f7c7
CL
106632002-05-29 Chris Lattner <sabre@nondot.org>
10664
1e730c5c
ZW
10665 * ssa.c (rename_insn_1): Rename uses of undefined registers to
10666 prevent confusion if/when the register is defined.
45b1f7c7 10667
049746c2
HPN
106682002-05-29 Hans-Peter Nilsson <hp@axis.com>
10669
10670 PR target/6838
10671 * config/cris/cris.md: Fix typos and thinkos in comments.
10672 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
10673 second alternative.
10674 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
10675 ("*mov_sideqi_mem"): Similar, but for operand 3.
10676 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
10677 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
10678 Remove spurious mode specifier on operand 2.
10679
4d4d89e2
KH
106802002-05-29 Kazu Hirata <kazu@cs.umass.edu>
10681
10682 * config/h8300/h8300-protos.h: Remove the prototype for
10683 o_operand.
10684 Add prototypes for single_one_operand and single_zero_operand.
10685 * config/h8300/h8300.c (o_operand): Remove.
10686 (single_one_operand): New.
10687 (single_zero_operand): Likewise.
10688 (print_operand): For 'V' operand, and the operand with 0xff.
10689 For 'V' and 'W' operands, do not and the bit position with 7.
10690 * config/h8300/h8300.md (various anonymous patterns): Replace
10691 use of exact_log2 with single_one_operand/single_zero_operand.
10692
abd6ddec
UW
106932002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
10694
10695 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
10696
da06d85a
UW
106972002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
10698
10699 * config/s390/s390.c (legitimate_pic_operand_p): Do not
10700 accept symbolic LARL operands.
2274b31a 10701 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 10702 epilogue insns.
2274b31a 10703
f8766020
HP
107042002-05-29 Hartmut Penner <hpenner@de.ibm.com>
10705
10706 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 10707 input registers as used.
f8766020 10708
66edd3b4
RH
107092002-05-28 Richard Henderson <rth@redhat.com>
10710
10711 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
10712 not current_function_uses_pic_offset_table and
10713 current_function_uses_const_pool; examine current_function_profile.
10714 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
10715 input to blockage if needed.
10716 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
10717 (legitimize_pic_address): Likewise. Set regs_ever_live for
10718 pic_offset_table_rtx when invoked during reload.
10719 * config/i386/i386.h (FINALIZE_PIC): Remove.
10720 * config/i386/i386.md (tablejump): Reformat. Do not set
10721 current_function_uses_pic_offset_table.
10722 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
10723 (blockage): Accept anything as operand 0.
10724
52f4fff6
JT
107252002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
10726
10727 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
10728 common CPP built-ins for all NetBSD a.out targets.
10729 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
10730 common CPP built-ins for all NetBSD ELF targets.
10731 * config/netbsd.h: Add missing notice.
10732 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
10733 for all NetBSD targets.
10734 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
10735 for all NetBSD targets using an LP64 code model.
10736 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
10737 NetBSD targets.
10738
e0e577a2
RH
107392002-05-28 Richard Henderson <rth@redhat.com>
10740
10741 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
10742 update if UPDATE_LIFE_LOCAL.
10743
107442002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
10745
10746 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
10747
f1a58d92 10748Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 10749 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
10750
10751 config/sh reorganization to factor out endianness and coff:
10752
10753 * config/sh/little.h: New file.
1e730c5c
ZW
10754 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
10755 defined, define to 0 to select big-endian.
f1a58d92 10756 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
10757 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10758 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10759 * config/sh/t-be: New file.
10760 * config/sh/t-le: New file.
f1a58d92
R
10761
10762 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
10763 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
10764 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
10765 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
10766 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10767 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10768 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
10769 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
10770 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
10771 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
10772 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
10773 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
10774 (LINK_SPEC): Define to SH_LINK_SPEC.
10775 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
10776 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
10777 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
10778 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
10779 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
10780 * config/sh/coff.h: New file.
10781 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
10782 (TARGET_OBJFMT_CPP_BUILTINS): Define.
10783 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
10784 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
10785 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
10786 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
10787 (PTRDIFF_TYPE): Likewise.
10788 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
10789 (CPP_PREDEFINES): Don't define.
10790 (TARGET_OBJFMT_CPP_BUILTINS): Define.
10791 (LINK_SPEC): Define to SH_LINK_SPEC.
10792 (LINK_EMUL_PREFIX): Redefine.
10793 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
10794 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
10795 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
10796 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
10797 (TARGET_OS_CPP_BUILTINS): Define.
10798 (TARGET_DEFAULT): Redefine.
10799 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
10800 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
10801 (LINK_SPEC): Don't redefine.
10802 (LINK_DEFAULT_CPU_EMUL): Redefine.
10803 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10804 * sh.c (sh_asm_named_section): Don't declare / define.
10805 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
10806 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
10807 (sh64-*-elf* tm_file): Likewise.
10808 (sh-*-rtemself* tm_file): Likewise.
10809 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
10810 (sh-*-linux* tmake_file): Add sh/t-le.
10811 (sh-*-rtems* tm_file): Add sh/coff.h
10812 (sh-*-* tm_file): Likewise.
10813
10814Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
10815
10816 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
10817 CONSTANT_POOL_ADDRESS_P.
10818
10819 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
10820
d10791ba 108212002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
10822 Jeff Law <law@redhat.com>
10823
64de6c0a
DE
10824 * optabs.c (expand_binop): Fix nwords sign warnings.
10825 generate pseudo for add_optab.
10826
33a3dfc4
DE
10827 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
10828 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
10829
972957ba 108302002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 10831
2274b31a 10832 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
10833 inherited from gas.h.
10834 (ASM_QUAD): Undef. OpenBSD does not support it.
10835
cc92b8ab
DS
108362002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
10837
10838 * doc/install.texi (binaries): Change mingw binaries
10839 link to www.mingw.org.
10840
f8088d55
ZD
108412002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10842
10843 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
10844
0b7ae565
RH
108452002-05-28 Richard Henderson <rth@redhat.com>
10846
10847 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
10848 bottom alignment for leaf functions.
10849
16069d69
ZW
108502002-05-28 Zack Weinberg <zack@codesourcery.com>
10851
10852 * config/pa/milli32.S, config/pa/lib1funcs.asm,
10853 config/sparc/sol2-g1.asm: Delete unused files.
10854
04653686
RH
108552002-05-28 Richard Henderson <rth@redhat.com>
10856
10857 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
10858
f3ea5f6a
RH
10859 * flow.c (calculate_global_regs_live): Rename call_used to
10860 invalidated_by_call. Initialize from regs_invalidated_by_call
10861 instead of call_used_regs.
10862
923c7cdf
RH
10863 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
10864 DECL_EXTERNAL.
10865
11ad4784
ZW
108662002-05-28 Zack Weinberg <zack@codesourcery.com>
10867
8abbd76a
ZW
10868 * tree.h: Don't include real.h.
10869 Forward-declare struct realvaluetype.
11ad4784
ZW
10870 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
10871 contain it.
10872 (TREE_REAL_CST_PTR): New accessor.
10873 (TREE_REAL_CST): Update.
10874 * real.h: Include machmode.h.
2274b31a 10875 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
10876 (build_real): Prototype here.
10877
10878 * tree.c: Include real.h.
2274b31a
EC
10879 (build_real): Allocate the REAL_VALUE_TYPE as a separate
10880 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
10881 (build_real_from_int_cst): Use build_real.
10882 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
10883 REAL_CST.
10884
10885 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
10886 fold-const.c, print-tree.c, real.c: Include real.h.
10887 * Makefile.in: Update dependency lists.
10888
bf77398c
ZD
108892002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10890
10891 * basic-block.h (last_basic_block): Declare.
10892 (expunge_block_nocompact): Declaration removed.
10893 (compact_blocks): Declare.
10894 * cfg.c (last_basic_block): New variable.
10895 (expunge_block_nocompact): Removed.
10896 (expunge_block): Do not compact basic blocks.
10897 (compact_blocks): New.
10898 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
10899 longer change.
10900 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
10901 last_basic_block.
10902 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
10903 real positions of blocks.
10904 (delete_unreachable_blocks): Simplified -- quadratic behavior now
10905 cannot occur.
10906 (cleanup_cfg): Compact blocks.
10907 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
10908 basic_block_info varray.
10909 (flow_delete_block): Comment update.
10910 (back_edge_of_syntactic_loop_p): Modify position check code.
10911 (verify_flow_info): Update checking.
10912 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
10913 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
10914 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
10915 indices no longer change.
10916 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
10917 last_basic_block.
10918 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
10919 * profile.c (branch_prob): Compact blocks.
10920 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
10921 last_basic_block.
10922
ae12a094
KH
109232002-05-28 Kazu Hirata <kazu@cs.umass.edu>
10924
10925 * config/h8300/h8300.md (two anonymous patterns): New.
10926
c6172f14
DM
109272002-05-28 David S. Miller <davem@redhat.com>
10928
10929 * config/sparc/sparc.md (cpu): Tidy.
10930 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
10931 'trap'.
10932 (in_call_delay): Delete reference to 'return' type.
10933 (eligible_for_return_delay, in_return_delay, define_delay
10934 referencing those): Delete.
10935 (rest of file): Use new type attributes as appropriate.
10936 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
10937 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
10938 * config/sparc/ultra1_2.md (us1_single): New reservation.
10939 (us1_ialuX): Likewise.
10940 * config/sparc/ultra3.md (us3_single): Likewise.
10941 (us3_ialuX): Likewise.
10942 (us3_imul, us3_idiv): Tweak.
2274b31a 10943
34a6c2ec
RH
109442002-05-28 Richard Henderson <rth@redhat.com>
10945
10946 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
10947 STRING_CST.
10948
9c075570
RH
109492002-05-28 Richard Henderson <rth@redhat.com>
10950
10951 * config.gcc: Obsolete mn10200.
10952
359b0bec
NB
109532002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
10954
10955 * cppexp.c (interpret_number): Optimize for single-digit
10956 and less-than-half-precision cases.
10957 (num_trim, num_positive, num_div_op): Cast constants.
10958
4075db8f
BT
109592002-05-27 Bo Thorsen <bo@suse.de>
10960
10961 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
10962 3.1 branch. The file was made by Jakub Jelinek.
10963 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
10964 support so multilib doesn't break. And don't define this at all
10965 when -Dinhibit_libc is used.
10966 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
10967 * config/i386/t-linux64: Implement full multilib support. Patch
10968 originally done by Andreas Jaeger and Jakub Jelinek.
10969
39f2f3c8
RS
109702002-05-27 Roger Sayle <roger@eyesopen.com>
10971
10972 * c-common.c: Add support for __attribute__((nothrow)) to specify
10973 that a function cannot throw an exception (using TREE_NOTHROW).
10974 (handle_nothrow_attribute): New function to process this attribute.
10975
10976 * doc/extend.texi: Document the new nothrow function attribute.
10977
d51b0053
L
109782002-05-27 H.J. Lu (hjl@gnu.org)
10979
10980 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
10981 (num_positive): Likewise.
10982 (num_div_op): Likewise.
10983
630363b4
NB
109842002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
10985
10986 * c-common.c (c_common_init): Always use intmax_t.
10987
d94cde01
NB
109882002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
10989
10990 * c-common.c (c_common_init): Use intmax_t for now.
10991
57f851a3
AH
109922002-05-24 Andrew Haley <aph@redhat.com>
10993
10994 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
10995 if T is a boolean type.
10996
d55bc081
ZD
109972002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10998
10999 * basic-block.h (last_basic_block): Defined as synonym for
11000 n_basic_blocks.
11001 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
11002 flow_depth_first_order_compute, flow_preorder_transversal_compute,
11003 flow_dfs_compute_reverse_init): Replaced relevant occurences of
11004 n_basic_blocks with last_basic_block.
11005 * cfgbuild.c (make_edges): Likewise.
11006 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
11007 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
11008 * combine.c (combine_instructions): Likewise.
11009 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
11010 iterative_dataflow_bitmap): Likewise.
11011 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
11012 calc_idoms, idoms_to_doms): Likewise.
11013 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
11014 Likewise.
11015 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
11016 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
11017 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
11018 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
11019 delete_null_pointer_checks, compute_code_hoist_vbeinout,
11020 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
11021 compute_store_table, build_store_vectors): Likewise.
11022 * haifa-sched.c (sched_init): Likewise.
11023 * ifcvt.c (if_convert): Likewise.
11024 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
11025 pre_edge_lcm, compute_available, compute_nearerout,
11026 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
11027 Likewise.
11028 * predict.c (estimate_probability, process_note_prediction,
11029 note_prediction_to_br_prob): Likewise.
11030 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
11031 * recog.c (split_all_insns, peephole2_optimize): Likewise.
11032 * regrename.c (copyprop_hardreg_forward): Likewise.
11033 * resource.c (init_resource_info): Likewise.
11034 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
11035 init_regions, schedule_insns): Likewise.
11036 * ssa-ccp.c (ssa_const_prop): Likewise.
11037 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11038 * ssa.c (compute_dominance_frontiers,
11039 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
11040
11041 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
11042 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
11043 sizes consistently.
11044
71d2c5bd
JH
11045Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
11046
11047 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
11048 new.
11049 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
11050 hoist_insn_after, hoist_insn_to_edge): New.
11051
5149f070
JH
11052Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
11053
11054 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
11055 (PROP_FINAL): Include.
11056 * flow.c (life_analysis, update_life_info,
11057 init_propagate_block_info, mark_set_1, mark_used_rgs):
11058 Support SCAN_DEAD_STORE.
11059
c9220e3a
NB
110602002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
11061
11062 * c-common.c (c_common_init): Set CPP arithmetic precision.
11063 * cppexp.c (cpp_num_part): Move typedef ...
11064 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
11065 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
11066 (sanity_checks): Update.
11067
e34a3d31
GK
110682002-05-26 Geoffrey Keating <geoffk@redhat.com>
11069
11070 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
11071 (mkheaders): New rule.
11072 (install-mkheaders): New rule.
11073 * configure.in (all_outputs): Add mkheaders.
11074 * configure: Regenerate.
11075 * mkheaders.in: New file.
11076
9059e33c
JJ
110772002-05-26 Jakub Jelinek <jakub@redhat.com>
11078
11079 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
11080
291cc0fe
AJ
110812002-05-26 Andreas Jaeger <aj@suse.de>
11082
11083 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
11084
91318908
NB
110852002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
11086
11087 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
11088 right_shift): Remove.
11089 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
11090 HIGH_PART): New.
11091 (struct op): Use cpp_num.
11092 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
11093 num_part_mul, num_unary_op, num_binary_op, num_negate,
11094 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
11095 num_div_op, num_lshift, num_rshift, append_digit): New.
11096 (interpret_number, parse_defined, eval_token, reduce): Update
11097 for two-integer arithmetic.
11098 (binary_handler): New typedef.
11099 (optab): Update.
11100 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
11101 (_cpp_parse_expr, reduce): Update to handle two-integers.
11102 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
11103
331ca350
MM
111042002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
11105
11106 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
11107 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
11108 branch insn into account, do not assume 1.
11109 (avr_out_sbxx_branch): New function. Optimize cases of skipping
11110 over single word insn. Handle upper half of I/O space too.
11111 * config/avr/avr.md (*sbrx_branch): Use it.
11112 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
11113 (*sbix_branch, *sbix_branch_bit7): Likewise.
11114 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
11115 Use RTL peepholes to optimize register operand sign tests.
11116
bcb6a2be
MM
111172002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
11118
11119 * config/avr/avr.c (avr_asm_only_p): New variable.
11120 (avr_override_options): Set it here if AVR1.
11121 (asm_file_start): Test it here, report an error if set.
11122
ca7fd9cd
KH
111232002-05-26 Kazu Hirata <kazu@cs.umass.edu>
11124
11125 * alias.c: Fix formatting.
11126 * attribs.c: Likewise.
11127 * bb-reorder.c: Likewise.
11128 * bitmap.c: Likewise.
11129 * bitmap.h: Likewise.
11130 * builtins.c: Likewise.
11131
a65dc37d
JH
11132Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
11133
11134 * reload.c (find_valid_class): Accept new argument DEST,
11135 choose class accordingly.
11136 (push_reload): Update callers.
11137
9b89393b
AJ
111382002-05-26 Andreas Jaeger <aj@suse.de>
11139
11140 * combine.c (combine_instructions): Do not indent #if for
11141 traditional C.
11142
b53bb376
RH
111432002-05-25 Richard Henderson <rth@redhat.com>
11144
11145 * c-pragma.c (apply_pragma_weak): Convert value identifier to
11146 string for decl_attributes.
11147 (handle_pragma_weak): Call assemble_alias if we're modifying
11148 an existing decl.
11149
e133041b
RH
111502002-05-25 Richard Henderson <rth@redhat.com>
11151
11152 PR target/6788
11153 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
11154 using rtl instead of fprintf.
11155 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
11156 * config/sparc/sparc-protos.h: Update.
11157
81a75f0f
NB
111582002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
11159
11160 * Makefile.in (C_COMMON_H): Fix.
11161 Update other targets.
11162 * c-common.c: Don't include c-lex.h.
11163 (builtin_define_with_value): Make static and prototype.
11164 (builtin_define_std): Move from c-lex.h.
11165 * c-common.h (init_c_lex): Move from c-lex.h.
11166 * c-decl.c: Don't include c-lex.h.
11167 (make_pointer_declarator): Move from c-parse.in.
11168 * c-lex.c: Don't include c-lex.h.
11169 * c-lex.h: Remove.
11170 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
11171 (make_pointer_declarator): Move to c-decl.c.
11172 * c-pragma.c: Don't include c-lex.h.
11173 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
11174 * c-tree.h (make_pointer_declarator): New.
11175doc:
11176 * passes.texi, tm.texi: Update.
11177objc:
11178 * Make-lang.in: Update and correct.
11179 * objc-act.c: Don't include c-lex.h or cpplib.h.
11180treelang:
11181 * treetree.c: Don't include c-lex.h.
11182config:
11183 * darwin-c.c: Don't include c-lex.h.
11184 * c4x/c4x-c.c: Don't include c-lex.h.
11185 * c4x/t-c4x: Update.
11186 * i370/i370-c.c: Don't include c-lex.h.
11187 * i370/t-i370: Update.
11188 * i960/i960-c.c: Don't include c-lex.h.
11189 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
11190 * i960/t-960bare: Update.
11191 * i960/t-vxworks: Update.
11192 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
11193 * rs6000/t-darwin: Update.
11194 * rs6000/t-rs6000-c-rule: Update.
11195 * v850/v850-c.c: Don't include c-lex.h.
11196 * v850/v850.c: Don't include c-lex.h or cpplib.h.
11197
11198
04d2be8e
KH
111992002-05-25 Kazu Hirata <kazu@cs.umass.edu>
11200
11201 * tree.def: Fix typos.
11202 * doc/install.texi: Likewise.
11203
7b6e506e
RH
112042002-05-25 Richard Henderson <rth@redhat.com>
11205
11206 * configure.in (HAVE_AS_TLS): Add ia64 test.
11207 * configure: Rebuild.
11208 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
11209 (override_options): Set it.
11210 (TARGET_HAVE_TLS): New.
11211 (sdata_symbolic_operand): Look for 's'.
11212 (tls_symbolic_operand): New.
11213 (ia64_expand_load_address): Abort for tls symbols.
11214 (gen_tls_get_addr): New.
11215 (gen_thread_pointer): New.
11216 (ia64_expand_move): Split out from movdi. Handle tls symbols.
11217 (rtx_needs_barrier): Add new unspecs.
11218 (ia64_encode_section_info): Handle tls symbols.
11219 (ia64_strip_name_encoding): Strip two encoding chars.
11220 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
11221 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
11222 (TARGET_OPTIONS): Add tls-size.
11223 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
11224 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
11225 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
11226 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
11227 (movsf, movdf): Likewise.
11228 (movdi_symbolic): Use match_scratch. Don't split if we won't
11229 have a scratch availiable.
11230 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
11231 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
11232 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
11233 * config/ia64/ia64-protos.h: Update.
11234 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
11235 sdata_symbolic_operand.
11236 (ASM_OUTPUT_LABELREF): Strip two characters.
11237
8c1d52a3
KH
112382002-05-25 Kazu Hirata <kazu@cs.umass.edu>
11239
11240 * combine.c (simplify_set): Remove an unnecessary subreg.
11241
b47cae3d
MM
112422002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
11243
11244 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
11245
11246 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
11247
ce9e3a6d
GDR
112482002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
11249
11250 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
11251
fb2c6841
RS
112522002-05-25 Roger Sayle <roger@eyesopen.com>
11253
11254 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
11255 (cond (compare x y) 0) into the equivalent (cond x y).
11256
da7ac8f1
GDR
112572002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
11258
11259 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
11260
c7bdf0a6
ZW
112612002-05-24 Zack Weinberg <zack@codesourcery.com>
11262
11263 * config.gcc: Remove all stanzas for previously obsoleted
11264 systems. Where necessary, add explicit error stanzas to
11265 prevent removed systems from being misidentified as something
11266 else. Begin a fresh obsoletions list, with the systems that
11267 were reprieved last round.
11268 * doc/install.texi: Remove all mention of dead targets.
11269 * fixinc/mkfixinc.sh: Likewise.
11270
11271 * config/arm/arm.h: Bit 31 of target_flags is no longer
11272 reserved.
11273
11274 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
11275 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
11276 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
11277 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
11278 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
11279 config/alpha/osf12.h, config/alpha/osf2or3.h,
11280 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
11281 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
11282 config/clipper/clipper-protos.h, config/clipper/clipper.c,
11283 config/clipper/clipper.h, config/clipper/clipper.md,
11284 config/clipper/clix.h, config/convex/convex-protos.h,
11285 config/convex/convex.c, config/convex/convex.h,
11286 config/convex/convex.md, config/convex/fixinc.convex,
11287 config/convex/proto.h, config/elxsi/elxsi-protos.h,
11288 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
11289 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
11290 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
11291 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
11292 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
11293 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
11294 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
11295 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
11296 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
11297 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
11298 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
11299 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
11300 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
11301 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
11302 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
11303 config/m68k/altos3068.h, config/m68k/apollo68.h,
11304 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
11305 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
11306 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
11307 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
11308 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
11309 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
11310 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
11311 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
11312 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
11313 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
11314 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
11315 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
11316 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
11317 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
11318 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
11319 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
11320 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
11321 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
11322 config/mips/dec-osf1.h, config/mips/elflorion.h,
11323 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
11324 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
11325 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
11326 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
11327 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
11328 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
11329 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
11330 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
11331 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
11332 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
11333 config/ns32k/sequent.h, config/ns32k/tek6000.h,
11334 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
11335 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
11336 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
11337 config/sparc/rtems.h, config/we32k/we32k-protos.h,
11338 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
11339 Delete file.
11340
755ac5d4
RH
113412002-05-24 Richard Henderson <rth@redhat.com>
11342
11343 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
11344 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
11345 * config/i386/i386.c (tls_model_chars): Add leading space.
11346 (tls_symbolic_operand): Don't bias by 1.
11347 (legitimize_address): Don't unbias by 1.
11348
c429f12e
TM
113492002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
11350
11351 * lcm.c (optimize_mode_switching): Change bb used as indices
11352 to bb->index.
11353
8beda321
RH
113542002-05-24 Richard Henderson <rth@redhat.com>
11355
11356 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
11357 of update_life_info_in_dirty_blocks.
11358
90442291
JJ
113592002-05-24 Jakub Jelinek <jakub@redhat.com>
11360
11361 PR other/6782
11362 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
11363
3620711b
NB
113642002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
11365
11366 PR preprocessor/6780
11367 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
11368
2f8d482e
JB
113692002-05-24 Jim Blandy <jimb@redhat.com>
11370
11371 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
11372 entry with a type code of zero, marking the end of the compilation
11373 unit's macro info.
11374
95bfe95f
RH
113752002-05-24 Richard Henderson <rth@redhat.com>
11376
c7bdf0a6
ZW
11377 * varasm.c (asm_output_bss): Always output one byte.
11378 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 11379
7efda054
BM
113802002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
11381
11382 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
11383 namespace.
11384
8a951190
AJ
113852002-05-24 Andreas Jaeger <aj@suse.de>
11386
11387 * ggc-page.c (alloc_page): Cast variables of type size_t to
11388 unsigned long, adjust printf format string.
11389 (ggc_alloc): Likewise.
11390 (ggc_print_statistics): Likewise.
11391 (ggc_print_statistics): Correct printf format string for SCALE to
11392 use unsigned long.
11393
f29e2ec0
DS
113942002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
11395
11396 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
11397
211a0cbe 113982002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 11399 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
11400
11401 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
11402 quoted strings.
11403 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 11404 directive in assembly file.
211a0cbe
GDR
11405 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11406 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11407 * config/pj/pj.h (ASM_FILE_START): Likewise.
11408 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
11409 * config/avr/avr.c (asm_file_end): Likewise.
11410 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 11411 char.
211a0cbe
GDR
11412 * toplev.h (output_clean_symbol_name): Declare
11413 * toplev.c (output_clean_symbol_name): Define.
11414 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
11415 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
11416
2f0552b6
AM
114172002-05-24 Alan Modra <amodra@bigpond.net.au>
11418
11419 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
11420
b326b2c1
VM
114212002-05-23 Vladimir Makarov <vmakarov@redhat.com>
11422
11423 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
11424 of size of unsigned.
11425
f996902d
RH
114262002-05-23 Richard Henderson <rth@redhat.com>
11427
11428 * configure.in (HAVE_AS_TLS): New test.
11429 * config.in, configure: Rebuild.
11430 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
11431 (ix86_tls_dialect_string, ix86_tls_dialect): New.
11432 (override_options): Set it.
11433 (tls_model_chars, tls_symbolic_operand): New.
11434 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
11435 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
11436 (local_exec_symbolic_operand): New.
11437 (get_pic_label_name): Merge into output_set_got.
11438 (ix86_asm_file_end): Emit pic_label_name if defined.
11439 (legitimate_constant_p, constant_address_p): New.
11440 (legitimate_pic_operand_p): New.
11441 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
11442 (legitimate_address_p): Likewise.
11443 (ix86_encode_section_info): Rename from i386_; handle tls decls.
11444 (ix86_strip_name_encoding): New.
11445 (get_thread_pointer): New.
11446 (legitimize_address): Handle tls symbols.
11447 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
11448 Remove UNSPEC_PLT.
11449 (struct machine_function): Add some_ld_name.
11450 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
11451 (print_operand) [&]: Use it. Handle UNSPEC_TP.
11452 (output_addr_const_extra): New.
11453 (maybe_get_pool_constant): New.
11454 (ix86_split_to_parts): Use it.
11455 (ix86_expand_move): Handle tls symbols.
11456 (ix86_tls_get_addr): New.
11457 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
11458 (TARGET_OPTIONS): Add tls-dialect.
11459 (CONSTANT_ADDRESS_P): Use new out-of-line function.
11460 (LEGITIMATE_CONSTANT_P): Likewise.
11461 (LEGITIMATE_PIC_OPERAND_P): Likewise.
11462 (TARGET_STRIP_NAME_ENCODING): New.
11463 (ASM_OUTPUT_LABELREF): New.
11464 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
11465 (OUTPUT_ADDR_CONST_EXTRA): New.
11466 (PREDICATE_CODES): Update.
11467 (ix86_tls_dialect, ix86_tls_dialect_string): New.
11468 * config/i386/i386.md: Regroup and renumber unspec constants.
11469 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
11470 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
11471 (tls_global_dynamic, tls_local_dynamic_base): New.
11472 (tls_local_dynamic_once): New.
11473 * config/i386/i386-protos.h: Update.
11474
821e35ba
RH
114752002-05-23 Richard Henderson <rth@redhat.com>
11476
11477 * genemit.c (gen_insn): Print file:lineno comment before function.
11478 (main): likewise.
11479 * gensupport.c (struct queue_elem): Add filename member.
11480 (queue_pattern): Initialize it; update all callers.
11481 (process_include): Don't free filename.
11482 (read_md_rtx): Set read_rtx_filename.
11483
0f1ffa23 114842002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
11485
11486 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 11487
8e9fadc3
RH
114882002-05-23 Richard Henderson <rth@redhat.com>
11489
11490 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
11491
244c2241
RH
114922002-05-23 Richard Henderson <rth@redhat.com>
11493
11494 * doc/extend.texi (C++98 Thread-Local Edits): Update with
11495 commentary from Mark.
11496
e0082a72
ZD
114972002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11498
11499 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
11500 Use FOR_EACH_BB macros to iterate over basic block chain.
11501 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
11502 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
11503 Likewise.
11504 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
11505 find_unreachable_blocks, create_edge_list, verify_edge_list,
11506 remove_fake_edges, add_noreturn_fake_exit_edges,
11507 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
11508 Likewise.
11509 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
11510 find_sub_basic_blocks): Likewise.
11511 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
11512 Likewise.
11513 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
11514 Likewise.
11515 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
11516 Likewise.
11517 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
11518 commit_edge_insertions, commit_edge_insertions_watch_calls,
11519 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
11520 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
11521 * conflict.c (conflict_graph_compute): Likewise.
11522 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
11523 df_modified_p, df_refs_unlink, df_dump): Likewise.
11524 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
11525 * final.c (compute_alignments): Likewise.
11526 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
11527 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
11528 count_or_remove_death_notes): Likewise.
11529 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
11530 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
11531 classic_gcse, compute_transp, cprop, compute_pre_data,
11532 compute_transpout, invalidate_nonnull_info,
11533 delete_null_pointer_checks_1, delete_null_pointer_checks,
11534 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
11535 compute_store_table, build_store_vectors, store_motion): Likewise.
11536 * global.c (global_conflicts, mark_elimination): Likewise.
11537 * graph.c (print_rtl_graph_with_bb): Likewise.
11538 * haifa-sched.c (sched_init): Likewise.
11539 * ifcvt.c (if_convert): Likewise.
11540 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
11541 compute_available, compute_nearerout, compute_rev_insert_delete,
11542 optimize_mode_switching): Likewise.
11543 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
11544 * predict.c (estimate_probability, note_prediction_to_br_prob,
11545 propagate_freq, counts_to_freqs, expensive_function_p,
11546 estimate_bb_frequencies): Likewise.
11547 * profile.c (instrument_edges, get_exec_counts,
11548 compute_branch_probabilities, compute_checksum, branch_prob,
11549 find_spanning_tree): Likewise.
11550 * recog.c (split_all_insns, peephole2_optimize): Likewise.
11551 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
11552 Likewise.
11553 * regclass.c (scan_one_insn, regclass): Likewise.
11554 * regmove.c (mark_flags_life_zones, regmove_optimize,
11555 record_stack_memrefs): Likewise.
11556 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
11557 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
11558 * resource.c (find_basic_block): Likewise.
11559 * sched-ebb.c (schedule_ebbs): Likewise.
11560 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
11561 find_single_block_region, find_rgns, schedule_insns)
11562 * sibcall.c (optimize_sibling_and_tail_recursive_call)
11563 * ssa-ccp.c (optimize_unexecutable_edges,
11564 ssa_ccp_df_delete_unreachable_insns): Likewise.
11565 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11566 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
11567 rename_block, convert_to_ssa, compute_conservative_reg_partition,
11568 compute_coalesced_reg_partition, rename_equivalent_regs,
11569 convert_from_ssa): Likewise.
11570 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
11571 process_for_unwind_directive): Likewise.
11572
11573 * df.c (FOR_ALL_BBS): Removed.
11574 * gcse.c (struct null_pointer_info): Type of current_block field
11575 changed.
11576 (struct reg_avail_info): Type of last_bb field changed.
11577 * config/ia64/ia64.c (block_num): Removed.
11578 (need_copy_state): Type changed.
11579 (last_block): New.
11580
17645b15
NB
115812002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11582
11583 * cppinit.c (mark_named_operators): Split out from init_builtins.
11584 (cpp_finish_options): Call it from here instead.
11585
79ed7328
JT
115862002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
11587
11588 * builtin-attrs.def: Update copyright years.
11589 (ATTR_NONNULL): New attribute identifier.
11590 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
11591 attribute tree lists.
11592 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
11593 format operand.
11594 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
11595 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
11596 attribute lists. Chain the appropriate nonnull attribute.
11597 * c-format.c (check_format_arg): Remove null format string
11598 warning.
11599 * testsuite/gcc.dg/format/null-1.c: New test.
11600
7d600178
RO
116012002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11602
11603 * Makefile.in (ADAC): Define.
11604 (SYSLIBS): Define.
11605 (.SUFFIXES): Move before language makefile fragments.
11606 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
11607
5ff225fc
MM
116082002-05-23 Mark Mitchell <mark@codesourcery.com>
11609
11610 * varasm.c (make_decl_rtl): Don't allow weak variables to be
11611 placed in common.
11612
0f72964f
JH
11613Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
11614
11615 * cfg.c (dump_flow_info): Print results of
11616 maybe_hot/probably_never_executed predicates.
11617 * toplev.c (open_dump_file): Print function frequency.
11618
c863f8c2
DM
116192002-05-23 David S. Miller <davem@redhat.com>
11620
11621 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
11622 regsets.
11623
b34c7881
JT
116242002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
11625
11626 * c-common.c (warn_nonnull): Declare.
11627 (c_common_attribute_table): Add "nonnull" attribute.
11628 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
11629 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
11630 check_function_arguments_recurse): New functions.
11631 * c-common.h (warn_nonnull): Declare extern.
11632 (check_function_arguments, check_function_arguments_recurse): New
11633 prototypes.
11634 * c-decl.c (c_decode_option): Add -Wnonnull option.
11635 * c-format.c (set_Wformat): Set warn_nonnull if enabling
11636 format checking.
11637 (format_check_context): New structure.
11638 (check_format_info_recurse): Remove recursion and rename to...
11639 (check_format_arg): ...this. Update comment.
11640 (check_format_info): Use check_function_arguments_recurse.
11641 * c-typeck.c (build_function_call): Call check_function_arguments
11642 instead of check_function_format.
11643 * doc/extend.texi: Document "nonnull" attribute.
11644 * doc/invoke.texi: Docuemnt -Wnonnull option.
11645 * testsuite/gcc.dg/nonnull-1.c: New test.
11646 * testsuite/gcc.dg/nonnull-2.c: New test.
11647
95479831
DM
116482002-05-23 David S. Miller <davem@redhat.com>
11649
11650 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
11651 * cfgcleanup.c (cleanup_cfg): If it is set do not
11652 attempt to delete trivially dead insns.
11653 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
11654 * toplev.c (rest_of_compilation): Document non-trivial aspect
11655 the RTL before optimize_save_area_alloca is run.
11656
a97d1398
NB
116572002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11658
11659 * c-lex.c (indent_level): Remove.
11660 (cb_file_change, c_lex): Remove indent level handling.
11661 * c-lex.h (indent_level): Remove.
11662 * input.h (struct file_stack): Remove indent_level.
11663 * toplev.c (push_srcloc): Remove indent_level handling.
11664
66b408f2
JJ
116652002-05-23 Jakub Jelinek <jakub@redhat.com>
11666
11667 PR target/6753
11668 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
11669 of x in constraints for clarity.
11670 (sse_mov?fcc split): abort if op2 == op3.
11671 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
11672 sse_movsfcc_const0_4): Add earlyclobber.
11673 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
11674 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
11675 Use Y instead of x in constraints.
11676
5bf0ebab
RH
116772002-05-23 Richard Henderson <rth@redhat.com>
11678
9217ef40
RH
11679 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
11680 (C++98 Thread-Local Edits): New subsection.
11681
5bf0ebab
RH
11682 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
11683 (ix86_arch): Set type to enum processor_type.
11684
8a951190 11685 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
11686 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
11687
4832c9e1
JJ
116882002-05-23 Jakub Jelinek <jakub@redhat.com>
11689
11690 * configure.in: Fix as version test for binutils 2.12.1 releases
11691 (without dates).
11692 * configure: Rebuilt.
11693
c8c03509
RH
116942002-05-23 Richard Henderson <rth@redhat.com>
11695
11696 * config/i386/i386.c (get_pic_label_name): New.
11697 (load_pic_register): Remove.
11698 (output_set_got): New.
11699 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
11700 * config/i386/i386.md (UNSPEC_SET_GOT): New.
11701 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
11702 (prologue_set_got, prologue_get_pc): Remove.
11703 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
11704 (builtin_setjmp_receiver): Use gen_set_got.
11705 * config/i386/i386-protos.h: Update.
11706
d51f3632
JH
11707Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
11708
11709 * gcse.c (hash_expr): Do not use alias set for hashing.
11710
b0a93386
KB
117112002-05-22 Kevin Buettner <kevinb@redhat.com>
11712
11713 * dbxout.c (dbxout_class_name_qualifiers): New function.
11714 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
11715
bdee42b1
NB
117162002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11717
11718 * cpperror.c (_cpp_begin_message): No special casing
11719 of CPP_FATAL_LIMIT.
11720 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
11721 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
11722 * cpplib.c (do_include_common): Use DL_ERROR.
11723 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
11724 (DL_ICE): Renumber.
11725 * fix-header.c (read_scan_file): Update.
11726
0e07aff3
RH
117272002-05-22 Richard Henderson <rth@redhat.com>
11728
11729 * config/i386/i386.c (ix86_expand_call): New function, extracted
11730 from md call patterns. Add pic_offset_table_rtx to
11731 CALL_INSN_FUNCTION_USAGE when needed.
11732 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
11733 (call_value_pop, call_value, untyped_call): Likewise.
11734 (call_exp, call_value_exp): Remove.
11735 * config/i386/i386-protos.h: Update.
11736
6f001fdf
RH
117372002-05-22 Richard Henderson <rth@redhat.com>
11738
11739 * varasm.c (default_section_type_flags): Check for VAR_DECL
11740 before using DECL_THREAD_LOCAL.
11741
cbaaba19
DE
117422002-05-22 David Edelsohn <edelsohn@gnu.org>
11743
11744 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
11745 (STARTFILE_SPEC): Delete PE crt0.o.
11746 * config/rs6000/aix51.h: Same.
11747 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
11748 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
11749 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
11750 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
11751 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
11752
c711ba8e
RH
117532002-05-22 Richard Henderson <rth@redhat.com>
11754
11755 * varasm.c (default_section_type_flags): Handle tls data and
11756 default sections.
11757 (default_unique_section): Handle tls sections.
11758
343f59d9
AM
117592002-05-23 Alan Modra <amodra@bigpond.net.au>
11760
11761 * configure.in (CROSS): Define NATIVE_CROSS.
11762 * configure: Regenerate.
11763 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
11764 (startfile_prefix_spec): New var.
11765 (static_specs): Add startfile_prefix_spec.
11766 (do_spec_2): Split out from..
11767 (do_spec): ..here.
11768 (main): Process startfile_prefix_spec.
11769 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
11770 dynamic linker.
11771 (STARTFILE_PREFIX_SPEC): Define.
11772 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 11773 absolute paths.
343f59d9 11774
df383483
KH
117752002-05-22 Kazu Hirata <kazu@cs.umass.edu>
11776
11777 * cpperror.c: Fix formatting.
11778 * cppexp.c: Likewise.
11779 * cppfiles.c: Likewise.
11780 * cpphash.c: Likewise.
11781 * cpphash.h: Likewise.
11782 * cppinit.c: Likewise.
11783 * cpplex.c: Likewise.
11784 * cpplib.c: Likewise.
11785 * cppmacro.c: Likewise.
11786 * cppmain.c: Likewise.
11787 * cppspec.c: Likewise.
11788
2dd36f90
JJ
117892002-05-22 Jakub Jelinek <jakub@redhat.com>
11790
11791 * combine.c (force_to_mode): Use gen_int_mode.
11792 Don't clear CONST_INT bits outside of mode.
11793
8dc02d7f
RH
117942002-05-22 Richard Henderson <rth@redhat.com>
11795
11796 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
11797 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
11798
45f79783
JJ
117992002-05-22 Jakub Jelinek <jakub@redhat.com>
11800
11801 PR c/6643
11802 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
11803 if DECL_SIZE_UNIT is INTEGER_CST.
11804
19f71cd7
RH
118052002-05-22 Richard Henderson <rth@redhat.com>
11806
11807 * flow.c (life_analysis): Delete broken reg_label check.
11808
d5bcfcce
RH
118092002-05-22 Richard Henderson <rth@redhat.com>
11810
11811 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
11812 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
11813
985d311b 11814Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
11815
11816 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
11817 (embed-bb.c): New rule.
985d311b 11818 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
11819 * config/sh/embed_bb.c: Delete.
11820
985d311b
R
11821Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
11822
11823 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
11824
f6d45746
KH
118252002-05-22 Kazu Hirata <kazu@cs.umass.edu>
11826
11827 * config/h8300/h8300.md (*andorqi3): New.
11828
e5f3b786
NB
118292002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
11830
11831 PR preprocessor/6517
11832 * Makefile.in: Update.
11833 * c-common.c (c_common_post_options): Add preprocessor
11834 errors to the error count.
11835 * c-lang.c (c_post_options): Kill.
11836 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
11837 * hooks.h: Add header guards.
11838 * langhooks-def.h: Include hooks.h.
11839 (LANG_HOOKS_POST_OPTIONS): Update.
11840 * langhooks.h (struct lang_hooks): Update post_options.
11841 * toplev.c (parse_options_and_default_flags): Update.
11842objc:
11843 * objc-lang.c (objc_post_options): Kill.
11844 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
11845
4c526be3
BK
118462002-05-21 Bruce Korb <bkorb@gnu.org>
11847
11848 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
11849 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
11850 * fixinc/fixincl.x: regen.
4c526be3 11851
f87c27b4
KH
118522002-05-21 Kazu Hirata <kazu@cs.umass.edu>
11853
11854 * cfgbuild.c: Fix formatting.
11855 * cfg.c: Likewise.
11856 * cfgcleanup.c: Likewise.
11857 * cfglayout.c: Likewise.
11858 * cfgloop.c: Likewise.
11859 * cfgrtl.c: Likewise.
11860
3d78f2e9
RH
118612002-05-21 Richard Henderson <rth@redhat.com>
11862
11863 * c-common.h (enum rid): Add RID_THREAD.
11864 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
11865 (grokdeclarator): Grok __thread.
11866 * c-parse.in (reswords): Add __thread.
11867 (rid_to_yy): Add RID_THREAD.
11868
11869 * tree.h (DECL_THREAD_LOCAL): New.
11870 (struct tree_decl): Add thread_local_flag.
11871 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
11872 * tree.c (staticp): TLS variables are not static.
11873
11874 * target-def.h (TARGET_HAVE_TLS): New.
11875 * target.h (have_tls): New.
11876 * output.h (SECTION_TLS): New.
11877 * varasm.c (assemble_variable): TLS variables can't be common for now.
11878 (default_section_type_flags): Handle .tdata and .tbss.
11879 (default_elf_asm_named_section): Handle SECTION_TLS.
11880 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
11881
11882 * flags.h (flag_tls_default): Declare.
11883 * toplev.c (flag_tls_default): Define.
11884 (display_help): Display help for it.
11885 (decode_f_option): Set it.
11886
11887 * doc/extend.texi (Thread-Local): New node describing language-level
11888 thread-local storage.
11889 * doc/invoke.texi (-ftls-model): Document.
11890
11891 * fixinc/inclhack.def (thread_keyword): New.
11892 * fixinc/fixincl.x: Rebuild.
11893
a151daf0
JL
118942002-05-21 Jeffrey A Law <law@redhat.com>
11895
8a951190 11896 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
11897 do not compute intermediate results into something that is
11898 not a register (such as a SUBREG or MEM).
11899
a151daf0
JL
11900 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
11901 (ix86_sched_reorder): Make sure to initialize scheduling
11902 data even when there's only one insn in the ready queue.
11903
96b1f73b
VM
119042002-05-21 Vladimir Makarov <vmakarov@redhat.com>
11905
11906 * genautomata.c (reserv_sets_hash_value): Fix a typo.
11907
dceb2b75
VM
119082002-05-21 Vladimir Makarov <vmakarov@redhat.com>
11909
11910 * genautomata.c (reserv_sets_hash_value): Define hash_value as
11911 set_el_t. Transform the hash value into unsigned.
11912 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
11913 (transform_3): Add code to process `(A,B)+(D,E)'.
11914
159d5964
NY
119152002-05-21 NIIBE Yutaka <gniibe@m17n.org>
11916
11917 * reload1.c (do_output_reload): Run delete_output_reload
11918 only if optimizing.
11919
cf5124f6
RS
119202002-05-21 Roger Sayle <roger@eyesopen.com>
11921
11922 PR middle-end/6600
11923 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
11924 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
11925 (can_store_by_pieces): ... and here to limit the largest mode used.
11926 Add a comment to document this function.
11927
380e6ade
RH
119282002-05-21 Richard Henderson <rth@redhat.com>
11929
11930 * flow.c (life_analysis): Fix test for deleted label.
11931
1f95326c
NB
119322002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
11933
11934 * doc/tm.texi: Fix typo.
11935
2a1dc0d8
ZW
119362002-05-21 Zack Weinberg <zack@codesourcery.com>
11937
11938 * c-common.c (c_common_init): Set options->unsigned_char from
11939 flag_signed_char.
11940 (cb_register_builtins): Define __STRICT_ANSI__ and
11941 __CHAR_UNSIGNED__ here...
11942 * cppinit.c (init_builtins): Not here.
11943 (cpp_create_reader): unsigned_char option defaults to 0, not
11944 !DEFAULT_SIGNED_CHAR.
11945 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
11946 and -funsigned-char.
11947
11948 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
11949 * cpphash.c (_cpp_init_hashtable): Don't set it.
11950 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
11951 directly. Clarify comment.
11952
d29146f2 119532002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 11954
f5eb2fc8
ZD
11955 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
11956 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
11957 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
11958 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 11959 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 11960 flow_preorder_transversal_compute): Too.
d29146f2 11961 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
11962 find_sub_basic_blocks): Too.
11963 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 11964 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
11965 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
11966 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
11967 * combine.c (this_basic_block): Type changed to basic_block.
11968 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
11969 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
11970 get_last_value, distribute_notes, distribute_links): Too.
11971 * final.c (compute_alignments): Too.
11972 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
11973 * function.c (thread_prologue_and_epilogue_insns): Too.
11974 * gcse.c (compute_code_hoist_vbeinout): Too.
11975 * global.c (build_insn_chain): Too.
11976 * ifcvt.c (find_if_block, find_cond_trap): Too.
11977 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
11978 * regmove.c (regmove_optimize): Too.
11979 * resource.c (find_basic_block): Too.
11980 * sched-ebb.c (schedule_ebbs): Too.
11981 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 11982
68bd6dd6
AJ
119832002-05-21 Andreas Jaeger <aj@suse.de>
11984
11985 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
11986
35a76aac
RH
119872002-05-21 Richard Henderson <rth@redhat.com>
11988
11989 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
11990 unspec names, not numbers.
11991
2870428f
JM
119922002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
11993
11994 * doc/sourcebuild.texi: Mention snapshot-README and
11995 snapshot-index.html as needing updating for new front ends.
11996
b0ad77d5
KG
119972002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11998
11999 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
12000 disabling checking, and avoid multiple evaluation of RTX.
12001
279be7c8
RE
120022002-05-21 Richard Earnshaw <rearnsha@arm.com>
12003
12004 * bitmap.c (bitmap_find_bit): Return early if we have the correct
12005 element cached.
12006
193a563a
JH
12007Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
12008
12009 * profile.c (gen_edge_profiler): Set alias set before the memory is
12010 used.
12011
31825e57
DM
120122002-05-20 David S. Miller <davem@redhat.com>
12013
12014 * cselib.c (max_value_regs): New.
12015 (cselib_lookup, cselib_invalidate_regno): Initialize it when
12016 adding new entries to the REG_VALUES table and we are dealing with
12017 a hard register.
12018 (clear_table): Initialize it.
12019 (cselib_invalidate_regno): Use it to determine which hard
12020 registers to scan when mode is not VOIDmode.
12021
68bd6dd6 120222002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
12023
12024 * tradcpp.c (fixup_newlines): Use old-style function header.
12025
e0a09fda
KW
120262002-05-20 Krister Walfridsson <cato@df.lth.se>
12027
12028 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
12029
e0c13c70
L
120302002-05-20 H.J. Lu (hjl@gnu.org)
12031
12032 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
12033
12034 * config/mips/mips.h (DFMODE_NAN): Defined.
12035 (SFMODE_NAN): Likewise.
12036
4c11675d 120372002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 12038
2a1dc0d8
ZW
12039 * combine.c (cant_combine_insn_p): Back out my
12040 previous patch.
4c11675d 12041
6a4d6760
KH
120422002-05-20 Kazu Hirata <kazu@cs.umass.edu>
12043
12044 * params.c: Fix formatting.
12045 * params.h: Likewise.
12046 * predict.c: Likewise.
12047 * prefix.c: Likewise.
12048 * print-rtl.c: Likewise.
12049 * print-tree.c: Likewise.
12050 * profile.c: Likewise.
12051
5715ca64
L
120522002-05-20 H.J. Lu (hjl@gnu.org)
12053
12054 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
12055
00b89f01
NC
120562002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
12057
12058 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
12059 switches straight on to the assembler, do not abbreviate them.
12060 * config/arm/elf.h (ASM_SPEC): As above.
12061 * config/arm/semi.h (ASM_SPEC): As above.
12062 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
12063 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
12064 -mcpu=xscale on to the assembler by default.
12065 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
12066
1441374b
RH
120672002-05-20 Richard Henderson <rth@redhat.com>
12068
12069 * cse.c (canon_hash): Reorder do_not_record test. Always
12070 allow pic_offset_table_rtx.
12071
c0fe508e
TM
120722002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
12073
12074 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
12075 (expand_binop): Ditto (3 times).
12076
f362c762
MM
120772002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
12078
12079 * Makefile.in (distclean): Remove QMTest stuff.
12080 (QMTEST_PATH): New variable.
12081 (QMTESTFLAGS): Likewise.
12082 (QMTESTRUNFLAGS): Likewise.
12083 (QMTEST): Likewise.
12084 (QMTEST_GPP_TESTS): Likewise.
12085 (QMTEST_DIR): Likewise.
12086 (QMTEST_DIR/context): New target.
12087 (qmtest-g++): Likeise.
12088 (qmtest-gui): Likewise.
12089 (QMTEST_DIR/gpp-expected.qmr): Likewise.
12090
16861f33
AH
120912002-05-19 Aldy Hernandez <aldyh@redhat.com>
12092
2a1dc0d8
ZW
12093 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
12094 an altivec register if TARGET_ALTIVEC.
16861f33 12095
2a1dc0d8
ZW
12096 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
12097 to ALTIVEC_VECTOR_MODE.
12098 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
12099 (rs6000_va_arg): Vectors may go in registers if they are not
12100 altivec vectors.
16861f33 12101
23459e15
KH
121022002-05-19 Kazu Hirata <kazu@cs.umass.edu>
12103
12104 * protoize.c: Fix formatting.
12105
174cc7d1
RH
121062002-05-19 Richard Henderson <rth@redhat.com>
12107
12108 * gensupport.c (init_include_reader): Merge into ...
12109 (process_include): ... here. Simplify composite path creation.
12110 Plug memory leaks. Fix file/line number tracking. Do not
12111 process_define_cond_exec. Return void.
12112 (process_rtx): Don't check process_include return value.
12113
918ed612
ZD
121142002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12115
12116 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
12117 fields.
12118 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
12119 traversing basic block chain.
12120 (create_basic_block_structure, create_basic_block): Declaration changed.
12121 (link_block, unlink_block): Declare.
12122 * cfg.c (entry_exit_blocks): Initialize new fields.
12123 (link_block, unlink_block): New.
12124 (expunge_block_nocompact): Unlink basic block.
12125 (dump_flow_info): Print prev_bb/next_bb fields.
12126 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
12127 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
12128 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
12129 * cfgrtl.c (create_basic_block_structure, create_basic_block,
12130 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
12131 (verify_flow_info): Check that list agrees with numbering.
12132
e0322d5c
NB
121332002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
12134
12135 * c-common.c (preprocessing_asm): New macro.
12136 * c-lex.h (builtin_define, builtin_assert): Use pfile.
12137doc:
12138 * tm.texi: Update.
12139config/alpha:
12140 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
12141 (CPP_SPEC): Simplify.
12142 (TARGET_CPU_CPP_BUILTINS): Update.
12143 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
12144 (CPP_SPEC): Simplify.
12145 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
12146 (TARGET_OS_CPP_BUILTINS): Update.
12147 * osf.h (CPP_XFLOAT_SPEC): Kill.
12148 (TARGET_OS_CPP_BUILTINS): Update.
12149 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
12150 * osf5.h (CPP_XFLOAT_SPEC): Kill.
12151 * vms.h (CPP_SUBTARGET_SPEC): Kill.
12152 (TARGET_OS_CPP_BUILTINS): Update.
12153
121f5c2c
RH
121542002-05-19 Richard Henderson <rth@redhat.com>
12155
12156 * varasm.c (default_binds_local_p): Fix typo.
12157
651c5ed9
MM
121582002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
12159
12160 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
12161 CONST_INT operand to the correct mode after adding 1 to it.
12162
bce0deb2
MM
121632002-05-19 Mark Mitchell <mark@codesourcery.com>
12164
12165 * config.gcc (powerpc-wrs-windiss*): New target.
12166
4aa74a4f
FS
121672002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12168
12169 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
12170 (ashrdi3): Use it.
12171
a15135c9
MM
121722002-05-18 Mark Mitchell <mark@codesourcery.com>
12173
12174 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
12175 alphasort.
12176 * config.in: Regenerated.
12177 * configure: Regenerated.
12178
47754fd5
RH
121792002-05-19 Richard Henderson <rth@redhat.com>
12180
12181 * target-def.h (TARGET_BINDS_LOCAL_P): New.
12182 * target.h (struct gcc_target): Move boolean fields to the end.
12183 Add binds_local_p.
12184 * varasm.c (default_binds_local_p): New.
12185 * output.h: Declare it.
12186
12187 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
12188 * config/cris/cris.c (cris_encode_section_info): Likewise.
12189 * config/i386/i386.c (i386_encode_section_info): Likewise.
12190 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
12191 * config/sh/sh.c (sh_encode_section_info): Likewise.
12192
12193 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
12194 (TARGET_BINDS_LOCAL_P): New.
12195
fc881338
RH
121962002-05-19 Richard Henderson <rth@redhat.com>
12197
12198 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
12199 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
12200 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
12201
12202 * toplev.c (display_help): Kill -a -ax help.
12203
68bd6dd6 12204 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
12205 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
12206 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
12207 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
12208 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
12209
12210 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
12211 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
12212
12213 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
12214 (ix86_output_function_block_profiler): Kill.
12215 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
12216 (m68hc11_function_block_profiler): Kill.
12217 * config/m68hc11/m68hc11-protos.h: Update.
12218 * config/m88k/m88k.c (output_block_profiler): Kill.
12219 (output_function_block_profiler): Kill.
12220 * config/m88k/m88k-protos.h: Update.
12221
772c5265
RH
122222002-05-19 Richard Henderson <rth@redhat.com>
12223
12224 * system.h (STRIP_NAME_ENCODING): Poison it.
12225 * output.h (STRIP_NAME_ENCODING): Remove.
12226 (default_strip_name_encoding): Declare.
12227 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
12228 * target.h (strip_name_encoding): New.
12229 * varasm.c (default_strip_name_encoding): New.
12230
12231 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
12232 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
12233 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
12234 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
12235 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
12236 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
12237 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
12238 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
12239 config/v850/v850.h: Use the hook, not the macro.
12240
12241 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
12242 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
12243 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
12244 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
12245 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
12246 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 12247 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
12248 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
12249 config/v850/v850.c, config/v850/v850.h:
12250 Move STRIP_NAME_ENCODING to out-of-line function and add
12251 TARGET_STRIP_NAME_ENCODING.
12252
12253 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
12254 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
12255 with TARGET_STRIP_NAME_ENCODING referencing existing function;
12256 make function static.
12257
12258 * xcoffout.c: Include target.h
12259 * Makefile.in (xcoffout.o): Update.
12260
12261 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
12262 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
12263 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
12264 reloc argument unused.
12265 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
12266
12267 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
12268 STRIP_NAME_ENCODING docs.
12269
8f9eb495
AJ
122702002-05-19 Andreas Jaeger <aj@suse.de>
12271
12272 * gengenrtl.c: Add prototype for excluded_rtx.
12273
12274 * real.h: Add prototype for exact_real_truncate.
12275
fb49053f
RH
122762002-05-18 Richard Henderson <rth@redhat.com>
12277
12278 * system.h (ENCODE_SECTION_INFO): Poison it.
12279 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
12280 * target.h (encode_section_info): New.
12281 * varasm.c (make_decl_rtl, output_constant_def): Use it.
12282 * hooks.c (hook_tree_int_void): New.
12283 * hooks.h: Declare it.
12284
12285 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
12286 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
12287 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
12288 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
12289 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
12290 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
12291 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
12292 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
12293 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
12294 config/mcore/mcore-protos.h, config/mcore/mcore.c,
12295 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
12296 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
12297 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
12298 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
12299 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
12300 referencing existing function. Make function static.
12301
12302 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 12303 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
12304 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
12305 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
12306 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 12307 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
12308 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
12309 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
12310 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
12311 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 12312 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
12313 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
12314 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
12315 Move ENCODE_SECTION_INFO to out-of-line function and add
12316 TARGET_ENCODE_SECTION_INFO.
12317
12318 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
12319 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
12320
12321 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
12322 from SUBTARGET_*
12323 (switch_to_section): Replace in_rdata case with in_readonly_data.
12324
12325 * config/h8300/h8300.c (h8300_encode_label): Make static.
12326 * config/h8300/h8300-protos.h: Update.
12327
12328 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
12329 from rs6000_encode_section_info; make static.
12330 (rs6000_xcoff_encode_section_info): New.
12331
12332 * config/v850/v850.c (v850_encode_data_area): Make static.
12333 * config/v850/v850-protos.h: Update.
12334
12335 * config/vax/vax.c: Include flags.h.
12336 (vms_select_section): Fix typo.
12337
12338 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
12339 ENCODE_SECTION_INFO docs.
12340
9fe08fd0
RH
123412002-05-18 Richard Henderson <rth@redhat.com>
12342
12343 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
12344 REGISTER_TARGET_PRAGMAS.
12345 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
12346
410b770f
RH
12347 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
12348
b64a1b53
RH
123492002-05-18 Richard Henderson <rth@redhat.com>
12350
12351 * system.h (SELECT_RTX_SECTION): Poison.
12352 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
12353 * target.h (select_rtx_section): New.
12354 * varasm.c (output_constant_pool): Use it.
12355 (default_select_rtx_section, default_elf_select_rtx_section): New.
12356 * output.h: Declare them.
12357
12358 * config/darwin.h (SELECT_RTX_SECTION): Move ...
12359 * config/darwin.c (machopic_select_rtx_section): ... here.
12360 * config/darwin-protos.h: Update.
12361
12362 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
12363 * config/nextstep.c (machopic_select_rtx_section): ... here.
12364 (nextstep_select_section): Rename variable to avoid macro clash.
12365 * config/nextstep-protos.h: Update.
12366
12367 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
12368 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
12369 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 12370 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
12371 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
12372 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 12373 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
12374 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
12375 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
12376 (SELECT_RTX_SECTION): Remove.
12377
12378 * config/darwin.h, config/elfos.h, config/nextstep.h,
12379 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
12380 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
12381 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
12382 config/sparc/lynx.h, config/xtensa/xtensa.c
12383 (TARGET_ASM_SELECT_RTX_SECTION): New.
12384
12385 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
12386 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
12387 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
12388 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
12389 (ia64_aix_select_rtx_section): New.
12390 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
12391 redefining.
12392 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 12393 Support ELF SHF_MERGE features.
b64a1b53
RH
12394 * config/mips/mips-protos.h: Update.
12395 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
12396 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
12397 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
12398 make static, fall back to default_elf_select_rtx_section.
12399 * config/rs6000/rs6000-protos.h: Update.
12400 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
12401 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
12402 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
12403 * config/romp/romp.c (romp_select_rtx_section): New.
12404 * config/s390/s390.c (s390_select_rtx_section): New.
12405 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
12406 declarations before target macro definition.
12407 (xtensa_emit_call): Use static buffer.
12408 (xtensa_select_rtx_section): New.
12409 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
12410 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
12411 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
12412
12413 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
12414 SELECT_RTX_SECTION docs.
12415
12416Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
12417
12418 * i386.md (movsi/movdi): Fix template.
12419 (sse2 patterns): Set attributes consistently.
12420
12421 * i386.md (pushqi2, ashrqi_*): Fix constraint.
12422
6835a09c
TM
124232002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
12424
12425 * optabs.c (complex_part_zero_p): New.
12426 * (expand_cmplxdiv_straight): Use it.
12427 * (expand_cmplxdiv_wide): Ditto.
12428 * (expand_binop): Ditto.
12429
d48bc59a
RH
124302002-05-18 Richard Henderson <rth@redhat.com>
12431
12432 * final.c (HAVE_READONLY_DATA_SECTION): New.
12433 (shorten_branches): Use it instead of ifdefs.
12434 * varasm.c (enum in_section): Add in_readonly_data.
12435 (text_section, data_section): Tidy.
12436 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
12437
12438 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
12439 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
12440 (READONLY_DATA_SECTION): Don't undef.
12441
12442 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
12443 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
12444 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
12445
12446 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
12447 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
12448 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
12449 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
12450
12451 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
12452 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
12453 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
12454 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
12455 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
12456 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
12457 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
12458 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
12459 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
12460
12461 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
12462 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
12463 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
12464 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
12465 config/pa/pa64-hpux.h, config/sparc/litecoff.h
12466 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
12467
12468 * config/elfos.h, config/netware.h, config/svr3.h,
12469 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
12470 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
12471 config/h8300/h8300.h, config/i386/i386-interix.h,
12472 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
12473 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
12474
12475 * config/elfos.h, config/netware.h, config/svr3.h,
12476 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
12477 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
12478 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
12479 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
12480
12481 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
12482 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
12483 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
12484 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
12485 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
12486 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
12487 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
12488 config/rs6000/sysv4.h, config/v850/v850.h
12489 (EXTRA_SECTIONS): Remove in_const/in_rdata.
12490 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
12491
12492 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
12493 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
12494 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
12495 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
12496 * config/alpha/alpha.c (alpha_start_function): Likewise.
12497 (alpha_write_linkage): Likewise.
12498 * config/m32r/m32r.c (m32r_select_section): Likewise.
12499 * config/m88k/m88k.c (m88k_select_section): Likewise.
12500 * config/mips/mips.c (mips_select_rtx_section): Likewise.
12501 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
12502 (rs6000_elf_select_section): Likewise.
12503 * config/v850/v850.c (v850_select_section): Likewise.
12504
12505 * config/1750a/1750a.h, config/i860/sysv3.h
12506 (READONLY_DATA_SECTION_ASM_OP): New.
12507 READONLY_DATA_SECTION_ASM_OP.
12508 * config/i386/interix.c, config/i386/winnt.c
12509 (i386_pe_unique_section): Always use .rdata prefix.
12510 * config/pa/som.h (readonly_data): Always switch to read-only section.
12511 (READONLY_DATA_SECTION): Predicate on flag_pic.
12512 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
12513 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
12514 (READONLY_DATA_SECTION): Update.
12515
e964a556
JT
125162002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
12517
12518 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 12519 is used without -Wformat.
e964a556
JT
12520 * c-common.h (warn_format_zero_length): Declare extern.
12521 * c-decl.c (warn_options): Add "format-zero-length".
12522 * c-format.c (warn_format_zero_length): Declare.
12523 (set_Wformat): Set warn_format_zero_length for -Wformat.
12524 (check_format_info): Only warn about zero-length formats if
12525 warn_format_zero_length is true. Include the format type
12526 name in the warning message.
12527 * doc/invoke.texi: Document -Wformat-zero-length.
12528 * testsuite/gcc.dg/format/zero-length-1.c: New test.
12529
d92b4486
KH
125302002-05-18 Kazu Hirata <kazu@cs.umass.edu>
12531
12532 * timevar.c: Fix formatting.
12533 * tlink.c: Likewise.
12534 * toplev.c: Likewise.
12535 * tree-dump.c: Likewise.
12536 * tree-inline.c: Likewise.
12537
43612ffb
NB
125382002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
12539
12540 * cppinit.c (cpp_post_options): If preprocessed, turn off
12541 traditional. If traditional, turn off column numbers.
12542 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
12543 * cpptrad.c (handle_newline): Update line_base.
12544 (skip_comment): Handle -Wcomment.
12545
f24a153a
ZW
125462002-05-17 Zack Weinberg <zack@codesourcery.com>
12547
12548 * cppinit.c (struct builtin): Remove unused fields.
12549 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
12550 (operator_array): New - was second half of builtin_array.
12551 (init_builtins): Simplify loop over builtin_array/operator_array.
12552
12403335
NB
125532002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
12554
12555 * defaults.h (UNIQUE_SECTION): Remove.
12556 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
12557
1f8c3c5b
RH
125582002-05-17 Richard Henderson <rth@redhat.com>
12559
12560 * expr.c (init_expr_once): Don't use start/end_sequence.
12561 Use rtx_alloc instead of emit_insn.
12562 * toplev.c (lang_dependent_init): Run init_expr_once here ...
12563 (lang_independent_init): ... not here.
12564
4664f4c4
JT
125652002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
12566
12567 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
12568
93febe68
MM
125692002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
12570
12571 * config/avr/avr.c (avr_regs_to_save): New function. Also check
12572 for fixed registers, possibly used for global register variables.
12573 (initial_elimination_offset, avr_output_function_prologue,
12574 avr_output_function_epilogue): Move common code to avr_regs_to_save.
12575
004cb263
NB
125762002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
12577
12578 * Makefile.in: Update for cpptrad.c.
12579 * cpphash.h (struct cpp_buffer): New members for buffer
12580 overlays.
12581 (struct cpp_reader): New members for traditional output.
12582 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
12583 * cppinit.c (cpp_create_reader): Set trad_line.
12584 (cpp_destroy): Free trad_out_base if used.
12585 (cpp_read_main_file): Overlay an empty buffer if traditional.
12586 (cpp_finish_options): Don't do builtins.
12587 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
12588 (cpp_handle_option): Handle it.
12589 * cpplex.c (continue_after_nul): New.
12590 (_cpp_lex_direct): Use handle_nul.
12591 * cpplib.h (struct cpp_options): New traditional option.
12592 * cpptrad.c: New file.
12593
bdcae02b
NB
125942002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
12595
12596 * c-common.c (c_common_init_options): Use C89 for Objective-C,
12597 and set the options flag.
12598 * cppinit.c (lang_flags): Remove objc.
12599 (lang_defaults): Remove OBJC and OBJCXX.
12600 (set_lang): Update.
12601 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
12602 (cpp_handle_option): Remove -+ and -lang-objc++.
12603 For ObjC, just set a flag.
12604 (print_help): Update.
12605 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
12606
0fca60ab
RO
126072002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12608
12609 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
12610 bootstrap with -mips3.
12611
dd3f0101
KH
126122002-05-17 Kazu Hirata <kazu@cs.umass.edu>
12613
12614 * final.c: Fix formatting.
12615 * fix-header.c: Likewise.
12616 * flow.c: Likewise.
12617 * fold-const.c: Likewise.
12618 * function.c: Likewise.
12619
5ca9299f
DM
126202002-05-17 David S. Miller <davem@redhat.com>
12621
12622 PR c/6689, PR optimization/6615
12623 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
12624 and make it a pointer to rtx. Update comments.
12625 (update_equiv_regs): When scanning for equivalences, record
12626 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
12627 it while making the equiv replacements.
12628
508bc172
RO
126292002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12630
12631 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
12632
5cd983a6
KK
126332002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
12634
12635 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
12636 when encoding visibility into SYMBOL_REF_FLAG.
12637
ce0f3925
RS
126382002-05-17 Richard Sandiford <rsandifo@redhat.com>
12639
12640 * expr.c (force_operand): Fix reversed move.
12641
06809951
GP
126422002-05-17 Kurt Wall <kwall@kurtwerks.com>
12643
12644 * doc/install.texi (Testing): Mention two common DejaGnu warnings
12645 that can be ignored.
12646
126472002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12648
12649 * doc/install.texi (Final install): Recommend to install into a
12650 "clean" target directory.
12651
1d5d7a21
RH
126522002-05-17 Richard Henderson <rth@redhat.com>
12653
12654 * config/ia64/ia64.md: Use braced strings instead of quoted strings
12655 for code blocks. Tidy whitespace.
12656
ae46c4e0
RH
126572002-05-17 Richard Henderson <rth@redhat.com>
12658
12659 * hooks.c (hook_tree_bool_false): New.
12660 * hooks.h: Declare it.
12661 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
12662 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
12663 * target.h (select_section, unique_section): New.
12664 (in_small_data_p): New.
12665 * varasm.c (resolve_unique_section): Use hooks instead of macros.
12666 (variable_section, output_constant_def_contents): Likewise.
12667 (default_select_section, default_unique_section): New.
12668 (categorize_decl_for_section, default_elf_select_section): New.
12669 * output.h: Declare them.
12670
12671 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
12672 (TARGET_ASM_SELECT_SECTION): New.
12673 (SELECT_SECTION): Move ...
12674 * config/darwin.c (machopic_select_section): ... here.
12675 * config/darwin-protos.h: Update.
12676
12677 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
12678 (SELECT_SECTION): Move ...
12679 * config/nextstep.c (nextstep_select_section): ... here.
12680 * config/nextstep-protos.h: Update.
12681
12682 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
12683 (TARGET_ASM_SELECT_SECTION): New.
12684 * config/svr3.h (SELECT_SECTION): Remove.
12685
12686 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
12687 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
12688 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
12689 (alpha_encode_section_info): Use it.
12690 * config/alpha/alpha-protos.h: Update.
12691 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
12692 (SELECT_SECTION, UNIQUE_SECTION): Remove.
12693 (TARGET_ASM_SELECT_SECTION): New.
12694 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
12695
12696 * config/arm/pe.h (UNIQUE_SECTION): Remove.
12697 (TARGET_ASM_UNIQUE_SECTION): New.
12698
12699 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
12700 (avr_unique_section): Rename from unique_section; make static.
12701 * config/avr/avr-protos.h: Update.
12702 * config/avr/avr.h (UNIQUE_SECTION): Remove.
12703
12704 * config/c4x/c4x.h (SELECT_SECTION): Remove.
12705
12706 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
12707 (TARGET_ASM_UNIQUE_SECTION): New.
12708 * config/i386/i386-interix.h: Likewise.
12709 * config/i386/win32.h: Likewise.
12710 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
12711 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
12712 * config/i386/sco5.h (SELECT_SECTION): Remove.
12713 (TARGET_ASM_SELECT_SECTION): New.
12714 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
12715
12716 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
12717 instead of SELECT_SECTION.
12718 * config/m68k/dpx2.h: Likewise.
12719 * config/rs6000/lynx.h: Likewise.
12720
12721 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12722 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
12723 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
12724 (ia64_in_small_data_p): New.
12725 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
12726 (ia64_aix_select_section, ia64_aix_unique_section): New.
12727 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
12728 (SELECT_SECTION, UNIQUE_SECTION): Remove.
12729
12730 * config/m32r/m32r.h (SELECT_SECTION): Remove.
12731 (TARGET_ASM_SELECT_SECTION): New.
12732 * config/m32r/m32r.c (m32r_select_section): Take align argument.
12733 * config/m32r/m32r-protos.h: Update.
12734
12735 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
12736 (SELECT_SECTION): Move ...
12737 * config/m88k/m88k.c (m88k_select_section): ... here.
12738
12739 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
12740 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
12741 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
12742 (mcore_unique_section): Make static.
12743 * config/mcore/mcore-protos.h: Update.
12744
12745 * config/mips/elf.h (UNIQUE_SECTION): Remove.
12746 (TARGET_ASM_UNIQUE_SECTION): New.
12747 * config/mips/elf64.h: Likewise.
12748 * config/mips/iris6gld.h: Likewise.
12749 * config/mips/linux.h: Likewise.
12750 * config/mips/mips-protos.h: Update.
12751 * config/mips/mips.c (mips_select_section): Add align argument.
12752 * config/mips/mips.h (SELECT_SECTION): Remove.
12753 (TARGET_ASM_SELECT_SECTION): New.
12754
12755 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12756 * config/mmix/mmix.c (mmix_select_section): Remove.
12757 (mmix_unique_section): Remove.
12758 * config/mmix/mmix-protos.h: Update.
12759
12760 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
12761 (SELECT_SECTION): Move ...
12762 * config/pa/pa.c (pa_select_section): ... here.
12763 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
12764
12765 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
12766 from rs6000_select_section and make static.
12767 (rs6000_elf_unique_section): Similarly.
12768 (rs6000_xcoff_select_section): From xcoff.h.
12769 (rs6000_xcoff_unique_section): Likewise.
12770 * config/rs6000/rs6000-protos.h: Update.
12771 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12772 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
12773 * config/rs6000/xcoff.h: Likewise.
12774
12775 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
12776 (SELECT_SECTION): Move ...
12777 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
12778
12779 * config/v850/v850.h (SELECT_SECTION): Move ...
12780 * config/v850/v850.c (v850_select_section): ... here.
12781 (TARGET_ASM_SELECT_SECTION): New.
12782
12783 * config/vax/vms.h (SELECT_SECTION): Move ...
12784 * config/vax/vax.c (vms_select_section): ... here.
12785 (TARGET_ASM_SELECT_SECTION): New.
12786
12787 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
12788 for the target hooks.
12789
eaeb23a7
NC
127902002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
12791
12792 * config/arm/arm.c (emit_multi_reg_push): Do not set
12793 RTX_FRAME_RELATED_P on the SEQUENCE.
12794
a00fe19f
RH
127952002-05-16 Richard Henderson <rth@redhat.com>
12796
12797 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
12798 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
12799
5ccff482
RH
128002002-05-16 Richard Henderson <rth@redhat.com>
12801
12802 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
12803
068d7739
RH
12804 * config/ia64/ia64.c (saveable_obstack): Do not declare.
12805
0b17ab2f
RH
128062002-05-16 Richard Henderson <rth@redhat.com>
12807
12808 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
12809 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
12810 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
12811 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
12812 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
12813 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
12814 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
12815 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
12816 Revert "Basic block renumbering removal", and two followup patches.
12817
8ae86b3c
JT
128182002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
12819
12820 * lcm.c (optimize_mode_switching): Revert previous change.
12821
4e9f27af
ZD
128222002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12823
12824 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
12825 with only extant block numbers.
12826
3cdc1dbc
JT
128272002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
12828
12829 * lcm.c (optimize_mode_switching): Fix typo.
12830
fbfb3b09
ZD
128312002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12832
12833 * flow.c (calculate_global_regs_live): Queue blocks in program order.
12834
b4b0fb02
RO
128352002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12836
12837 * doc/install.texi (Configuration): Document PWDCMD.
12838
63b827c5
DJ
128392002-05-16 Dale Johannesen <dalej@apple.com>
12840
12841 * combine.c (cant_combine_insn_p): Reenable combinations
12842 involving hard regs unless CLASS_LIKELY_SPILLED_P.
12843
748d29c1
NB
128442002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
12845
12846 * c-common.c (cb_register_builtins): Handle more built-ins
12847 here rather than in gcc.c specs.
12848 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
12849 (cpp_options): Pass -O flags even when only preprocessing.
12850 * toplev.c (set_fast_math_flags): New prototype.
12851 (fast_math_flags_set_p): New.
12852 (set_no_fast_math_flags): Remove.
12853 (decode_f_option): Update.
12854 * toplev.h (set_fast_math_flags): Update.
12855 (fast_math_flags_set_p): New.
12856 (set_no_fast_math_flags): Remove.
12857config:
12858 * c4x/c4x.c (c4x_override_options): Update.
12859
5279d739
ZW
128602002-05-16 Zack Weinberg <zack@codesourcery.com>
12861
12862 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
12863 Default-define here.
12864 (builtin_define_with_value): Can now wrap the expansion in
12865 quotation marks if such is wanted.
a00fe19f 12866 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
12867 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
12868 here.
12869 (c_common_init): Set options->stdc_0_in_system_headers.
12870 * c-lex.h: Update prototype of builtin_define_with_value.
12871 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
12872 and REGISTER_PREFIX.
12873
12874 * cppinit.c (VERS, ULP, C, X): Kill.
12875 (builtin_array): Remove entries for __VERSION__,
12876 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
12877 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
12878 a constant.
12879 (init_builtins): Kill off a bunch of now-dead code.
12880 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
12881 -fno-leading-underscore.
12882 (cpp_handle_option): Remove code to set user_label_prefix.
12883 (cpp_post_options): Likewise.
12884
12885 * cpplib.h (struct cpp_options): Remove user_label_prefix.
12886 (stdc_0_in_system_headers): New.
12887 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
12888 stdc_0_in_system_headers) too to decide the value of __STDC__.
12889
12890 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 12891 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
12892 (initialize_builtins): Don't define __REGISTER_PREFIX__
12893 or __USER_LABEL_PREFIX__.
12894 (install_value): Wrap compound statement in dummy loop so the
12895 macro works properly in an if statement.
12896
12897
62e6ca55
JJ
128982002-05-16 Janis Johnson <janis187@us.ibm.com>
12899
12900 * loop.h (struct loop_info): Add member has_prefetch.
12901 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
12902 (prescan_loop): Initialize has_prefetch.
12903 (struct prefetch_info): Change prefetch_in_loop and
12904 prefetch_before_loop from bit fields to ints.
12905 (emit_prefetch_instructions): Several small fixes.
12906 (check_dbra_loop): Don't reverse loop that uses prefetch.
12907
1e6347d8
RO
129082002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12909
12910 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
12911 * configure.in: Likewise.
12912 * fixinc/check.tpl: Likewise.
12913 * fixinc/fixinc.dgux: Likewise.
12914 * fixinc/fixinc.svr4: Likewise.
12915 * fixinc/fixinc.winnt: Likewise.
12916 * fixinc/fixincl.sh: Likewise.
12917 * fixproto: Likewise.
12918 * configure: Regenerate.
12919
355e4ec4
ZD
129202002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12921
12922 Basic block renumbering removal:
12923 * basic_block.h (struct basic_block_def): Renamed index to sindex,
12924 added prev_bb and next_bb fields.
12925 (n_basic_blocks): Renamed to num_basic_blocks.
12926 (last_basic_block): New, index of last basic block.
12927 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
12928 traversing basic block chain.
12929 (BLOCK_NUM): index -> sindex.
12930 (create_basic_block_structure, create_basic_block): Declaration changed.
12931 (debug_num2bb): Declare.
12932 (expunge_block_nocompact): Declaration removed.
12933 (link_block, unlink_block, compact_blocks): Declare.
12934 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
12935 * cfg.c (entry_exit_blocks): Initialize new fields.
12936 (clear_edges, alloc_block, expunge_block, cached_make_edge,
12937 redirect_edge_pred, dump_flow_info, dump_edge_info,
12938 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
12939 free_aux_for_edges): Modified.
12940 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
12941 (expunge_block_nocompact): Removed.
12942 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
12943 find_unreachable_blocks, create_edge_list, print_edge_list,
12944 verify_edge_list, flow_edge_list_print, remove_fake_successors,
12945 remove_fake_edges, flow_reverse_top_sort_order_compute,
12946 flow_depth_first_order_compute, flow_preorder_transversal_compute,
12947 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
12948 flow_dfs_compute_reverse_execute): Modified.
12949 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
12950 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
12951 Modified.
12952 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
12953 merge_blocks_move_predecessor_nojumps,
12954 merge_blocks_move_successor_nojumps, merge_blocks,
12955 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
12956 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
12957 * cfglayout.c (skip_insns_after_block, label_for_bb,
12958 record_effective_endpoints, scope_to_insns_finalize,
12959 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
12960 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
12961 cfg_layout_duplicate_bb): Modified.
12962 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
12963 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
12964 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
12965 flow_loops_find, flow_loop_outside_edge_p): Modified.
12966 * cfgrtl.c (create_basic_block_structure, create_basic_block,
12967 flow_delete_block, compute_bb_for_insn, split_block,
12968 try_redirect_by_replacing_jump, redirect_edge_and_branch,
12969 force_nonfallthru_and_redirect, tidy_fallthru_edge,
12970 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
12971 commit_edge_insertions, commit_edge_insertions_watch_calls,
12972 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
12973 purge_all_dead_edges): Modified.
12974 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
12975 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
12976 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
12977 Modified.
12978 * conflict.c (conflict_graph_compute): Modified.
12979 * df.c (FOR_ALL_BBS): Removed.
12980 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
12981 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
12982 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
12983 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
12984 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
12985 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
12986 * final.c (compute_alignments, final_scan_insn): Modified.
12987 * flow.c (verify_local_live_at_start, update_life_info,
12988 update_life_info_in_dirty_blocks, free_basic_block_vars,
12989 delete_noop_moves, calculate_global_regs_live,
12990 initialize_uninitialized_subregs, allocate_bb_life_data,
12991 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
12992 mark_used_reg, count_or_remove_death_notes): Modified.
12993 * function.c (thread_prologue_and_epilogue_insns): Modified.
12994 * gcse.c (struct null_pointer_info): Change typo of current_block
12995 to basic_block.
12996 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
12997 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
12998 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
12999 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
13000 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
13001 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
13002 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
13003 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
13004 pre_delete, one_pre_gcse_pass, compute_transpout,
13005 invalidate_nonnull_info, delete_null_pointer_checks_1,
13006 free_code_hoist_mem, compute_code_hoist_vbeinout,
13007 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
13008 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
13009 compute_store_table, build_store_vectors, insert_insn_start_bb,
13010 insert_store, replace_store_insn, free_store_memory, store_motion):
13011 Modified.
13012 * global.c (global_alloc, global_conflicts, mark_elimination,
13013 build_insn_chain): Modified.
13014 * graph.c (print_rtl_graph_with_bb): Modified.
13015 * haifa-sched.c (sched_init): Modified.
13016 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
13017 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
13018 if_convert): Modified.
13019 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
13020 compute_insert_delete, pre_edge_lcm, compute_available,
13021 compute_farthest, compute_nearerout, compute_rev_insert_delete,
13022 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
13023 Modified.
13024 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
13025 * loop.c (loop_dump_aux): Modified.
13026 * predict.c (combine_predictions_for_insn, estimate_probability,
13027 last_basic_block_p, process_note_prediction, process_note_predictions,
13028 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
13029 expensive_function_p, estimate_bb_frequencies,
13030 compute_function_frequency): Modified.
13031 * print-rtl.c (print_rtx): Modified.
13032 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
13033 get_exec_counts, compute_branch_probabilities, compute_checksum,
13034 branch_prob, find_spanning_tree): Modified.
13035 * recog.c (split_all_insns, peephole2_optimize): Modified.
13036 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
13037 convert_regs_1, convert_regs_2, convert_regs): Modified.
13038 * regclass.c (scan_one_insn, regclass): Modified.
13039 * regmove.c (mark_flags_life_zones, regmove_optimize,
13040 combine_stack_adjustments): Modified.
13041 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
13042 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
13043 * reorg.c (dbr_schedule): Modified.
13044 * resource.c (find_basic_block, init_resource_info): Modified.
13045 * sbitmap.c (sbitmap_intersection_of_succs,
13046 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
13047 sbitmap_union_of_preds): Modified.
13048 * sched-deps.c (init_dependency_caches): Modified.
13049 * sched-ebb.c (schedule_ebbs): Modified.
13050 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
13051 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
13052 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
13053 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
13054 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
13055 ssa_const_prop): Modified.
13056 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
13057 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
13058 * ssa.c (remove_phi_alternative, find_evaluations,
13059 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
13060 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
13061 make_regs_equivalent_over_bad_edges,
13062 make_equivalent_phi_alternatives_equival,
13063 compute_conservative_reg_partition,
13064 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
13065 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
13066 Modified.
13067
5a566bed
MM
130682002-05-16 Mark Mitchell <mark@codesourcery.com>
13069
13070 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
13071
48f6efae
NC
130722002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
13073
13074 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
13075 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
13076 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
13077 calling CONSTANT_POOL_ADDRESS_P.
13078 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
13079 to decide whether to define __arm__ or __thumb.
355e4ec4 13080 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
13081 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
13082
b166fadd
NB
130832002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
13084
13085 * config/arc/arc.h (CPP_PREDEFINES): Remove.
13086 (CPP_SPEC): Update.
13087 (TARGET_CPU_CPP_BUILTINS): New.
13088
601328bb
NB
130892002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
13090
13091 * cpphash.h (cpp_macro): Move here, and make expansion a union.
13092 * cppmacro.c (cpp_macro): Remove.
13093 (enter_macro_context, replace_args, warn_of_redefinition,
13094 _cpp_create_definition, cpp_macro_definition): Update.
13095
ff48be5c
JM
130962002-05-16 Jason Merrill <jason@redhat.com>
13097
13098 * config/mips/mips.c (mips_output_external): Don't do sdata
13099 optimization for a variable with DECL_COMDAT set.
13100
805c42ba
AH
131012002-05-15 Aldy Hernandez <aldyh@redhat.com>
13102
355e4ec4
ZD
13103 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
13104 Cleanups for accepting modifiers on pointers.
13105 Fix predicate typos.
13106 Allow long pointers as well as int pointers.
805c42ba 13107
34fb9ba5
RH
131082002-05-15 Richard Henderson <rth@redhat.com>
13109
13110 * varasm.c (merge_weak): Remove special case for extern and common.
13111
62e118f5
MH
131122002-05-15 Matt Hiller <hiller@redhat.com>
13113
13114 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 13115 XFAILing.
62e118f5
MH
13116 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
13117 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
13118 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
13119 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
13120 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
13121 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
13122
fefac463
AH
131232002-05-15 Aldy Hernandez <aldyh@redhat.com>
13124
355e4ec4 13125 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 13126
5f004351
AH
131272002-05-15 Aldy Hernandez <aldyh@redhat.com>
13128
355e4ec4
ZD
13129 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
13130 ("altivec_mfvscr"): Read from VSCR.
13131
13132 Add vscr sets for the following insns: altivec_vctuxs,
13133 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
13134 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
13135 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
13136 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
13137 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
13138 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
13139 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
13140 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
13141 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
13142 altivec_vsum2sws, altivec_vsumsws.
13143
13144 * config/rs6000/rs6000.h: Add VSCR fixed register.
13145 (CALL_REALLY_USED_REGISTERS): Add vscr.
13146 (CALL_USED_REGISTERS): Same.
13147 (FIXED_REGISTERS): Same.
13148 (REG_ALLOC_ORDER): Same.
13149 (reg_class): Add VSCR_REGS.
13150 (REG_CLASS_NAMES): Same.
13151 (REG_CLASS_CONTENTS): Same.
13152 (VSCR_REGNO): New.
13153 (REGISTER_NAMES): Add vscr.
13154 (DEBUG_REGISTER_NAMES): Same.
13155 (ADDITIONAL_REGISTER_NAMES): Same.
13156 (FIRST_PSEUDO_REGISTER): Increment.
13157 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 13158
033afd11
RH
131592002-05-15 Jakub Jelinek <jakub@redhat.com>
13160
13161 * fold-const.c (fold): Fix a typo.
13162
131632002-05-15 Eric Botcazou <ebotcazou@multimania.com>
13164
13165 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
13166 comparison against the highest or lowest integer value before
13167 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
13168 transformation and that of an unsigned comparison against 0
13169 right after.
13170
14285ace
RH
131712002-05-15 Richard Henderson <rth@redhat.com>
13172
13173 * varasm.c (merge_weak): Error for any weakening after definition.
13174 Adjust weakening after use warning to catch more cases.
13175 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
13176 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
13177
194734e9
JH
13178Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
13179
13180 * invoke.texi (-malign-double): Re-add lost warning.
13181
13182 * i386-protos.h (x86_output_mi_thunk): Declare.
13183 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
13184 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
13185
13186 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
13187 when flag_asynchronous_unwind_tables is set.
13188
13189 * flags.h (flag_reorder_functions): Declare.
13190 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 13191 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
13192 * Makefile.in (predict.o): Add dependency on target.h and params.h
13193 * defaults.h (HOT_TEXT_SECTION_NAME,
13194 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
13195 * predict.c (choose_function_section): New function.
13196 (estimate_bb_frequencies): Use it.
13197 * toplev.c (flag_reorder_functions): New global variable.
13198 (lang_independent_options): New.
13199 (parse_options_and_default_flags): Set.
13200 * varasm.c (assemble_start_function): Bypass functdion alignment
13201 for never executed functions.
13202 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
13203 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
13204 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
13205 Document.
13206
13207 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
13208
13209 * predict.c: Inlude profile.h
13210 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
13211 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
13212 Use the information about maximal counter in the program.
13213
13214 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
13215
13216 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
13217 probably_never_executed_bb_p): New functions.
13218 * cfgcleanup.c (outgoing_edges_match): Use them.
13219 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
13220 (maybe_hot_bb_p, probably_cold_bb_p,
13221 probably_never_executed_bb_p): New functions.
13222
13223 * function.h (function): Add new field function_frequency.
13224 * predict.c (compute_function_frequency): New function.
13225 (estimate_probability): Call it.
13226
61ad9a34
JJ
132272002-03-09 Jakub Jelinek <jakub@redhat.com>
13228
13229 PR optimization/5172, optimization/5200
13230 * gcse.c (gcse_main): Disable store_motion.
13231
a11eba95
ZW
132322002-05-14 Zack Weinberg <zack@codesourcery.com>
13233
13234 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
13235 (c_common_nodes_and_builtins): Use it.
13236 (builtin_define_with_value): New function.
13237 (cb_register_builtins): Define __SIZE_TYPE__,
13238 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
13239 using builtin_define_with_value. Use consistent notation when
13240 defining __GXX_WEAK__.
13241 (WCHAR_TYPE_SIZE): Don't redefine.
13242 (combine_strings): Don't use WCHAR_TYPE_SIZE.
13243
13244 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
13245 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
13246 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
13247 * tradcpp.c (initialize_builtins): Likewise.
13248 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
13249
13250 * c-lex.h (builtin_define_with_value): Prototype.
13251 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
13252 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
13253 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
13254
13255 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
13256 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
13257 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
13258 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
13259 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
13260 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
13261 config/sparc/sol2-bi.h, config/sparc/sparc.h:
13262 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
13263 to __SIZE_TYPE__ etc from all spec strings. When this makes
13264 extra specs empty, delete them.
13265
1c31ecf6
JDA
132662002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
13267
13268 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
13269 for PA8000 or generating dwarf2 call frame information.
13270 (output_call): Remove DO_FRAME_NOTES check from return pointer
13271 optimization.
13272 (following_call): Return 0 when scheduling for PA8000 or generating
13273 dwarf2 call frame information. Revise comment.
13274
ac9cfada
NB
132752002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13276
13277config/alpha:
13278 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
13279 and __IEEE_FP_INEXACT as appropriate.
13280 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
13281 (CPP_SPEC): Remove ieee defines.
13282 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
13283
9b690711
RH
132842002-05-14 Richard Henderson <rth@redhat.com>
13285
13286 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
13287 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
13288
e6471be6
NB
132892002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13290
e6471be6
NB
13291 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
13292 (CPP_SPEC): Update.
13293 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
13294 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
13295 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
13296 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
13297 (EXTRA_SPECS): Update.
13298 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
13299 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
13300 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
13301 define TARGET_OS_CPP_BUILTINS if necessary.
13302
e5f5feea
NB
133032002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13304
13305 * gcc.c (cpp_options): Must pass -m* and -f* options
13306 to the front end even when only preprocessing.
13307 (cc1_options): Remove redundant -lang-c.
13308 * tradcpp.c (main): Ignore -m options.
13309objc:
13310 * lang-specs.h: Similarly.
13311
317638a8
VM
133122002-05-14 Vladimir Makarov <vmakarov@redhat.com>
13313
13314 * genautomata.c (transform_3): Add code for transformation
13315 `(A,B,...)+C -> A+C,B,...'.
13316
4d604303
JH
13317Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
13318
13319 * final.c (end_final): Do not output profile_arcs constructor, when
13320 no functions are instrumented.
13321
b18b06ed
JH
13322Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
13323
13324 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
13325
a12f97f0
GP
133262002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13327
13328 * doc/install.texi: Remove special markup originally required for
13329 HTML generation with texi2html.
13330
c1ae3eb4
AS
133312002-05-14 Andreas Schwab <schwab@suse.de>
13332
13333 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
13334 SELECT_SECTION.
13335 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
13336
13337 * varasm.c (resolve_unique_section): Add third parameter
13338 flag_function_or_data_sections and use it instead of
13339 flag_function_sections.
13340 (assemble_start_function): Pass flag_function_sections.
13341 (asm_emit_uninitialised): Pass flag_data_sections.
13342 (assemble_variable): Likewise.
13343
8ee41eaf
RH
133442002-05-14 Richard Henderson <rth@redhat.com>
13345
13346 * config/i386/i386.md: Use define_constants for unspec numbers.
13347 * config/i386/i386.c: Likewise.
13348
e6471be6
NB
133492002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13350
13351 * doc/contrib.texi: Update my entry.
13352
c297b764
MM
133532002-05-13 Mark Mitchell <mark@codesourcery.com>
13354
13355 * fixinc/inclhack.def (winidss_valist): Limit applicability.
13356 * fixinc/fixincl.x: Regenerated.
13357 * fixinc/tests/base/math.h: Update.
13358 * fixinc/tests/base/testing.h: Likewise.
13359
0b42c8f8
ZW
133602002-05-13 Zack Weinberg <zack@codesourcery.com>
13361
13362 * genattr.c (gen_attr): Don't emit a comma after the last
13363 enumerator.
13364
546c093e
RH
133652002-05-13 Richard Henderson <rth@redhat.com>
13366
13367 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
13368 by non-local gotos.
13369 * recog.c (peephole2_optimize): Likewise.
13370
85be8c2d
AP
133712002-05-13 Andris Pavenis <pavenis@lanet.lv>
13372
13373 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
13374 input to O_BINARY.
13375
765b8f90
JL
133762002-05-13 Jeffrey A Law (law@redhat.com)
13377
fe4b3c79
JL
13378 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
13379 Update prototype and callers.
13380 (propagate_one_insn): Stack pointer adjustments kill MEMs on
13381 the mem_set_list which reference the stack pointer, as do
13382 calls to constant functions as they may clobber outgoing
13383 argument space.
13384
16133d00
JL
13385 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
13386
765b8f90
JL
13387 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
13388 (ia32_multipass_dfa_lookahead): New function.
13389
63826d5b
NB
133902002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13391
13392 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
13393 (translate_options): Remove 'V'.
13394 (process_command): Similarly.
13395doc:
13396 * invoke.texi: Remove documentation of 'V'.
13397
dcb41ced
UW
133982002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
13399
13400 * config/s390/linux.h: Revert 2002-04-22 changes.
13401
8dfea428
SM
134022002-05-13 Scott Marks <SMarks@mobile-mind.com>
13403
13404 * config/fr30/fr30.md: Only allow splits of immediate loads
13405 if the destination is a register.
13406
12a41c22
NB
134072002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13408
13409 * Makefile.in (c-common.o, cppinit.o): Update.
13410 * c-common.c: Include except.h.
13411 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
13412 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
13413 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
13414 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
13415 CPP_PREDEFINES): Handle here.
13416config:
13417 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
13418 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
13419 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
13420 TARGET_OS_CPP_BUILTINS.
13421 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
13422 (CPP_SPEC, EXTRA_SPECS): Update.
13423 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
13424 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
13425 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
13426 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
13427 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
13428doc:
13429 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
13430 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
13431
5692c7bc
ZW
134322002-05-12 Zack Weinberg <zack@codesourcery.com>
13433
13434 * emit-rtl.c (global_rtl): Update comment.
13435 (const_double_htab, const_double_htab_hash,
13436 const_double_htab_hash, lookup_const_double): New.
13437 (const_int_htab_hash, const_int_htab_eq): Remove const
13438 qualifiers, which cause tons of warnings with RTL checking on.
13439 (gen_rtx_CONST_DOUBLE): Deleted.
13440 (const_double_from_real_value): New function - bears some
13441 resemblance to the former immed_real_const_1.
13442 (immed_double_const): Moved here from varasm.c and
13443 simplified.
13444 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
13445 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
13446 (gen_rtx): Use immed_double_const.
13447 (init_emit_once): Initialize the const_double_htab. Use
13448 REAL_VALUE_FROM_INT where possible. Can now use
13449 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
13450 * varasm.c (struct varasm_status): Remove x_const_double_chain.
13451 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
13452 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
13453 (init_varasm_status, mark_varasm_status): Don't touch
13454 x_const_double_chain.
13455
13456 * output.h: Delete prototype for clear_const_double_mem.
13457 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
13458 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
13459 const_double_from_real_value, not immed_real_const_1, and use
13460 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
13461 CONST_DOUBLE_ATOF.
13462 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
13463 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
13464 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
13465 (gen_rtx_REG): Second arg is unsigned.
13466
13467 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
13468 (excluded_rtx): New, return true for CONST_DOUBLE.
13469 (genmacro): Write nothing for excluded codes.
13470 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
13471 * expr.c (expand_expr): Likewise.
13472 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
13473 CONST_DOUBLE_CHAIN.
13474 * toplev.c (rest_of_compilation): Don't call
13475 clear_const_double_mem.
13476
13477 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
13478 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
13479 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
13480 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
13481 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
13482 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
13483 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
13484 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
13485
31397a7b
KG
134862002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13487
13488 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
13489
1b70d38a
TT
134902002-05-12 Tom Tromey <tromey@redhat.com>
13491
13492 * tree.h (copy_node): Don't mention TREE_PERMANENT.
13493
9a5834ae
ZW
134942002-05-12 Zack Weinberg <zack@codesourcery.com>
13495
13496 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
13497 (scan_comma_elt): New function. Accepts whitespace in comma lists.
13498 * gensupport.h: Prototype new routines.
13499 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
13500 use of printf.
13501 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
13502 (next_comma_elt): Use scan_comma_elt.
13503
13504 * config/i386/i386.md: Use new attribute notation to break up
13505 long lines in define_attr forms.
13506
51286de6
RH
135072002-05-12 Richard Henderson <rth@redhat.com>
13508
13509 * expr.c (compress_float_constant): New.
13510 (emit_move_insn): Use it.
13511 (float_extend_from_mem): New.
13512 (init_expr_once): Initialize it.
13513 * real.c (exact_real_truncate): New.
13514
13515 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
13516 dropped into memory; penalize for size.
13517 (RTX_COSTS): FLOAT_EXTEND is free.
13518 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
13519 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
13520
6412341e
RH
135212002-05-12 Richard Henderson <rth@redhat.com>
13522
13523 * profile.h (profile_info): Add missing extern to declaration.
13524 * profile.c (profile_info): Define it.
13525
12877f09
JDA
135262002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13527
13528 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
13529 used for DImode and TImode.
13530
387f9e32
NB
135312002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
13532
13533 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
13534 fake a newline.
13535
e1a0f69c
ZW
135362002-05-11 Zack Weinberg <zack@codesourcery.com>
13537
13538 * config/rs6000/rs6000.c (rs6000_default_long_calls,
13539 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
13540 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
13541 (rs6000_override_options): Handle -m(no-)longcall.
13542 (init_cumulative_args, output_mi_thunk): Check for both
13543 longcall and shortcall attributes on the function.
13544 (rs6000_attribute_table): Add "shortcall".
13545 (rs6000_handle_longcall_attribute): Update comment.
13546 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
13547 altivec_expand_ternop_builtin): Add default clauses to switches
13548 to silence warnings.
13549
13550 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
13551 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
13552 (TARGET_OPTIONS): Add longcall and no-longcall.
13553
13554 * config/rs6000/rs6000.md (call_nonlocal_sysv,
13555 call_value_nonlocal_sysv): Split by alternatives. One pair
13556 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
13557 the call cookie. The other pair accepts only LR/CTR and has
13558 no restriction.
13559
13560 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
13561 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
13562 tmake_file.
13563 * config/rs6000/rs6000-c.c: New file.
13564 * config/rs6000/t-rs6000-c-rule: New file.
13565 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
13566 Prototype rs6000_pragma_longcall.
13567
13568 * doc/extend.texi: Document shortcall attribute.
13569 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
13570
9c64026d
JDA
135712002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13572
13573 * reorg.c (dbr_schedule): Remove unnecessary test.
13574
6c81a490
JH
13575Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
13576
13577 * i386.md (testsi to testqi spliters): New.
13578
13579 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
13580
13581 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
13582
13583 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
13584
13585 * basic-block.h: New flag EDGE_CAN_FALLTHRU
13586 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
13587 that can be made fallthru.
13588
13589 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
13590
13591 * cfglayout.c (cleanup_unconditional_jumps): New static function.
13592 (cfg_layout_initialize): Use it.
4c476cf3 13593
e4447d94
MM
135942002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
13595
13596 * config/avr/avr.c (avr_mcu_types): Update supported devices.
13597 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
13598 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
13599
3a538a66
KH
136002002-05-11 Kazu Hirata <kazu@cs.umass.edu>
13601
13602 * dbxout.c: Fix formatting.
13603 * dependence.c: Likewise.
13604 * df.c: Likewise.
13605 * diagnostic.c: Likewise.
13606 * doloop.c: Likewise.
13607 * dominance.c: Likewise.
13608 * doschk.c: Likewise.
13609 * dwarf2asm.c: Likewise.
13610 * dwarf2out.c: Likewise.
13611 * dwarfout.c: Likewise.
13612
2292e8fc
RH
136132002-05-10 Richard Henderson <rth@redhat.com>
13614
13615 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
13616 Convert integers constants as needed. Replace "nwords" field with
13617 "sizeof_bb".
13618 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
13619 * function.h: Fix typo in comment.
13620 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
13621
dbfb1116
RS
136222002-05-10 Roger Sayle <roger@eyesopen.com>
13623
13624 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
13625 into the equivalent (signed char)c > 0.
13626
79a497cd
JJ
136272002-05-10 Janis Johnson <janis187@us.ibm.com>
13628
13629 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
13630 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
13631 (struct prefetch_info): Fix spelling of member bytes_accessed.
13632 (emit_prefetch_instructions): Make dump messages more regular;
13633 restructure code to add more dump messages; use new macros for
13634 heuristics. (There are no code generation changes in any of this).
13635
6c45cb0d
DM
136362002-05-10 David S. Miller <davem@redhat.com>
13637
7440af14
DM
13638 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
13639 (struct rtx_def): Update unchanging flag comment.
13640 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
13641 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
13642 to be handled to INSN too.
13643 (dbr_schedule): Likewise.
13644 * resource.c (next_insn_no_annul): Likewise.
13645
6c45cb0d
DM
13646 * cse.c (rtx_cost): Remove multiplication by power of 2 special
13647 casing.
13648
29f21e4f
GP
136492002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13650
13651 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
13652 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
13653 (possibly) work around broken /bin/sh.
13654
e4ba88da
RO
136552002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13656
13657 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
13658 . as N64/N32 libgcc_s.so subdirs.
13659
4f4778ee
DM
136602002-05-10 David S. Miller <davem@redhat.com>
13661
13662 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
13663
13664 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
13665 more accurately.
13666 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
13667 comment.
13668 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
13669 * doc/rtl.texi: Document these macros more accurately.
13670 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
13671 JUMP_INSNs and CALL_INSNs.
13672 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
13673 or INSN_FROM_TARGET_P if the code is appropriate.
13674
1a499b92
MM
136752002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
13676
13677 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
13678 before using SYMBOL_REF_FLAG (addr).
13679
13680 * config/avr/avr-protos.h (avr_io_address_p): Declare.
13681 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
13682 Make non-static. Update all callers.
13683 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
13684 New insns to clear/set/test a single bit in I/O address space.
13685
65212b66
KG
136862002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13687
13688 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
13689
3df89291
NB
136902002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13691
13692 * Makefile.in: Update.
13693 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
13694 builtin_define_std): New.
13695 (c_common_init): Register CPP builtins callback.
13696 * c-common.h (flag_iso, flag_undef): New.
13697 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
13698 * c-lex.c: Don't include target.h.
13699 (cb_register_builtins): Move to c-common.c.
13700 (init_c_lex): Don't register hook here.
13701 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
13702 (cpp_define, cpp_assert): Remove.
13703 * gcc.c (cc1_options): Pass -undef to front end.
13704 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
13705 (TARGET_INITIALIZER): Update.
13706 * target.h (struct cpp_reader): Don't predeclare.
13707 (struct gcc_target): Remove cpp builtin hook.
13708 * tree.c (default_register_cpp_builtins): Remove.
13709doc:
13710 * tm.texi: Update.
13711
32fa4565
NB
137122002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13713
13714 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
13715
23357c55
RO
137162002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13717
13718 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
13719 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
13720
5aa26af0
JJ
137212002-05-09 Jakub Jelinek <jakub@redhat.com>
13722
13723 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
13724 * config/sparc/libgcc-sparc-glibc.ver: New file.
13725 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
13726 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
13727
2937267b
JJ
137282002-05-09 Jakub Jelinek <jakub@redhat.com>
13729
13730 PR target/6429
13731 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
13732 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
13733 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
13734 base multilibs.
13735 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
13736 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
13737 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
13738 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
13739
086c0f96
RH
137402002-05-09 Richard Henderson <rth@redhat.com>
13741
13742 * config/ia64/ia64.md: Use define_constants for unspec numbers.
13743 * config/ia64/ia64.c: Likewise.
13744
a8b4881f
RS
137452002-05-09 Richard Sandiford <rsandifo@redhat.com>
13746
13747 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
13748 (save_restore_insns): Likewise.
13749 (mips_expand_prologue, mips_expand_epilogue): Update callers.
13750 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
13751
243e5500 13752Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 13753
af2728a4
JL
13754 * athlon.md, k6.md, pentium.md, ppro.md): New files.
13755 * i386.md: Move scheduling information into new files.
13756
890d52e8
JL
13757 * i386.md (type attribute): Add "rotate" for rotate insns.
13758 (rotate insns): Set type to "rotate".
13759 (various attributes and function units): Treat rotate like shift.
13760 (pent_pair attribute): Only rotates by one bit position are
13761 pairable.
13762 (sbb insns): Explicitly set pent_pair attribute on a couple
13763 that were missing it.
13764
f78ec36a
R
13765Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
13766
13767 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
13768 make sure that buffer starts on odd word address.
13769 (sh_va_arg): Skip odd fp registers when reading a double precision
13770 value.
13771
ff431459
NB
137722002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13773
13774 * tree.h (preserve_data, object_permanent_p, type_precision):
13775 Remove.
13776
c3bf3e6e
NB
137772002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13778
13779 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
13780 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
13781doc:
13782 * cpp.texi: Update for removal of obsolete features.
13783
02263a8a
JH
13784Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
13785 Jeffrey A Law (law@redhat.com)
13786
13787 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
13788 the DFA interface for Pentium processors.
13789 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
13790 (attr_pent_pair, ix86_pent_find_pair): Remove.
13791 (ix86_sched_reorder_pentium): Remove.
13792 (ix86_sched_reorder): Remove reordering for Pentium.
13793 * i386.md (Pentium scheduling): Rewrite using DFA description.
13794
3e638a90
JH
13795Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
13796
13797 * cfganal.c (can_fallthru): Fix fast path.
13798 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
13799 with edges to the next block.
13800
b7c9bf28
JH
13801Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
13802 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
13803
13804 * final.c (end_final): Use C trees to output data structures for profiling.
13805
13806 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
13807 (profile.o): New dependency profile.h
13808 (final.o): New dependency profile.h
13809 * profile.h: New file. New global structure profile_info.
13810 * final.h (count_edges_instrumented_now): Declare.
13811 (current_function_cfg_checksum): Declare.
13812 (function_list): New structure.
13813 (functions_head, functions_tail): New static variables.
13814 (end_final): Emits more data, removed some -ax stuff.
13815 (final): Stores function names and chcksums.
13816 * gcov-io.h (__write_gcov_string): New function.
13817 (__read_gcov_string): New function.
13818 * gcov.c (read_profile): New function.
13819 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 13820 da_file.
5692c7bc
ZW
13821 (read_files): Removed da_file checking, it's done by read_profile now.
13822 * libgcc2.c (bb_function_info): New structure.
13823 (bb): New field in structure, removed some -ax stuff.
13824 (__bb_exit_func): Changed structure of da_file.
13825 * profile.c (count_edges_instrumented_now): New global variable.
13826 (current_function_cfg_checksum): New global variable.
13827 (max_counter_in_program): New global variable.
13828 (get_exec_counts): New function.
13829 (compute_checksum): New function.
13830 (instrument_edges): Sets count_edges_instrumented_now.
13831 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 13832 reading da_file.
5692c7bc
ZW
13833 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
13834 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 13835 now.
5692c7bc 13836 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 13837 now.
5692c7bc 13838 * gcov.texi: Updated information about gcov file format.
b7c9bf28 13839
786de7eb
KH
138402002-05-09 Kazu Hirata <kazu@cs.umass.edu>
13841
13842 * sbitmap.c: Fix formatting.
13843 * scan.c: Likewise.
13844 * scan-decls.c: Likewise.
13845 * sched-deps.c: Likewise.
13846 * sched-ebb.c: Likewise.
13847 * sched-rgn.c: Likewise.
13848 * sched-vis.c: Likewise.
13849 * sdbout.c: Likewise.
13850 * sibcall.c: Likewise.
13851 * simplify-rtx.c: Likewise.
13852 * ssa.c: Likewise.
13853 * ssa-ccp.c: Likewise.
13854 * ssa-dce.c: Likewise.
13855 * stmt.c: Likewise.
13856 * stor-layout.c: Likewise.
13857 * stringpool.c: Likewise.
13858
b7764693
DM
138592002-05-09 David S. Miller <davem@redhat.com>
13860
13861 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
13862
4e7d5d27
DM
138632002-05-07 David S. Miller <davem@redhat.com>
13864
13865 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
13866 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
13867 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
13868 library implementation clobbers the output before the inputs
13869 are fully consumed, use stack temporary for the output.
13870
f979570e
JT
138712002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
13872
13873 * config/netbsd.h (CPP_SPEC): Remove.
13874 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
13875 * config/i386/netbsd.h (CPP_SPEC): Define.
13876 * config/ns32k/netbsd.h (CPP_SPEC): Define.
13877 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
13878 * config/sparc/netbsd.h (CPP_SPEC): Define.
13879 * config/vax/netbsd.h (CPP_SPEC): Define.
13880
a6a2274a
KH
138812002-05-08 Kazu Hirata <kazu@cs.umass.edu>
13882
13883 * read-rtl.c: Fix formatting.
13884 * real.c: Likewise.
13885 * recog.c: Likewise.
13886 * regclass.c: Likewise.
13887 * regmove.c: Likewise.
13888 * reg-stack.c: Likewise.
13889 * reload1.c: Likewise.
13890 * reload.c: Likewise.
13891 * resource.c: Likewise.
13892 * rtlanal.c: Likewise.
13893 * rtl.c: Likewise.
13894 * rtl-error.c: Likewise.
13895
461b48d5
JDA
138962002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
13897
13898 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
13899 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
13900
95d075ff
BS
139012002-05-08 Bernd Schmidt <bernds@redhat.com>
13902
13903 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
13904 use __SSE2__ macro instead.
13905 * config/i386/xmmintrin.h: Likewise.
13906
2d4cc6a7
JJ
139072002-05-08 Janis Johnson <janis187@us.ibm.com>
13908
13909 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
13910 and use it in all invocations of these macros. Clean up comments.
13911 * rtl.c (rtl_check_failed_flag): Add an argument for the name
13912 of the flag access macro whose check failed.
13913 * doc/rtl.texi (Flags): Document additional flag uses.
13914
3f8ffc7c
RS
139152002-05-08 Robert Spier <rspier@pobox.com>
13916 Neil Booth <neil@daikokuya.demon.co.uk>
13917
13918 PR preprocessor/6521
13919 * cppfiles.c (handle_missing_header): Don't do anything
13920 different for <> includes.
13921doc:
13922 * cppopts.texi: Update documentation for -MG.
13923
b9e2d17b
NB
139242002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
13925
13926 * cpplex.c (cpp_interpret_charconst): Truncate as well as
13927 sign-extend.
13928doc:
13929 * cpp.texi: Clarify multichar charconst valuation.
13930
8d8269fa
MM
139312002-05-08 Mark Mitchell <mark@codesourcery.com>
13932
13933 * doc/invoke.texi: Document -mwindiss option.
13934
29b91443
JM
139352002-05-08 Jason Merrill <jason@redhat.com>
13936
13937 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
13938
13939 * dwarf2out.c (gen_type_die): Abort on broken recursion.
13940
13941 PR c++/6381
13942 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
13943 REAL_CST.
13944
6c76b950
NC
139452002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
13946
13947 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
13948 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 13949 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
13950 multilibs for the Thumb.
13951
f90bf7ca
MM
139522002-05-08 Mark Mitchell <mark@codesourcery.com>
13953
13954 PR c/6569.
13955 * varasm.c (mark_weak): New function.
13956 (merge_weak): Use it. Do not call declare_weak.
13957 (declare_weak): Use merge_weak.
13958
1e150f2c
JH
13959Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
13960
13961 * cse.c (dead_libcall_p): Update counts.
13962 (delete_trivially_dead_insns): Update call of dead_libcall_p.
13963
969d70ca
JH
13964Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
13965
13966 * cfglayout.c (function_tail_eff_head): Rename to ...
13967 (function_footer): ... this one.
13968 (unlink_insn_chain): New functions.
13969 (label_for_bb): Only call block_label and emit debug message.
13970 (record_effective_endpoints): Actually unlink the headers and footers.
13971 (fixup_reorder_cahin): Re-insert the unlinked sequences.
13972 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
13973 * cfglayout.h (struct reorder_block_def): New fields footer/header;
13974 remove eff_head/eff_end.
13975 * rtl.h (set_first_insn): Declare.
13976 * emit-rtl.c (set_first_insn): New function.
13977
13978 * cfglayout.c (fixup_reorder_chain): Dump duplicated
13979 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
13980 cfg_layout_duplicate_bb): New global function.
13981 (duplicate_insn_chain): New static function.
13982 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
13983 cfg_layout_duplicate_bb): Declare.
13984 (struct reorder_block_def): Add "original" field.
13985 * emit-rtl.c (emit_copy_of_insn_after): New function.
13986 * rtl.h (emit_copy_of_insn_after): Declare.
13987
13988 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
13989 (fixup_reorder_chain): properly handle edges to exit block.
13990
13991Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13992 Jan Hubicka <jh@suse.cz>
13993
13994 * basic-block.h (note_prediction_to_br_prob): declare.
13995 * c-semantics.c: Inlucde predit.h
13996 (expand_stmt): predict GOTO_STMT as not taken.
13997 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
13998 (cleanup_cfg): Do not free tail_recursion_list.
13999 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
14000 (flow_delete_block): Kill predictions past end of basic block.
14001 * output.h (delete_unreachable_blocks): Declare.
14002 * predict.c (predicted_by_p, process_note_predictions,
14003 process_note_prediction, last_block_p): New function.
14004 (estimate_probability): Bypass loop on PRED_CONTINUE;
14005 do not handle noreturn heuristics; kill PRED_RETURN; add
14006 PRED_EARLY_RETURN.
14007 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
14008 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
14009 * predict.h (IS_TAKEN): New constant.
14010 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
14011 * rtl.c (NOTE_INSN_PREDICTION): New.
14012 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
14013 New macro.
14014 (insn_note): add NOTE_INSN_PREDICTION.
14015 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
14016 CFG; free tail_recursion_label_list.
14017 * stmt.c: Include predict.h;
14018 (return_prediction): New.
14019 (expand_value_return): Use it.
14020 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
14021
41f8d041
RS
140222002-05-08 Richard Sandiford <rsandifo@redhat.com>
14023
14024 * config/mips/mips.md: Name the unspecs with define_constant.
14025 (*HILO_delay): Rename to 'hilo_delay' (no star).
14026 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
14027 (reload_outdi, reload_outsi): Likewise.
14028
9cabb1d8
KH
140292002-05-07 Kazu Hirata <kazu@cs.umass.edu>
14030
14031 * toplev.c: Fix formatting.
14032
4c76f856
JJ
140332002-05-07 Janis Johnson <janis187@us.ibm.com>
14034
14035 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
14036 * configure.in (ac_rtlflag_checking): New.
14037 * doc/install.texi (--enable-checking): Document RTL flag checking.
14038
44a147ad
NB
140392002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
14040
14041 * c-common.c (c_common_init): Set options->unsigned_wchar.
14042 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
14043 group target dependencies.
14044 (init_builtins, cpp_handle_option): Update.
14045 * cpplex.c (cpp_interpret_charconst): Update.
14046 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
14047 signed_char to unsigned_char, group target dependencies.
14048 * defaults.h (WCHAR_UNSIGNED): Remove.
14049 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
14050config:
14051 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
14052 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
14053 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
14054 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
14055 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
14056doc:
14057 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
14058
cace4f93
MM
140592002-05-07 Mark Mitchell <mark@codesourcery.com>
14060
14061 * fixinc/inclhack.def (windiss_math1): New fix.
14062 (windiss_math2): Likewise.
14063 (windiss_valist): Likewise.
14064 * fixinc/fixincl.x: Regenerated.
14065
e2ff6cee
AJ
140662002-05-07 Andreas Jaeger <aj@suse.de>
14067
14068 * genautomata.c (output_internal_min_issue_delay_func): Add
14069 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
14070 (output_internal_trans_func): Likewise.
14071
bdad4be5
JL
14072Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
14073
14074 * pa.c (hppa_profile_hook): Use force_reg to get the address
14075 of the profile hook into an appropriate pseudo register.
14076
a1ffecd9
MM
140772002-05-07 Mark Mitchell <mark@codesourcery.com>
14078
14079 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
14080 (LINK_START_SPEC): Handle it.
14081 (LINK_OS_SPEC): Likewise.
14082 (CPP_SPEC): Likewise.
14083 (STARTFILE_SPEC): Likewise.
14084 (LIB_SPEC): Likewise.
14085 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
14086 all platforms.
14087 (CRTSAVRES_DEFAULT_SPEC): New macro.
14088 (LIB_WINDISS_SPEC): New macro.
14089 (CPP_OS_WINDISS_SPEC): Likewise.
14090 (STARTFILE_WINDISS_SPEC): Likewise.
14091 (ENDFILE_WINDISS_SPEC): Likewise.
14092 (LINK_START_WINDISS_SPEC): Likewise.
14093 (LINK_OS_WINDISS_SPEC): Likewise.
14094 * config/rs6000/windiss.h: New file.
e2ff6cee 14095
df966bff
AH
140962002-05-07 Aldy Hernandez <aldyh@redhat.com>
14097
a5c76ee6 14098 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 14099
db84f1bd
DM
141002002-05-06 David S. Miller <davem@redhat.com>
14101
14102 * config/sparc/sparc.md (shift insns): Do not mask off
14103 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
14104 take care of it.
14105
818c0c94
RH
141062002-05-06 Richard Henderson <rth@redhat.com>
14107
14108 PR c++/6212
14109 * expr.c (highest_pow2_factor_for_type): New.
14110 (expand_assignment): Use it.
14111
61e0b50f
AH
141122002-05-06 Aldy Hernandez <aldyh@redhat.com>
14113
818c0c94
RH
14114 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
14115 unspec_volatile.
14116 ("altivec_mfvscr"): Same.
61e0b50f 14117
5a63e069
JJ
141182002-05-06 Janis Johnson <janis187@us.ibm.com>
14119
14120 * rtl.h (struct rtx_def): Update comments.
14121 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
14122 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
14123 RTL_FLAG_CHECK macros with list of expected RTL codes.
14124 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
14125 (rtl_check_failed_flag): New.
14126 * reload1.c (reload): Use REG macro before changing rtx to MEM.
14127 (reload_cse_noop_set_p): Check rtx code before using access macro.
14128 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
14129 before using access macro.
14130
4afe3952
JJ
141312002-05-06 Janis Johnson <janis187@us.ibm.com>
14132
14133 * doc/rtl.texi (Flags): Update to reflect current usage.
14134
1f77b5da
RS
141352002-05-06 Roger Sayle <roger@eyesopen.com>
14136
14137 PR opt/3995
14138 * fold-const.c (sign_bit_p): New function.
14139 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 14140 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
14141 Reapply fold when converting (A & C) == C into (A & C) != 0.
14142 (fold_binary_op_with_conditional_arg): Fix typo in comment.
14143
a5a49440
NB
141442002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
14145
14146 * c-common.c (warn_multichar): New.
14147 (c_common_init): Set CPP's warn_multichar.
14148 * c-common.h (warn_multichar): New.
14149 * c-decl.c (warn_multichar): Remove.
14150 * c-lex.c (lex_charconst): Update.
14151 * c-tree.h (warn_multichar): Remove.
14152 * cppexp.c (eval_token): Sign-extend charconst value.
14153 * cppinit.c (cpp_create_reader): Set warn_multichar.
14154 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
14155 each character. Update prototype. Sign-extend the result.
14156 * cpplib.h: Fix conditions.
14157 (struct cpp_options): Add new warning flag.
14158 (cpp_interpret_charconst): Update prototype.
14159doc:
14160 * cpp.texi: Update documentation.
14161
83e0be55
VM
141622002-05-06 Vladimir Makarov <vmakarov@redhat.com>
14163
14164 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
14165 Fix typo in usage of allof instead of unit.
14166
688ec718
RH
141672002-05-06 Richard Henderson <rth@redhat.com>
14168
14169 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
14170 and any jump or call for IN.
14171
f6536266
BS
141722002-05-06 Bernd Schmidt <bernds@redhat.com>
14173
e2ff6cee 14174 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
14175 -msse2.
14176 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 14177
0316d49b
RS
141782002-05-06 Roger Sayle <roger@eyesopen.com>
14179
14180 * fold-const.c (lshift-double): Cast the high word to an unsigned
14181 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
14182 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
14183 avoid compiler warning. (fold): Remove redundant code from
14184 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
14185
5d50fab3
JL
141862002-05-06 Jeff Law <law@redhat.com>
14187
14188 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
14189 * pa.c (pa_adjust_cost): Remove all true dependency cost
14190 adjustments. Also remove support for non-DFA scheduling.
14191 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
14192 to adjust true dependency costs. Update various comments.
14193 (7100lc, 7200, 7300 scheduling): Simplify by combining the
14194 FP ALU & MPY units into a single unit.
14195
a17a104c
CM
141962002-05-06 Catherine Moore <clm@redhat.com>
14197
14198 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 14199 to count all of the registers that will be saved.
a17a104c 14200
7799175f
JH
14201Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
14202
14203 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
14204
0ac941a0
DM
142052002-05-06 David S. Miller <davem@redhat.com>
14206
14207 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
14208 allow result to overlap input operands in memory.
14209
95ff5d3f
NB
142102002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
14211
14212doc:
14213 * cpp.texi: Update multichar charconst docs.
14214
639e8b0c
NB
142152002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
14216
14217 * cpplex.c (cpp_interpret_charconst): Sign-extend each
14218 character. Don't ignore excess characters. Treat
14219 multicharacter character constants as signed.
14220 (cpp_parse_escape): Clarify diagnostic.
14221
84ea5bc1
JJ
142222002-05-05 Jakub Jelinek <jakub@redhat.com>
14223
14224 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
14225 use add instead of shift.
14226 (ashldi3_sp64): Likewise.
14227 (ashlsi3_const1, ashldi3_const1): Remove.
14228 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
14229 * config/sparc/sparc.c (const1_operand): New.
14230
40cd22f2
JT
142312002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
14232
14233 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
14234
cac01076
JJ
142352002-05-05 Jakub Jelinek <jakub@redhat.com>
14236
14237 PR target/6561
14238 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
14239
98791e3a
RH
142402002-05-05 Richard Henderson <rth@redhat.com>
14241
14242 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
14243 memory latency adjustments.
14244 (alpha_variable_issue): Remove.
14245 (alpha_use_dfa_pipeline_interface): New.
14246 (alpha_multipass_dfa_lookahead): New.
14247 * config/alpha/alpha.md: Remove define_function_unit scheduling;
14248 include new dfa scheduling.
14249 (attr type): Add none.
14250 (blockage): Use it.
14251 * config/alpha/ev4.md: New.
14252 * config/alpha/ev5.md: New.
14253 * config/alpha/ev6.md: New.
14254
309527ce
DM
142552002-05-05 David S. Miller <davem@redhat.com>
14256
14257 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
14258
68252e27
KH
142592002-05-05 Kazu Hirata <kazu@cs.umass.edu>
14260
14261 * cse.c: Fix formatting.
14262 * emit-rtl.c: Likewise.
14263
30cc9d00
VM
142642002-05-05 Vladimir Makarov <vmakarov@redhat.com>
14265
14266 * genautomata.c (initiate_states): Add additional guard to
14267 initialize `units_array'.
14268
deb09eff
VM
142692002-05-05 Vladimir Makarov <vmakarov@redhat.com>
14270
14271 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
14272 process_unit_to_form_the_same_automaton_unit_lists,
14273 form_the_same_automaton_unit_lists
14274 check_unit_distributions_to_automata): New prototypes and
14275 functions.
14276 (check_automata): Rename it into `check_automata_insn_issues'.
14277 (unit_decl): New fields `the_same_automaton_unit' and
14278 `the_same_automaton_message_reported_p'.
14279 (unit_decl_t): New typedef.
14280 (the_same_automaton_lists): New gloval variable.
14281 (unit_regexp, unit_set_el, units_array, units_cmp,
14282 output_get_cpu_unit_code_func): Use the typedef.
14283 (evaluate_max_reserv_cycles): Increment
14284 `description->max_insn_reserv_cycles'.
14285 (initiate_states): Don't increment `max_cycles_num'.
14286 (transform_insn_regexps): Move code around transformation of
14287 regexps from `generate'.
14288 (generate): Remove call of `transform_insn_regexps'.
14289 (expand_automata): Call `transform_insn_regexps' and
14290 `check_unit_distributions_to_automata'. Check errors before
14291 `generate'.
14292
14293 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
14294 automaton `ultrasparc3_1'.
e2ff6cee 14295
2443d4e1
NB
142962002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
14297
14298 * c-common.c (c_common_init): Set up CPP arithmetic.
14299 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
14300 something reasonable for the host.
14301 (sanity_checks): Add checks.
14302 (cpp_read_main_file): Call sanity_checks() from here...
14303 (cpp_post_options): ... not here.
14304 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
14305 * cpplib.h (struct cpp_options): New member int_precision.
14306
791a949f
FS
143072002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14308
14309 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
14310
091fb516
DM
143112002-05-04 David S. Miller <davem@redhat.com>
14312
f60ebeb7
DM
14313 * config/sparc/linux.h, config/sparc/linux64.h
14314 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
14315
214c6394
DM
14316 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
14317 more RTX codes.
14318 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
14319
091fb516
DM
14320 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
14321 of SETs.
14322
f2fdc802
TJ
143232002-05-05 Tim Josling <tej@melbpc.org.au>
14324
e2ff6cee 14325 * treelang; New directory for new sample language treelang.
f2fdc802 14326
3d90d290
NB
143272002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14328
14329 * Makefile.in (c-lex.o): Update.
14330 * c-lex.c: Include target.h.
14331 (cb_register_builtins): New.
14332 (init_c_lex): Set builtins callback.
14333 * c-lex.h (cpp_define, cpp_assert): New prototypes.
14334 * cppinit.c (init_builtins): Use callback, including for
14335 GXX_WEAK.
14336 * cpplib.h (struct cpp_callbacks): New member.
14337 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
14338 (TARGET_INITIALIZER): Update.
14339 * target.h (struct gcc_target): New hook.
14340 * tree.c (default_register_cpp_builtins): New.
14341 * tree.h (default_register_cpp_builtins): New.
14342doc:
14343 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
14344
625458d0
NB
143452002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14346
14347 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
14348 (cpp_post_options): Move sanity checks to...
14349 (sanity_checks): New.
14350 * cpplex.c (maybe_read_ucs): Fix prototype.
14351 (parse_string, cpp_parse_escape): Cast for %c format specifier.
14352 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
14353 if necessary.
14354
916b60b7
BS
143552002-05-04 Bernd Schmidt <bernds@redhat.com>
14356
14357 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
14358 builtins. Use V2DI patterns instead of TI for logical operations.
14359 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
14360 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
14361 (ix86_expand_builtins): Change the pattern used for movntdq.
14362 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
14363 sse2_nandv2di3): New patterns.
14364 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
14365 on operands.
14366 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
14367 (cvtdq2pd): Correct mode on operand 1.
14368 (sse2_umulsidi3): Describe without unspec.
14369 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
14370 machine modes.
14371 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
14372 (ashlv2di3): Likewise, from sse2_ashlv2di3.
14373 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
14374 ashlv4si3, ashlv2di3): Use SImode for shift count.
14375 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
14376 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
14377 New patterns.
14378 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
14379 New typedefs.
14380 (__m128i, __m128d): New macros.
14381 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
14382 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
14383 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
14384 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
14385 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 14386 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
14387 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
14388 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 14389 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
14390 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
14391 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
14392 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
14393 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
14394 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
14395 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
14396 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
14397 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
14398 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
14399 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
14400 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
14401 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
14402 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
14403 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
14404 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
14405 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
14406 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
14407 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
14408 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
14409 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
14410 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
14411 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
14412 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
14413 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
14414 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
14415 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
14416 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
14417 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
14418 functions.
e2ff6cee 14419 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
14420 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
14421
c26fbbca
KH
144222002-05-04 Kazu Hirata <kazu@cs.umass.edu>
14423
14424 * dwarf2out.c: Fix formatting.
14425 * varasm.c: Likewise.
14426
0387639b
DE
144272002-05-04 David Edelsohn <edelsohn@gnu.org>
14428
14429 PR c/6543
14430 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
14431 clobber and use result as temporary value.
14432
8a28dbcc
JH
14433Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
14434
14435 * expr.c (force_operand): Use expand_simple_* to handle more
14436 cases.
14437
4268e8bb
NB
144382002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14439
14440 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
14441 and sign-extension.
14442 (lex_charconst): Update for change in prototype of
14443 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
14444 appropriately.
14445 * cpphash.h (BITS_PER_CPPCHAR_T): New.
14446 * cppinit.c (cpp_create_reader): Initialize them for no
14447 change in semantics.
14448 (cpp_post_options): Add sanity checks.
14449 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
14450 and truncation issues. Calculate in type cppchar_t.
14451 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
14452 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
14453 run-time dependent precision correctly. Return whether the
14454 result is signed or not.
14455 * cpplib.c (dequote_string): Use cppchar_t; update.
14456 * cpplib.h (cppchar_signed_t): New.
14457 struct cpp_options): New precision members.
14458 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 14459 * cppexp.c (eval_token): Update.
4268e8bb 14460
af54350e
DM
144612002-05-03 David S. Miller <davem@redhat.com>
14462
2ce04b6b
DM
14463 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
14464 * config/sparc/sparc.c (sparc_rtx_costs): New function
14465 implementing RTX_COSTS and CONST_COSTS.
14466 * config/sparc/sparc.h (CONST_COSTS): Delete.
14467 (RTX_COSTS_CASES): Define.
14468 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
14469 the work.
14470
a1d9bd0c
DM
14471 * config/sparc/sparc.md (DFA schedulers): Split out...
14472 * config/sparc/cypress.md, config/sparc/hypersparc.md,
14473 config/sparc/sparclet.md, config/sparc/supersparc.md,
14474 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
14475
e87bb82e
DM
14476 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
14477 checks on it, always defined for Sparc.
14478
af54350e
DM
14479 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
14480 Tweak, and add more detailed comments.
14481
935bfb44
ZW
144822002-05-03 Zack Weinberg <zack@codesourcery.com>
14483
14484 * Re-apply patch accidentally reverted with
14485 DFA scheduler merge: remove all rules and variables to slurp
14486 source files out of libiberty and rebuild them with HOST_CC.
14487 ($(HOST_PREFIX_1)varray.o): New rule.
14488 (genattrtab rule): Word wrap.
14489
fa7a0712
JT
144902002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14491
14492 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
14493 (CPP_SUBTARGET_SPEC): Define.
14494 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
14495 cpp_subtarget specs.
14496 (CPP_SPEC): Redefine to include %(cpp_subtarget).
14497
14c93978
DM
144982002-05-03 David S. Miller <davem@redhat.com>
14499
14500 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
14501 * target.h (struct gcc_target): Delete cycle_display member.
14502
14d118d6
DM
14503 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
14504 (rtx_needs_barrier): Delete reference to cycle_display unspec.
14505 (ia64_sched_reorder2): Mention need for cycle display handling
14506 once such notes exist.
935bfb44 14507
b3ae1ccd
RH
145082002-05-03 Richard Henderson <rth@redhat.com>
14509
14510 * real.c (etoasc): Strip most trailing zeros for clarity.
14511 * sched-vis.c: Include real.h.
14512 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
14513 * Makefile.in (sched-vis.o): Add real.h.
14514
8f39865a
DM
145152002-05-03 David S. Miller <davem@redhat.com>
14516
14517 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
14518 no longer needed.
14519
b44140e7
AH
145202002-05-03 Aldy Hernandez <aldyh@redhat.com>
14521
935bfb44
ZW
14522 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
14523 when we get an out of range literal.
14524 (altivec_expand_ternop_builtin): Same.
14525 (altivec_expand_unop_builtin): Same.
14526 (altivec_expand_builtin): Same, for dss.
14527 (altivec_expand_builtin): Use trees instead of rtl when
14528 determining literal argument validity.
b44140e7 14529
aaaed752
DM
145302002-05-03 David S. Miller <davem@redhat.com>
14531
14532 Delete cycle display scheduling hook.
14533 * config/ia64/ia64.c (ia64_cycle_display,
14534 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
14535 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
14536 and use emit_insn_before instead of ia64_emit_insn_before.
14537 * config/ia64/ia64.md (unspec usage): Delete cycle display.
14538 (cycle_display): Delete insn pattern.
14539 * config/sparc/sparc.md (unspec usage): Delete cycle display.
14540 (cycle_display): Delete insn pattern.
14541 * config/sparc/sparc.c (sparc_cycle_display,
14542 TARGET_SCHED_CYCLE_DISPLAY): Delete.
14543 * doc/md.texi (cycle_display): Don't mention.
14544 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 14545
b37c2614
RH
145462002-05-03 Richard Henderson <rth@redhat.com>
14547
14548 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
14549 * recog.h: Declare them.
14550
14551 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
14552 * config/sparc/sparc.md: Use store_data_bypass_p instead.
14553 * config/sparc/sparc-protos.h: Update.
935bfb44 14554
e1c1132e
JT
145552002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14556
14557 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
14558 -D__arch64__. Add -D_LP64.
14559 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
14560 from sparc.h.
14561 (CPP_ARCH64_SPEC): Likewise.
14562 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
14563 (NO_BUILTIN_SIZE_TYPE): Undef.
14564
0b2fb0d7
VM
145652002-05-03 Vladimir Makarov <vmakarov@redhat.com>
14566
14567 * genautomata.c (min_issue_delay_pass_states): Change return type
14568 in the prototype.
14569 (min_issue_delay_pass_states): Change the algorithm.
14570 (min_issue_delay): Set up min_insn_issue_delay for the state.
14571 (output_min_issue_delay_table): Interchange the nested loops and
14572 and initiate min_insn_issue_delay for states.
935bfb44 14573
3d4ce12a
JH
14574Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
14575
14576 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
14577 jump is simplejump.
14578
14579Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
14580
14581 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
14582 sequence.
14583
b5482208
RH
145842002-05-03 Richard Henderson <rth@redhat.com>
14585
14586 PR opt/6534
14587 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
14588 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
14589 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
14590 code before JUMP, not EARLIEST.
14591
5a3085c5
JM
145922002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
14593
14594 * c-format.c (check_format_info_main): Don't check for presence of
14595 parameter for * width until after operand number has been read,
14596 and only check for it if format parameters are available.
14597 Fixes PR c/6547.
14598
40039424
JT
145992002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14600
14601 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
14602 (LINK_SPEC): Undef before defining.
14603
8157303b
JJ
146042002-05-03 Jakub Jelinek <jakub@redhat.com>
14605
14606 PR preprocessor/6489
14607 * tradcpp.c (fixup_newlines): New.
14608 (main, finclude): Use it.
14609
66319f5c
RS
146102002-05-03 Richard Sandiford <rsandifo@redhat.com>
14611
14612 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
14613 * config/mips/mips.c (mips_unique_section): Strip encoding from
14614 decl name.
14615
ce8076ad
JJ
146162002-05-03 Jakub Jelinek <jakub@redhat.com>
14617
14618 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
14619 mode.
14620
975c6e4e
RO
146212002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14622
14623 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
14624 (Specific): Removed buildstats references.
14625 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
14626 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
14627 Accomodate Solaris versions beyond 8.
14628 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
14629 (Specific, *-*-solaris2.8): Removed, obsolete.
14630
d70e94ec
JJ
146312002-05-03 Jakub Jelinek <jakub@redhat.com>
14632
14633 PR target/6542
14634 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
14635 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
14636 fill leaf_reg_remap with identity.
14637 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
14638
6b148bd9
KH
146392002-05-03 Kazu Hirata <kazu@cs.umass.edu>
14640
14641 * config/h8300/crti.asm: Remove trailing spaces.
14642 * config/h8300/h8300.c: Likewise.
14643 * config/h8300/lib1funcs.asm: Likewise.
14644
609688f3
JM
146452002-05-02 Jason Merrill <jason@redhat.com>
14646
14647 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
14648 * c-decl.c (c_init_decl_processing): Use it.
14649 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
14650 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
14651 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
14652
3b03c671
KH
146532002-05-03 Kazu Hirata <kazu@cs.umass.edu>
14654
14655 * regrename.c: Fix formatting.
14656 * tree.c: Likewise.
14657
3b4961bd
JH
14658Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
14659
14660 * i386.md (attribute memory): Handle compares properly.
14661
19cba4a0
JH
14662Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
14663
3b4961bd 14664 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
14665 to none.
14666
797a6ac1
KH
146672002-05-02 Kazu Hirata <kazu@cs.umass.edu>
14668
14669 * function.c: Fix formatting.
14670
6d0de005
JH
146712002-05-02 Jan Hubicka <jh@suse.cz>
14672
14673 * haifa-sched.c (schedule_insn): Print table of instructions and
14674 reservations.
14675 (sched_block): Do not print ready list at verbosity level 1.
14676 * sched-vis.c (print_insn): Make global.
14677 * sched-ebb.c (ebb_print_insn): Rename from...
14678 (print_insn): ... this one.
14679 * sched-int.h (print_insn): Declare
14680
0bfb9a69
RH
146812002-05-02 Richard Henderson <rth@redhat.com>
14682
14683 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
14684 emitted by cycle_display.
14685
6b976d99
LR
146862002-05-02 Loren J. Rittle <ljrittle@acm.org>
14687
14688 * doc/install.texi (*-*-freebsd*): Update to latest status.
14689
0a295052
JJ
146902002-05-02 Jakub Jelinek <jakub@redhat.com>
14691
14692 PR target/6540
14693 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
14694 * config/float-sparc.h: Assume 128-bit long double if
14695 __LONG_DOUBLE_128__ is defined.
14696
842d5d6c
VM
146972002-05-02 Vladimir Makarov <vmakarov@redhat.com>
14698
14699 * genattrtab.c (write_function_unit_info): Add a dummy element
14700 when num_units == 0.
14701
3d7a6309
HB
147022002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
14703
14704 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
14705 TYPE_MODE (double_type_node) instead of DFmode.
14706
1b6763cf
JH
14707Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
14708
14709 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
14710 jumps post reload.
14711 * toplev.c (rest_of_compilation): Revert Richard's patch.
14712
b303008e
JDA
147132001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
14714
14715 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
14716
6ed7412a
CM
147172002-05-02 Catherine Moore <clm@redhat.com>
14718
14719 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
14720
e0a2f705
KH
147212002-05-02 Kazu Hirata <kazu@hxi.com>
14722
b32d6163 14723 * combine.c: Fix comment typos.
e0a2f705
KH
14724 * expr.c: Likewise.
14725 * genautomata.c: Likewise.
14726 * stmt.c: Likewise.
14727 * tree.h: Likewise.
14728
38e23049
JM
147292002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
14730
14731 * doc/install.texi: State GNAT version requirements.
14732
40f4a97d
NC
147332002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
14734
14735 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
14736 of the frame pointer or arg pointer register which strict register
14737 checking is not enabled.
14738
0d6d6892
AH
147392002-05-02 Aldy Hernandez <aldyh@redhat.com>
14740
b5482208 14741 * gcc.dg/altivec-8.c: New.
0d6d6892 14742
b5482208
RH
14743 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
14744 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 14745
abaa8559
BK
147462002-05-01 Bruce Korb <bkorb@gnu.org>
14747
14748 * fixinc/check.tpl(set-writable): make sure the function exists first
14749 * fixinc/inclhack.def(alpha_assert): fix test_text
14750 * fixinc/tests/base/assert.h: add in missing result
14751
ecab2143
JL
147522002-05-01 Jeff Law <law@redhat.com>
14753
14754 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
14755 'T' constraint.
14756
ea619b46
JB
147572002-05-01 Joel Brobecker <brobecker@gnat.com>
14758
14759 * dbxout.c (dbxout_type): Emit size information for range types,
14760 as well, but only when using GDB extensions.
14761
c72931a6
RH
147622002-05-01 Richard Henderson <rth@redhat.com>
14763
14764 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
14765 target-independent gnu binutils date test.
14766
2150ad33
RH
147672002-05-01 Richard Henderson <rth@redhat.com>
14768
14769 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
14770 info before expunging the block.
14771
1651cc96
JJ
147722002-05-01 Jakub Jelinek <jakub@redhat.com>
14773
14774 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
14775 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
14776 -M -or -MM is in effect.
14777
8998d5bf
ZW
147782002-05-01 Zack Weinberg <zack@codesourcery.com>
14779
14780 * config.gcc: Correct test of --enable-obsolete. Obsolete all
14781 A29k configurations.
14782 * doc/install.texi: Update to match.
14783
a81eed10
FS
147842002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14785
14786 PR bootstrap/6514
14787 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
14788 for duplicates. Always loop over whole list.
14789
8d53318f
RK
14790Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14791
14792 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
14793
4109b118
JS
147942002-05-01 Joel Sherrill <joel@OARcorp.com>
14795
14796 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
14797 support routines.
14798
c4a9c570
JS
147992002-05-01 Joel Sherrill <joel@OARcorp.com>
14800
14801 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
14802
ea112fc4
DE
148032002-05-01 David Edelsohn <edelsohn@gnu.org>
14804
14805 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
14806 (nabs_nopower): Same.
14807 (floatdisf2): New pattern.
14808 (absdi2): Convert to define_insn_and_split.
14809 (nabsdi2): Same.
14810 (trunctfsf2): Same.
14811 (floatditf2): Same.
14812 (floatsitf2): Same.
14813 (fix_trunctfdi2): Same.
14814 (fix_trunctfsi2): Same.
14815
dda78254
JM
148162002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
14817
14818 * doc/install.texi: Update Texinfo version requirement
14819 documentation.
14820
26aeede4
JJ
148212002-05-01 Jakub Jelinek <jakub@redhat.com>
14822
14823 PR target/6512, PR target/5628
14824 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
14825 when memory is not aligned.
14826 (movdf_insn_v9only_vis): Likewise.
14827 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
14828 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
14829 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
14830
9b7bc465
AH
148312002-05-01 Aldy Hernandez <aldyh@redhat.com>
14832
8998d5bf 14833 * gcc.dg/altivec-7.c: New.
9b7bc465 14834
8998d5bf 14835 * config/rs6000/altivec.h: Cleanup.
9b7bc465 14836
08b57fb3
AH
148372002-04-30 Aldy Hernandez <aldyh@redhat.com>
14838
8998d5bf
ZW
14839 * doc/invoke.texi (Option Summary): Add -mvrsave=.
14840 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 14841
8998d5bf
ZW
14842 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
14843 (rs6000_altivec_vrsave_string): Same.
14844 (rs6000_override_options): Call rs6000_parse_vrsave_option.
14845 (rs6000_parse_vrsave_option): New.
14846 (rs6000_stack_info): Only generate vrsave instructions when
14847 TARGET_ALTIVEC_VRSAVE.
08b57fb3 14848
8998d5bf
ZW
14849 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
14850 (rs6000_altivec_vrsave_string): Define extern.
14851 (rs6000_altivec_vrsave): Same.
14852 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 14853
8e8c38cd
RH
148542002-04-30 Richard Henderson <rth@redhat.com>
14855
14856 PR opt/6516
14857 * toplev.c (rest_of_compilation): Don't run cross-jump before
14858 bb-reorder.
14859
4be9e9cb
TR
148602002-04-30 Tom Rix <trix@redhat.com>
14861
8998d5bf 14862 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
14863 check which_alternative.
14864
1eeeb6a4
KH
148652002-04-30 Kazu Hirata <kazu@hxi.com>
14866
14867 * cpplex.c: Fix comment formatting.
14868 * function.c: Likewise.
14869 * integrate.c: Likewise.
14870 * regrename.c: Likewise.
14871 * sibcall.c: Likewise.
14872 * simplify-rtx.c: Likewise.
14873 * tree-inline.c: Likewise.
14874
ed9d6ff9
JDA
148752002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
14876
14877 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
14878 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
14879 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
14880 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
14881 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
14882 * pa/x-ada: New file. Define ADA_CFLAGS.
14883
1f2641b6
HPN
148842002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
14885
14886 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
14887 from MMIX_LAST_REGISTER_FILE_REGNUM.
14888 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
14889 (struct machine_function): New member highest_saved_stack_register
14890 previously static variable in mmix.c.
14891 (MACHINE_DEPENDENT_REORG): Define.
14892 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
14893 (MMIX_OUTPUT_REGNO): New.
14894 (mmix_target_asm_function_prologue): Move calculation of last used
14895 saved-stack-register into...
14896 (mmix_machine_dependent_reorg): New function. Update to also handle
14897 !TARGET_ABI_GNU.
14898 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
14899 register names, simplify somewhat by new variable regno.
14900 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
14901 register.
14902 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
14903 emitting register names.
14904 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
14905 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
14906 Remove fixed FIXME.
14907 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
14908 Declare.
14909
14910 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
14911
73985940
RH
149122002-04-30 Richard Henderson <rth@redhat.com>
14913
14914 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
14915 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
14916 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
14917 emit_tfmode_cvt): New.
14918 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
14919 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
14920 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
14921 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
14922 * config/sparc/sparc-protos.h: Update.
14923
2b46bc67
JJ
149242002-04-30 Janis Johnson <janis187@us.ibm.com>
14925
14926 * install.texi (Final install): Add to the list of info to include
14927 in a report of a successful bootstrap, and add link to 3.1 list.
14928
3d34cd91
JH
14929Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
14930
14931 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
14932 (mode): Add vector modes
14933 (i387): Kill attribute.
14934 (unit): New attribute.
14935 (length_immediate): Grok new types.
14936 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
14937 (modrm): Use "unit".
14938 (memory): Handle MMX/SSE properly.
14939 (scheduling descriptions): Kill uses of fop1.
14940 (sse, mmx, fp patterns): Set type and mode properly.
14941
243e5500 14942Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 14943
30482eb0
JL
14944 * pa.c (override_options): Default to PA8000 scheduling.
14945 * doc/invoke.texi (HP-PA options): Mention newly added 7300
14946 scheduling parameter.
14947
3193c415
JL
14948 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
14949 handling of double precision multiplies.
14950
14951 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
14952 fpdiv and fpsqrt instructions.
14953 (7200 & 7300 scheduling): Fix typo in handling of
14954 store-load and store-store penalties.
14955
c0a34cb7
GP
149562002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14957
14958 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
14959 mips. Add two missing commas.
14960
8bce0628
PC
149612002-04-30 Paolo Carlini <pcarlini@unitus.it>
14962
14963 * doc/contrib.texi (Contributors): Update Paolo Carlini's
14964 and Benjamin Kosnik's entries.
14965
84643cbf
DM
149662002-04-29 David S. Miller <davem@redhat.com>
14967
14968 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
14969 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
14970 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
14971 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
14972
da6886f6
FS
149732002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14974
14975 * combine.c (find_split_point): Use gen_int_mode.
14976
fae15c93
VM
149772002-04-29 Vladimir Makarov <vmakarov@redhat.com>
14978
14979 Merging code from dfa-branch:
8998d5bf 14980
fae15c93
VM
14981 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
14982
14983 * genautomata.c (output_reserv_sets): Fix typo.
14984
14985 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
14986
14987 * genautomata.c (output_reserv_sets): Remove
14988 next_cycle_output_flag.
14989
14990 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
14991
8998d5bf
ZW
14992 * sched-rgn.c (init_ready_list): Make the DFA code handle
14993 USE/CLOBBER insns in the same way as the traditional
14994 scheduler.
14995 (new_ready): Similarly..
fae15c93
VM
14996
14997 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
14998
14999 * haifa-sched.c (schedule_block): Change the DFA state only after
15000 issuing insn.
15001
15002 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
15003
15004 * pa.c (hppa_use_dfa_pipeline_interface): New function.
15005 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
15006 (override_options): Add PA7300 scheduling support.
15007 (pa_adjust_cost): Update various comments. Properly
15008 handle anti and output dependencies when using the
15009 DFA scheduler.
15010 (pa_issue_rate): Add PA7300 scheduling support.
15011 (pa_can_combine_p): Call extract_insn before calling
15012 constrain_operands (taken from mainline tree).
15013 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
15014 * pa.md (cpu attr): Add 7300. Rewrite pipeline
15015 descriptions using DFA descriptions. Add PA7300
15016 scheduling support.
15017
15018 2002-03-30 David S. Miller <davem@redhat.com>
15019
15020 Add UltraSPARC-III DFA scheduling support.
15021 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
15022 Update FP conditional move on register insn patterns to use it, as
15023 appropriate.
15024 (define_attr cpu): Add ultrasparc3.
15025 (define_attr us3load_type): New, update integer load patterns to
15026 set it, as appropriate.
15027 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
15028 (rest): Add UltraSPARC3 scheduling description.
15029 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
15030 (PROCESSOR_ULTRASPARC3): New.
15031 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
15032 ({ASM,CPP}_CPU_SPEC): Likewise.
15033 (REGISTER_MOVE_COST): Likewise.
15034 (RTX_COSTS): Likewise.
15035 * config/sparc/sparc.c (sparc_override_options,
15036 sparc_initialize_trampoline, sparc64_initialize_trampoline,
15037 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
15038 sparc_issue_rate): Likewise.
15039 * config/sparc/sol2.h: Likewise.
15040 * config/sparc/sol2-sld-64.h: Likewise.
15041 * config/sparc/linux64.h: Likewise.
8998d5bf 15042
fae15c93
VM
15043 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
15044
15045 * doc/md.texi: Add comments about usage the latency time for the
15046 different dependencies and about case when two or more conditions
15047 in different define_insn_reservations returns TRUE for an insn.
15048
15049 * doc/md.texi: Add reference for automaton based pipeline
15050 description.
8998d5bf 15051
fae15c93
VM
15052 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
15053
15054 * doc/passes.texi: Add missed information about genattrtab.
15055
15056 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
15057
15058 * genautomata.c (output_automata_list_transition_code): Check
15059 automata_list on NULL.
15060
15061 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
15062
15063 * genautomata.c (output_insn_code_cases,
15064 output_automata_list_min_issue_delay_code,
15065 output_automata_list_transition_code,
15066 output_automata_list_state_alts_code): Comment the functions.
15067
15068 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
15069
15070 * genautomata.c (automata_list_el_t): New typedef.
15071 (get_free_automata_list_el,free_automata_list_el,
15072 free_automata_list, automata_list_hash, automata_list_eq_p,
15073 initiate_automata_lists, automata_list_start, automata_list_add,
15074 automata_list_finish, finish_automata_lists,
15075 output_insn_code_cases, output_automata_list_min_issue_delay_code,
15076 output_automata_list_transition_code,
15077 output_automata_list_state_alts_code, add_automaton_state,
15078 form_important_insn_automata_lists): New functions and prototypes.
15079 (insn_reserv_decl): Add members important_automata_list and
15080 processed_p.
15081 (ainsn): Add members important_p.
15082 (automata_list_el): New structure.
15083 (first_free_automata_list_el, current_automata_list,
15084 automata_list_table): New global variables.
15085 (create_ainsns): Initiate member important_p.
15086 (output_internal_min_issue_delay_func): Generate the switch and
15087 call output_insn_code_cases.
15088 (output_internal_trans_func, output_internal_state_alts_func):
15089 Ditto.
15090 (generate): Call initiate_automata_lists.
15091 (automaton_states): New global variable.
15092 (expand_automata): Call form_important_insn_automata_lists.
15093 (write_automata): Call finish_automata_lists.
8998d5bf 15094
fae15c93
VM
15095 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
15096
15097 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 15098 cpu units in the sets belong the same automaton.
fae15c93
VM
15099
15100 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
15101 about that cpu units in the sets belong the same automaton.
15102
15103 * doc/md.texi: Ditto.
8998d5bf 15104
2799d721
VM
15105 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
15106 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 15107
fae15c93
VM
15108 * config/sh/sh.c (sh_use_dfa_interface): New function.
15109
15110 (sh_issue_rate): New Function.
15111 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
15112 TARGET_SCHED_ISSUE_RATE: define.
15113
15114 * config/sh/sh.md: Add DFA based pipeline description for SH4.
15115
8998d5bf
ZW
15116 (define_attr insn_class): New attribute used for DFA
15117 scheduling.
fae15c93
VM
15118 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
15119 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
15120 cmpeqdi_t): Likewise.
15121
15122 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 15123 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
15124 ex_group.
15125 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 15126
fae15c93
VM
15127 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
15128
15129 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
15130 break.
15131
15132 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
15133
15134 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
15135 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
15136 necessary.
15137 (output_dfa_start_func): Initiate new variable insn_codes_length,
15138 (write_automata): Output definition of the new variable.
8998d5bf 15139
fae15c93
VM
15140 2001-10-02 David S. Miller <davem@redhat.com>
15141
15142 * haifa-sched.c (advance_one_cycle): New function.
15143 (schedule_block): Use it.
15144 (queue_to_ready): Use it, and also make sure to advance the DFA
15145 state on all stall cycles, not just those where insn_queue links
15146 are found.
15147
15148 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
15149
15150 * haifa-sched.c (max_issue): Remove last_p argument. Only return
15151 non-zero if the highest-priority instruction could be scheduled.
15152 (choose_ready): Remove last argument from max_issue call.
15153
15154 2001-09-28 David S. Miller <davem@redhat.com>
15155
15156 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
15157 ultrasparc and 3 for other multi-issue sparcs.
15158
15159 2001-09-27 David S. Miller <davem@redhat.com>
15160
15161 * config/sparc/sparc.md (cycle_display): New pattern.
15162 * config/sparc/sparc.c (sparc_cycle_display): New.
15163 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
15164
15165 2001-09-25 David S. Miller <davem@redhat.com>
15166
15167 Convert all of Sparc scheduling to DFA
15168 * config/sparc/sparc.md: Kill all define_function_unit
15169 directives and replace with DFA equivalent.
15170 * config/sparc/sparc.c (ultrasparc_adjust_cost,
15171 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
15172 ultra_fpmode_conflict_exists, ultra_find_type,
15173 ultra_build_types_avail, ultra_flush_pipeline,
15174 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
15175 ultrasparc_variable_issue, ultrasparc_sched_init,
15176 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
15177 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
15178 ultra_cur_hist, ultra_cycles_elapsed): Kill.
15179 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
15180 ultrasparc_store_bypass_p): New.
15181 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
15182 Declare.
15183
15184 2001-09-24 David S. Miller <davem@redhat.com>
15185
15186 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
15187 ready->vec[foo] not ready[foo].
15188
15189 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
15190
15191 * doc/md.texi: Correct examples for define_insn_reservations
15192 `mult' and `div'.
15193
15194 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
15195
15196 * genautomata.c (create_automata): Print message about creation of
15197 each automaton.
15198 (generate): Remove printing meease about creation of
15199 automata.
15200
15201 2001-09-05 David S. Miller <davem@redhat.com>
15202
15203 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
15204 * config/sparc/linux64.h: Likewise.
15205
15206 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
15207
15208 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
15209 schedule_block, sched_init, sched_finish): Add missed calls of
15210 use_dfa_pipeline_interface.
15211
15212 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
15213 Ditto.
15214
15215 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 15216
fae15c93
VM
15217 2001-08-27 Richard Henderson <rth@redhat.com>
15218
15219 * genattr.c (main): Emit state_t even when not doing scheduling.
15220
15221 2001-08-27 Richard Henderson <rth@redhat.com>
15222
15223 * genautomata.c (expand_automata): Always create a description.
15224
15225 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
15226
8998d5bf 15227 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
15228 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
15229 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
15230 RTL constructions.
15231
15232 * genattr.c (main): New variable num_insn_reservations. Increase
15233 it if there is DEFINE_INSN_RESERVATION. Output automaton based
15234 pipeline hazard recognizer interface.
15235
15236 * genattrtab.h: New file.
15237
15238 * genattrtab.c: Include genattrtab.h.
15239 (attr_printf, check_attr_test, make_internal_attr,
15240 make_numeric_value): Move protypes into genattrtab.h. Define them
15241 as external.
15242 (num_dfa_decls): New global variable.
15243 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
15244 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
15245 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
15246 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
15247
15248 * genautomata.c: New file.
15249
15250 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
15251
8998d5bf 15252 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
15253 automaton pipeline interface.
15254 (haifa_insn_data): Add comments for members blockage and units.
15255
15256 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
15257 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
15258 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
15259 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
15260 TARGET_SCHED_DFA_POST_CYCLE_INSN,
15261 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
15262 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
15263 macros.
15264 (TARGET_SCHED): Use the new macros.
15265
15266 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
15267 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
15268 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
15269 dfa_bubble): New members in gcc_target.sched.
15270
8998d5bf 15271 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
15272 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
15273 (insn_queue): Redefine it as pointer to array.
15274 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
15275 INSN_QUEUE_SIZE.
15276 (max_insn_queue_index_macro_value): New variable.
15277 (curr_state, dfa_state_size, ready_try): New varaibles for
15278 automaton interface.
15279 (ready_element, ready_remove, max_issue): New function prototypes
15280 for automaton interface.
15281 (choose_ready): New function prototype.
15282 (insn_unit, blockage_range): Add comments.
15283 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
15284 FUNCTION_UNITS_SIZE == 0.
15285 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
15286 actual_hazard, potential_hazard): Add comments.
15287 (insn_cost): Use cost -1 as undefined value. Remove
15288 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
15289 pipeline interface.
15290 (ready_element, ready_remove): New functions for automaton
15291 interface.
15292 (schedule_insn): Add new code for automaton pipeline interface.
15293 (queue_to_ready): Add new code for automaton pipeline interface.
15294 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
15295 (debug_ready_list): Print newline when the queue is empty.
15296 (max_issue): New function for automaton pipeline interface.
15297 (choose_ready): New function.
15298 (schedule_block): Add new code for automaton pipeline interface.
15299 Print ready list before scheduling each insn.
15300 (sched_init): Add new code for automaton pipeline interface.
15301 Initiate insn cost by -1.
15302 (sched_finish): Free the current automaton state and finalize
15303 automaton pipeline interface.
15304
15305 * sched-rgn.c: Include target.h.
15306 (init_ready_list, new_ready, debug_dependencies): Add new code for
15307 automaton pipeline interface.
15308
15309 * sched-vis.c: Include target.h.
15310 (get_visual_tbl_length): Add code for automaton interface.
15311 (target_units, print_block_visualization): Add comments.
15312
8998d5bf 15313 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
15314 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
15315 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
15316 (getruntime.o, genautomata.o): New entries.
15317 (genattrtab.o): Add new dependency file genattrtab.h.
15318 (genattrtab): Add new dependencies. Link it with `libm.a'.
15319 (getruntime.o, hashtab.o): New entries for canadian cross.
15320
15321 * doc/md.texi: Description of automaton based model.
15322
15323 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
15324 Add comments.
15325 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
15326 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
15327 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
15328 TARGET_SCHED_DFA_POST_CYCLE_INSN,
15329 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
15330 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
15331 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
15332 hook descriptions.
15333 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
15334 MAX_DFA_ISSUE_RATE): New macro descriptions.
15335
15336 * doc/contrib.texi: Add dfa based scheduler contribution.
15337
15338 * doc/gcc.texi: Add more information about genattrtab.
15339
a2ff290c
RK
15340Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15341
15342 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
15343 adjust_address_nv call.
15344
f97903cc
JJ
153452002-04-29 Janis Johnson <janis187@us.ibm.com>
15346
15347 * doc/install.texi (Testing): Provide additional information, and
15348 a stronger encouragement, for running the testsuites.
15349
f41a6bf1
DD
153502002-04-29 DJ Delorie <dj@redhat.com>
15351
15352 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
15353 given in upper case.
15354
d8af0868
RO
153552002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15356
15357 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
15358 Solaris 2 <widec.h> if missing.
15359 * fixinc/fixincl.x: Regenerate.
15360 * fixinc/tests/base/widec.h: New file.
15361
1034407f
NC
153622002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
15363
15364 * toplev.c (f_options): Add "profile" switch so that
15365 -fno-profile can be used to disable -p.
15366
fbe5eb6d
BS
153672002-04-29 Bernd Schmidt <bernds@redhat.com>
15368
15369 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
15370 UV2DImode.
15371 * tree.c (build_common_tree_nodes_2): Likewise.
15372 * tree.h (enum tree_index): Likewise.
15373 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
15374
15375 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
15376 entries.
15377 (init_mmx_sse_builtins): Initialize SSE2 builtins.
15378 (ix86_expand_builtin): Add support for SSE2 builtins.
15379 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
15380 (VALID_SSE_REG_MODE): Use it.
15381 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
15382 (enum ix86_builtins): Add SSE2 builtins.
15383 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
15384 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
15385 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
15386 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
15387 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
15388 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
15389 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
15390 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
15391 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
15392 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
15393 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
15394 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
15395 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
15396 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
15397 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
15398 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
15399 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
15400 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
15401 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
15402 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
15403 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
15404 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
15405 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
15406 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
15407 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
15408 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
15409 lfence_insn): New patterns.
15410 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
15411 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
15412
44aefada
JH
15413Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
15414
15415 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
15416
d5482cdc
GP
154172002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15418
15419 * doc/contrib.texi (Contributors): Add Paolo Carlini and
15420 Janis Johnson.
15421 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
15422 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
15423 and CPU instead of cpu.
15424
2c4b77f3
JH
15425Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
15426
15427 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
15428 variables.
15429 (lang_independent_options): Add -fif-conversion, -fif-conversion2
15430 (rest_of_compilation): Do if conversion only when asked for.
15431 (parse_options_and_default_flags): Set new variables to 1 for -O1
15432 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
15433
3de72741
JH
15434Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
15435
15436 * i386.c (dbx64_register_map): Fix typo.
15437
8aa18a7d
JH
15438Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
15439
15440 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
15441 real_one_half, real_bb_freq_max): New static variables.
15442 (debug_profile_bbauxs): Kill.
15443 (process_note_predictions): Kill unused variable.
15444 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
15445 volatile double.
15446 (propagate_freq): Use REAL_ARITHMETICS.
15447 (estimate_bb_frequencies): Likevise; init new static variables.
15448 * Makefile.in (predict.o): Add dependency on real.h
15449
1bbad4c6
DM
154502002-04-28 David S. Miller <davem@redhat.com>
15451
15452 PR target/6500
15453 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
15454 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
15455 several {reads,writes} instead.
15456 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
15457 Define.
15458
3ef3f384
DM
154592002-04-27 David S. Miller <davem@redhat.com>
15460
15461 PR target/6494
15462 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
15463 of the stack bias.
15464
15465 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
15466 including signal.h and sys/ucontext.h, not needed.
15467
ec493bcb
HPN
154682002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
15469
15470 * varasm.c (output_constant_def): Correct test for not calling
15471 ENCODE_SECTION_INFO for INTEGER_CST.
15472
60284a59
NB
154732002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
15474
15475 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
15476 keep most cases as function eval_token.
15477 (eval_token): New function.
15478 (_cpp_parse_expr): Read token here for improved diagnostics.
15479 Don't use op_as_text. Detect bad ':' here.
15480 (reduce): Don't detect bad ':' here.
15481 (op_as_text): Remove.
15482 * cpphash.h (_cpp_test_assertion): Change prototype.
15483 * cpplib.c (_cpp_test_assertion): Change prototype.
15484
349a4b40
RH
154852002-04-28 Richard Henderson <rth@redhat.com>
15486
15487 PR c/5154
8998d5bf 15488 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
15489 (ggc_mark_rtx_children): New.
15490
7a03f82f
JJ
154912002-04-28 Jakub Jelinek <jakub@redhat.com>
15492
15493 PR target/6496
15494 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
15495 after call peepholes for UltraSPARC.
15496 (call + jump 64-bit peepholes): Remove.
15497
80103f96
FS
154982002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15499
15500 PR c/6497
15501 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
15502 result as temporary value.
15503
06990986
JJ
155042002-04-28 Jakub Jelinek <jakub@redhat.com>
15505
15506 PR c++/6396
15507 * toplev.c (rest_of_compilation): Only run regrename and copy
15508 propagation if optimizing.
15509
a20fd5ac
JJ
155102002-04-28 Jakub Jelinek <jakub@redhat.com>
15511
15512 PR optimization/6475
15513 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
15514 register of REGNO_DECL (i).
15515 * Makefile.in (reload1.o): Add $(TREE_H).
15516
87ed109f
NB
155172002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
15518
15519 * cppexp.c (lex): Update to use state.skip_eval.
15520 (struct op): Remove prio and flags members.
15521 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
15522 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
15523 (LEFT_ASSOC): New macro.
15524 (optab): New table of operator priorities and flags.
15525 (SHIFT): Update.
15526 (_cpp_parse_expr): Clean up logic. Return bool. Use a
15527 malloc-ed parser stack.
15528 (reduce): New; reduce the operator stack.
15529 (_cpp_expand_op_stack): Expand the operator stack as necessary.
15530 * cpphash.h (struct op): Predeclare.
15531 (struct cpp_reader): New members op_stack, op_limit.
15532 (struct lexer_state): New member skip_eval.
15533 (_cpp_parse_expr): Update.
15534 (_cpp_expand_op_stack): New.
15535 * cpplib.c (do_if): Update.
15536 * cppinit.c (cpp_create_reader): Create op stack.
15537 (cpp_destroy): And destroy it.
15538 * cpplib.h (CPP_LAST_CPP_OP): Correct.
15539 (TTYPE_TABLE): Correct.
15540
45806a3f
FS
155412002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15542
15543 PR c/6343
15544 * c-decl.c (duplicate_decls): Call merge_weak.
15545 * c-pragma.c (apply_pragma_weak): Warn about misuse.
15546 * output.h (merge_weak): Prototype merge_weak.
15547 * varasm.c (merge_weak): New function.
15548 (declare_weak): Make sure we don't give an error on VAR_DECLs.
15549 Mark RTL with SYMBOL_REF_WEAK.
15550
a6227154
KG
155512002-04-27 Kurt Garloff <garloff@suse.de>
15552
15553 * tree-inline.c (inlinable_function_p): Improve heuristics
15554 by using a smoother function to cut down allowable inlinable size.
15555 * param.def: Add parameters max-inline-insns-single,
15556 max-inline-slope, min-inline-insns that determine the exact
15557 shape of the above function.
15558 * param.h: Likewise.
15559
94a50397
RH
155602002-04-26 Richard Henderson <rth@redhat.com>
15561
15562 * c-parse.in (malloced_yyss, malloced_yyvs): New.
15563 (yyoverflow): Re-add. Set them.
15564 (free_parser_stacks): New.
15565 * c-common.h: Declare it.
15566 * c-lex.c (c_common_parse_file): Call it.
15567
9c0a0632
RH
155682002-04-26 Richard Henderson <rth@redhat.com>
15569
15570 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
15571 for fallthru search.
15572
b875d2ee
EC
155732002-04-26 Eric Christopher <echristo@redhat.com>
15574
15575 PR optimization/3700
15576 * config/mips/mips.c (mips_issue_rate): Define. New function.
15577 (TARGET_SCHED_ISSUE_RATE): Use.
15578
1db828df
DM
155792002-04-25 David S. Miller <davem@redhat.com>
15580
15581 PR target/6422
15582 * reorg.c (optimize_skip): Do not allow exception causing
15583 instructions to be considered for delay slots.
15584 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
15585 (relax_delay_slots): Do not try to consider exception causing
15586 instructions as redundant.
15587
ae5d234e
RH
155882002-04-26 Richard Henderson <rth@redhat.com>
15589
15590 PR c/5225
15591 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
15592
7d793e9b
MM
155932002-04-26 Mark Mitchell <mark@codesourcery.com>
15594
15595 PR bootstrap/6445
15596 * config/i386/i386.md (untyped_call): Return the value in a float
15597 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
15598 TARGET_80387.
15599
b13ab42c
AO
156002002-04-26 Alexandre Oliva <aoliva@redhat.com>
15601
15602 * tree.c (tree_int_cst_lt): Compare constants whose types differ
15603 in unsigned-ness correctly.
15604
5e56f909
JDA
156052002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
15606
15607 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
15608 portable runtime model.
15609
bde3c0c0
RH
156102002-04-26 Richard Henderson <rth@redhat.com>
15611
a6227154 15612 * c-parse.in (yyoverflow): Revert.
bde3c0c0 15613
5276df18
DE
156142002-04-26 David Edelsohn <edelsohn@gnu.org>
15615 Richard Henderson <rth@redhat.com>
15616
15617 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
15618 result as temporary value.
15619
b84a3874
RH
156202002-04-26 Richard Henderson <rth@redhat.com>
15621
15622 PR c/3581
15623 * c-common.c (fix_string_type): Split out of ...
15624 (combine_strings): ... here. Take a varray, not a tree list.
15625 (c_expand_builtin_printf): Use fix_string_type.
15626 * c-common.h: Update decls.
15627 * c-parse.in (string): Remove. Update all uses to use STRING
15628 instead, and not call combine_strings.
15629 (yylexstring): New.
15630 (_yylex): Use it.
15631 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
15632 (build_asm_stmt): Likewise.
15633 * objc/objc-act.c (my_build_string): Use fix_string_type.
15634 (build_objc_string_object): Build varray for combine_strings.
15635
d8ae8cd4
BT
156362002-04-26 Bo Thorsen <bo@suse.co.uk>
15637
15638 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
15639 x86-64.
15640
f8b954fc
NB
156412002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
15642
15643 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
15644 (HAVE_NO_R_OPERAND): Remove.
15645 (HAVE_VALUE): Remove.
15646 (op_to_prio): Update.
15647 (UNARY): Don't alter flags.
15648 (_cpp_parse_expr): want_value used to indicate whether
15649 a number or unary operator is expected next. Distinguish
15650 unary and binary +/-.
15651 (op_as_text): Update for unary operators.
15652
6052bef0
RH
156532002-04-25 Richard Henderson <rth@redhat.com>
15654
15655 PR c/2161
15656 * c-parse.in (yyoverflow): New.
15657
5c5b2283
RH
156582002-04-25 Richard Henderson <rth@redhat.com>
15659
15660 PR c/2098
15661 * c-common.c (shorten_compare): Simplfy conditions leading to
15662 the generation of a warning.
15663
28ce94d4
RH
156642002-04-25 Richard Henderson <rth@redhat.com>
15665
15666 PR c/2035
15667 * expmed.c (extract_bit_field): Fall through to generic code rather
15668 than aborting on subreg special case.
15669
6bfd0c63
DM
156702002-04-25 David S. Miller <davem@redhat.com>
15671
15672 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
15673 for DECL being NULL.
15674
7a430e3b
SC
156752002-04-25 Steve Christiansen <smc@us.ibm.com>
15676
15677 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
15678
45c42d7d
EB
156792002-04-25 Eric Botcazou <ebotcazou@multimania.com>
15680
15681 * c-decl.c (grokdeclarator): Remove outdated ??? note
15682 on invalid declaration of flexible array members.
15683
eb7715a4
RH
156842002-04-25 Richard Henderson <rth@redhat.com>
15685
15686 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
15687
cf5ee720
UW
156882002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
15689
15690 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
15691 needed by the compiler, even if they are used as global regs.
15692
d604bca3
MH
156932002-04-25 Matt Hiller <hiller@redhat.com>
15694
15695 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
15696 functions.
15697 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
15698 of the corresponding functions.
15699 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
15700 New prototypes.
b875d2ee 15701
d604bca3
MH
157022002-04-25 Matt Hiller <hiller@redhat.com>
15703
15704 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
15705
15706 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
15707 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
15708 registers, adjust comment accordingly.
15709 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
15710 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
15711 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
15712 for coprocessor registers.
15713 (ADDITIONAL_REGISTER_NAMES): Include
15714 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 15715
d604bca3
MH
15716 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
15717 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
15718 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
15719 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
15720 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
15721
15722 (mips_char_to_class): Adjust comment to include coprocessor
15723 constraint letters.
15724
15725 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
15726 New functions.
15727 (mips_reg_names, mips_regno_to_class): Include coprocessor
15728 information.
15729 (mips_sw_reg_names): Ditto, make non-static.
15730 (mips_move_1word): Handle moves to and from coprocessor registers.
15731 (mips_move_2words): Handle moves to and from coprocessor
15732 registers.
15733 (mips_class_max_nregs, mips_register_move_cost): Handle
15734 coprocessor register classes.
15735 (override_options): Initialize mips_char_to_class and
15736 mips_hard_regno_mode_ok properly for coprocessor registers.
15737
15738 * config/mips/mips.md (movdi_internal, movdi_internal2,
15739 movsi_internal1, movsi_internal2): Add constraint-sets for
15740 coprocessor registers.
15741 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
15742 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
15743 isn't mips.
15744 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
15745 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
15746 isn't mips.
15747 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
15748 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
15749 isn't mips.
15750 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
15751 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
15752 isn't mips.
b875d2ee 15753
d604bca3
MH
15754 * doc/tm.texi: Document feature.
15755
b9a26d09
NB
157562002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
15757
15758 * integrate.c (function_attribute_inlinable_p): Simplify.
15759 Check the table pointer is not NULL.
15760
ab5973b7
SB
157612002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
15762
15763 * doc/c-tree.texi: Fix typo in introduction.
15764
ff45c01e
NB
157652002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
15766
15767 * c-common.h (c_common_parse_file): Update.
15768 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
15769 * c-lex.c (YYDEBUG): Get from c-lex.h.
15770 (c_common_parse_file): Update.
15771 * c-lex.h (YYDEBUG, yydebug): New.
15772 * c-parse.in (YYDEBUG): Get from c-lex.h.
15773 (c_set_yydebug): Remove.
15774 * c-tree.h (c_set_yydebug): Remove.
15775 * langhooks-def.h (lhd_do_nothing_i): New.
15776 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
15777 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
15778 * langhooks.c (lhd_do_nothing_i): New.
15779 (lhd_set_yydebug): Remove.
15780 * langhooks.h (struct lang_hooks): Update.
15781 * toplev.c (set_yydebug): New.
15782 (compile_file): Update call to parse_file hook.
15783 (decode_d_option): Update.
15784objc:
15785 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
15786
fcae219a
R
15787Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
15788
15789 * loop.c (load_mems): Don't change the interface of called functions.
15790
15791 * calls.c (expand_call): Take current_function_pretend_args_size
15792 into account when setting argblock for sibcalls.
15793
d0fea45a
MH
157942002-04-24 Matt Hiller <hiller@redhat.com>
15795
15796 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
15797 * c-lex.c: Ditto.
15798
15799 * cpplex.c (skip_line_comment): Process comment one multibyte
15800 character at a time rather than one char at a time, if
15801 appropriate.
15802 (parse_string): Process string one multibyte character at a time
15803 rather than one char at a time, if appropriate.
15804 * c-lex.c (lex_string): Lex and copy multibyte strings
15805 appropriately.
15806 * cpplib.h (cppchar_t): Change to unsigned.
15807
2d1b5436
RH
158082002-04-24 Richard Henderson <rth@redhat.com>
15809
15810 PR c/3467
15811 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
15812 for c99.
15813
5e039e6b
R
15814Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
15815
15816 * sh.c (sh_va_arg): If argument was passed by reference,
15817 dereference the pointer.
309d8365
R
15818
15819 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
15820
15821 * sh.md (divsi3_i4_media): Use match_operand for input values
15822 rather than hard registers.
15823 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
15824 unnecessarily through hard registers. Keep copies of pseudo
15825 registers outside of the libcall sequence.
15826
15827 * sh.md (casesi_shift_media): Add modes.
b700634a
R
15828
15829 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
15830 values in memory.
15831
349ae713
NB
158322002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
15833
15834 * attribs.c (c_common_attribute_table): Move table and handlers
15835 to c-common.c.
15836 (format_attribute_table, lang_attribute_table,
15837 lang_attribute_common): Remove.
15838 (init_attributes): Replace NULL pointers with pointers to the
15839 empty table.
15840 (handle_packed_attribute, handle_nocommon_attribute,
15841 handle_common_attribute, handle_noreturn_attribute,
15842 handle_noinline_attribute, handle_always_inline_attribute,
15843 handle_used_attribute, handle_unused_attribute,
15844 handle_const_attribute, handle_transparent_union_attribute,
15845 handle_constructor_attribute, handle_destructor_attribute,
15846 handle_mode_attribute, handle_section_attribute,
15847 handle_aligned_attribute, handle_weak_attribute,
15848 handle_alias_attribute, handle_visibility_attribute,
15849 handle_no_instrument_function_attribute, handle_malloc_attribute,
15850 handle_no_limit_stack_attribute, handle_pure_attribute,
15851 handle_deprecated_attribute, handle_vector_size_attribute,
15852 vector_size_helper): Move to c-common.c.
15853 * c-common.c (c_common_attribute_table,
15854 handle_packed_attribute, handle_nocommon_attribute,
15855 handle_common_attribute, handle_noreturn_attribute,
15856 handle_noinline_attribute, handle_always_inline_attribute,
15857 handle_used_attribute, handle_unused_attribute,
15858 handle_const_attribute, handle_transparent_union_attribute,
15859 handle_constructor_attribute, handle_destructor_attribute,
15860 handle_mode_attribute, handle_section_attribute,
15861 handle_aligned_attribute, handle_weak_attribute,
15862 handle_alias_attribute, handle_visibility_attribute,
15863 handle_no_instrument_function_attribute, handle_malloc_attribute,
15864 handle_no_limit_stack_attribute, handle_pure_attribute,
15865 handle_deprecated_attribute, handle_vector_size_attribute,
15866 vector_size_helper): Move from attribs.c.
15867 * c-common.h (c_common_attribute_table,
15868 c_common_format_attribute_table): New.
15869 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
15870 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
15871 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
15872 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
15873 (LANG_HOOKS_INITIALIZER): Update.
15874 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
15875 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
15876 * target.h: Update comment.
15877 * tree.c (default_target_attribute_table): Remove.
15878 * tree.h (default_target_attribute_table, format_attribute_table,
15879 lang_attribute_table, lang_attribute_common): Remove.
15880objc:
15881 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
15882 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
15883
84f0ace0
JM
158842002-04-24 Jason Merrill <jason@redhat.com>
15885
15886 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
15887 * dwarf2out.c (dwarf_attr_name): Support it.
15888 (gen_array_type_die): Emit it.
15889 (lookup_type_die): No special handling for VECTOR_TYPE.
15890 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
15891
120eaf28
RH
158922002-04-24 Richard Henderson <rth@redhat.com>
15893
15894 * config/mips/mips.md (movdi_usd): Renumber.
15895
e732178c
DM
158962002-04-24 David S. Miller <davem@redhat.com>
15897
15898 PR target/6420
15899 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
15900 32-bit Sparc and current_function_returns_struct is true.
15901
e879eb2f
JH
15902Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
15903
15904 * loop.c (canonicalize_condition): Use gen_int_mode.
15905
4287a893
AH
159062002-04-24 Aldy Hernandez <aldyh@redhat.com>
15907
15908 * config/rs6000/altivec.h: Cleanup file. Add non individual
15909 variants.
15910 (vec_vaddubm): New.
15911 (vec_vadduhm): New.
15912 (vec_vadduwm): New.
15913 (vec_vaddfp): New.
15914 (vec_vaddcuw): New.
15915 (vec_vaddubs): New.
15916 (vec_vaddsbs): New.
15917 (vec_vadduhs): New.
15918 (vec_vadduws): New.
15919 (vec_vaddsws): New.
15920 (vec_vand): New.
15921 (vec_vandc): New.
15922 (vec_vavgub): New.
15923 (vec_vavgsb): New.
15924 (vec_vavguh): New.
15925 (vec_vavgsh): New.
15926 (vec_vavguw): New.
15927 (vec_vavgsw): New.
15928 (vec_vrfip): New.
15929 (vec_vcmpbfp): New.
15930 (vec_vcmpequb): New.
15931 (vec_vcmpequh): New.
15932 (vec_vcmpequw): New.
15933 (vec_vcmpeqfp): New.
15934 (vec_vcmpgefp): New.
15935 (vec_vcmpgtub): New.
15936 (vec_vcmpgtsb): New.
15937 (vec_vcmpgtuh): New.
15938 (vec_vcmpgtsh): New.
15939 (vec_vcmpgtuw): New.
15940 (vec_vcmpgtsw): New.
15941 (vec_vcmpgtfp): New.
15942 (vec_vcmpgefp): New.
15943 (vec_vcfux): New.
15944 (vec_vcfsx): New.
15945 (vec_vctsxs): New.
15946 (vec_vctuxs): New.
15947 (vec_vexptefp): New.
15948 (vec_vrfim): New.
15949 (vec_lvx): New.
15950 (vec_lvebx): New.
15951 (vec_lvehx): New.
15952 (vec_lde): Add vector float variant.
15953 (vec_lvewx): New.
15954 (vec_lvxl): New.
15955 (vec_vlogefp): New.
15956 (vec_vmaddfp): New.
15957 (vec_vmhaddshs): New.
15958 (vec_vmaxub): New.
15959 (vec_vmaxsb): New.
15960 (vec_vmaxuh): New.
15961 (vec_vmaxsh): New.
15962 (vec_vmaxuw): New.
15963 (vec_vmaxsw): New.
15964 (vec_vmaxsw): New.
15965 (vec_vmaxfp): New.
15966 (vec_vmrghb): New.
15967 (vec_vmrghh): New.
15968 (vec_vmrghw): New.
15969 (vec_vmrglb): New.
15970 (vec_vmrglh): New.
15971 (vec_vmrglw): New.
15972 (vec_vminub): New.
15973 (vec_vminsb): New.
15974 (vec_vminuh): New.
15975 (vec_vminsh): New.
15976 (vec_vminuw): New.
15977 (vec_vminsw): New.
15978 (vec_vminfp): New.
15979 (vec_vmladduhm): New.
15980 (vec_vmhraddshs): New.
15981 (vec_msumubm): New.
15982 (vec_vmsummbm): New.
15983 (vec_vmsumuhm): New.
15984 (vec_vmsumshm): New.
15985 (vec_vmsumuhs): New.
15986 (vec_vmsumshs): New.
15987 (vec_vmuleub): New.
15988 (vec_vmulesb): New.
15989 (vec_vmuleuh): New.
15990 (vec_vmulesh): New.
15991 (vec_vmuloub): New.
15992 (vec_mulosb): New.
15993 (vec_vmulouh): New.
15994 (vec_vmulosh): New.
15995 (vec_vnmsubfp): New.
15996 (vec_vnor): New.
15997 (vec_vor): New.
15998 (vec_vpkuhum): New.
15999 (vec_vpkuwum): New.
16000 (vec_vpkpx): New.
16001 (vec_vpkuhus): New.
16002 (vec_vpkshss): New.
16003 (vec_vpkuwus): New.
16004 (vec_vpkswss): New.
16005 (vec_vpkshus): New.
16006 (vec_vpkswus): New.
16007 (vec_vperm): New.
16008 (vec_vrefp): New.
16009 (vec_vrlb): New.
16010 (vec_vrlh): New.
16011 (vec_vrlw): New.
16012 (vec_vrfin): New.
16013 (vec_vrsqrtefp): New.
16014 (vec_vsel): New.
16015 (vec_vslb): New.
16016 (vec_vslh): New.
16017 (vec_vslw): New.
16018 (vec_vsldoi): New.
16019 (vec_vsl): New.
16020 (vec_vslo): New.
16021 (vec_vspltb): New.
16022 (vec_vsplth): New.
16023 (vec_vspltw): New.
16024 (vec_vspltisb): New.
16025 (vec_vspltish): New.
16026 (vec_vspltisw): New.
16027 (vec_vsrb): New.
16028 (vec_vsrh): New.
16029 (vec_vsrw): New.
16030 (vec_vsrab): New.
16031 (vec_vsrah): New.
16032 (vec_vsraw): New.
16033 (vec_vsr): New.
16034 (vec_vsro): New.
16035 (vec_stvx): New.
16036 (vec_stvebx): New.
16037 (vec_stvehx): New.
16038 (vec_stvewx): New.
16039 (vec_stvxl): New.
16040 (vec_vsububm): New.
16041 (vec_vsubuhm): New.
16042 (vec_vsubuwm): New.
16043 (vec_vsubfp): New.
16044 (vec_vsubcuw): New.
16045 (vec_vsububs): New.
16046 (vec_vsubsbs): New.
16047 (vec_vsubuhs): New.
16048 (vec_vsubshs): New.
16049 (vec_vsubuws): New.
16050 (vec_vsubsws): New.
16051 (vec_vsum4ubs): New.
16052 (vec_vsum4sbs): New.
16053 (vec_vsum4shs): New.
16054 (vec_vsum2sws): New.
16055 (vec_vsumsws): New.
16056 (vec_vrfiz): New.
16057 (vec_vupkhsb): New.
16058 (vec_vupkhpx): New.
16059 (vec_vupkhsh): New.
16060 (vec_vupklsb): New.
16061 (vec_vupklpx): New.
16062 (vec_vupklsh): New.
16063 (vec_vxor): New.
16064
cff27795
EB
160652002-04-23 Eric Botcazou <ebotcazou@multimania.com>
16066
16067 PR c/5430
16068 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
16069 added literals from substracted literals.
16070 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
16071 (fold) [associate]: Preserve MINUS_EXPR if needed.
16072
952bca84
ZW
160732002-04-23 Zack Weinberg <zack@codesourcery.com>
16074
16075 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
16076 are obsoleted.
16077
50cb2154
TT
160782002-04-23 Tom Tromey <tromey@redhat.com>
16079
16080 * gcc.c: Added --resource. For PR java/6314.
16081
271f61fb
DB
160822002-04-23 David O'Brien <obrien@FreeBSD.org>
16083
9566d1e9 16084 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
16085 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
16086 these libraries.
16087
bdabbc80
DB
160882002-04-23 David O'Brien <obrien@FreeBSD.org>
16089
16090 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
16091
74411039
JH
16092Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
16093
16094 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
16095 workaround.
16096 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
16097 (ix86_expand_clrstr): Fix typo.
16098 * loop.c (gen_load_of_final_value): New.
16099 (loop_givs_rescan, strength_reduce, check_dbra_loop):
16100 Use it.
16101
1a887f86
RS
161022002-04-23 Roger Sayle <roger@eyesopen.com>
16103
16104 * builtins.c (builtin_memset_gen_str): New function.
16105 (expand_builtin_memset): Optimize the case of constant length, but
16106 unknown value.
16107
8d3441e0
AH
161082002-04-23 Aldy Hernandez <aldyh@redhat.com>
16109
cff27795
EB
16110 * config/rs6000/altivec.h (vec_step): Remove extraneous
16111 parentheses.
16112 (vec_ctu): Cast return.
8d3441e0 16113
f6f315fe
AM
161142002-04-23 Alan Modra <amodra@bigpond.net.au>
16115
16116 PR target/6413
16117 * function.h: (struct function): Add profile_label_no field.
16118 (current_function_profile_label_no): Define.
16119 * function.c: (profile_label_no): New static var.
16120 (expand_function_start): Increment it, and copy to
16121 current_function_profile_label_no.
16122 * output.h (profile_label_no): Delete.
16123 * final.c (profile_label_no): Delete.
16124 (profile_function): Use current_function_profile_label_no.
16125 (final_end_function): Don't increment profile_label_no here.
16126 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
16127 profile_label_no with current_function_profile_label_no.
16128 * config/pa/pa.c (current_function_number): Delete.
16129 (pa_output_function_prologue): Don't output profile label here.
16130 (hppa_profile_hook): Use label_no param rather than
16131 current_function_number.
16132 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
16133 * config/pa/pa.h: .. here.
16134 (FUNCTION_PROFILER): Output profile label here.
16135
d239cdc0
EC
161362002-04-22 Eric Christopher <echristo@redhat.com>
16137
16138 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
16139 patch of 2002-04-09 due to binutils issues.
16140 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
16141
04428ad4
AH
161422002-04-22 Aldy Hernandez <aldyh@redhat.com>
16143
cff27795
EB
16144 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
16145 constraint to 'o' for m=r and r=m alternatives.
16146 ("*movv8hi_internal1"): Same.
16147 ("*movv16qi_internal1"): Same.
16148 ("*movv4sf_internal1"): Same.
04428ad4 16149
2adc7f12
JJ
161502002-04-22 Janis Johnson <janis187@us.ibm.com>
16151
16152 * rtl.h (RTX_FLAG): New macro.
16153 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
16154 * final.c (alter_subreg): Use macro to access rtx flag.
16155 * integrate.c (copy_rtx_and_substitute): Use new access macro.
16156 * print-rtl.c (print_rtx): Use new access macro.
16157
16158 * cse.c (insert): Check rtx code before accessing flag.
16159
16160 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
16161 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
16162 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
16163 convert_const_symbol_ref, make_canonical, make_alternative_compare,
16164 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
16165 simplify_test_exp, optimize_attrs, simplify_by_exploding,
16166 find_and_mark_used_attributes, unmark_used_attributes,
16167 add_values_to_cover, simplify_with_current_value,
16168 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
16169 copy_rtx_unchanging, main): Use new access macros.
16170
b7c89afe
TR
161712002-04-22 Tom Rix <trix@redhat.com>
16172
16173 * expmed.c (init_expmed): Generate shifted constant once.
16174
9340544b
ZW
161752002-04-22 Zack Weinberg <zack@codesourcery.com>
16176
16177 * c-lex.c (lex_charconst): Call convert to get constant in
16178 proper type; don't just smash the type field.
16179 Fixes PR c/6300.
16180
16181 * config.gcc: Add list of obsolete configurations. Disallow
16182 building these without --enable-obsolete.
16183 * doc/install.texi: Document --enable-obsolete and obsoletion
16184 policy. Mention obsoletion of individual targets in
16185 appropriate places.
16186
f942d7a5
RH
161872002-04-22 Richard Henderson <rth@redhat.com>
16188
16189 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
16190
161912002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
16192
16193 PR f/6138.
16194 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
16195 (walk_fixup_memory_subreg): Likewise.
16196 (fixup_var_refs_insn): Adjust accordingly.
16197 (fixup_var_refs_1): Likewise.
16198
232b0b45
UW
161992002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
16200
16201 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
16202 LIBPATH_ARCH64_SPEC): Define.
16203 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
16204 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
16205 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
16206 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
16207
1b61552b
JS
162082002-04-22 Joel Sherrill <joel@OARcorp.com>
16209
16210 * gthr-rtems.h: Correct prototypes to remove warnings.
16211
0fe854a7
RH
162122002-04-22 Richard Henderson <rth@redhat.com>
16213
16214 PR c/6344
16215 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
16216
16217 * gcse.c (free_insn_expr_list_list): New.
16218 (clear_modify_mem_tables): Use it. Fix bit set usage.
16219 (canon_list_insert): Use EXPR_LISTs for expressions.
16220 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
16221
af0d16cd
NB
162222002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
16223
16224 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
16225 file change and include code to _cpp_pop_buffer.
16226 * cpphash.h (struct pending_option): Predeclare.
16227 (struct cpp_reader): New member next_include_file.
16228 (_cpp_pop_file_buffer): Update.
16229 (_cpp_push_next_buffer): Update, rename.
16230 * cppinit.c (cpp_destroy): Free include chain and pending here.
16231 (cpp_finish_options): Simplify.
16232 (_cpp_push_next_buffer): Rename and clean up.
16233 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
16234 Clarify.
16235 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
16236
0d918572
AH
162372002-04-22 Aldy Hernandez <aldyh@redhat.com>
16238
0fe854a7
RH
16239 * config/rs6000/altivec.h (vec_xor): Add variant for both args
16240 being vector signed int.
16241 (vec_andc): Same.
16242 (vec_xor): Add variant for both args being vector signed char.
16243 Remove redundant variant.
16244 (vec_andc): Same.
0d918572 16245
77e2c290
DM
162462002-04-21 David S. Miller <davem@redhat.com>
16247
16248 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
16249 compare mode in output RTL.
16250
ee2ca2a2
DE
162512002-04-22 David Edelsohn <edelsohn@gnu.org>
16252
16253 * config/rs6000/rs6000.c (rs6000_override_options): Correct
16254 style and formatting of previous patch.
16255
894bdff6
AM
162562002-04-22 Alan Modra <amodra@bigpond.net.au>
16257
16258 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
16259 flag_pic for ABI_AIX.
16260
562a5c27
NB
162612002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
16262
16263 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
16264 * cppfiles.c (read_include_file): Similarly.
16265 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
16266 uxstrdup ustrchr, ufputs): Similarly.
16267 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
16268 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
16269 cpp_ideq, parse_identifier, parse_number): Similarly.
16270 * cpplib.c (struct directive, dequote_string, D, run_directive,
16271 cpp_push_buffer): Similarly.
16272 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
16273 _cpp_create_definition, check_trad_stringification,
16274 cpp_macro_definition): Similarly.
16275
9ac3b1be
NB
162762002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
16277
16278 * cppmacro.c (funlike_invocation_p): Don't step back
16279 over CPP_EOF.
16280
9dda4cc8
DE
162812002-04-21 David Edelsohn <edelsohn@gnu.org>
16282
16283 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
16284 labelno.
16285
20764052
JM
162862002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
16287
16288 * doc/invoke.texi: Remove Chill references.
16289 * doc/gcc.texi: Update last modified date.
16290
26b29884
KH
162912002-04-20 Kazu Hirata <kazu@hxi.com>
16292
16293 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
16294 push and pop. Replace add.l with add.w.
16295
59184677
TM
162962002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16297
16298 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
16299 multiply instructions for H8/300H case.
16300
b1113e0a
TM
163012002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16302
16303 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
16304 Bum three instructions from each routine.
16305
b03e38e1
NB
163062002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
16307
16308 * Makefile.in: Update.
16309 * decl.c (push_c_function_context, pop_c_function_context,
16310 mark_c_function_context): Rename for consistency.
16311 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
16312 * c-tree.h (push_c_function_context, pop_c_function_context,
16313 mark_c_function_context): Rename for consistency.
16314 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16315 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16316 * function.c (init_lang_status, save_lang_status,
16317 restore_lang_status, mark_lang_status, free_lang_status):
16318 Move to langhooks.h.
16319 (push_function_context_to, pop_function_context_from,
16320 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
16321 Update.
16322 * function.h (init_lang_status, save_lang_status,
16323 restore_lang_status, mark_lang_status, free_lang_status):
16324 Move to langhooks.h.
16325 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
16326 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
16327 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
16328 LANG_HOOKS_FUNCTION_INITIALIZER): New.
16329 (LANG_HOOKS_INITIALIZER): Update.
16330 (lhd_do_nothing_f): New.
16331 * langhooks.h (struct lang_hooks_for_functions): New.
16332 (struct lang_hooks): New hooks.
16333 * langhooks.c (lhd_do_nothing_f): New.
16334objc:
16335 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16336 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16337
db430d26
DM
163382002-04-19 David S. Miller <davem@redhat.com>
16339
16340 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
16341 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
16342
0f2a3457
JJ
163432002-04-19 Jakub Jelinek <jakub@redhat.com>
16344
16345 PR optimization/3756
16346 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
16347 x = ((int) y < 0) ? cst1 : cst2.
16348
ce5e43d0
JJ
163492002-04-19 Jakub Jelinek <jakub@redhat.com>
16350
16351 PR c/6358
16352 * function.c: Reapply patch for c/6358.
16353 (expand_function_end): Copy decl_rtl's mode, not
16354 current_function_return_rtx mode.
16355
163562002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
16357
16358 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
16359 targets.
16360
40e7f8ea
TT
163612002-04-19 Tom Tromey <tromey@redhat.com>
16362
16363 * doc/install.texi (Specific): Update status of Solaris 2.8.
16364 For PR libgcj/6158.
16365
62a12b27
AS
163662002-04-19 Andreas Schwab <schwab@suse.de>
16367
16368 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
16369 (PUT_REAL): Restore old definition.
16370
1405141b
DN
163712002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
16372 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16373
16374 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
16375 binutils 2.11.2 and higher generate smaller binaries than Sun's
16376 native tools.
16377
303a3927
MM
163782002-04-19 Mark Mitchell <mark@codesourcery.com>
16379
16380 PR c++/6352
16381 * toplev.c (rest_of_compilation): Do not defer functions for which
16382 TREE_SYMBOL_REFERENCED has already been set.
16383
de80110b
JH
16384Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
16385
16386 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
16387 alternative.
16388
ab393bf1
NB
163892002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
16390
16391 * builtins.c: Include langhooks.h.
16392 (lang_type_promotes_to): Remove.
16393 (expand_builtin_va_arg): Use new hook.
16394 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
16395 (simple_type_promotes_to): Move to c-typeck.c.
16396 * c-common.h (simple_type_promotes_to): Remove.
16397 * c-decl.c (duplicate_decls, grokdeclarator): Update.
16398 * c-format.c: Include langhooks.h.
16399 (check_format_types): Update.
16400 * c-tree.h (c_type_promotes_to): New.
16401 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
16402 (type_lists_compatible_p): Update.
16403 * langhooks-def.h (lhd_type_promotes_to): New.
16404 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
16405 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
16406 * langhooks.c (lhd_type_promotes_to): New.
16407 * langhooks.h (struct lang_hooks_for_types): New hook.
16408 * tree.h (lang_type_promotes_to): Remove.
16409objc:
16410 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
16411
0cd3301b
RH
164122002-04-18 Richard Henderson <rth@redhat.com>
16413
58533fa2 16414 * function.c: Revert patch for c/6358.
0cd3301b
RH
16415
164162002-04-18 Richard Henderson <rth@redhat.com>
16417
58533fa2
RH
16418 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
16419 blocks. Handle multiple references to the TRAP block. Handle
16420 non-adjacent THEN and OTHER blocks.
0cd3301b 16421
58533fa2
RH
164222002-04-18 Richard Henderson <rth@redhat.com>
16423
16424 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
16425 crash with no type for by-mode libcalls.
16426
16427 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 16428
57174693
BW
164292002-04-18 Bob Wilson <bob.wilson@acm.org>
16430
16431 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
16432 __xtensa_nonlocal_goto): Use a syscall instructions to flush
16433 the register windows.
16434
46468cd9
ZW
164352002-04-18 Zack Weinberg <zack@codesourcery.com>
16436
16437 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
16438 appropriate. Document need for extended precision even when
16439 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
16440 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
16441 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
16442 instead of relying on later syntax error when REAL_WIDTH > 5.
16443 * real.c: Define NE based only on whether or not we have a
16444 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
16445 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
16446 define GET_REAL and PUT_REAL as simple memcpy operations; no
16447 need to byteswap or round.
16448 Use #error instead of #ifdef-ing out the entire file, for
16449 prompt error detection.
16450
16451 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
16452
2f82dbf8
DM
164532002-04-18 David S. Miller <davem@redhat.com>
16454
16455 * config/sparc/sparc.h (BRANCH_COST): Define.
16456
16457 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
16458 does it.
16459
566576e7
HPN
164602002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
16461
16462 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
16463 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
16464 propagate_block calls after relaxation loop using new variable
16465 stabilized_prop_flags.
16466
51dcde6f
RH
164672002-04-18 Richard Henderson <rth@redhat.com>
16468
16469 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
16470 (ia64_va_arg): Expect variable sized types by reference.
16471 * config/ia64/ia64-protos.h: Update.
46468cd9 16472 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
16473 ia64_function_arg_pass_by_reference.
16474
26406018
RH
164752002-04-18 Richard Henderson <rth@redhat.com>
16476
46468cd9
ZW
16477 * ifcvt.c: Include except.h.
16478 (block_has_only_trap): Break out from find_cond_trap.
16479 (find_cond_trap): Use it. Always delete the trap block.
16480 (merge_if_block): Allow then block null. Be less simplistic about
16481 what insns can end a block.
16482 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 16483
26406018
RH
16484 * config/ia64/ia64.md (trap, conditional_trap): New.
16485
a3acf46d
JJ
164862002-04-18 Jakub Jelinek <jakub@redhat.com>
16487
16488 PR c/6358
16489 * function.c (assign_parms): Assign hard current_function_return_rtx
16490 register here...
16491 (expand_function_end): ...not here.
16492
7a228918
NB
164932002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
16494
16495 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
16496 * c-tree.h (c_incomplete_type_error): New.
16497 * c-typeck.c (require_complete_type, build_component_ref): Update.
16498 (incomplete_type_error): Rename.
16499 * langhooks-def.h (lhd_incomplete_type_error): New.
16500 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
16501 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
16502 * langhooks.c (lhd_incomplete_type_error): New.
16503 * langhooks.h (struct lang_hooks_for_types): New hook.
16504 * tree.c (size_in_bytes): Use new hook.
16505 * tree.h (incomplete_type_error): Remove.
16506objc:
16507 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
16508
f18664c1
ZW
165092002-04-18 Zack Weinberg <zack@codesourcery.com>
16510
16511 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
16512 TARGET_FLOAT_FORMAT blocks.
16513
8ecab453
GP
165142002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16515
16516 * doc/install.texi (Downloading the source): Do not mention Chill
16517 any longer, but mention Ada.
16518 (Configuration): Do not mention Chill any longer.
16519
528d8489
HPN
165202002-04-18 Hans-Peter Nilsson <hp@axis.com>
16521
16522 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
16523
91da27c5
JH
16524Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
16525
16526 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
16527 in last patch.
16528
a32db605
JJ
165292002-04-18 Jakub Jelinek <jakub@redhat.com>
16530
16531 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
16532 instead of unsigned_type.
16533
5a28d8cc
JH
16534Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
16535
16536 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
16537 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
16538 later.
16539
3d980b9f
BS
165402002-04-18 Bernd Schmidt <bernds@redhat.com>
16541
16542 * attribs.c (vector_type_node_list): New static variable.
16543 (handle_vector_size_attribute): Use it to avoid generating a
16544 new type node each time we are called.
16545
2e676d78
BS
16546 * combine.c (subst): Avoid trying to make a vector mode subreg of
16547 an integer constant.
16548 (gen_lowpart_for_combine): Likewise.
46468cd9 16549
58c2956c
RS
165502002-04-18 Roger Sayle <roger@eyesopen.com>
16551 Jakub Jelinek <jakub@redhat.com>
16552
16553 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
16554 for integer constant c (if x has unsigned type or sign bit is not
16555 set in c). This folds the zero/sign extension into the bit-wise and
16556 operation.
16557
692efa8e
JJ
165582002-04-18 Jakub Jelinek <jakub@redhat.com>
16559
16560 PR middle-end/6205
16561 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
16562 otherwise xorps.
16563
1372d4ce
NY
165642002-04-17 NIIBE Yutaka <gniibe@m17n.org>
16565
16566 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
16567
169ce44d
NC
165682002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
16569
16570 * gcc.c (read_specs): Detect and fail if an attempt is made to
16571 rename a spec string to an already existing string.
16572
b30d2115
UW
165732002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
16574
16575 * config/s390/s390.c (legitimize_pic_address): Do not generate
16576 illegal address constant without CONST.
16577
d6964c30
KG
165782002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16579
16580 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
16581 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
16582
7c82a1ed
UW
165832002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
16584
16585 PR optimization/6305
16586 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
16587 to make sure previous reloads are taken into account. Generate
16588 better code if one operand is an in-range immediate constant.
16589
58db9d1a
AH
165902002-04-16 Andrew Haley <aph@cambridge.redhat.com>
16591
16592 * doc/install.texi (Building): libgcj requires GNU make.
16593
2a732575
JJ
165942002-04-17 Jakub Jelinek <jakub@redhat.com>
16595
16596 PR bootstrap/6315
16597 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
16598 even if hard quad and register is not floating.
16599 (movtf reg<-mem split): Disallow splitting if hard quad and
16600 register is floating.
16601 (movtf mem<-reg split): Likewise.
16602 * config/sparc/sparc.c (fp_register_operand): New predicate.
16603 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
16604
75a65e46
ZW
166052002-04-17 Zack Weinberg <zack@codesourcery.com>
16606
16607 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
16608 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
16609 (unprotoize.o): Ditto. Build from protoize.c. Define
16610 UNPROTOIZE on command line.
16611 * protoize.c: Include cppdefault.h. Delete include_defaults.
16612 (in_system_include_dir): Use cpp_include_defaults (defined in
16613 cppdefault.o).
16614 * unprotoize.c: Delete file.
16615
650f0e97
AH
166162002-04-17 Aldy Hernandez <aldyh@redhat.com>
16617
46468cd9
ZW
16618 * config/rs6000/altivec.h (vec_ld): Add array variants.
16619 (vec_lde): Same.
16620 (vec_ldl): Same.
650f0e97 16621
71a0ab0c 166222002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 16623 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 16624
46468cd9
ZW
16625 * config/rs6000/altivec.h: Define __ALTIVEC__.
16626 (bool): New.
16627 (__pixel): New.
16628 (pixel): New.
16629 (vec_cfux): New.
16630 (vec_vmaddfp): New.
16631 (vec_vsldoi): New.
16632 Add parentheses to all macro arguments.
71a0ab0c 16633
ff2c46ac
RH
166342002-04-16 Richard Henderson <rth@redhat.com>
16635
16636 PR c++/6320
16637 * except.c (remove_eh_handler): Insert inner regions at beginning
16638 of sibling chain. Refactor expressions.
16639
f1ba94dd
RH
166402002-04-16 Richard Henderson <rth@redhat.com>
16641
f0871dfe
RH
16642 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
16643 * config/sparc/sol2-gas-bi.h: New file.
16644 * config.gcc (sparc*-solaris): Add it as needed.
16645 * configure.in (AS_SPARC64_FLAG): Remove check.
16646 * config.in, configure: Regenerate.
16647
16648 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
16649
166502002-04-16 Richard Henderson <rth@redhat.com>
16651
16652 * config/mips/mips.c (override_options): Don't override N32 for
16653 a 64-bit ISA.
409d3c60 16654
f1ba94dd
RH
16655 PR 6202
16656 * config/mips/mips.md (can_delay): Split out of existing define_delays.
16657 (HILO_delay): Set can_delay false.
16658
178c3eff
DJ
166592002-04-16 Dale Johannesen <dalej@apple.com>
16660
16661 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
16662 instruction addresses.
16663 (rs6000_output_function_epilogue): Likewise.
16664
7d6f6369
PC
166652002-04-16 Paolo Carlini <pcarlini@unitus.it>
16666
16667 * c-parse.in (poplevel, compstmt_start,
16668 compstmt_primary_start): Add ending ';', in accordance
16669 with POSIX.
16670
8947df0c
RH
166712002-04-16 Richard Henderson <rth@redhat.com>
16672
16673 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
16674 Adjust tm_file order to get TARGET_DEFAULT set properly.
16675 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
16676 * doc/install.texi (sparc-solaris): Update.
16677
3148ad6d
DJ
166782002-04-16 Dale Johannesen <dalej@apple.com>
16679
16680 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
16681 comparison operands do not match each other or if modes of
16682 conditions do not match result.
16683
014cb9b6 166842002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 16685
014cb9b6
HP
16686 PR target/6305
16687 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 16688 multiword register.
562a69be 16689
014cb9b6 166902002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 16691
8947df0c 16692 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 16693
a9772b60
JJ
166942002-04-16 Jakub Jelinek <jakub@redhat.com>
16695
16696 PR middle-end/6279
16697 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
16698
16699 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
16700
861829ed
RH
167012002-04-15 Richard Henderson <rth@redhat.com>
16702
16703 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
16704 call_really_used_regs too.
16705
bcf2fe9c
RH
167062002-04-15 Richard Henderson <rth@redhat.com>
16707
16708 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
16709
629111c7
DM
167102002-04-15 David S. Miller <davem@redhat.com>
16711
16712 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
16713 as being CLOBBERed.
16714
98ef3137
JJ
167152002-04-16 Jakub Jelinek <jakub@redhat.com>
16716
16717 PR c/6290
16718 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
16719 CONST_VECTOR is { 0, ... 0 }.
16720
0aa911c5
LR
167212002-04-15 Loren J. Rittle <ljrittle@acm.org>
16722
16723 * doc/install.texi (Installing GCC: Configuration): Clarify
16724 the only supported ways to configure gcc.
16725
83248d49 167262002-04-15 Roland McGrath <roland@frob.com>
46468cd9 16727
83248d49
RM
16728 * config.gcc (alpha*-*-gnu*): New target configuration.
16729 * config/alpha/gnu.h: New file for it.
16730 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
16731
b2123dc0
MM
167322002-04-16 Mark Mitchell <mark@codesourcery.com>
16733
16734 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
16735 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
16736 * tree.h (expand_start_stmt_expr): Update prototype.
16737 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
16738 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
16739 on the STMT_EXPR created for the inline function.
46468cd9 16740
8fe2d853
RH
167412002-04-15 Richard Henderson <rth@redhat.com>
16742
16743 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
16744 config/i386/linux-aout.h, config/i386/linux-oldld.h,
16745 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
16746 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
16747 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
16748 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
16749 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
16750 Define __gnu_linux__, not gnu_linux.
16751 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
16752
07cdae91
MM
167532002-04-15 Mark Mitchell <mark@codesourcery.com>
16754
16755 Remove Chill front end.
16756 * gcc.c (default_compilers): Remove Chill entries.
16757 * ch: Remove directory.
16758 * doc/frontends.texi: Remove information about Chill.
16759 * doc/sourcebuild.texi: Likewise.
16760 * doc/standards.texi: Likewise.
16761
41823c5e
DR
167622002-04-15 Douglas B Rupp <rupp@gnat.com>
16763
16764 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
16765 (LONGLONG_STANDALONE): Define.
16766
eb29ddb6
DM
167672002-04-15 David S. Miller <davem@redhat.com>
16768
16769 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
16770 Call emit_library_call with LCT_NORMAL.
16771 (sparc_initialize_trampoline): Use LCT_foo instead of
16772 magic constant in emit_library_call invocations.
16773 (sparc64_initialize_trampoline): Likewise.
16774 (sparc_profile_hook): Likewise.
16775 * config/sparc/sparc.md: Likewise.
16776
16777 * config/sparc/sparc.c (sparc_extra_constraint_check):
16778 Fix type of argument 'c'.
16779 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
16780 Likewise.
16781
bd6bec6b
GDR
167822002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16783
16784 * diagnostic.h (output_buffer_state): Redefine.
16785 (output_format_decoder): New macro.
16786 (output_prefixing_rule): Likewise.
16787 (output_line_cutoff): Likewise.
16788 (diagnostic_format_decoder): Adjust.
16789 (diagnostic_prefixing_rule): Likewise.
16790 (diagnostic_line_cutoff): Likewise.
16791 (diagnostic_state): Likewise.
16792 (diagnostic_kind_count): Likewise.
16793 (diagnostic_buffer): Now a macro.
16794
16795 * diagnostic.c (diagnostic_buffer): Remove definition.
16796 (output_is_line_wrapping): Adjust.
16797 (set_real_maximum_length): Likewise.
16798 (output_set_maximum_length): Likewise.
16799 (init_output_buffer): Likewise.
16800 (lhd_print_error_function): Likewise.
16801 (output_do_verbatim): Likewise.
16802
ebef4e8c
NB
168032002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
16804
16805 * cpperror.c (print_location): Don't print include chain
16806 if line == 0.
16807 (cpp_begin_message): Update to use DL_ macros.
16808 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
16809 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
16810 cpp_notice, cpp_notice_from_errno): Remove.
16811 (cpp_error, cpp_error_with_line): Update to take a diagnostic
16812 level.
16813 (cpp_errno): New.
16814 * cppexp.c (CPP_ICE): Remove.
16815 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
16816 lex, integer_overflow, _cpp_parse_expr): Update.
16817 * cppfiles.c (read_include_file, find_include_file,
16818 handle_missing_header, _cpp_read_file, remap_filename): Update.
16819 * cpphash.h (enum error_type): Remove.
16820 (_cpp_begin_message): Update.
16821 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
16822 cpp_handle_option, cpp_post_options): Update.
16823 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
16824 skip_whitespace, parse_identifier, parse_slow, parse_string,
16825 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
16826 cpp_interpret_charconst): Update.
16827 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
16828 lex_macro_node, do_undef, glue_header_name, parse_include,
16829 do_include_common, read_flag, do_line, do_linemarker, do_ident,
16830 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
16831 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
16832 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
16833 _cpp_pop_buffer, do_diagnostic): Update.
16834 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
16835 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
16836 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
16837 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
16838 cpp_notice, cpp_notice_from_errno): Remove.
16839 (cpp_error, cpp_error_with_line): Update to take a diagnostic
16840 level.
16841 (cpp_errno): New.
16842 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
16843 collect_args, enter_macro_context, save_parameter, parse_params,
16844 _cpp_create_definition, check_trad_stringification,
16845 cpp_macro_definition): Update.
16846 * cppmain.c (cpp_preprocess_file): Update.
16847 * fix-header.c (read_scan_file): Update.
16848
c19a3859
AS
168492002-04-14 Andreas Schwab <schwab@suse.de>
16850
16851 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
16852
10fdbed6
JD
168532002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16854
16855 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
16856
77660a9a
MM
168572002-04-13 Mark Mitchell <mark@codesourcery.com>
16858
16859 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
16860 not gnu_hurd.
16861
e0ff1ded
HPN
168622002-04-13 Hans-Peter Nilsson <hp@axis.com>
16863
16864 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
16865
2341c7ea
JS
168662002-04-13 Joel Sherrill <joel@OARcorp.com>
16867
16868 * config/sparc/t-elf: Enable v8 multilibs. Impacts
16869 sparc-elf and sparc-rtems targets.
16870
d29350c0
MM
168712002-04-13 Mark Mitchell <mark@codesourcery.com>
16872
16873 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
16874 defined, and __gnu_hurd__ wherever __GNU__ is defined.
16875 * arm/linux-elf.h: Likewise.
16876 * cris/aout.h: Likewise.
16877 * cris/linux.h: Likewise.
16878 * i370/linux.h: Likewise.
16879 * i386/gnu.h: Likewise.
16880 * i386/linux-aout.h: Likewise.
16881 * i386/linux-oldld.h: Likewise.
16882 * i386/linux.h: Likewise.
16883 * i386/linux64.h: Likewise.
16884 * ia64/linux.h: Likewise.
16885 * m68k/linux-aout.h: Likewise.
16886 * m68k/linux.h: Likewise.
16887 * mips/linux.h: Likewise.
16888 * pa/pa-linux.h: Likewise.
16889 * pj/linux.h: Likewise.
16890 * rs6000/sysv4.h: Likewise.
16891 * s390/linux.h: Likewise.
16892 * sh/linux.h: Likewise.
16893 * sparc/linux-aout.h: Likewise.
16894 * sparc/linux.h: Likewise.
16895 * sparc/linux64.h: Likewise.
16896 * xtensa/linux.h: Likewise.
16897
fc552851
RS
168982002-04-13 Richard Sandiford <rsandifo@redhat.com>
16899
16900 * stmt.c (check_unique_operand_names): Expect operand names to
16901 be strings rather than identifiers. Use simple_cst_equal to
16902 compare them.
16903 (resolve_operand_name_1): Make same identifier to string change here.
16904 * c-parse.in (asm_operand): Convert a named operand into a string.
16905 * cp/parse.y (asm_operand): Likewise.
16906
1d405c5e
AS
169072002-04-13 Andreas Schwab <schwab@suse.de>
16908
16909 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
16910
c740732f
MM
169112002-04-12 Mark Mitchell <mark@codesourcery.com>
16912
16913 Revert these changes:
16914
16915 2002-04-06 Mark Mitchell <mark@codesourcery.com>
16916
16917 PR c++/5571
16918 * stor-layout.c (layout_decl): Reset the RTL for the decl.
16919
3fc602a0
RH
169202002-04-12 Richard Henderson <rth@redhat.com>
16921
16922 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
16923 (sparc*-*-solaris): Clean up header files.
16924 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
16925 and plan on generating 64-bit code.
16926 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
16927 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
16928 * config/sparc/sol2-sld-64.h: Rename ...
16929 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
16930 for AS_SPARC64_FLAG not defined.
16931 * config/sparc/sol2-gld-bi.h: New.
16932 * config/sparc/sol2-sld.h: Remove.
16933 * config/sparc/sol26-sld.h: New.
16934 * config/sparc/sol2.h: Tidy comments.
16935 * doc/install.texi: Document sparc-solaris configury changes.
16936
2f15e255
RH
169372002-04-12 Richard Henderson <rth@redhat.com>
16938
16939 * recog.c (offsettable_address_p): Match the logic in adjust_address.
16940
16941 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
16942 in 64-bit mode only. Use only for 32-bit or MEDLOW.
16943
cc8475cb
RO
169442002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16945
16946 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
16947
6f133a4a
JL
16948Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
16949
ef1b8858 16950 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
16951 constrain_operands.
16952
1329e600
DR
169532002-04-12 Douglas B Rupp <rupp@gnat.com>
16954
16955 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
16956 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
16957 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 16958 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
16959 * config/i386/t-interix (USER_H): Remove.
16960
0339d239
DD
169612002-04-12 DJ Delorie <dj@redhat.com>
16962
16963 * integrate.c (compare_blocks): Make comparisons safe for when
16964 sizeof(int) < sizeof(char *).
16965 (find_block): Likewise.
16966
cc4d5fec
JH
169672002-04-12 Jan Hubicka <jh@suse.cz>
16968 David Edelsohn <edelsohn@gnu.org>
16969
16970 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
16971 registers.
16972 (symbol_ref_operand): New.
16973 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
16974 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
16975
93215a1b
AS
169762002-04-12 Andreas Schwab <schwab@suse.de>
16977
16978 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
16979 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
16980 overrides the definition in config/svr4.h.
46468cd9 16981
1d80248e
EN
169822002-04-12 Eric Norum <eric.norum@usask.ca>
16983
16984 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
16985 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
16986 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
16987 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
16988 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
16989 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
16990 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
16991 definitions to config/rtems.h and make the targets more similar.
16992
fa1591cb
RK
16993Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16994
fa06ab5c
RK
16995 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
16996 POINTERS_EXTEND_UNSIGNED.
16997 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
16998 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
16999
fa1591cb
RK
17000 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
17001 not specified.
17002
12e85a0e
R
17003Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
17004
17005 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
17006 depends on TARGET_SHMEDIA, not TARGET_SH5.
17007
1ab3e58a
HPN
170082002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
17009
17010 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
17011 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
17012
18778292
R
17013Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
17014
17015 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
17016 no r0 clobber.
17017
9002507c
AS
170182002-04-12 Andreas Schwab <schwab@suse.de>
17019
17020 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
17021
9be40833
RH
170222002-04-12 Richard Henderson <rth@redhat.com>
17023
17024 PR bootstrap/4191
17025 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
17026
17027 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
17028 modes spanning multiple hard regs.
46468cd9 17029
9be40833
RH
17030 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
17031
3d9268b6
JDA
170322002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
17033
17034 * pa.c (pa_output_function_prologue): Don't accumulate the total
17035 number of code bytes when using TARGET_64BIT, or gas, SOM and not
17036 the portable runtime.
17037 (output_deferred_plabels): Handle 64bit plabels.
17038 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
17039 generating pic code using the GAS assembler for object formats that
17040 are not SOM (ie., ELF32 and ELF64).
17041 (output_millicode_call): Check attribute type if attribute length is 28.
17042 Likewise use $PIC_pcrel$0. Only call get_attr_length and
17043 dbr_sequence_length once.
17044 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
17045 dbr_sequence_length once.
17046 * pa.h (TARGET_SOM): Define if not defined.
17047 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
17048 with GAS and not SOM.
17049 (jump, call_internal_reg, call_value_internal_reg): Likewise.
17050 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
17051
d360fd18
DB
170522002-04-11 David O'Brien <obrien@FreeBSD.org>
17053
17054 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
17055 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
17056 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
17057 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
17058 elfos.h and dbxelf.h values are fine now.
17059 * config/i386/freebsd.h, config/alpha/freebsd.h
17060 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
17061
5b8fcab6
DB
170622002-04-11 David O'Brien <obrien@FreeBSD.org>
17063
17064 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
17065 or set Acpu or Amachine. Reformat.
17066 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
17067 define.
17068 (LINK_SPEC): Do not need to undef.
17069 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
17070 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
17071 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
17072 define.
17073 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
17074 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
17075 (LINK_SPEC): Do not need to undef.
17076 (DONT_USE_BUILTIN_SETJMP): Do not define.
17077 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
17078 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
17079 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
17080 Remove trailing spaces.
17081 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
17082 __ELF__, or set Acpu or Amachine. Reformat.
17083 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
17084 define.
17085
fee42cc1
DB
170862002-04-11 David O'Brien <obrien@FreeBSD.org>
17087
17088 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
17089 all other *-*-freebsd* targets.
17090
77a403e4
RH
170912002-04-11 Richard Henderson <rth@redhat.com>
17092
17093 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
17094
cf0005c6
DB
170952002-04-11 David O'Brien <obrien@FreeBSD.org>
17096
17097 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
17098 Include {cpu}/{cpu}.h thru tm_file.
17099 (alpha*-*-linux*ecoff): Remove target.
17100 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
17101 (LINK_SPEC): Remove, is not OS independent.
17102 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
17103 (LINK_SPEC): Do not need to #undef any longer.
17104 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
17105 any longer.
17106 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
17107 __ELF__.
17108 (LINK_SPEC): Moved here from alpha/elf.h.
17109 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
17110 SUB_CPP_PREDEFINES.
17111 * config/alpha/linux-ecoff.h: Remove.
17112 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
17113 (CPP_SPEC): Define _POSIX_SOURCE as needed.
17114 (CPP_SUBTARGET_SPEC): Do not define.
17115 (LINK_SPEC): Do not need to #undef any longer.
17116 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
17117 * config/alpha/vms.h: Likewise.
17118
9be40833 171192002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
17120
17121 * doc/extend.texi: Remove old claim that typedefs cannot have
17122 an alignment attribute.
17123
010f87c4
JJ
171242002-04-11 Jakub Jelinek <jakub@redhat.com>
17125
17126 PR optimization/6177
17127 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
17128 bitpos is 0 and bitsize CONCAT size.
17129
578fc63d
JJ
171302002-04-11 Jakub Jelinek <jakub@redhat.com>
17131
17132 PR c/6223
17133 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
17134
bf9b85ce
DB
171352002-04-10 David O'Brien <obrien@FreeBSD.org>
17136
17137 * config/alpha/freebsd.h: Minor reformatting.
17138 (CPP_SPEC): Define ELF and add cpp_subtarget.
17139 (ASM_SPEC): No longer needed.
17140
7425707d
RH
171412002-04-11 Richard Henderson <rth@redhat.com>
17142
17143 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
17144 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
17145 (dimode mem/zero splitter): New.
17146
1a05e874
HPN
171472002-04-11 Hans-Peter Nilsson <hp@axis.com>
17148
17149 * config/cris/cris.c (cris_override_options): Tweak error message
17150 for PIC not implemented.
17151
17152 * config/cris/cris.h: Tweak comments related to parameter-passing.
17153
17154 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
17155
6f3d0447
RH
171562002-04-10 Richard Henderson <rth@redhat.com>
17157
17158 * except.c (add_ehl_entry): Allow duplicates after landing pad
17159 creation.
17160
174bf2b1
DE
171612002-04-10 David Edelsohn <edelsohn@gnu.org>
17162
17163 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
17164
03f10472
TM
171652002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
17166
17167 * c-decl.c (c_init_decl_processing): Move generation of
17168 decls for g77_integer_type_node and friends from here ...
17169 * c-common.c (c_common_nodes_and_builtins): ... to here.
17170
2f460a0a
UW
171712002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
17172
17173 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
17174 is only used as frame pointer when frame_pointer_needed is true.
17175
0be5cf85
RE
171762002-04-10 Richard Earnshaw <rearnsha@arm.com>
17177
17178 PR target/817
17179 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
17180 for the fact that the pool entry uses two words.
17181 (movdf_hard_insn): Similarly. Also, ADR instruction can span
17182 1k bytes.
17183 (movdf_soft_insn): Similarly.
17184 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
17185 for the fact that the pool entry uses three words.
17186
bf6d4777
RS
171872002-04-10 Richard Sandiford <rsandifo@redhat.com>
17188
17189 * config/mips/mips.c (mips_va_arg): When using the struct version
17190 of the EABI va_list, allow arguments in the register save area to
17191 take up less room than a stack argument.
17192
c2e9dc85
RH
171932002-04-10 Richard Henderson <rth@redhat.com>
17194
17195 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
17196 if EXPAND_INITIALIZER.
17197
bc8e8e97
RH
171982002-04-09 Richard Henderson <rth@redhat.com>
17199
17200 * config/alpha/alpha.md (movdi_er_maybe_g): New.
17201 * config/alpha/alpha.c (alpha_expand_mov): Use it.
17202
a6a063b8
AM
172032002-04-10 Alan Modra <amodra@bigpond.net.au>
17204
17205 PR optimization/6233
17206 * rtlanal.c (pure_call_p): New function.
17207 * rtl.h (pure_call_p): Declare.
17208 * loop.c (prescan_loop): Use it to set has_nonconst_call.
17209 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
17210
7b2e1077
EC
172112002-04-09 Eric Christopher <echristo@redhat.com>
17212
17213 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
17214 information to .comm directive.
17215
d8a50944
RH
172162002-04-09 Richard Henderson <rth@redhat.com>
17217
17218 PR c/5078
17219 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
17220
6a58eee9
RH
172212002-04-09 Richard Henderson <rth@redhat.com>
17222
17223 * basic-block.h (flow_delete_block_noexpunge): Declare.
17224 (expunge_block_nocompact): Declare.
17225 * cfg.c (expunge_block_nocompact): Split out from ...
17226 (expunge_block): ... here.
17227 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
17228 (flow_delete_block_noexpunge): Split out from ...
17229 (flow_delete_block): ... here.
17230 * cfgcleanup.c (delete_unreachable_blocks): Compact while
17231 removing dead blocks.
17232 * except.c (exception_handler_labels): Remove.
17233 (exception_handler_label_map): New.
17234 (struct eh_region): Add aka member.
17235 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
17236 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
17237 (for_each_eh_label, for_each_eh_label_1): New.
17238 (init_eh): Register exception_handler_label_map.
17239 (free_eh_status): Use free_region.
17240 (find_exception_handler_labels): Use the map, not the list.
17241 (remove_exception_handler_label): Likewise.
17242 (maybe_remove_eh_handler): Likewise.
17243 (remove_eh_handler): Use the region aka bitmap.
17244 * except.h (exception_handler_labels): Remove.
17245 (for_each_eh_label): Declare.
17246 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
17247 * loop.c (invalidate_loops_containing_label): New.
17248 (find_and_verify_loops): Use it. Use for_each_eh_label.
17249 * sched-rgn.c (is_cfg_nonregular): Use
17250 current_function_has_exception_handlers.
17251
b47374fa
RH
172522002-04-09 Richard Henderson <rth@redhat.com>
17253
17254 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
17255 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
17256 Do not return changed status.
17257 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
17258 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
17259 New functions that do return changed status.
17260 * sbitmap.h: Update decls.
17261 * gcse.c, lcm.c: Use _cg functions as needed.
17262
1951818c
R
17263Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
17264
17265 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
17266 (sh64-*-elf*, sh-*-rtemself*): Likewise.
17267 * config/sh/embed_bb.c: New file.
17268 * config/sh/embed-elf.h: New file.
17269 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
17270 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
17271 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
17272 __PTRDIFF_TYPE__ .
17273 (SUBTARGET_CPP_PTR_SPEC): Don't define.
17274 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
17275 Add subtarget_asm_endian_spec.
17276 (ASM_SPEC): Use subtarget_asm_endian_spec.
17277 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
17278 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
17279 (WCHAR_UNSIGNED): Define.
17280 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
17281 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17282 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
17283 Fix value.
17284 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
17285 (sh_adjust_cost): Likewise.
17286 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
17287 __PTRDIFF_TYPE__ .
17288 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
17289 (WCHAR_TYPE_SIZE): Likewise.
17290 (ASM_SPEC): Use subtarget_asm_endian_spec.
17291 (SH_ELF_WCHAR_TYPE): #undef/ #define.
17292 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
17293 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
17294 (MAX_WCHAR_TYPE_SIZE): Don't #define .
17295 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
17296 (USER_LABEL_PREFIX): Don't #undef /#define .
17297 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17298 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
17299 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
17300 (ASM_SPEC): Likewise.
17301 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
17302 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
17303 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
17304 (LIB2FUNCS_EXTRA): Define.
17305 * t-sh64 (LIB2FUNCS_EXTRA): Define.
17306 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
17307 (LIB1ASMFUNCS_CACHE): Define.
17308 (LIB2FUNCS_EXTRA): Redefine empty.
17309
34295799
RH
173102002-04-08 Richard Henderson <rth@redhat.com>
17311
17312 * reorg.c (get_branch_condition): Use reversed_comparison_code.
17313
e8766a39
SC
173142002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17315
17316 * config/m68hc11/larith.asm (__map_data_section): Fix condition
17317 and optimize for size.
17318 (__do_global_ctors): Fix pointer comparison.
17319 (__do_global_dtors): Likewise.
17320
f451b552
DM
173212002-04-09 David S. Miller <davem@redhat.com>
17322
17323 * config/sparc/sparc.c (sparc_extra_constraint_check): New
17324 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
17325 allow reloading pseudos.
17326 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
17327 * config/sparc/sparc-protos.h: Declare it.
17328
17329 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
17330 unsigned comparison warning.
17331 (output_restore_regs): Mark leaf_function as unused.
17332
1ce7f3c2
RK
17333Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17334
17335 * expr.c (is_aligning_offset): New function.
17336 (expand_expr, case COMPONENT_EXPR): Call it.
17337
7a31a340
DM
173382002-04-08 David S. Miller <davem@redhat.com>
17339
17340 PR target/6082
17341 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
17342
17343 Make init_priority work on Sparc when using GNU ld.
17344 * config/sparc/linux.h, config/sparc/linux64.h,
17345 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
17346 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
17347 * config/sparc/sol2-gld.h: New file to do the same.
17348 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
17349 sparc/sol2-gld.h to tm_file.
17350
17351 PR optimization/4328
17352 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
17353 * doc/md.texi: Document it.
17354 * config/sparc/sparc.md (movdi_insn_sp64_novis,
17355 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
17356 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
17357 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
17358 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
17359
11579f33
AJ
173602002-04-08 Andreas Jaeger <aj@suse.de>
17361
17362 * stmt.c (expand_asm_operands): Revert last patch from Richard
17363 Henderson.
17364
b57215d9
GP
173652002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17366
17367 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
17368 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
17369
173702002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17371
17372 * doc/contrib.texi (Contributors): Add David O'Brien.
17373
534d0cc0
AM
173742002-04-08 Alan Modra <amodra@bigpond.net.au>
17375
17376 * configure.in (auto-build.h): Use target_alias and build_alias
17377 when running configure.
17378 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
17379 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
17380 * configure: Regenerate.
17381
19fe522a
DM
173822002-04-07 David S. Miller <davem@redhat.com>
17383
17384 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
17385
bf2d0b8e
JDA
173862002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
17387
17388 PR 5933
17389 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
17390 generating 32-bit pic code.
17391
477cdac7
JT
173922002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
17393
17394 * cppinit.c (cpp_create_reader): Initialize
17395 discard_comments_in_macro_exp.
17396 (COMMAND_LINE_OPTIONS): Add "-CC" option.
17397 (cpp_handle_option): Handle "-CC" option.
17398 * cpplex.c (save_comment): If saving a C++ comment in
17399 a directive, convert it to a C comment.
17400 (_cpp_lex_direct): Pass second comment start character to
17401 save_comment to indicate comment type.
17402 * cpplib.c (_cpp_handle_directive): If processing
17403 a "#define" directive and discard_comments_in_macro_exp
17404 is false, re-enable saving of comments.
17405 (lex_macro_node): If discard_comments_in_macro_exp is false,
17406 discard any comments before the macro identifier.
17407 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
17408 member.
17409 * cppmacro.c (cpp_get_token): If expanding a macro while
17410 processing a directive, discard any comments we might encounter.
17411 (parse_params): If discard_comments_in_macro_exp is false,
17412 ignore comments in the macro parameter list.
17413 * gcc.c (cpp_unique_options): Add "-CC" option.
17414 (option_map): Map "--comments-in-macros" to "-CC".
17415 * doc/cppopts.texi: Document "-CC" option.
17416 * f/lang-specs.h: Add "-CC" option.
17417 * testsuite/gcc.dg/cpp/maccom1.c: New test.
17418 * testsuite/gcc.dg/cpp/maccom2.c: New test.
17419 * testsuite/gcc.dg/cpp/maccom3.c: New test.
17420 * testsuite/gcc.dg/cpp/maccom4.c: New test.
17421 * testsuite/gcc.dg/cpp/maccom5.c: New test.
17422 * testsuite/gcc.dg/cpp/maccom6.c: New test.
17423
f1526122
JDA
174242002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
17425
17426 PR middle-end/6180
17427 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
17428
b1896e61
MM
174292002-04-06 Mark Mitchell <mark@codesourcery.com>
17430
0154eaa8
MM
17431 PR c++/5571
17432 * stor-layout.c (layout_decl): Reset the RTL for the decl.
17433
b1896e61
MM
17434 PR opt/5120
17435 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
17436 RTX_UNCHANGING_P for the functions arguments when a tail call
17437 is made.
17438
b0148884
JM
174392002-04-06 Jason Merrill <jason@redhat.com>
17440
17441 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
17442 (parse_options_and_default_flags): Set them appropriately.
17443 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
17444
392fc5b0
HPN
174452002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
17446
17447 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
17448 here.
17449
17450 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
17451 semicolon.
17452
17453 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
17454 types come in by-reference. Fix typo in comment.
17455
2d69e3cb
DM
174562002-04-05 David S. Miller <davem@redhat.com>
17457
17458 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
17459 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
17460 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
17461 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
17462
174632002-04-05 David S. Miller <davem@redhat.com>
17464
17465 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
17466 are not going to emit return instructions, emit at least a nop
17467 for the sake of sane backtraces.
17468
5f9fb0e3
RH
174692002-04-05 Richard Henderson <rth@redhat.com>
17470
17471 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
17472
49f37a0d
JJ
174732002-04-05 Jakub Jeilnek <jakub@redhat.com>
17474
17475 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
17476
974a3101
AO
174772002-04-05 Alexandre Oliva <aoliva@redhat.com>
17478
17479 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
17480 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
17481 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
17482
2e04a694
AS
174832002-04-05 Andreas Schwab <schwab@suse.de>
17484
a40179bd 17485 * c-convert.c: Include c-common.h.
2e04a694
AS
17486 * Makefile.in (c-convert.o): Updated.
17487
1f785b7c
JJ
174882002-04-05 Jakub Jelinek <jakub@redhat.com>
17489
17490 * mklibgcc.in: Use separate libgcc.map for each multilib.
17491 * Makefile.in (distclean): Don't remove libgcc.map here.
17492
4d2fb38b
JJ
174932002-04-05 Jakub Jelinek <jakub@redhat.com>
17494
17495 * Makefile.in (s-mlib): Handle --disable-multilib by separate
17496 genmultilib invocation.
17497
bb63e5a0
RS
174982002-04-04 Richard Sandiford <rsandifo@redhat.com>
17499
17500 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
17501 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
17502 to num_gprs for symmetry.
17503 * config/mips/mips.c: Adjust accordingly.
17504
8ab80eaa
NB
175052002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
17506
17507 * c-common.c (truthvalue_conversion): Rename, update.
17508 * c-common.h (c_common_truthvalue_conversion): New.
17509 * c-convert.c (convert): Update.
17510 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
17511 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
17512 * c-typeck.c (build_binary_op, build_unary_op,
17513 build_conditional_expr): Update.
17514 * fold-const.c (constant_boolean_node, fold): Use langhook.
17515 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
17516 * langhooks.h (struct lang_hooks): New hook.
17517 * stmt.c (expand_decl_cleanup): Use langhook.
17518 * tree.h (truthvalue_conversion): Remove.
17519objc:
17520 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
17521
a2e9374a
AM
175222002-04-05 Alan Modra <amodra@bigpond.net.au>
17523
17524 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
17525 Add rules to make null object file.
17526
64d08263
JB
175272002-04-04 Jim Blandy <jimb@redhat.com>
17528
17529 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
17530 macro formal parameter names.
17531
aa7634dd
DM
175322002-04-04 David S. Miller <davem@redhat.com>
17533
17534 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
17535
ecc114f7
RH
175362002-04-04 Richard Henderson <rth@redhat.com>
17537
17538 PR middle-end/5099
17539 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
17540 Support copies into and out of memory. Don't accept allows_reg
17541 and allows_mem as gospel.
17542
c4484b8f
RH
175432002-04-04 Richard Henderson <rth@redhat.com>
17544
17545 PR opt/6165
17546 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
17547 (write_dependence_p): Likewise.
17548
39002160
RH
175492002-04-04 Richard Henderson <rth@redhat.com>
17550
17551 * predict.c (estimate_bb_frequencies): Do frequency calculation
17552 with a volatile temporary.
17553
f53ebe71
UW
175542002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
17555
17556 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
17557
15e0ecab
JJ
175582002-04-04 Jakub Jelinek <jakub@redhat.com>
17559
17560 PR c++/6119
17561 * final.c (final_start_function): Don't bump profile_label_no here...
17562 (final_end_function): ...but here.
17563
ffd386b0
JJ
175642002-04-04 Jakub Jelinek <jakub@redhat.com>
17565
17566 * config/sparc/sparc.md (pic): New attribute.
17567 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
17568 into stack slots.
17569 (split after do_builtin_setjmp_setup): New.
17570
8b156b3e
JJ
175712002-04-04 Jakub Jelinek <jakub@redhat.com>
17572
17573 PR fortran/6106
17574 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
17575 change.
17576
014c0998
JJ
175772002-04-04 Jakub Jelinek <jakub@redhat.com>
17578
17579 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
17580 UNITS_PER_WORD for zero sized aggregates.
17581
4d8611d9
DM
175822002-04-03 David S. Miller <davem@redhat.com>
17583
17584 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
17585 one-character spec for this, just use %(link_gcc_c_sequence).
17586
b03ad99d
DM
175872002-04-03 David S. Miller <davem@redhat.com>
17588
17589 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
17590 handling.
17591
823fbbce
JDA
175922002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
17593
17594 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
17595 (DWARF_FRAME_RETURN_COLUMN): Move.
17596 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
17597 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
17598 * pa.c (except.h, predict.h): Include.
17599 (FRP): Delete.
17600 (store_reg_modify, set_reg_plus_d): Revise prototypes.
17601 (output_ascii): Add cast.
17602 (store_reg_modify): Revise to add frame notes.
17603 (set_reg_plus_d): Likewise.
17604 (compute_frame_size): Include space for eh data registers in frame if
17605 the current function calls eh_return.
17606 (hppa_expand_prologue): Ensure register %r2 is saved if the current
17607 function calls eh_return. Save eh data registers if the current
17608 function calls eh_return. Fix code to add frame notes. Emit
17609 blockage to prevent insns with frame notes being scheduled in the
17610 delay slot of calls.
17611 (hppa_expand_epilogue): Restore eh data registers and do final stack
17612 adjustment if the current function calls eh_return. Don't add frame
17613 notes.
17614 (output_call): Revise for change in length of call insn. Don't do
17615 return pointer adjustment for an unconditional jump in the delay slot
17616 of a call when using frame notes.
17617 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
17618 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
17619 (ARG_POINTER_CFA_OFFSET): Define.
17620 * pa.md (return_external_pic): New pattern.
17621 (prologue): Correct formatting. Use return_external_pic if current
17622 function calls eh_return.
17623 (call_internal_symref, call_value_internal_symref,
17624 sibcall_internal_symref, sibcall_value_internal_symref): Change default
17625 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
17626 respectively.
17627 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
17628
17629 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
17630 list of targets to check using "nop" insn.
17631 * configure: Rebuilt.
17632
4078e224
AM
176332002-04-04 Alan Modra <amodra@bigpond.net.au>
17634
17635 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
17636
bbd7687d
DM
176372002-04-03 David S. Miller <davem@redhat.com>
17638
17639 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
17640 library sequence passed to the linker.
17641 (LINK_COMMAND_SPEC): Use it.
17642 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
17643 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
17644 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
17645
659e5a7a
JM
176462002-04-03 Jason Merrill <jason@redhat.com>
17647
17648 * except.c (struct eh_status): Remove protect_list.
17649 (begin_protect_partials, end_protect_partials): Remove.
17650 (add_partial_entry): Remove.
17651 * except.h: Remove prototypes.
17652
17653 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
17654 expand_decl_cleanup_eh.
17655
17656 PR c++/5636
17657 * tree.h (CLEANUP_EH_ONLY): New macro.
17658 * stmt.c (expand_decl_cleanup_eh): New fn.
17659 (expand_cleanups): Check CLEANUP_EH_ONLY.
17660 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
17661 Use expand_decl_cleanup_eh.
17662 (expand_stmt): Adjust.
17663 * c-common.h: Adjust prototype.
17664
053d3344
HPN
176652002-04-04 Hans-Peter Nilsson <hp@axis.com>
17666
17667 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
17668 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
17669 (cris_target_asm_function_epilogue): Ditto.
17670 (cris_initial_frame_pointer_offset): Ditto.
17671 (cris_simple_epilogue): Ditto.
17672 (cris_expand_builtin_va_arg): Variable-size types come in
17673 by-reference.
17674
61ab5260
DM
176752002-04-03 David S. Miller <davem@redhat.com>
17676
17677 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
17678 little-endian.
17679 (set_fast_math): Correct 'fsr' type.
17680
ef4f94ac
RH
176812002-04-03 Richard Henderson <rth@redhat.com>
17682
36c2272c 17683 PR opt/3569
ef4f94ac
RH
17684 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
17685 * toplev.c (check_global_declarations): Use it.
17686 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
17687 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17688 (LANG_HOOKS_DECLS): Add it.
17689 * langhooks.c (lhd_warn_unused_global_decl): New.
17690 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17691 * c-objc-common.c (c_warn_unused_global_decl): New.
17692 * c-tree.h (c_warn_unused_global_decl): Declare.
17693 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17694
599bba86
NB
176952002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
17696
17697 * langhooks-def.h (lhd_set_decl_assembler_name,
17698 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
17699 (LANG_HOOKS_INITIALIZER): Update.
17700 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
17701 * langhooks.h (struct lang_hooks): New hook.
17702 * tree.c (set_decl_assembler_name): Move to langhooks.c.
17703 (lang_set_decl_assembler_name): Remove.
17704 (init_obstacks): Don't set hook.
17705 (decl_assembler_name): New function.
17706 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
17707 (decl_assembler_name): New.
17708 (lang_set_decl_assembler_name): Remove.
17709
cf7b8b0d
JJ
177102002-04-03 Jakub Jelinek <jakub@redhat.com>
17711
17712 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
17713 works properly with .hidden symbols.
17714 * configure: Rebuilt.
17715 * config.in: Rebuilt.
17716 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
17717 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
17718 properly with .hidden symbols.
17719
faf6db38
JJ
177202002-04-03 Jakub Jelinek <jakub@redhat.com>
17721
17722 PR middle-end/6102
17723 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
17724 USE argument.
17725
68c17f30
RH
177262002-04-03 Richard Henderson <rth@redhat.com>
17727
17728 PR opt/4120
17729 * sched-rgn.c (sets_likely_spilled): New.
17730 (sets_likely_spilled_1): New.
17731 (add_branch_dependences): Use it.
17732
6584b4aa
RH
177332002-04-02 Richard Henderson <rth@redhat.com>
17734
17735 PR opt/4311
17736 * loop.h (LOOP_FIRST_PASS): New.
17737 * loop.c (strength_reduce): Mind it when deciding to unroll.
17738 * toplev.c (rest_of_compilation): Set it.
17739
0acf409f
DM
177402002-04-02 David S. Miller <davem@redhat.com>
17741
17742 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
17743 mems_ok_for_ldd_peep when the order of the loads being examined
17744 is reversed.
17745 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
17746 existing comment to increase comprehension of this situation.
17747
85654444
ZW
177482002-04-02 Zack Weinberg <zack@codesourcery.com>
17749
17750 * config/sh/sh.md: Don't use union real_extract.
17751
543828ca
RH
177522002-04-02 Richard Henderson <rth@redhat.com>
17753
17754 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
17755
39ed301b
DB
177562002-04-02 David O'Brien <obrien@FreeBSD.org>
17757
17758 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
17759 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
17760 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
17761 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
17762 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
17763 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
17764 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
17765 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
17766 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
17767 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
17768 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
17769 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
17770 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
17771 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
17772 Include as many configury headers via tm_file as possible. This
17773 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
17774 * config/openbsd-oldgas.h: New file.
17775 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
17776 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
17777 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
17778 config/i386/i386-coff.h, config/i386/i386-interix.h,
17779 config/i386/iscdbx.h, config/i386/linux-aout.h,
17780 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
17781 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
17782 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
17783 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
17784 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
17785 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
17786 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
17787 config/i386/vxi386.h: Do not directly include configury headers.
17788 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
17789 Directly include configury headers that are no longer automatically
17790 included by the above headers.
17791 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
17792 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
17793 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
17794 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
17795 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
17796 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
17797 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
17798 (TARGET_VERSION): Define.
17799 * config/i386/beos-elf.h, config/i386/freebsd.h,
17800 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
17801 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
17802 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
17803 config/i386/sco5.h, config/i386/sysv4.h
17804 (TARGET_VERSION): Do not need to protect.
17805 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
17806 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
17807 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
17808 config/i386/i386-interix.h, config/i386/linux-aout.h,
17809 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
17810 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
17811 (YES_UNDERSCORES): Do not define - not needed.
17812 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
17813 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
17814 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
17815 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
17816 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
17817 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
17818 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
17819 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
17820
9432c136
EB
178212002-04-02 Eric Botcazou <ebotcazou@multimania.com>
17822 Richard Henderson <rth@redhat.com>
17823
17824 PR c/5484
17825 * function.c (assign_temp): Accept either type or decl argument.
17826 Detect variables whose size is too large to fit into an integer.
17827 * stmt.c (expand_decl): Pass the decl, not the type.
17828
058b1275
DB
178292002-04-02 David O'Brien <obrien@FreeBSD.org>
17830
17831 * protoize.c: Match include directory usage with cppdefault.c.
17832
5add6d1a 178332002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 17834 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
17835
17836 * combine.c (simplify_comparison): Avoid narrowing a comparison
17837 with a paradoxical subreg when doing so would drop signficant bits.
17838
1e533e4b
SE
178392002-04-02 Steve Ellcey <sje@cup.hp.com>
17840
17841 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
17842 if POINTERS_EXTEND_UNSIGNED is defined.
17843
7a145e92
RH
178442002-04-02 Richard Henderson <rth@redhat.com>
17845
17846 PR opt/3967
17847 * local-alloc.c (contains_replace_regs): LO_SUM may contain
17848 replace regs.
17849
3a079822
RH
178502002-04-02 Richard Henderson <rth@redhat.com>
17851
17852 * doc/standards.texi: Document required freestanding libc entry points.
17853
c94ccb87
AM
178542002-04-02 Alan Modra <amodra@bigpond.net.au>
17855
17856 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
17857 associated splitter. Remove MQ constraint.
17858 (ctrdi_internal4): Correct CCmode clobber.
17859
fe660a1a
JDA
178602002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
17861
17862 * milli64.S ($$dyncall): New function.
17863 * t-linux (LIB1ASMFUNCS): Revise module list.
17864 (LIB1ASMSRC): Use pa/milli64.S.
17865
eadc0202
RH
178662002-04-02 Richard Henderson <rth@redhat.com>
17867
17868 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
17869 rename solaris_sys_varargs_h.
17870
a1471322
RK
17871Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17872
17873 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
17874 the same mode as its component.
17875
c8b94768
RH
178762002-04-02 Richard Henderson <rth@redhat.com>
17877
17878 PR opt/190
17879 * final.c (this_is_asm_operands): Export.
17880 * output.h (this_is_asm_operands): Declare.
17881 * config/i386/i386.c (print_operand): Error odd asm operands.
17882
161eb4fc
RH
178832002-04-02 Richard Henderson <rth@redhat.com>
17884
17885 PR opt/420
17886 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
17887
b88a94c6
RH
178882002-04-01 Richard Henderson <rth@redhat.com>
17889
17890 PR target/1538
17891 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
17892 * fixinc/fixincl.x: Rebuild.
17893
72e32876
RH
178942002-04-01 Richard Henderson <rth@redhat.com>
17895
17896 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
17897 (atomic_alloc, atomic_free): New.
17898 (SIZE, MASK_FOR, PTR_IN): New.
17899 (emergency_reg_state, emergency_reg_state_free): New.
17900 (emergency_labeled_state, emergency_labeled_state_free): New.
17901 (reg_state_alloced, labeled_state_alloced): New.
17902 (alloc_reg_state, free_reg_state): New.
17903 (alloc_label_state, free_label_state, free_label_states): New.
17904 (push, pop, dup_state_stack, free_state_stack): Use them.
17905 (desc_label_state): Likewise.
17906 (uw_frame_state_for): Free label states and state stack.
17907 (uw_update_reg_address): Eliminate warnings.
17908
84d76074
VM
179092002-04-01 Vladimir Makarov <vmakarov@redhat.com>
17910
17911 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 17912 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 17913
dffd7eb6
NB
179142002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17915
17916 * c-decl.c (grokdeclarator): Update.
17917 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
17918 * c-tree.h (c_mark_addressable): New.
17919 * c-typeck.c (default_function_array_conversion, build_unary_op,
17920 build_array_ref, convert_for_assignment): Update.
17921 (mark_addressable): Rename.
17922 * calls.c (try_to_integrate, expand_call): Use langhook.
17923 * expr.c (expand_expr): Use langhook.
17924 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
17925 * langhooks.h (struct lang_hooks): New hook.
17926 * stmt.c (expand_asm_operands): Use langhook.
17927 * tree.h (mark_addressable): Remove.
17928objc:
17929 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
17930
544ef5b5
BW
179312002-04-01 Bob Wilson <bob.wilson@acm.org>
17932
9be40833
RH
17933 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
17934 in previous change.
544ef5b5 17935
bcf88f9b
BW
179362002-04-01 Bob Wilson <bob.wilson@acm.org>
17937
17938 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
17939 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
17940
ceef8ce4
NB
179412002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17942
17943 * c-common.c (unsigned_conversion_warning, convert_and_check,
17944 unsigned_type, signed_type, shorten_compare,
17945 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
17946 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
17947 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
17948 New.
17949 * c-decl.c (grokdeclarator): Update.
17950 * c-format.c (check_format_types): Update.
17951 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
17952 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
17953 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
17954 * convert.c (convert_to_integer): Use new hooks.
17955 * expmed.c (make_tree): Use new hooks.
17956 * expr.c (store_expr): Use new hooks.
17957 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
17958 all_ones_mask_p, unextend, fold): Use new hooks.
17959 * langhooks.h (struct lang_hooks_for_types): New hooks.
17960 * tree.h (signed_or_unsigned_type, signed_type,
17961 unsigned_type): Remove.
17962objc:
17963 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
17964 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
17965
1d9ad0e0
RH
179662002-03-31 Richard Henderson <rth@redhat.com>
17967
17968 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
17969 (desc_frgr_mem): Fix reference to f16-f31.
17970
d544bc39
KG
179712002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17972
17973 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
17974 RTVEC_ELT): Const-ify.
d8750784
KG
17975 * varray.h (VARRAY_CHECK): Const-ify.
17976 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
17977 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 17978
b18101c7
NB
179792002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17980
17981 * diagnostic.c: Include langhooks-def.h.
17982 * Makefile.in (diagnostic.o): Update.
17983
48a7a235
NB
179842002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
17985
17986 * c-common.c (c_unsafe_for_reeval): Rename.
17987 * c-common.h (c_unsafe_for_reeval): Rename.
17988 * c-decl.c (finish_incomplete_decl): Rename.
17989 (c_init_decl_processing): Don't set langhook.
17990 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
17991 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
17992 * c-objc-common.c (c_objc_common_init): Don't set langhook.
17993 * c-tree.h (finish_incomplete_decl): Rename.
17994 * langhooks-def.h (lhd_unsafe_for_reeval): New.
17995 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
17996 (LANG_HOOKS_INITIALIZER): Update.
17997 * langhooks.c (lhd_unsafe_For_reeval): New.
17998 * langhooks.h (struct langhooks): New hooks.
17999 * toplev.c (incomplete_decl_finalize_hook): Remove.
18000 (wrapup_global_declarations): Update.
18001 * tree.c (lang_unsafe_for_reeval): Remove.
18002 (unsafe_for_reeval): Update.
18003 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
18004 Remove.
18005objc:
18006 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
18007 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
18008
7cb32822
NB
180092002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
18010
18011 * diagnostic.c (print_error_function): Remove.
18012 (default_print_error_function): Rename.
18013 (report_error_function): Update.
18014 * diagnostic.h (print_error_function): Remove.
18015 (default_print_error_function): Remove.
18016 * langhooks-def.h (struct diagnostic_context): Predeclare.
18017 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
18018 (LANG_HOOKS_INITIALIZER): Update.
18019 * langhooks.h (struct diagnostic context): Predeclare.
18020 (struct lang_hooks): New hook.
18021
1db02437
FS
180222002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18023
18024 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
18025 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
18026 !flag_pic.
18027 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
18028 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
18029 of PIC_OFFSET_TABLE_REGNUM thruout.
18030 * config/rs6000/rs6000.md: Likewise.
18031 * config/rs6000/darwin.h: Likewise.
18032
3bf1e984
RK
18033Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18034
18035 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
18036 unsigned HOST_WIDE_INT, not unsigned int.
18037
0864c526
JJ
180382002-03-31 Jakub Jelinek <jakub@redhat.com>
18039
18040 PR middle-end/6096, middle-end/6098, middle-end/6099
18041 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
18042 CODE_LABELs.
18043 (fill_slots_from_thread): Likewise.
18044
105b2084
JJ
180452002-03-31 Jakub Jelinek <jakub@redhat.com>
18046
18047 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
18048 floating fields in float regs.
18049 (function_arg_record_value_2): Likewise.
18050
db08fddf
HPN
180512002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
18052
18053 * config/mmix/mmix.md (define_constants): Remove misleading
18054 FIXME. Add MMIX_fp_rO_OFFSET.
18055 ("nonlocal_goto_receiver"): Don't have stack-frame address of
18056 saved rO as part of the pattern. Remove FIXME.
18057 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
18058 here, at output-time.
18059
4f31cce8
JJ
180602002-03-31 Jakub Jelinek <jakub@redhat.com>
18061
18062 PR middle-end/6100
18063 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
18064 REG_BR_PRED.
18065 (output_v9branch): Likewise.
18066
ba2b7435
AO
180672002-03-31 Alexandre Oliva <aoliva@redhat.com>
18068
18069 * gcc.c: Revert previous patch for now.
18070 * config/i386/djgpp.h: Likewise.
18071
aa66aa5f 180722002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
18073
18074 * config/mmix/crti.asm (_init): Register _fini with atexit.
18075 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
18076
41ba8a20
RH
180772002-03-31 Richard Henderson <rth@redhat.com>
18078
18079 PR target/3997
18080 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
18081 (ASM_OUTPUT_DEF_FROM_DECLS): New.
18082
adc186ef
RH
180832002-03-31 Richard Henderson <rth@redhat.com>
18084
18085 * libgcc2.c (__bb_exit_func): Make static.
18086
9be40833 18087 * config/alpha/alpha.md (trap): New.
a7648399 18088
9602f5a0
RH
180892002-03-31 Richard Henderson <rth@redhat.com>
18090
18091 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
18092 promoted argument types; build trap.
18093 (expand_builtin_trap): New.
18094 (expand_builtin): Use it.
18095 * stmt.c (expand_nl_goto_receivers): Likewise.
18096 * expr.h (expand_builtin_trap): Declare.
18097 * libfuncs.h (LTI_abort, abort_libfunc): New.
18098 * optabs.c (init_optabs): Init abort_libfunc.
18099
1a0a7539
AO
181002002-03-31 Alexandre Oliva <aoliva@redhat.com>
18101
18102 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
18103 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 18104 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
18105 shared_name in the second copy.
18106 (init_spec): Test for duplicate
18107 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
18108
b5de1a27
DM
181092002-03-30 David S. Miller <davem@redhat.com>
18110
18111 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
18112 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
18113
78414d74 181142002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 18115 Richard Henderson <rth@redhat.com>
78414d74 18116
9be40833
RH
18117 * regmove.c (combine_stack_adjustments_for_block): Avoid
18118 emitting a stack adjustment of zero bytes. Let delete_insn
18119 update bb->head.
78414d74 18120
33074e5f
RH
181212002-03-30 Richard Henderson <rth@redhat.com>
18122
18123 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
18124 (sparc_emitting_epilogue): New.
18125 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
18126 * config/sparc/sparc-protos.h: Update.
18127 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
18128 (TARGET_SWITCHES): Update.
18129 * config/sparc/sparc.md (return): Remove.
18130 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
18131 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
18132 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
18133 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
18134 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
18135 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
18136 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
18137 Remove MASK_EPILOGUE.
18138 * doc/invoke.texi: Update.
18139
606cc056
DB
181402002-03-30 Daniel Berlin <dan@dberlin.org>
18141
18142 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
18143 CPP will start the file for us.
7b2e1077 18144
bdbe5b8d
RH
181452002-03-30 Richard Henderson <rth@redhat.com>
18146
18147 PR target/5446
18148 * config/ia64/ia64.c (group_barrier_needed_p): Special case
18149 prologue_allocate_stack.
18150 (ia64_single_set): Use insn codes for recognition of special
18151 cases, not rtl matching.
18152 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
18153
4ab95d82
JH
18154Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
18155
18156 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
18157
89a8b315
RH
181582002-03-30 Richard Henderson <rth@redhat.com>
18159
18160 PR target/6032
18161 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
18162 or -fomit-frame-pointer with profiling.
18163 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
18164 (FUNCTION_PROFILER): Do nothing.
18165 (PROFILE_HOOK): New.
18166 * config/sparc/sparc.c (sparc_override_options): Don't check
18167 code models for profiling.
18168 (sparc_function_profiler): Remove.
18169 (sparc_profile_hook): New.
18170 * config/sparc/sparc-protos.h: Update.
18171
30984c57
JJ
181722002-03-30 Jakub Jelinek <jakub@redhat.com>
18173
18174 PR optimization/6086
18175 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
18176 of SUBREG of volatile MEM or because the MEM was mode dependent,
18177 return CLOBBER instead of unmodified SUBREG.
18178
1540f9eb
JH
18179Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
18180
89a8b315
RH
18181 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
18182 when not optimizing.
1540f9eb
JH
18183
18184 * toplev.c (rest_of_compilation): Cann mark_constant_function
18185 only when optimizing.
18186
89a8b315
RH
18187 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
18188 are NULL.
1540f9eb
JH
18189
18190 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
18191 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
18192 (try_optimize_cfg): clear all AUX fields.
18193
18194 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
18195 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
18196 (ix86_address_cost): Be prepared for SUBREGed registers.
18197 (legitimate_address_p): Accept SUBREGed registers.
18198
70d95bac
RH
181992002-03-29 Richard Henderson <rth@redhat.com>
18200
18201 PR target/5672
18202 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
18203
d3294cd9
FS
182042002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18205
18206 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
18207 for aggregate and TFmode types.
18208
a106c875
HPN
182092002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
18210
18211 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
18212
7d7a5d6f
RH
182132002-03-29 Richard Henderson <rth@redhat.com>
18214
6e2d670b 18215 PR target/5886
7d7a5d6f
RH
18216 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
18217 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
18218
30c99a84
RH
182192002-03-29 Richard Henderson <rth@redhat.com>
18220
6e2d670b 18221 PR target/6041
30c99a84
RH
18222 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
18223 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
18224 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
18225 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
18226 conditional.
18227 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
18228
02a566dc
DJ
182292002-03-29 Dale Johannesen <dalej@apple.com>
18230
18231 * loop.c (combine_movables): Do allow combination of pseudos.
18232
bc3a44db
LR
182332002-03-29 Loren J. Rittle <ljrittle@acm.org>
18234
18235 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
18236 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
18237 No functional change except ...
18238 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
18239 * doc/install.texi (*-*-freebsd*): Document port configuration.
18240
b0c48229
NB
182412002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
18242
18243 * Makefile.in (convert.o, calls.o, expmed.o): Update.
18244 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
18245 Use new hooks.
18246 * builtin-types.def (BT_PTRMODE): Update.
18247 * c-common.c (type_for_size): Rename c_common_type_for_size.
18248 (type_for_mode): Similarly.
18249 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
18250 Use new hook.
18251 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
18252 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
18253 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
18254 Redefine.
18255 * c-typeck.c (common_type, comptypes, default_conversion):
18256 Use new hooks.
18257 * calls.c: Include langhooks.h.
18258 (emit_library_call_value_1): Use new hooks. Avoid redundant
18259 calls.
18260 * convert.c: Include langhooks.h
18261 (convert_to_pointer, convert_to_integer): Use new hooks.
18262 * except.c (init_eh): Similarly.
18263 * expmed.c: Include langhooks.h.
18264 (expand_mult_add): Use new hooks.
18265 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
18266 try_casesi): Similarly.
18267 * fold-const.c (optimize_bit_field_compare, make_range,
18268 decode_field_reference, fold_truthop, fold): Similarly.
18269 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
18270 put_var_into_stack): Similarly.
18271 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
18272 LANG_HOOKS_TYPE_FOR_SIZE): New.
18273 (LANG_HOOKS_TYPES_INITIALIZER): Update.
18274 * langhooks.h (lang_hooks_for_types): New hooks.
18275 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
18276 * tree.c (get_unwidened, get_narrower): Similarly.
18277 * tree.h (type_for_mode, type_for_size): Remove.
18278 * varasm.c (force_const_mem): Use new hooks.
18279 * utils2.c (nonbinary_modular_operation): Update.
18280objc:
18281 * objc-act.c (handle_impent): Update.
18282 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
18283 Redefine.
18284
e206a74f
SE
182852002-03-29 Steve Ellcey <sje@cup.hp.com>
18286
18287 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
18288 * config/ia64/ia64.c (basereg_operand): New.
18289 * config/ia64/ia64-protos.h (basereg_operand): Declare.
18290 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
18291
7d9b6378
HPN
182922002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
18293
18294 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
18295 unwind information when frame_pointer_needed.
18296 (mmix_assemble_integer): Tweak wording in comment.
18297
f1e639b1
NB
182982002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
18299
18300 * Makefile.in (except.o): Update.
18301 * except.c: Include langhooks.h.
18302 (init_eh): Use langhook.
18303 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
18304 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
18305 (LANG_HOOKS_INITIALIZER): Update.
18306 * langhooks.h (lang_hooks_for_types): New.
18307 (struct lang_hooks): Add it.
18308 * tree.c (make_lang_type_fn, make_lang_type): Remove.
18309 * tree.h (make_lang_type_fn, make_lang_type): Remove.
18310config:
18311 * alpha/alpha.c: Include langhooks.h.
18312 (alpha_build_va_list): Use langhook.
18313 * d30v/d30v.c: Include langhooks.h.
18314 (d30v_build_va_list): Use langhook.
18315 * i386/i386.c: Include langhooks.h.
18316 (ix86_build_va_list): Use langhook.
18317 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
18318 * s390/s390.c: Include langhooks.h.
18319 (s390_build_va_list): Use langhook.
18320 * stormy16/stormy16.c: Include langhooks.h.
18321 (stormy16_build_va_list): Use langhook.
18322
f17f9332
JJ
183232002-03-29 Jakub Jelinek <jakub@redhat.com>
18324
18325 PR c++/5964
18326 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
18327 attributes.
18328 (length): Compute variable length for branches/calls/jumps here.
18329 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
18330 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
18331 define branch_type attribute.
18332 (divsi3_sp32): Maximum length is 6 not 7.
18333 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
18334 call_address_untyped_struct_value_sp32,
18335 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
18336 * config/sparc/sparc.c (empty_delay_slot): New function.
18337 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
18338 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
18339
0a0440c9
JJ
183402002-03-29 Jakub Jelinek <jakub@redhat.com>
18341
18342 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
18343 nonzero_bits if not needed.
18344 (nonzero_bits) [XOR]: Likewise.
18345 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
18346 reg_last_set_mode and mode are both MODE_INT, but not equal.
18347 (record_value_for_reg): Compute reg_last_set_nonzero_bits
18348 in nonzero_bits_mode for MODE_INT modes.
18349
c9045f47
RH
183502002-03-28 Richard Henderson <rth@redhat.com>
18351
18352 PR target/5715
18353 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
18354 to GAS. Correct drift between alternatives.
18355
f8ed1958
RH
183562002-03-28 Richard Henderson <rth@redhat.com>
18357
18358 PR target/6087
18359 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
18360
54e20385
LR
183612002-03-28 Alexandre Oliva <aoliva@redhat.com>
18362
18363 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
18364 emulation to the linker.
18365
183662002-03-28 Loren J. Rittle <ljrittle@acm.org>
18367
18368 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
18369 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
18370
8bc52806
JL
18371Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
18372
18373 * combine.c (simplify_and_const_int): Make sure to apply mask
18374 when force_to_mode returns a constant integer. PR3311.
18375
279dccc5
JDA
183762002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
18377
18378 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
18379
62aaa62c
GP
183802002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18381
18382 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
18383 and Objective-C Dialect Options.
18384
b8de5050
RH
183852002-03-28 Richard Henderson <rth@redhat.com>
18386
18387 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
18388 comparison should be done vs !=0 not >0 return code. Tidy cases.
18389
619708cc
RH
183902002-03-28 Richard Henderson <rth@redhat.com>
18391
18392 * c-decl.c (finish_function): New arg can_defer_p. Pass it
18393 on to c_expand_body.
18394 * c-tree.h (finish_function): Update decl.
18395 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
18396
b1d874d7
JH
18397Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
18398
18399 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
18400
f5eb5fd0
JH
18401Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
18402
18403 * rtlanal.c: Include flags.h
18404 (may_trap_p): Do not mark FP operations if trapping
18405 if !flag_trapping_math
18406 * Makefile.in (rtlanal.o): Add dependency on flag.h
18407 * ifcvt.c (noce_operand_ok): Avoid the lameness.
18408
81b4c798
ZW
184092002-03-27 Zack Weinberg <zack@codesourcery.com>
18410
18411 * mips.md: Use dconst1, not 1.0, as first argument of
18412 REAL_VALUE_LDEXP. Don't use union real_extract.
18413
55a2ea2a
AM
184142002-03-28 Alan Modra <amodra@bigpond.net.au>
18415
18416 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
18417 rather than $target. Heed program_prefix and
18418 program_transform_name. Search for gas in cross-compiler case too.
18419 "test -x" rather than "test -f".
18420 (gcc_cv_ld): Likewise.
18421 (gcc_cv_nm): Heed program_prefix and program_transform_name.
18422 (gcc_cv_objdump): Likewise.
18423 * configure: Regenerate.
18424
7ffb4fd2
NB
184252002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18426
18427 * Makefile.in (attribs.o): Update.
18428 * attribs.c: Include langhooks.h.
18429 (decl_attributes): Use langhook.
18430 * c-decl.c (insert_default_attributes): Rename.
18431 * c-tree.h (c_insert_default_attributes): New.
18432 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
18433 (LANG_HOOKS_INITIALIZER): Update.
18434 * langhooks.h (struct lang_hooks): New hook.
18435 * tree.h (insert_default_attributes): Remove.
18436objc:
18437 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
18438
e4dbaed5
AS
184392002-03-27 Andreas Schwab <schwab@suse.de>
18440
18441 * config/i386/i386.c (classify_argument): Also check for
18442 QUAL_UNION_TYPE.
18443
18b467f1
RO
184442002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18445
18446 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
18447 any more.
18448
d337d653
JH
18449Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
18450
18451 * i960.md (ret): Set PC.
18452 (nonlocal_goto): Fix expander.
18453 * builtins.c (epxand_builin_longjmp): Check that we've emitted
18454 some jump or call.
18455
218aa620
JH
18456Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
18457
18458 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
18459 of libcall regions.
18460
e27a4eaf
ZD
18461Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
18462
18463 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
18464 assigning to BLOCK_FOR_INSN directly.
18465
8a12f34c
JH
18466Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
18467
18468 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
18469
c9d892a8
NB
184702002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18471
18472 * c-common.c (c_expand_expr): Fix prototype.
18473 * c-common.h (c_expand_expr): Always declare, update.
18474 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
18475 * c-objc-common.c (c_objc_common_init): No global hook.
18476 * expr.c (expand_expr): Use langhook.
18477 * expr.h (enum expand_modifier): Conditionally declare.
18478 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
18479 (LANG_HOOKS_INITIALIZER): Update.
18480 * langhooks.c (lhd_expand_expr): New.
18481 * langhooks.h (struct lang_hooks): New hook.
18482 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
18483 (lang_independent_init): Don't default hook.
18484objc:
18485 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
18486
6dad5a56
RH
184872002-03-27 Richard Henderson <rth@redhat.com>
18488
18489 PR target/6054
18490 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
18491 TARGET_CONST_GP. Simplify conditions.
18492
59f96879
RH
184932002-03-27 Richard Henderson <rth@redhat.com>
18494
18495 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
18496 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
18497 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
18498
f3f1190d
DS
184992002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
18500
18501 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
18502 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
18503 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
18504 Remove unnecessary masks.
18505 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
18506 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
18507 -mwindows, -mdll switches and their negations.
18508
31c816cf
NB
185092002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18510
18511 * gcc-common.c (lang_mark_false_label_stack): Remove.
18512 * ggc.h (lang_mark_false_label_stack): Similarly.
18513
7b2e1077 185142002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
18515
18516 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
18517
18518 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
18519 or __rtems_ is defined.
18520
1ef9531b
RH
185212002-03-26 Richard Henderson <rth@redhat.com>
18522
18523 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
18524 if a non-trivial load was emitted.
18525 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
18526 in high+extra+low case.
18527
300d4093
RH
185282002-03-26 Richard Henderson <rth@redhat.com>
18529
18530 * config.gcc (sparc*-solaris): Use float_format=sparc.
18531
b3689904
RH
185322002-03-26 Richard Henderson <rth@redhat.com>
18533
18534 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
18535 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
18536 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
18537 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
18538 (WINT_TYPE_SIZE): Fix at 32.
18539
1eefb6c1
RH
185402002-03-26 Richard Henderson <rth@redhat.com>
18541
18542 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
18543 until after eh landing pad generation.
18544 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
18545 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
18546
361ea006
RH
185472002-03-26 Richard Henderson <rth@redhat.com>
18548
18549 * expr.h (ADD_PARM_SIZE): One more convert for INC.
18550
1de38a88
PE
185512002-03-26 Phil Edwards <pme@gcc.gnu.org>
18552
18553 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
18554 and warning switches.
18555 (cc1_options): Likewise.
18556
d7e60e95 185572002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 18558
d7e60e95
HB
18559 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
18560 Restore more of the signal context. Set no_reg_stack_frame.
18561 * config/ia64/unwind-ia64.c (unw_state_record):
18562 Add no_reg_stack_frame, comments.
18563 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
18564 (uw_update_context): Adjust bsp when unwinding from leaf,
18565 but not signal frame.
18566
7032923b
DE
185672002-03-26 David Edelsohn <edelsohn@gnu.org>
18568
18569 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
18570
8be56275
BW
185712002-03-26 Bob Wilson <bob.wilson@acm.org>
18572
18573 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
18574
56fbb855
RE
185752002-03-26 Richard Earnshaw <rearnsha@arm.com>
18576
18577 PR target/5621
18578 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
18579 "Add a pool_range attribute", which was lost during the ARM/Thumb
18580 merge.
18581
3437320b
BW
185822002-03-26 Bob Wilson <bob.wilson@acm.org>
18583
18584 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
18585 a register into the MAC16 accumulator.
18586
173028e5
AC
185872002-03-26 Andrew Cagney <ac131313@redhat.com>
18588
18589 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
18590 (Warning Options): Document -Wswitch-enum.
18591 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
18592 -Wswitch.
18593 (warn_switch_enum): Define variables.
18594 * flags.h (warn_switch_enum): Declare variables.
18595 * stmt.c (expand_end_case_type): When warn_switch_enum /
18596 -Wswitch-enum, perform switch checks.
18597 Fix PR c/5044.
7b2e1077 18598
e14365a7
RE
185992002-03-26 Richard Earnshaw <rearnsha@arm.com>
18600
18601 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
18602 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
18603 (reload_muladdsi_compare0_scratch): Delete.
18604
46fc709d
LR
186052002-03-26 Loren J. Rittle <ljrittle@acm.org>
18606
18607 * doc/install.texi (*-*-freebsd*): Update.
18608
f36dea3c
RH
186092002-03-26 Richard Henderson <rth@redhat.com>
18610
8e5fe23f
RH
18611 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
18612 (SUB_PARM_SIZE): Cast DEC to ssizetype.
18613
18614 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
18615 types from the normal argument frame.
18616
f36dea3c
RH
18617 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
18618 variable sized objects by reference.
18619 (sparc_va_arg): Receive them by reference too.
18620
1447dc69
HP
186212002-03-26 Hartmut Penner <hpenner@de.ibm.com>
18622
18623 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 18624 code to not restoring global registers.
1447dc69 18625
4f0ade92
NB
186262002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
18627
18628 * Makefile.in (ggc-common.o): Update.
18629 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
18630 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
18631 * c-tree.h (c_mark_tree): New.
18632 * ggc-common.c: Include langhooks.h.
18633 (gcc_mark_trees): Use new langhook.
18634 * ggc-callbacks.c: Delete file.
18635 * ggc.h (lang_mark_tree): Remove.
18636 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
18637 (LANG_HOOKS_INITIALIZER): Update.
18638 * langhooks.h (struct lang_hooks): New hook.
18639objc:
18640 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
18641
caba570b
ZW
186422002-03-25 Zack Weinberg <zack@codesourcery.com>
18643
18644 * doc/cpp.texi: Exclude entire Top node from printed manual.
18645 Move option index after directive index. Insert page breaks
18646 before GFDL and concept index. Index environment variables
18647 with command line options.
18648 * doc/cppenv.texi: Use @vtable for environment variable list.
18649 Add paragraph explaining semantics of empty elements in path
18650 variables. Exclude a cross-reference to Fishkill from the
18651 manpage. Remove an unnecessary cross-reference of the entry
18652 right above the referer. Don't use @anchor in text that goes
18653 into manpage.
18654 * doc/cppopts.texi: Cross-reference the environment variables
18655 section, not the specific environment variable, for consistency.
18656
6b2e80b7
RH
186572002-03-25 Richard Henderson <rth@redhat.com>
18658
18659 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
18660 anywhere in the block. Don't refer to insns that have been
18661 removed from the chain. Iterate backward through the new insns.
18662 Don't refer to edges that have been removed.
18663
67e469d7
AM
186642002-03-26 Alan Modra <amodra@bigpond.net.au>
18665
18666 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
18667 test for overflow of constant.
18668
f2356393
RE
186692002-03-25 Richard Earnshaw <rearnsha@arm.com>
18670
18671 PR target/2623
18672 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
18673 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
18674 these patterns on arm_archv4.
18675
355426ab
DS
186762002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
18677
18678 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
18679 int".
18680
15e5ad76
ZW
186812002-03-25 Zack Weinberg <zack@codesourcery.com>
18682
18683 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
18684 float_handled, float_handler, float_signal, set_float_handler,
18685 and do_float_handler. Set handler for SIGFPE to crash_signal.
18686 * toplev.h: Don't prototype do_float_handler.
18687
18688 * c-lex.c: Fold parse_float into lex_number. Make warning
18689 about portability of hex float constants more informative, and
18690 don't issue it on top of a syntax error.
18691 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
18692 their callers.
18693 * real.h: Define REAL_VALUE_ABS here...
18694 * simplify-rtx.c: ... not here. Fold check_fold_consts,
18695 simplify_unary_real, simplify_binary_real, and
18696 simplify_binary_is2orm1 into their callers.
18697 * tree.c: Fold build_real_from_int_cst_1 into caller.
18698
18699 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
18700
18701 * tsystem.h: Include float.h here...
18702 * libgcc2.c: ... not here.
18703
56ae9405
NC
187042002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
18705
18706 Fixes for: PR bootstrap/3591, target/5676
18707 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
18708 defined. Do not disable exceptions or rtti.
18709 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
18710 mcore.h. Disable exceptions and rtti, since they are not
18711 supported by EPOC.
18712
c88770e9
NB
187132002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
18714
18715 * c-decl.c (maybe_build_cleanup): Remove.
18716 * expr.c (expand_expr): Use langhook.
18717 * langhooks-def.h (lhd_return_null_tree,
18718 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
18719 (LANGHOOKS_INITIALIZER): Update.
18720 * langhooks.c (lhd_return_null_tree): New.
18721 * langhooks.h (struct lang_hooks): New hook.
18722 * tree-inline.c (initialize_inlined_parameters): Use langhook.
18723 * tree.h (maybe_build_cleanup): Remove.
18724
2ed1f154
JJ
187252002-03-25 Jakub Jelinek <jakub@redhat.com>
18726
18727 * regrename.c (build_def_use): Move recog_memoized
18728 before extract_insn.
18729
6ddae612
JJ
187302002-03-25 Jakub Jelinek <jakub@redhat.com>
18731
18732 PR target/6043
18733 * expr.c (emit_group_store): Handle storing into CONCAT.
18734
ea475b23
JJ
187352002-03-25 Jakub Jelinek <jakub@redhat.com>
18736
18737 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
18738 corresponding MATCH_DUP.
18739
e7d482b9
RH
187402002-03-24 Richard Henderson <rth@redhat.com>
18741
cd39fc13
RH
18742 * unroll.c (unroll_loop): Zero label_map.
18743
e7d482b9
RH
18744 * gcse.c: Include except.h.
18745 * Makefile.in (gcse.o): Update.
18746
1bd6476f
RH
187472002-03-24 Richard Henderson <rth@redhat.com>
18748
18749 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
18750 Do resolve_unique_section before shared data clause.
18751
2e6c150a
RH
187522002-03-24 Richard Henderson <rth@redhat.com>
18753
18754 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
18755
b29afcf8
RH
187562002-03-24 Richard Henderson <rth@redhat.com>
18757
15e5ad76 18758 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
18759 generated in the middle of a block. Do global life update if
18760 zapped EH edges.
18761
05ed1296
RH
187622002-03-24 Richard Henderson <rth@redhat.com>
18763
18764 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
18765
3ddbb8a9
NB
187662002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18767
18768 preprocessor/3951
15e5ad76 18769 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
18770 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
18771 (init_dependency_output): Don't make no_output decision here.
18772
740b77b6
AC
187732002-03-24 Andrew Cagney <ac131313@redhat.com>
18774
18775 * stmt.c (check_for_full_enumeration_handling): Remove tests of
18776 warn_switch. Update description.
18777 (expand_end_case_type): Call check_for_full_enumeration_handling
18778 when warn_switch.
18779
7590cfd0
SC
187802002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18781
18782 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
18783 (m68hc11_split_move): Call it to see if the source and destination
18784 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 18785 source an offsetable memory operand and generate an add.
7590cfd0 18786
2e3d3481
SC
187872002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18788
18789 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
18790 register for operand 2.
18791 ("*subsi3_zero_extendqi"): Likewise.
18792 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
18793 bits so that it is compatible with a pop.
18794 ("*andhi3_gen"): Likewise.
18795 ("xorhi3"): Likewise.
18796
2784528c
NB
187972002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18798
18799 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
18800 -pedantic here...
18801 (cpp_post_options): ... not here.
18802
aaf93206
NB
188032002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18804 Aldy Hernandez <aldyh@redhat.com>
18805
18806 Removal of separate preprocessor cpp0.
18807
18808 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
18809 cpp0, install-common): Update.
18810 * c-common.c (flag_preprocess_only): New.
18811 (c_common_init): Preprocess for -E.
18812 * c-common.h (flag_preprocess_only): New.
18813 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
18814 * c-objc-common.c (c_init_decl_processing): Exit quickly
18815 for NULL return from c_common_init.
18816 * cpplib.h (cpp_preprocess_file): New.
18817 * cppmain.c (main, general_init, pfile, progname): Remove.
18818 (do_preprocessing): Rename cpp_preprocess_file, don't call
18819 cpp_finish. Don't close stdout here.
18820 (setup_callbacks): Update prototype.
18821 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
18822 Update.
18823 * tradcpp.c (main): Ignore -quiet.
18824objc:
18825 * lang-specs.h (default_compilers): Preprocess with cc1obj.
18826
c6e6f5c1
RH
188272002-03-24 Richard Henderson <rth@redhat.com>
18828
18829 PR optimization/5742
18830 * machmode.def: Add inner mode field to complex modes.
18831 * config/mips/mips.c (mips_function_value): Always define. Add
18832 new argument to handle libcalls.
18833 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
18834 (FUNCTION_VALUE): Likewise.
18835 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
18836 * config/mips/mips-protos.h: Update.
18837
d88e57d1
RH
188382002-03-23 Richard Henderson <rth@redhat.com>
18839
18840 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
18841 * config/sparc/sparc-protos.h: Update.
18842 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
18843
6dfaf9ba
RH
188442002-03-23 Richard Henderson <rth@redhat.com>
18845
18846 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
18847 _start or _init begins the text segment.
18848
0c769cf8
DE
188492002-03-23 David Edelsohn <edelsohn@gnu.org>
18850
18851 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
18852 not HOST_WIDEST_INT.
18853 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
18854
64e92a26
RE
188552002-03-23 Richard Earnshaw <rearnsha@arm.com>
18856
18857 PR java/5489
18858 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
18859 operand argument to output_return_instruction.
15e5ad76 18860 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
18861 const_true_rtx then just return.
18862 (arm_print_operand, case 'D'): If the operand is const_true_rtx
18863 then abort.
18864
d6961341
AC
188652002-03-23 Andrew Cagney <ac131313@redhat.com>
18866
18867 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
18868 (Warning Options): Document -Wswitch-default.
18869 * toplev.c (W_options): Add -Wswitch-default. Update comment on
18870 -Wswitch.
18871 (warn_switch_default): Define variable.
18872 (warn_switch): Update comment.
18873 * flags.h (warn_switch_default): Declare variable.
18874 (warn_switch): Update comment.
18875 * stmt.c (expand_end_case): Check for and, when
18876 warn_switch_no_default, warn of a missing default case.
15e5ad76 18877
d4c5ac1f
AM
188782002-03-23 Alan Modra <amodra@bigpond.net.au>
18879
bbaa9790
AM
18880 * real.h (N): Special case 128 bit doubles.
18881
d4c5ac1f
AM
18882 * combine.c (simplify_comparison): When widening modes, ignore
18883 sign extension on CONST_INTs.
18884
84bf8c2c
BW
188852002-03-22 Bob Wilson <bob.wilson@acm.org>
18886
18887 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
18888 passed to adjust_address. Fix comment formatting.
18889
18890
b216cd4a
ZW
188912002-03-22 Zack Weinberg <zack@codesourcery.com>
18892
18893 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
18894 Always make REAL_VALUE_TYPE a struct containing an array of
18895 HOST_WIDE_INT, not a double. Tidy up the code deciding how
18896 big it is. Don't declare or use union real_extract.
18897
18898 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
18899 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
18900 (print_operand), config/arm/arm.c (output_move_double),
18901 config/arm/arm.md (consttable_4, consttable_8),
18902 config/romp/romp.c (output_fpops), config/s390/s390.h
18903 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
18904 (xtensa_output_literal): Don't use union real_extract.
18905
18906 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
18907 (sfmode_constant_to_ulong), config/ns32k/merlin.h
18908 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
18909 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
18910 (PRINT_OPERAND): Don't use local version of union
18911 real_extract.
18912
18913 * config/convex/convex.c (check_float_value), config/vax/vax.c
18914 (vax_float_literal), config/m88k/m88k.md (divdf3),
18915 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
18916 config/pdp11/pdp11.c (output_move_quad): Don't do host
18917 arithmetic on target floating point quantities.
18918
18919 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
18920 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
18921
18922 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
18923 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
18924
18925 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
18926 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
18927 INFINITY.
18928 * print-rtl.c (print_rtx): Disable code which needs
18929 floating-point emulator.
18930 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
18931 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
18932 depending on HOST_FLOAT_FORMAT to be defined properly.
18933
18934 * config/1750a/1750a.c (get_double, float_label): Delete.
18935 (print_operand): Delete huge commented-out chunk. Use
18936 REAL_VALUE_TO_DECIMAL.
18937 * config/1750a/1750a-protos.h: Delete prototypes of deleted
18938 functions.
18939 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
18940 IEEE_FLOAT_FORMAT.
18941 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
18942 Use REAL_VALUE_TO_DECIMAL as ELF version does.
18943 * config/m88k/m88k.c (real_power_of_2_operand,
18944 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
18945 real_extract out of the union; run the input through
18946 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
18947 from that into the union.
18948 * config/pdp11/pdp11.c (output_move_double): Rearrange
18949 parentheses to make automatic indenter happy.
18950
18951 * doc/tm.texi (Cross-compilation): Rename node to "Floating
18952 Point" and rewrite to describe current situation. Also adjust
18953 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
18954 match code.
18955 * doc/rtl.texi: Adjust cross reference.
18956
a8cacfd2
BW
189572002-03-22 Bob Wilson <bob.wilson@acm.org>
18958
18959 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
18960 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
18961 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
18962 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
18963 prevent use of sp as a reload register.
18964 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
18965 non_acc_reg_operand.
18966 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
18967 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
18968 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
18969 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
18970
d4e6133f
NB
189712002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
18972
b216cd4a
ZW
18973 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
18974 * cpplex.c (unterminated): Delete.
18975 (parse_string): No string literal may extend over multiple
18976 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
18977 * cppmain.c (scan_translation_unit): Strings are single-line.
18978
b216cd4a 18979 * doc/cpp.texi: Update to match.
d4e6133f 18980
65e6c005
JJ
189812002-03-22 Jakub Jelinek <jakub@redhat.com>
18982
18983 PR optimization/5854
18984 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
18985 Shut up warnings.
18986 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
18987 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
18988 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
18989 const0 if scratch register was not allocated.
18990 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
18991 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
18992 with GEN_INT (...).
18993 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
18994 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
18995 with GEN_INT (...) everywhere. Remove constraints in define_split
18996 patterns.
18997 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
18998 require scratch register for setting 0 into regs/non-pushable memory.
18999
7f48c9e1
AO
190002002-03-22 Alexandre Oliva <aoliva@redhat.com>
19001
19002 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
19003 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
19004
909de5da
PE
190052002-03-22 Phil Edwards <pme@gcc.gnu.org>
19006
19007 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
19008 * cppinit.c (cpp_create_reader): On by default.
19009 (cpp_handle_option): Handle -W[no-]endif-labels.
19010 (cpp_post_options): Also enable if -pedantic.
19011 * cpplib.c (do_else): Use it.
19012 (do_endif): Likewise.
19013 * doc/cppopts.texi: Document new option.
19014 * doc/invoke.texi: Document new option.
19015
d8bf17f9
LB
190162002-03-22 Lars Brinkhoff <lars@nocrew.org>
19017
19018 * config/i386/i386.c, config/i386/i386.md: Change all occurences
19019 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
19020
70e0ccd0
AO
190212002-03-22 Alexandre Oliva <aoliva@redhat.com>
19022
19023 * flow.c (calculate_global_regs_live): Clear aux fields of
19024 ENTRY and EXIT.
19025
68882f0f
JJ
190262002-03-22 Jakub Jelinek <jakub@redhat.com>
19027
19028 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
19029 REG or MEM subregs, pass rtx * instead of rtx to it.
19030 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
19031 rtx * instead of rtx to alter_subreg.
19032 * config/m32r/m32r.c (gen_split_move_double): Likewise.
19033 * config/pj/pj.c (pj_output_rval): Likewise.
19034
648fe28b
RH
190352002-03-22 Richard Henderson <rth@redhat.com>
19036
19037 PR target/3177
19038 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
19039 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
19040 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
19041 (ia64_expand_prologue): Look at int_regs, not words, for number
19042 of incomming int regs.
19043
e8dcd824
AM
190442002-03-22 Andrew MacLeod <amacleod@redhat.com>
19045
19046 * expr.c (expand_expr): A RESULT_DECL is part of a call.
19047
96327cdc
JH
19048Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
19049
19050 * toplev.c (flag_loop_optimize, flag_crossjumping):
19051 New static variables.
19052 (rest_of_compilation): Conditionalize crossjumping and
19053 loop optimizer.
19054 (parse_options_and_default_flags): Default loop_optimize and
19055 crossjumping.
19056 (lang_independent_options): Add -fcrossjumping and -floop-optimize
19057 * invoke.texi (crossjumping, loop-optimize): Document.
19058
bc185257
RS
190592002-03-22 Richard Sandiford <rsandifo@redhat.com>
19060
19061 * real.c (eiisneg): Move outside #ifdef NANS.
19062
0a2ed1f1
JH
19063Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
19064
19065 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
19066 frequencies match; avoid match on different loop depths.
19067 (try_crossjump_to_bb): Kill tests that no longer brings time
19068 savings.
19069 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
19070 updating code.
19071 (split_edge): Likewise.
19072
19073 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
19074 variable.
19075
19076 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
19077 * cfgrtl.c: Include insn-config.h
19078 (split_block) Dirtify block in presence of conditional execution
19079
4d72536e
RS
190802002-03-22 Richard Sandiford <rsandifo@redhat.com>
19081
19082 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
19083 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
19084 (function_arg): Constify CUMULATIVE_ARGS.
19085 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
19086 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
19087 (UNITS_PER_DOUBLE): New macro.
19088 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
19089 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
19090 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
19091 fp_regs and stack_words.
19092 (EABI_FLOAT_VARARGS_P): New macro.
19093 * config/mips/mips.c (struct mips_arg_info): New.
19094 (mips_arg_info): New function.
19095 (function_arg_advance): Use it. Add adjustment instructions here
19096 rather than in function_arg.
19097 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
19098 for VOIDmode at the beginning of the function.
19099 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
19100 (function_arg_pass_by_reference): Likewise.
19101 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
19102 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
19103 (mips_va_start): Likewise. Use the new stack_words field of
19104 CUMULATIVE_ARGS to set up overflow area. Reformat.
19105 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
19106 doubles and other types, aligning the overflow pointer for non-doubles
19107 too. Remove some code duplication. Replace hard-coded constants.
19108
e6f884cd
RS
191092002-03-22 Richard Sandiford <rsandifo@redhat.com>
19110
19111 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
19112 (CLASS_UNITS): Undefine.
19113 (CLASS_MAX_NREGS): Use FP_INC.
19114 * config/mips/mips.c (compute_frame_size): Likewise.
19115 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
19116
10cf9bde
NB
191172002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
19118
19119 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
19120 prototype, and handle lexing numbers and identifiers.
19121 (parse_identifier): Update to new form of parse_slow.
19122 (parse_number): Fast path only, use parse_slow otherwise.
19123 (_cpp_lex_direct): Update calls to parse_number.
19124
fbc2782e
DD
191252002-03-21 DJ Delorie <dj@redhat.com>
19126
19127 * bb-reorder.c (make_reorder_chain_1): Protect against
19128 when redundant edges are omitted.
19129 * predict.c (dump_prediction): Likewise.
19130
fba39eaf
RH
191312002-03-21 Richard Henderson <rth@redhat.com>
19132
19133 PR target/5996
19134 * fixinc/inclhack.def (solaris_stdio_tag): New.
19135 * fixinc/fixincl.x: Regenerate.
19136
eba80994
EB
191372002-03-21 Eric Botcazou <ebotcazou@multimania.com>
19138
19139 PR c/5597
19140 * c-typeck.c (process_init_element): Flag non-static
19141 initialization of a flexible array member as illegal.
19142
2a78758b
AM
191432002-03-22 Alan Modra <amodra@bigpond.net.au>
19144
19145 * config/rs6000/t-linux64: New.
19146 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
19147 t-ppccomm. Use t-rs6000 and t-linux64.
19148 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
19149 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
19150 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
19151 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 19152
2cb921f4
AH
191532002-03-21 Aldy Hernandez <aldyh@redhat.com>
19154
eba80994
EB
19155 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
19156 flag_really_no_inline instead of optimize == 0.
2cb921f4 19157
eba80994 19158 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 19159
eba80994 19160 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 19161
eba80994 19162 * flags.h (flag_really_no_inline): New.
2cb921f4 19163
659e5a7a 19164 * c-common.c (c_common_post_options): Initialize
eba80994 19165 flag_really_no_inline.
2cb921f4 19166
eba80994 19167 * toplev.c (flag_really_no_inline): New.
2cb921f4 19168
239b8b9d
JJ
191692002-03-21 Jakub Jelinek <jakub@redhat.com>
19170
19171 * config/avr/avr.md (length): Fix length computation for
19172 conditional branches.
19173
43577e6b
NB
191742002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
19175
19176 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
19177 sdbout.o, profile.o): Update.
19178 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
19179 langhook.
19180 * c-common.h (gettags): Move here from tree.h.
19181 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
19182 insert_block, getdecls, kept_level_p, global_bindings_p): New.
19183 * dbxout.c (dbxout_init): Use getdecls langhook.
19184 * expr.c (expand_expr): Use insert_block langhook.
19185 * fold-const.c: Include langhooks.h.
19186 (fold_range_test, fold_binary_op_with_conditional_arg,
19187 fold): Use global_bindings_p langhook.
19188 * integrate.c (expand_inline_function): Use insert_block langhook.
19189 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
19190 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
19191 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
19192 LANG_HOOKS_GETDECLS): New.
19193 (LANG_HOOKS_INITIALIZER): Update.
19194 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
19195 langhook.
19196 * langhooks.h (struct lang_hooks_for_decls): New.
19197 (struct lang_hooks): Update.
19198 * profile.c: Include langhooks.h.
19199 (output_func_start_profiler): Use new langhooks.
19200 * sdbout.c: Include langhooks.h.
19201 (sdbout_init, sdbout_finish): Use getdecls langhook.
19202 * stmt.c: Include langhooks.h.
19203 (expand_fixup, fixup_gotos): Use new langhooks.
19204 * stor-layout.c: Include langhooks.h.
19205 (variable_size): Use global_bindings_p langhook.
19206 * toplev.c (compile_file): Use getdecls langhook.
19207 * tree-inline.c (remap_block): Use insert_block langhook.
19208 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
19209 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
19210
5b19b10c
RH
192112002-03-21 Richard Henderson <rth@redhat.com>
19212
19213 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
19214 constants in .data when -fpic.
19215
e05af335
GP
192162002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19217
19218 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
19219 where appropriate.
19220
60ffc997
TT
192212002-03-21 Tom Tromey <tromey@redhat.com>
19222
19223 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
19224
75897075
RK
19225Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19226
a73afd69 19227 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 19228
75897075
RK
19229 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
19230
312687cf
EB
192312002-03-21 Eric Botcazou <ebotcazou@multimania.com>
19232 Richard Henderson <rth@redhat.com>
19233
19234 PR c/5354
19235 * c-common.c (c_expand_expr): Preserve result of a statement
19236 expression if needed.
19237
f0e1f482
JJ
192382002-03-21 Jakub Jelinek <jakub@redhat.com>
19239
19240 PR bootstrap/4195
19241 * genrecog.c (maybe_both_true_mode): Remove.
19242 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
19243 * machmode.def (Pmode): Likewise.
19244
c14b9960
JW
19245Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
19246
19247 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
19248 (nonlocal_mentioned_p_1): New function.
19249 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
19250 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
19251 (mark_constant_function): Recognize pure functions.
19252 * rtl.h (global_reg_mentioned_p): New prototype.
19253 * rtlanal.c (global_reg_mentioned_p,
19254 global_reg_mentioned_p_1): New function.
19255
aaa4d130
RO
192562002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19257
19258 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
19259 UNIX assert.h.
19260 * fixinc/fixincl.x: Regenerate.
19261
e5c4bd1b
JM
192622002-03-20 Jason Merrill <jason@redhat.com>
19263
19264 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
19265
852b81bb
MM
192662002-03-20 Michael Meissner <meissner@redhat.com>
19267
19268 * doc/invoke.texi (Optimize Options): Document that -O2 sets
19269 -fstrict-aliasing.
19270
86d8c251
BW
192712002-03-20 Bob Wilson <bob.wilson@acm.org>
19272
19273 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
19274 ".literal_position" directive before the constant pool.
19275
0a39c350
GP
192762002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19277
19278 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
19279 Add Craig Rodrigues.
19280 Add Brad Lucier to testers.
19281
71a83373
JJ
192822002-03-20 Jakub Jelinek <jakub@redhat.com>
19283
19284 PR target/4792
19285 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
19286 to if_then_else.
19287 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
19288 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
19289 instead of insn_extract.
19290
a29b099d
JJ
192912002-03-20 Jakub Jelinek <jakub@redhat.com>
19292
19293 PR bootstrap/4192
71a83373 19294 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
19295
19296 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
19297 stmt if some case has been output.
19298
048b1c95
JJ
192992002-03-20 Jakub Jelinek <jakub@redhat.com>
19300
19301 PR c/5972
19302 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
19303 movsfcc_1, movdfcc_1): Add %O2.
19304 * config/i386/i386.c (print_operand): Handle %ON.
19305 Print . before float condition codes in Sun as cmov syntax.
19306 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
19307 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
19308 no longer true.
19309
f4864588
PB
193102002-03-20 Philip Blundell <pb@nexus.co.uk>
19311
19312 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
19313 return instruction if PC was popped.
19314
3a307de4
BW
193152002-03-20 Bob Wilson <bob.wilson@acm.org>
19316
19317 * config/xtensa/xtensa.md: Remove unused type attributes.
19318 (adddi_carry, subddi_carry): Change type attribute to "multi".
19319
048b1c95 193202002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
19321
19322 PR optimization/5999, middle-end/5731
19323 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
19324 multiplications by reciprocals.
19325
7afff7cf
NB
193262002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
19327
19328 * Makefile.in: Update.
19329 * c-common.c: Include langhooks.h.
19330 (inline_forbidden_p): Use new hook.
19331 * diagnostic.c: Include langhooks.h.
19332 (format_with_decl, announce_function,
19333 default_print_error_function): Use new hook.
19334 * dwarf2out.c (dwarf2_name): Use new hook.
19335 * function.c: Include langhooks.h.
19336 (init_function_start): Use new hook.
19337 * langhooks-def.h (lhd_decl_printable_name): New.
19338 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
19339 (LANGHOOKS_INITIALIZER): Update.
19340 * langhooks.c (lhd_decl_printable_name): New.
19341 * langhooks.h (struct lang_hooks): New hook.
19342 * toplev.c (decl_name, decl_printable_name): Remove.
19343 (open_dump_file): Use new hook.
19344 (process_options): Remove old hook.
19345 * tree.h (decl_printable_name): Remove.
19346objc:
19347 * objc-act.c (objc_init): Remove old hook.
19348 (objc_printable_name): Export.
19349 * objc-act.h (objc_printable_name): New.
19350 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
19351
f78ce0b7
JB
193522002-03-19 Jim Blandy <jimb@redhat.com>
19353
19354 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
19355 the start_source_file debug hook, not the current line number.
19356
15b5aef3
RH
193572002-03-19 Richard Henderson <rth@redhat.com>
19358
19359 * flow.c (EH_USES): Provide default.
19360 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
19361 * doc/tm.texi (EH_USES): New.
19362
19363 * config/ia64/ia64.c (ia64_eh_uses): New.
19364 * config/ia64/ia64-protos.h: Update.
19365 * config/ia64/ia64.h (EH_USES): New.
19366
02a7a3fd
RH
193672002-03-19 Richard Henderson <rth@redhat.com>
19368
19369 * varasm.c (output_constant_def): Fix stupid typo.
19370
93f82d60
RH
193712002-03-19 Richard Henderson <rth@redhat.com>
19372
2842be05 19373 PR 5879
93f82d60
RH
19374 * except.c (current_function_has_exception_handlers): New.
19375 * except.h: Declare it.
19376 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
19377 Combine tests that disable all sibcalls for the function.
19378
ed4fbfa0
OH
193792002-03-19 Olivier Hainque <hainque@act-europe.fr>
19380
19381 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
19382 for INTEGER_CST.
19383
ebf0e888
RH
193842002-03-19 Richard Henderson <rth@redhat.com>
19385
1e82682b 19386 PR 5977, 5991
ebf0e888
RH
19387 * config/ia64/ia64.c: Revert 2002-03-01 patch.
19388 * config/ia64/ia64.h (INIT_EXPANDERS): New.
19389
e37b38d7
JB
193902002-03-19 Jim Blandy <jimb@redhat.com>
19391
19392 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
19393 name, even if the replacement list contains no tokens, as required
19394 by Dwarf.
19395
2a4ea326
JM
193962002-03-19 Jason Merrill <jason@redhat.com>
19397
f9d09ae5
JM
19398 * varasm.c (globalize_decl): Get the name from the RTL, not
19399 DECL_ASSEMBLER_NAME.
19400
2a4ea326
JM
19401 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
19402
99b96edb
BW
194032002-03-19 Bob Wilson <bob.wilson@acm.org>
19404
19405 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
19406 subdi_carry): Define.
19407
3774b567
DE
194082002-03-19 David Edelsohn <edelsohn@gnu.org>
19409
19410 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
19411 about -fpic/-fPIC if extra_warnings set.
19412
21ef78aa
DE
194132002-03-19 David Edelsohn <edelsohn@gnu.org>
19414
19415 * expr.c (expand_expr): Sign-extend CONST_INT generated from
19416 TREE_STRING_POINTER.
0c2fdcdf 19417 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 19418
91d4b3fd
RK
19419Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19420
19421 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
19422 in favor of SP if FRAME_POINTER_REQUIRED is false.
19423
2496c7bd
LB
194242002-03-19 Lars Brinkhoff <lars@nocrew.org>
19425
19426 * emit-rtl.c (gen_int_mode): New function.
19427 * rtl.h: Prototype for it.
19428 * combine.c (make_extraction, simplify_comparison), expmed.c
19429 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
19430 (convert_modes, store_field), optabs.c (expand_fix),
19431 simplify-rtx.c (neg_const_int, simplify_unary_real),
19432
19433 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
19434 Use it instead of GEN_INT (trunc_int_for_mode (...)).
19435
f735a153
JJ
194362002-03-19 Jakub Jelinek <jakub@redhat.com>
19437
19438 PR c/5656
19439 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
19440 convert_parm_for_inlining.
19441 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
19442 Define.
19443 * langhooks-def.h: Likewise.
19444 * objc/objc-lang.c: Likewise.
19445 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
19446 function.
19447 * tree-inline.c (initialize_inlined_parameters):
19448 Call convert_parm_for_inlining lang hook if needed.
19449 * c-typeck.c (c_convert_parm_for_inlining): New function.
19450 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
19451
1929c971
MM
194522002-03-18 Mark Mitchell <mark@codesourcery.com>
19453
b216cd4a 19454 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
19455 can be destroyed after expanding the argument.
19456 (expand_call): Likewise.
19457
c79ca0ac
EC
194582002-03-15 Eric Christopher <echristo@redhat.com>
19459
19460 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
19461 Fix register preference on last change.
19462 * config/mips/mips.c (mips_return_in_memory): New function.
19463 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
19464 * config/mips/mips-protos.h: Declare.
19465 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
19466 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
19467
07e2e444
AO
194682002-03-18 Alexandre Oliva <aoliva@redhat.com>
19469
1bfbbbcf
AO
19470 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
19471 a register too.
19472 (anddi3, iorsi3): Likewise.
19473
c066429e
AO
19474 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
19475 use %gprel for symbols that are going to be placed in linkonce
19476 sections.
19477
07e2e444
AO
19478 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
19479 RETURN_ADDRESS_POINTER_REGNUM to $ra.
19480 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
19481 not needed. Disregard leaf_function_p().
19482 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
19483 mips16 frame pointer.
19484 * config/mips/mips.md (store ra): Only to small SP offsets.
19485 2001-08-22 Graham Stott <grahams@redhat.com>
19486 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
19487 return a REG rtx for the return address register.
19488
eb8e00ea
BW
194892002-03-18 Bob Wilson <bob.wilson@acm.org>
19490
19491 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
19492 constant-pool addresses as "mode-dependent".
19493 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
19494
cbb92744
JJ
194952002-03-18 Jakub Jelinek <jakub@redhat.com>
19496
19497 PR target/5740
19498 * expr.c (emit_group_load): Use extract_bit_field if
19499 needed for CONCAT arguments.
19500
657d9449
RE
195012002-03-18 Richard Earnshaw <rearnsha@arm.com>
19502
91f3a802 19503 PR target/4863
657d9449
RE
19504 * arm.md (tablejump): Make this a define_expand. For PIC add the
19505 offset to the base of the table.
19506 (thumb_tablejump): Matcher for Thumb tablejump insn.
19507 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
19508 as the difference of two labels.
19509 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
19510 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
19511 tables in the code.
19512 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
19513 * arm.c (get_jump_table_size): If the table is not in the text
19514 section, return zero.
c79ca0ac 19515
5d5603e2
BS
195162002-03-18 Bernd Schmidt <bernds@redhat.com>
19517
19518 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
19519 of gen_rtx_SUBREG.
19520 (arm_reload_out_hi): Use gen_lowpart instead of
19521 gen_rtx_SUBREG to access QImode components.
19522 * config/arm/arm.md: Disable zero_extend split for QImode
19523 subregs in BIG_ENDIAN mode.
19524 (storehi_bigend): Match use of least significant byte.
19525 (storeinthi): Remove extraneous SUBREG.
66c17b64 19526 Add missing construction of operands[2].
5d5603e2
BS
19527 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
19528 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
19529 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
19530
df15fbc7
AH
195312002-03-18 Aldy Hernandez <aldyh@redhat.com>
19532
2496c7bd
LB
19533 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
19534 any_operand.
df15fbc7 19535
b83b7fa3
RH
195362002-03-17 Richard Henderson <rth@redhat.com>
19537
19538 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
19539 explicitly.
19540
6f7c00fe
HPN
195412002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
19542
19543 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
19544 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
19545
155038f2
KG
195462002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19547
720d42fa
KG
19548 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
19549
155038f2
KG
19550 * predict.c (estimate_bb_frequencies): Delete unused variables.
19551
e6542f4e
RH
195522002-03-17 Richard Henderson <rth@redhat.com>
19553
19554 * config/ia64/ia64.c (ia64_attribute_table): Move before
19555 targetm definition. Make static.
19556
52dabb6c
NB
195572002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
19558
19559 * c-common.h (yyparse, c_common_parse_file): New.
19560 * c-lang.c: Include c-common.h.
19561 (LANG_HOOKS_PARSE_FILE): Redefine.
19562 * c-lex.c: Include c-common.h.
19563 (yyparse): Rename c_common_parse_file. Call yyparse.
19564 * c-parse.in (yyparse): Remove macro.
19565 * c-tree.h (yyparse_1): Remove.
19566 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
19567 (LANG_HOOKS_INITIALIZER): Update.
19568 * langhooks.h (struct lang_hoooks): New hook parse_file.
19569 * toplev.c (compile_file): Use parse_file hook.
19570 * tree.h (yyparse): Remove.
e6542f4e 19571 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 19572
b5ffe606
HPN
195732002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
19574
ba82f58b
HPN
19575 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
19576 float_truncate, not fix.
19577 ("*truncdfsf2_real"): Ditto.
19578 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
19579
b5ffe606
HPN
19580 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
19581
c8d1b2b7
AO
195822002-03-16 Alexandre Oliva <aoliva@redhat.com>
19583
cfb773f9
AO
19584 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
19585 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
19586 where appropriate. Make the second reference to
19587 leaf_function_p a function call, as intended. Reindented.
19588
4dffef52
AO
19589 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
19590 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
19591
4f5bd6d7
AO
19592 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
19593 add register to non-constant into sp.
19594
c8d1b2b7
AO
19595 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
19596 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
19597 (mips16_gp_pseudo_rtx): Lose.
19598 (INIT_EXPANDERS): Deleted.
19599 * config/mips/mips.c (mips_init_machine_status): New.
19600 (mips_free_machine_status): New.
19601 (mips_mark_machine_status): New.
19602 (override_options): Set them.
19603 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
19604 (struct machine_function): ... new. Replaced all references.
19605 (mips_add_gc_roots): Don't mark them.
19606 (embedded_pic_fnaddr_reg): New, extracted from...
19607 (embedded_pic_offset): ... here.
19608 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
19609 (movsi): Likewise.
19610
b3124fac
NB
196112002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
19612
19613 * cppinit.c: Revert -MD removal.
19614
121449b6
SC
196152002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19616
19617 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
19618 soft registers by default for 68HC12.
19619 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
19620 when compiling with -fomit-frame-pointer.
19621 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
19622 (expand_epilogue): Likewise.
19623 (m68hc11_gen_rotate): Use exg when rotating by 8.
19624
840e2ff1
SC
196252002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19626
19627 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
19628 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
19629 (splits): Remove unused add splits.
19630 ("*addhi3_68hc12"): Tune constraints.
19631 ("addhi_sp"): Try to use X instead of Y in all cases and if the
19632 constant fits in 8-bits and D is dead use abx/aby instructions.
19633 ("*addhi3"): Remove extern declaration of ix_reg.
19634 ("*subsi3"): Optimize and provide new split.
19635 ("subhi3"): Cleanup.
19636 ("*subhi3_sp"): Avoid saving X if we know it is dead.
19637 (arith splits): For 68hc12 save the address register on the stack
19638 and do the arithmetic operation with a pop.
19639
3c9a5efe
SC
196402002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19641
19642 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
19643 allocating QImode in address registers.
19644 ("*movqi_m68hc11"): Likewise.
19645
e41f3392
JH
19646Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
19647
19648 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
19649
576786b0
NB
196502002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
19651
19652 * cppinit.c (print_help): Display -MD and -MMD.
19653 Don't display usage string. Update assertion syntax and
19654 typo.
19655 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
19656 (cpp_handle_option): Update.
19657
1ac458d4
CD
196582002-03-15 Chris Demetriou <cgd@broadcom.com>
19659
19660 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
19661 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
19662 and define it so that regardless of target CPU size,
19663 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
19664 of "int" rather than "long."
19665
1fcd592b
RH
196662002-03-15 Richard Henderson <rth@redhat.com>
19667
19668 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
19669 size as a tree.
19670
a0df6910
SC
196712002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19672
19673 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
19674 ("tstqi" split): Avoid using memory for tstqi on address register.
19675 (splits): Remove constraints.
19676 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
19677 ("cmpdf", "cmpsf"): Remove since not used.
19678 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
19679 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
19680
015a2e59
SC
196812002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19682
19683 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
19684 ("neghi2"): Tighten constraints.
19685 ("one_cmplsi2"): Optimize and simplify split.
19686 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
19687
cd28557c
SC
196882002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19689
19690 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
19691 and split of AND operation to clear the upper bits.
19692 ("*logicalsi3_zextqi"): Likewise.
19693 ("*logicallhi3_zexthi_ashift8"): Likewise.
19694 ("*logicalsi3_silshr16"): Likewise.
19695 ("logicalsi3_silshl16"): Likewise.
19696 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
19697
932657df
SC
196982002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19699
19700 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
19701 (m68hc11_indirect_p): New function.
19702 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
19703 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
19704 TARGET_M6812.
19705 (asm_print_register): Likewise.
19706 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
19707 (m68hc11_indirect_p): Declare.
19708 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
19709 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
19710 (TARGET_SWITCHES): New option -mrelax.
19711 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
19712 destination.
19713 ("iorsi3", "xorsi3"): Likewise.
19714 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
19715 ("*andhi3_mem"): New to handle destination in memory with bclr
19716 and a scratch register.
19717 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
19718 ("*andhi3_const"): New when operand2 is constant.
19719 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
19720 ("*andhi3_gen"): Cleanup of the old "andhi3".
19721 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
19722 ("xorqi3"): Update constraints.
19723
fdffea1a
SC
197242002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19725
19726 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
19727 for reg_equiv_memory_loc when the operand is a register that does
19728 not get a hard register (stack location).
19729 (tst_operand): After reload, accept all memory operand.
19730 (symbolic_memory_operand): Fix detection of symbolic references.
19731 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
19732 accept symbols and any constant.
19733
6272bc68
SC
197342002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19735
19736 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
19737 note on the insn that sets the soft frame register.
19738 (must_parenthesize): ix and iy are also reserved names.
19739 (print_operand_address): One more place where parenthesis are required
19740 to avoid confusion with register names.
19741 (m68hc11_gen_movhi): Allow push of stack pointer.
19742 (m68hc11_check_z_replacement): Fix handling of parallel with a
19743 clobber.
19744 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
19745 the replacement register is.
19746 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
19747 and D8_REGS classes.
19748 (MODES_TIEABLE_P): All modes are tieable except QImode.
19749
1d2d9def
SC
197502002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19751
19752 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
19753 (___subdi3): Likewise.
19754 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
19755 (__map_data_section): Optimize 68hc11 case.
19756
a0ccf503
SC
197572002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19758
19759 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
19760 than a shift to avoid adding a register with itself.
19761 (m68hc11_memory_move_cost): Take into account NO_REGS.
19762 (m68hc11_register_move_cost): Update and use memory move cost
19763 for soft registers.
19764 (m68hc11_address_cost): Make cost of valid offset not 0 so that
19765 it gives more opportunities to cse to optimize.
19766 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
19767 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
19768
6e4ae815
MM
197692002-03-15 Mark Mitchell <mark@codesourcery.com>
19770
19771 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
19772 * c-common.def (CLEANUP_STMT): New tree node.
19773 * c-common.h (CLEANUP_DECL): New macro.
19774 (CLEANUP_EXPR): Likewise.
19775 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
19776 * expr.c (expand_expr): Tidy.
19777 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
19778 * tree-inline.c (initialize_inlined_parameters): Clean up
19779 new local variables.
19780
a42519be
JJ
197812002-03-15 Jakub Jelinek <jakub@redhat.com>
19782
19783 PR bootstrap/4128
19784 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
19785 before movrXX only, use reg_overlap_mentioned_p.
19786 Only special case NE if just one insn can be generated.
19787
15409448
JM
197882002-03-15 Jason Merrill <jason@redhat.com>
19789
19790 * varasm.c (assemble_variable): Call resolve_unique_section before
19791 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
19792 of error_mark_node.
19793
3a4edb44
RE
197942002-03-15 Richard Earnshaw <rearnsha@arm.com>
19795
19796 PR target/5170
19797 * arm.md (split pattern for thumb shiftable immediates): Add comment
19798 explaining non-obvious test.
19799
32defa36
RE
198002002-03-15 Richard Earnshaw <rearnsha@arm.com>
19801
19802 PR target/5712
19803 * arm.md (movaddr, movaddr_insn): Delete.
19804
5cc90635
JM
198052002-03-15 Jason Merrill <jason@redhat.com>
19806
19807 * toplev.c (wrapup_global_declarations): Clarify variable handling.
19808 -fkeep-static-consts doesn't apply to comdats.
19809
ecb0eece
RH
198102002-03-14 Richard Henderson <rth@redhat.com>
19811
19812 * c-decl.c: Include c-pragma.h.
19813 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
19814 (finish_function): Tidy.
19815 * c-pragma.c: Include c-common.h.
19816 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
19817 (handle_pragma_weak): Use them.
19818 (init_pragma): Register pending_weaks.
19819 * c-pragma.h (maybe_apply_pragma_weak): Declare.
19820 * print-tree.c (print_node): Print DECL_WEAK.
19821 * varasm.c (mark_weak_decls): Remove.
19822 (remove_from_pending_weak_list): Remove.
19823 (add_weak): Remove.
19824 (asm_emit_uninitialised): Call globalize_decl for weak commons.
19825 (weak_decls): Make a tree_list.
19826 (declare_weak): Cons weak_decls directly.
19827 (globalize_decl): Remove weak_decls elements directly.
19828 (weak_finish): Simplify weak_decls walk. Don't weaken unused
19829 symbols. Don't pretend to handle aliases.
19830 (init_varasm_once): Update weak_decls registry.
19831 * Makefile.in: Update dependencies.
19832
98d2b17e
RH
198332002-03-14 Richard Henderson <rth@redhat.com>
19834
19835 PR target/5312
19836 * config/ia64/ia64.c: Include tm_p.h last.
19837 (gen_nop_type): Remove duplicate definition.
19838 (cycle_end_fill_slots): Set sched_data for second L slot.
19839 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
19840 (nop_cycles_until): Fix typos.
19841
f2f4927e
JJ
198422002-03-15 Jakub Jelinek <jakub@redhat.com>
19843
19844 PR optimization/5891
19845 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
19846
5025a549
DM
198472002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
19848
19849 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
19850 descriptors correctly.
19851
03e9dbc9
MM
198522002-03-14 Michael Meissner <meissner@redhat.com>
19853
19854 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
19855 100, allowing MAX_UNROLLED_INSNS to be overridden.
19856
19857 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
19858 --param.
19859
19860 * unroll.c (params.h): Include.
19861 (MAX_UNROLLED_INSNS): Delete, now in params.h.
19862
19863 * doc/invoke.texi (--param max-unroll-insns): Document.
19864
19865 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
19866
12249385
RE
198672002-03-14 Richard Earnshaw <rearnsha@arm.com>
19868
19869 * arm.md: Fix warnings about constraints in peepholes and splits.
19870
f0cce04a
ZW
198712002-03-14 Zack Weinberg <zack@codesourcery.com>
19872
19873 * cpphash.h (struct lexer_state): Remove line_extension member.
19874 * cpplib.c (dequote_string, do_linemarker): New functions.
19875 (linemarker_dir): New data object.
19876 (DIRECTIVE_TABLE): No longer need to interpret #line in
19877 preprocessed source. Delete obsolete comment about return
19878 values of handlers.
19879 (end_directive, directive_diagnostics, _cpp_handle_directive):
19880 Don't muck with line_extension.
19881 (directive_diagnostics): No need to issue warnings for
19882 linemarkers here.
19883 (_cpp_handle_directive): Issue warnings for linemarkers here,
19884 when appropriate. Dispatch linemarkers to do_linemarker, not
19885 do_line.
19886 (do_line): Code to handle linemarkers split out to do_linemarker.
19887 Convert escape sequences in filename argument, both places.
19888
19889 * cppmacro.c (quote_string): Rename cpp_quote_string and
19890 export. All callers changed.
19891 * cpplib.h (cpp_quote_string): Prototype.
19892 * cppmain.c (print_line): Call cpp_quote_string on to_file
19893 before printing it.
19894
19895 * doc/cpp.texi: Document that escapes are now interpreted in
19896 #line and in linemarkers, and that non-printing characters are
19897 converted to octal escapes when linemarkers are generated.
19898
19899Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
19900
19901 * emit-rtl.c (try_split): Use delete_insns.
19902 * recog.c (split_all_insns): Fix terminating condition.
19903
c882c7ac
RE
199042002-03-14 Richard Earnshaw <rearnsha@arm.com>
19905 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19906
19907 PR target/5828
19908 * arm.c (arm_output_epilogue): Fix floating-point register save
19909 adjustment when using a frame pointer.
19910
3f26edaa
RS
199112002-03-14 Richard Sandiford <rsandifo@redhat.com>
19912
19913 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
19914 * config/mips/mips.c (compute_frame_size): Retrofit them here.
19915 (save_restore_insns, mips_expand_epilogue): And here.
19916 (build_mips16_call_stub): And here.
19917 (mips_function_value): Use the new macros to decide whether a single
19918 or complex float can be returned in floating-point registers. Return
19919 a parallel rtx in the complex case.
19920
1e3881c2
JH
19921Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
19922
19923 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
19924 call after liveness analysis.
19925
19926 * recog.c (split_insn): Use delete_insn_and_edges.
19927
19928 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
19929 instructions to have branch prediction notes.
19930 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
19931
200ef634
GK
199322002-03-14 Geoffrey Keating <geoffk@redhat.com>
19933
19934 * configure.in: Don't pass -Wno-long-long to a ADA compiler
19935 that doesn't support it.
19936 * configure: Regenerate.
19937
0b82d204
JJ
199382002-03-13 Jakub Jelinek <jakub@redhat.com>
19939
19940 PR target/5626
19941 * config/sparc/sparc.md (normal_branch, inverted_branch,
19942 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
19943 inverted_fp_branch): Adjust calls to output_cbranch.
19944 Set length attribute.
19945 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
19946 output_v9branch. Set length attribute.
19947 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
19948 predicates.
19949 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
19950 (output_cbranch): Likewise. Handle far branches.
19951 (output_v9branch): Handle far branches.
19952 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
19953 Adjust prototypes.
19954 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
19955 noov_compare64_op predicates.
19956
7a8de19b
JM
199572002-03-13 Jason Merrill <jason@redhat.com>
19958
19959 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
19960 into the function and constify it.
19961 * gthr-dce.h, gthr-solaris.h: Likewise.
19962
2a55fd42
DE
199632002-03-13 David Edelsohn <edelsohn@gnu.org>
19964
19965 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
19966 * config/rs6000/rs6000.c (rs6000_va_arg): Use
19967 std_expand_builtin_va_arg if not ABI_V4.
19968
19c5b1cf
JM
199692002-03-13 Jason Merrill <jason@redhat.com>
19970
19971 * varasm.c (globalize_decl): New fn.
19972 (assemble_start_function): Use it.
19973 (asm_emit_uninitialized): Use it.
19974 (assemble_alias): Use it.
19975 (assemble_variable): Use it.
19976
2a15f5e1
HPN
199772002-03-13 Hans-Peter Nilsson <hp@axis.com>
19978
19979 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 19980 2002-03-12 internal visibility change.
2a15f5e1
HPN
19981 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
19982 visibility into SYMBOL_REF_FLAG.
19983
c0a3eeac
UW
199842002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
19985
19986 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
19987 VOIDmode operand. Add compile-time optimization for constant results.
19988
a1652cee
JM
199892002-03-12 Jason Merrill <jason@redhat.com>
19990
19991 * c-typeck.c (convert_for_assignment): Don't allow conversions
19992 between pointers and references. Only allow lvalues to convert to
19993 reference.
19994
c52a375d
HP
199952002-03-13 Hartmut Penner <hpenner@de.ibm.com>
19996
f0cce04a
ZW
19997 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
19998 before prologue, to avoid scheduling problems.
c52a375d 19999
e387e99b
JJ
200002002-03-13 Jakub Jelinek <jakub@redhat.com>
20001
20002 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
20003 (ELIMINABLE_REGS): Add sfp->sp.
20004 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
20005
200062002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
20007
20008 PR optimization/5892
20009 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
20010
4061c1a3
JJ
200112002-03-13 Jakub Jelinek <jakub@redhat.com>
20012
20013 * loop.c (basic_induction_var): Don't call convert_modes if mode
20014 classes are different.
20015
5b43fed1
RH
200162002-03-12 Richard Henderson <rth@redhat.com>
20017
9f53e965
RH
20018 PR optimization/5901
20019 * function.c (reposition_prologue_and_epilogue_notes): Position
20020 the markers after/before the last/first insn not deleted.
20021
200222002-03-12 Richard Henderson <rth@redhat.com>
20023
20024 PR optimization/5878
5b43fed1
RH
20025 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
20026 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
20027 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
20028
20029 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
20030 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
20031 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
20032
20033 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
20034 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
20035 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
20036 also. Don't set it if not flag_pic.
20037 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
20038 to be INVALID_REGNUM when not used.
20039
4e9bb42b
AH
200402002-03-13 Aldy Hernandez <aldyh@redhat.com>
20041
5b43fed1
RH
20042 * expmed.c (store_bit_field): Reset alias set for memory.
20043 (extract_bit_field): Same.
4e9bb42b 20044
2f9834e8
KG
200452002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20046
20047 * c-common.c (c_tree_code_type, c_tree_code_length,
20048 c_tree_code_name, add_c_tree_codes): Delete.
20049 * c-common.h (add_c_tree_codes): Delete.
20050 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
20051 Define.
20052 * c-objc-common.c (c_objc_common_init): Don't call
20053 add_c_tree_codes, instead set lang_unsafe_for_reeval.
20054 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
20055 objc_tree_code_name, add_objc_tree_codes): Delete.
20056 (objc_init): Don't call add_objc_tree_codes.
20057 * objc/objc-lang.c (tree_code_type, tree_code_length,
20058 tree_code_name): Define.
20059 * toplev.c (lang_independent_init): Don't set
20060 tree_code_length[IDENTIFIER_NODE].
20061 * tree.c (tree_code_type, tree_code_length, tree_code_name):
20062 Delete definitions, moved to language front-ends.
20063 * tree.def (IDENTIFIER_NODE): Hardwire the length.
20064 * tree.h (tree_code_type, tree_code_length, tree_code_name):
20065 Const-ify.
20066 (tree_code_length): Change type to unsigned char.
20067
36ad2436
RH
200682002-03-12 Richard Henderson <rth@redhat.com>
20069
20070 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
20071 internal visibility change.
20072
0ae02efa
BW
200732002-03-12 Bob Wilson <bob.wilson@acm.org>
20074
20075 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
20076 validize_mem() instead of change_address to avoid clobbering
20077 memory attributes.
20078
35bb2bee
NB
200792002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
20080
20081 * c-lex.h (position_after_whitespace): Remove.
20082
62ae2529
JJ
200832002-03-12 Jakub Jelinek <jakub@redhat.com>
20084
20085 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
20086 (lex_string): Use unsigned char pointers.
20087
6a45951f
UW
200882002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
20089
20090 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
20091 is not a valid memory_operand.
20092
e2fb85da
BW
200932002-03-12 Bob Wilson <bob.wilson@acm.org>
20094
20095 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
20096 * config/xtensa/lib1funcs.asm: Fix copyright to include
20097 special case for libgcc files.
20098 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
20099 (__divsi3): Likewise.
20100 (__umodsi3): Likewise.
20101 (__modsi3): Likewise.
20102 * config/xtensa/lib2funcs.S: Fix copyright to include
20103 special case for libgcc files.
20104
5b8619f8
TR
201052002-03-12 Tom Rix <trix@redhat.com>
20106
20107 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 20108 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
20109 (ignore_library): Same.
20110
089c8f97
BW
201112002-03-12 Bob Wilson <bob.wilson@acm.org>
20112
20113 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
20114
958c70ff
BW
201152002-03-12 Bob Wilson <bob.wilson@acm.org>
20116
20117 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
20118 to function_section before writing out the constant pool.
20119
a65c591c
DE
201202002-03-12 David Edelsohn <edelsohn@gnu.org>
20121
20122 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
20123 zero_constant.
20124 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
20125
201262002-03-12 Alan Modra <amodra@bigpond.net.au>
20127
20128 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
20129 (adddi3): Likewise.
20130 (movdf): Likewise.
20131 (movdi): Likewise.
20132 (cmpsi splitter): Likewise.
20133 (modsi3): Fail if <= 0.
20134 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
20135 redundant test when HOST_BITS_PER_WIDE_INT != 32.
20136 (reg_or_sub_cint64_operand): Likewise.
20137 (num_insns_constant_wide): Optimize sign extension.
20138 (rs6000_legitimize_address): Likewise.
20139
17720332
AM
201402002-03-12 Andrew MacLeod <amacleod@redhat.com>
20141
20142 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
20143 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
20144
cd49f073
AM
201452002-03-12 Andrew MacLeod <amacleod@redhat.com>
20146
20147 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
20148 address calculation.
20149
6a4e49c1
UW
201502002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
20151
20152 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
20153 scratch register to DImode / TImode.
20154 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
20155 register used does not overlap the target.
20156
54b6670a
KG
201572002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20158
20159 * Makefile.in (debug.o): Depend on debug.h.
20160 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
20161 * debug.c (do_nothing_debug_hooks): Likewise.
20162 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
20163 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
20164 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
20165 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
20166 * dwarfout.c (dwarf_debug_hooks): Likewise.
20167 * integrate.c (output_inline_function): Likewise.
20168 * objc/objc-act.c (synth_module_prologue): Likewise.
20169 * sdbout.c (sdb_debug_hooks): Likewise.
20170 * toplev.c (debug_hooks): Likewise.
20171 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
20172
2465bf76
KG
201732002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20174
20175 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
20176 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
20177 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
20178 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
20179 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
20180 * defaults.h (POINTER_SIZE): Define.
20181 * doc/tm.texi (POINTER_SIZE): Document default.
20182
53f3e9ca
KG
201832002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20184
20185 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
20186
44d3eb5b
RH
201872002-03-11 Richard Henderson <rth@redhat.com>
20188
20189 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
20190 if rebuild_label_notes_after_reload.
20191
4a085d2e
HPN
201922002-03-12 Hans-Peter Nilsson <hp@axis.com>
20193
20194 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
20195 emit pic register load if "internal" visibility.
20196 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
20197 (cris_expand_builtin_va_arg): Do all computations on trees.
20198
bc204393
RH
201992002-03-11 Richard Henderson <rth@redhat.com>
20200
20201 * rtlanal.c: Include recog.h.
20202 (keep_with_call_p): Fix thinko.
20203 * Makefile.in (rtlanal.o): Update dependencies.
20204
6b8b9d7b
CM
202052002-03-11 Chris Meyer <cmeyer@gatan.com>
20206
20207 * genflags.c (gen_insn): Use IS_VSPACE.
20208 * genoutput.c (output_insn_data): Likewise.
20209 (process_template): Likewise.
20210
6c40858f
RH
202112002-03-11 Richard Henderson <rth@redhat.com>
20212
20213 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
20214
40adaa27
NB
202152002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
20216
20217 * Makefile.in: Update.
6c40858f 20218 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 20219 Update documentation.
6c40858f
RH
20220 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
20221 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 20222
049b03f4
ZW
202232002-03-11 Zack Weinberg <zack@codesourcery.com>
20224
20225 * Makefile.in: Give texi2pod its input file as a command line
20226 argument, not on stdin.
20227
61eece67
DN
202282002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
20229 Daniel Berlin <dan@dberlin.org>
20230
20231 C++ alias analysis improvement.
f0cce04a 20232 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
20233 classes too.
20234
a65c591c
DE
202352002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
20236
ff080aba
UW
20237 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
20238
1682dbb1
DR
202392002-03-11 Douglas B Rupp <rupp@gnat.com>
20240
fa2d765a
DR
20241 * toplev.c (vms_fopen): Remove, not needed.
20242
6f1fd286
DR
20243 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
20244
b230e057
DR
20245 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
20246
cb9a8e97
DR
20247 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
20248 for FP, already done later.
20249
1682dbb1
DR
20250 * toplev.c (debug_args): Add entry for VMS_DEBUG.
20251 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
20252
3fcaac1d
RS
202532002-03-11 Richard Sandiford <rsandifo@redhat.com>
20254
20255 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
20256 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
20257 LARGEST_EXPONENT_IS_NORMAL for the given mode.
20258 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
20259 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
20260 (ediv, emul, eldexp, esqrt): Likewise.
20261 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
20262 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
20263 (saturate): New function.
20264 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
20265 (make_nan): Use a saturation value instead of a NaN if
20266 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
20267 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
20268 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
20269 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
20270 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
20271 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
20272 !ROUND_TOWARDS_ZERO.
20273 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
20274 (ROUND_TOWARDS_ZERO): Document.
20275
d25558be
AJ
202762002-03-11 Andreas Jaeger <aj@suse.de>
20277
20278 * cfg.c (dump_flow_info): Remove unused variable.
20279
c71f9ae7
HPN
202802002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
20281
20282 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
20283 computations on trees.
20284
561c9153
RH
202852002-03-10 Richard Henderson <rth@redhat.com>
20286
932b4e3e 20287 PR 5693:
561c9153
RH
20288 * reload.c (copy_replacements_1): New.
20289 (copy_replacements): Use it to recurse through the rtx.
20290
26b738be
RH
202912002-03-10 Richard Henderson <rth@redhat.com>
20292
20293 * loop.c (strength_reduce): Compute number of iterations as
20294 unsigned HOST_WIDE_INT.
20295
8d8a083e
RH
202962002-03-10 Richard Henderson <rth@redhat.com>
20297
20298 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
20299 to move away from the end of the block.
20300
32810ba3
NB
203012002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
20302
20303 PR preprocessor/5899
20304 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 20305
2b03d201
KG
203062002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20307
f90c544c
KG
20308 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
20309
2b03d201
KG
20310 * attribs.c (decl_attributes): Fix signed/unsigned warning.
20311
3ec1b4cb
HPN
203122002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
20313
20314 * config/mmix/mmix.c: Improve comments.
20315 (mmix_target_asm_function_prologue): Drop variable
20316 empty_stack_frame. Don't allocate unused slot above fp.
20317 (mmix_target_asm_function_epilogue): Mirror prologue changes.
20318 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
20319 brace in first column.
20320 (enum reg_class): Ditto.
20321 (FIRST_PARM_OFFSET): Now 0.
20322 (USER_LABEL_PREFIX): Remove #if 0:d definition.
20323
27e486c5
KG
203242002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20325
20326 * combine.c (make_extraction): Fix error in last change.
20327
0139adca
KG
203282002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20329
20330 * c4x.c (c4x_fp_reglist): Const-ify.
20331 * cris.c (cris_print_operand): Likewise.
20332 * i386.c (ix86_va_arg): Likewise.
20333 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
20334 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
20335 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
20336 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
20337 * mcore.h (regno_reg_class): Likewise.
20338 * mips.c (gen_int_relational): Likewise.
20339 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
20340 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 20341 * pdp11.c (move_costs): Likewise.
0139adca
KG
20342 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
20343 * s390.c (s390_branch_condition_mnemonic, regclass_map):
20344 Likewise.
20345 * s390.h (regclass_map): Likewise.
20346 * sh.c (shift_amounts): Likewise.
a4334c36 20347 * sh.md (rotlsi3): Likewise.
0139adca 20348
889b90a1
GK
203492002-03-09 Geoffrey Keating <geoffk@redhat.com>
20350
20351 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
20352 (ne0+5): Use new clobber to generate proper shift pattern.
20353 Patch by Michael Matz <matz@kde.org>.
20354
2877e0ae
AS
203552002-03-09 Andreas Schwab <schwab@suse.de>
20356
20357 * gcc.c (validate_all_switches): Also handle `%W{...}'.
20358
79b51cd7
GK
203592002-03-09 Geoffrey Keating <geoffk@redhat.com>
20360
20361 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
20362
e0f1be5c
JJ
203632002-03-09 Jakub Jelinek <jakub@redhat.com>
20364
20365 PR middle-end/5877
20366 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
20367 even for non-representable constants.
20368
0a7ec763
RK
20369Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20370
93fe8e92
RK
20371 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
20372 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
20373 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
20374 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
20375 (pop_function_context): Compute MAY_SHARE parameter for
20376 fixup_var_refs.
20377 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
20378 (gen_mem_addressof): Call fixup_var_refs with new parm.
20379
0a7ec763
RK
20380 * combine.c (make_extraction): Don't make extension of CONST_INT.
20381
a85cd407
AO
203822002-03-09 Alexandre Oliva <aoliva@redhat.com>
20383
9445b814
AO
20384 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
20385 in o32 and o64 ABIs.
20386 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
20387 but getting fixed-size structs passed in registers regardless of
20388 padding in o32 and o64 ABIs.
20389
a85cd407
AO
20390 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
20391 offset before loading address of argument passed by transparent
20392 reference.
20393
c51fbe40
JDA
203942002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
20395
20396 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
20397
918e70dd
AO
203982002-03-09 Alexandre Oliva <aoliva@redhat.com>
20399
20400 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
20401 marker such that registers after it are saved.
20402
3070dd00
KG
204032002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20404
20405 * sparc.c (arith_4096_operand): Fix error in last change.
20406
e25d11b0
AO
204072002-03-08 Alexandre Oliva <aoliva@redhat.com>
20408
20409 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
20410 defaults for MEABI.
20411
41daaf0e
AH
204122002-03-08 Aldy Hernandez <aldyh@redhat.com>
20413
5b43fed1
RH
20414 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
20415 vectors.
41daaf0e 20416
fa139b00
AH
204172002-03-08 Aldy Hernandez <aldyh@redhat.com>
20418
5b43fed1 20419 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 20420
c51d95ec
JH
20421Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
20422
20423 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
20424 removed; fix return value.
20425 * combine.c (combine_instructions): Dirtify blocks where we failed to
20426 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
20427 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
20428
3b25fbfe
KG
204292002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20430
20431 * gcse.c (insert_insn_end_bb): Fix typo in last change.
20432
189ae0f4
JH
20433Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
20434
20435 * recog.c (peephole2_optimize): Re-distribute EH edges.
20436
24965e7a
NB
204372002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
20438
20439 * expr.c (expand_expr): Use unsave lang hook.
20440 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
20441 (LANG_HOOKS_INITIALIZER): Update.
20442 * langhooks.h (struct lang_hooks): New hook unsave.
20443 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
20444 (unsave_expr_1): Remove unused lang_unsave_expr_now.
20445 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
20446 (unsave_expr_now): Remove.
20447 * tree.h (unsave_expr_now, lang_unsave,
20448 lang_unsave_expr_now): Remove.
20449 (lhd_unsave): New.
20450
1e4e95d6
AJ
204512002-03-08 Andreas Jaeger <aj@suse.de>
20452
20453 * flow.c (propagate_block_delete_insn): Remove unused variable.
20454
054ef905
KH
204552002-03-08 Kazu Hirata <kazu@hxi.com>
20456
20457 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
20458 insn length for memory load/store.
20459
5304400d 204602002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 20461
5304400d
CR
20462 * doc/install.texi (--with-libiconv-prefix): Document.
20463
81034129
MB
204642002-03-08 Michael Y. Brukman <myb2@cornell.edu>
20465
20466 * doc/sourcebuild.texi: Fix typo.
20467
71db7d03
JJ
204682002-03-08 Jakub Jelinek <jakub@redhat.com>
20469
20470 PR c/3711
20471 * builtins.c (std_expand_builtin_va_arg): Do all computations on
20472 trees.
20473
127c1ba5
RK
20474Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20475
20476 * rtl.c (copy_most_rtx): Move from here ...
20477 * emit-rtl.c (copy_most_rtx): ... to here.
20478
8a13c092
AO
204792002-03-08 Alexandre Oliva <aoliva@redhat.com>
20480
5faae4f7
AO
20481 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
20482 SUBTARGET_CPP_SIZE_SPEC.
20483 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
20484
8a13c092
AO
20485 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
20486
4ec59de2
MH
204872002-03-07 Matt Hiller <hiller@redhat.com>
20488
20489 * gensupport.c (first_dir_md_include): Renamed from include;
20490 change all references.
20491 (last_dir_md_include): Renamed from last_include; change all
20492 references.
20493 (init_md_reader): Unconditionally initialize base_dir whether or
20494 not filename is a relative path.
20495
12f61e77
AO
204962002-03-07 Alexandre Oliva <aoliva@redhat.com>
20497
95356058
AO
20498 * config/fp-bit.c (_unord_f2): Compile it in even if
20499 US_SOFTWARE_GOFAST is enabled.
20500
12f61e77
AO
20501 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
20502 NULL_RTX. Set all HFmode operations as NULL_RTX.
20503 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
20504 NULL_RTX, try reversing the comparison and the operands.
20505
6d7a1c4c
UW
205062002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
20507
20508 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
20509 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
20510 and MATCH_OP_DUP.
20511
66d54344
JH
20512Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
20513
20514 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
20515
068473ec
JH
20516Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
20517
20518 * basic-block.h (fixup_abnormal_edges): Declare.
20519 * reload1.c (fixup_abnormal_edges): New function.
20520 * reg-stack.c (convert_regs): Use it.
20521
20522 * gcse.c (insert_insn_end_bb): Handle trapping insns.
20523
20524 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
20525
71925bc0
RS
205262002-03-07 Richard Sandiford <rsandifo@redhat.com>
20527
20528 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
20529 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
20530 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
20531 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
20532 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
20533 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
20534 unless x and y could be infinite.
20535 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
20536 Check that the common type of both arguments is a real, even for
20537 targets without unordered comparisons. Allow an integer argument
20538 to be compared against a real.
20539 (expand_tree_builtin): Use expand_unordered_cmp.
20540 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
20541 * cse.c (fold_rtx): Likewise. Fix indentation.
20542 * fold-const.c (fold_real_zero_addition_p): New.
20543 (fold): Use it, and the new HONOR_... macros.
20544 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
20545 * jump.c (reversed_comparison_code_parts): After searching for
20546 the true comparison mode, use HONOR_NANS to decide whether it
20547 can be safely reversed.
20548 (reverse_condition_maybe_unordered): Remove IEEE check.
20549 * simplify-rtx.c (simplify_binary_operation): Use the new macros
20550 to decide which simplifications are valid. Allow the following
20551 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
20552 and (a - -b) to (a + b).
20553 (simplify_relational_operation): Use HONOR_NANS.
20554 * doc/tm.texi: Document the MODE_HAS_... macros.
20555
145d3bf2
RE
205562002-03-07 Richard Earnshaw <rearnsha@arm.com>
20557
20558 * combine.c (simplify_comparison): If simplifying a logical shift
20559 right and compare with constant, force the comparison to unsigned.
20560
76a773f3
AH
205612002-03-07 Aldy Hernandez <aldyh@redhat.com>
20562
5b43fed1 20563 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 20564
5b43fed1
RH
20565 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
20566 -mabi=no-altivec
20567 (alt_reg_names): Remove % for vrsave.
76a773f3 20568
ab55f58c
RH
205692002-03-06 Richard Henderson <rth@redhat.com>
20570
5ddec02e 20571 PR optimization/5844
ab55f58c
RH
20572 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
20573 if used indicates we've already emitted one copy of an operand.
20574 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
20575 (gen_split): Supply a non-null used.
20576
e16e3291
UW
205772002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
20578
5b43fed1 20579 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 20580
1e4e95d6 20581 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
20582 but simply fail if the expression is too complex to simplify.
20583 (simplify_gen_binary): Handle simplify_plus_minus failures.
20584
2ca6672b
JH
20585Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
20586
20587 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
20588 consistently call delete_trivially_dead_insns after CSE and GCSE;
20589 fix DFI_life dumping; do jump threading after liveness; do crossjumping
20590 after liveness2; update comment in last crossjumping.
20591 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
20592
31d0dd4f
JL
20593Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
20594
d094b0b3
JL
20595 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
20596 after completing fast dead code elimination.
20597
31d0dd4f
JL
20598 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
20599 COMPARE operator.
1e4e95d6 20600
f2b958b1
PE
206012002-03-06 Phil Edwards <pme@gcc.gnu.org>
20602
20603 * version.c: Fix misplaced leading blanks on first line.
20604
a2877a09
JH
20605Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
20606
20607 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
20608
fe477d8b
JH
20609Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
20610
20611 * cfgcleanup.c (mentions_nonequal_regs): New function.
20612 (thread_jump): Use it.
20613 * toplev.c (rest_of_compilation): Run jump threading after
20614 liveness.
20615
2041cde4
JJ
206162002-03-06 Jakub Jelinek <jakub@redhat.com>
20617
20618 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
20619 patch.
20620
82d68d46
JH
20621Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
20622
20623 * predict.c (estimate_bb_frequencies): Do not reload the
20624 frequencies from notes.
20625
3dec4024
JH
20626Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
20627
20628 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
20629 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
20630
20631 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
20632 delete_noop_moves): Return indeger.
20633 * flow.c (ndead): New variable.
20634 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
20635 BB argument; update callers.
20636 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
20637 (life_analysis): Do not call purge_all_dead_edges.
20638 (update_life_info): Return number of deleted insns; print statistics.
20639 (update_life_info_in_dirty_blocks): likewise.
20640 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
20641 return number of insns deleted.
20642
20643 * cse.c: Include timevar.h
20644 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
20645 iterate until stabilizes; print statistics; return number of killed
20646 insns.
20647 * Makefile.in: (cse.o): Add timevar.h dependency
20648 * rtl.h (delete_trivially_dead_insns): New.
20649 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
20650 * toplev.c (rest_of_compilation): Update callers.
20651
20652 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
20653 (try_optimize_cfg): Do not update liveness.
20654 (cleanup-cfg): Loop until try_optimize_cfg and dead code
20655 removal stabilizes; use delete_trivially_dead_insns.
20656
20657 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
20658
c7544dd8
ZW
206592002-03-05 Zack Weinberg <zack@codesourcery.com>
20660
20661 * cppmain.c (setup_callbacks): Disable #pragma and #ident
20662 callbacks when processing assembly language.
20663
50b424a9
JDA
206642002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
20665
20666 * pa.h (ASM_FILE_END): Define.
20667 * som.h (ASM_FILE_END): Delete.
20668
20669 * pa.c (function_arg): Don't pass floats in general registers in
20670 indirect calls if TARGET_ELF32.
20671
6185f217
RH
206722002-03-05 Richard Henderson <rth@redhat.com>
20673
20674 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
20675
3020a4b2
DS
206762002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
20677
20678 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
20679
65649daa
JJ
206802002-03-05 Jakub Jelinek <jakub@redhat.com>
20681
20682 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
20683 -r command line. Don't hide any symbols if not building
20684 shared libgcc.
20685
5a1a3e5e
JH
20686Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
20687
20688 * cfg.c (dump_flow_info): Warn about profile mismatches.
20689 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
20690 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
20691
170c56da
JJ
206922002-03-05 Jakub Jelinek <jakub@redhat.com>
20693
20694 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
20695 wide volatile memory by parts.
20696
6d051694
JJ
206972002-03-05 Jakub Jelinek <jakub@redhat.com>
20698
20699 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
20700 is NULL.
20701
28bcfd4d
RH
207022002-03-05 Richard Henderson <rth@redhat.com>
20703
5b43fed1 20704 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 20705
75227a33
GK
207062002-03-04 Geoffrey Keating <geoffk@redhat.com>
20707
20708 * toplev.c (documented_lang_options): Document more
20709 language-specific options.
20710 * doc/invoke.texi (Warning Options): Correct documentation for
20711 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
20712 * c-decl.c (c_decode_option): Use a table to handle warning options.
20713
4f1aac42
HPN
207142002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
20715
20716 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
20717 parameter to mmix_encode_section_info.
20718 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
20719 relocatably. Always produce ELF, not mmo if linking relocatably.
20720 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
20721 first is non-zero, don't add symbol prefix.
20722 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
20723 prototype accordingly.
20724
12345543
KW
207252002-03-04 Krister Walfridsson <cato@df.lth.se>
20726
20727 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
20728
8e97db8f
JM
207292002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
20730
20731 * configure.in: Increase required makeinfo version to 4.1.
20732 * configure: Regenerate.
20733
06487868
GK
207342002-03-04 Geoffrey Keating <geoffk@redhat.com>
20735
20736 * .cvsignore: Remove *.info* and genrtl*; these files are generated
20737 elsewhere now.
20738
cff42170
JM
207392002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
20740
20741 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
20742 * doc/invoke.texi: Fix @math uses.
20743
974a7f56
JH
20744Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
20745
20746 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
20747 removal
20748
3b7d0e98
AH
207492002-03-03 Aldy Hernandez <aldyh@redhat.com>
20750
5b43fed1
RH
20751 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
20752 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 20753
5b43fed1 20754 * config/rs6000/t-ppcendian: New.
3b7d0e98 20755
65f2f288
HB
207562002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
20757
20758 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
20759 nonimmediate_src_operand and nonimmediate_lsrc_operand to
20760 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
20761
8ce0a8a5
RH
207622002-03-03 Richard Henderson <rth@redhat.com>
20763
20764 * toplev.c (rest_of_decl_compilation): Revert last two changes.
20765
ba31d94e
ZW
207662002-03-03 Zack Weinberg <zack@codesourcery.com>
20767
20768 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
20769 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
20770 tree.c, config/m68k/m68k.c:
20771 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
20772 REAL_ARITHMETIC blocks unconditional. Delete some further
20773 #ifdef blocks predicated on REAL_ARITHMETIC.
20774 * flags.h, toplev.c: Delete remaining references to
20775 flag_pretend_float.
20776
20777 * doc/invoke.texi: Remove documentation of -fpretend-float.
20778 * doc/tm.texi: Describe the various REAL_* macros as provided by
20779 real.h, not by the target configuration files.
20780
20781 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
20782 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
20783 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
20784 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
20785 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
20786 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
20787 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
20788 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
20789 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
20790 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
20791 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
20792 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
20793 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
20794 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
20795 config/xtensa/xtensa.h:
20796 Do not define, undefine, or mention in comments any of
20797 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
20798 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
20799 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
20800 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
20801 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
20802 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
20803 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
20804 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
20805 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
20806
9a571cfd
KG
208072002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20808
e81dd381
KG
20809 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
20810 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
20811 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
20812 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
20813 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
20814 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
20815 Delete.
20816 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 20817 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 20818
9a571cfd
KG
20819 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
20820 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
20821 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
20822
ca7558fc
KG
208232002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20824
20825 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
20826 lieu of explicit sizeof/sizeof.
20827 * i386.c (override_options, ix86_init_mmx_sse_builtins,
20828 ix86_expand_builtin): Likewise.
20829 * mips.c (mips_add_gc_roots): Likewise.
20830 * mmix.c (mmix_output_condition): Likewise.
20831 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
20832 altivec_init_builtins): Likewise.
20833 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
20834 * cppexp.c (Nsuff, parse_number): Likewise.
20835 * cppinit.c (builtin_array_end): Likewise.
20836 * gcc.c (n_default_compilers, process_command): Likewise.
20837 * genpreds.c (output_predicate_decls): Likewise.
20838 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
20839 * lcm.c (N_ENTITIES): Likewise.
20840 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 20841
41c78c88
RH
208422002-03-03 Richard Henderson <rth@redhat.com>
20843
20844 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
20845 for types or labels.
20846
9e9b71e6
RH
208472002-03-03 Richard Henderson <rth@redhat.com>
20848
20849 * c-decl.c (start_decl): Initialized variables are not common.
20850
c26a6db8
PB
208512002-03-02 Per Bothner <per@bothner.com>
20852
20853 * gcc.c (option_map): Suport new --bootclasspath option.
20854 --CLASSPATH is now just an alias for --classpath.
20855
9e8aab55
RH
208562002-03-02 Richard Henderson <rth@redhat.com>
20857
20858 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
20859 load if "internal" visibility.
20860 * doc/extend.texi: Document visibility meanings.
20861
b3bbd220
RH
208622002-03-02 Richard Henderson <rth@redhat.com>
20863
20864 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
20865 to functions as well.
20866
b14707c3
RH
208672002-03-02 Richard Henderson <rth@redhat.com>
20868
20869 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
20870 (handle_visibility_attribute): Don't call assemble_visibility.
20871 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
20872 without asmspec. Invoke assemble_alias when needed.
20873 * varasm.c (maybe_assemble_visibility): New.
20874 (assemble_start_function, assemble_variable, assemble_alias): Use it.
20875
b2003250
RH
208762002-03-02 Richard Henderson <rth@redhat.com>
20877
20878 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
20879 invoke ENCODE_SECTION_INFO with first call flag.
20880
20881 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
20882 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 20883 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
20884 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
20885 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
20886 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
20887 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
20888 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
20889 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
20890 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
20891 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
20892 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
20893 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
20894 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
20895 config/mcore/mcore-protos.h, config/mcore/mcore.c,
20896 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
20897 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 20898 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
20899 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
20900 config/sh/sh.h, config/sparc/sparc.h,
20901 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
20902 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
20903 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
20904 FIRST argument. As needed, examine it and do nothing.
20905
ba31d94e 20906 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
20907 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
20908 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
20909
20910 * config/arm/t-pe (pe.o): Add dependencies.
20911
5c60f03d
KG
209122002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20913
20914 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
20915 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
20916 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
20917 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
20918 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
20919 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
20920 * defaults.h (BITS_PER_UNIT): Define.
20921 * doc/tm.texi (BITS_PER_UNIT): Document default value.
20922
86855e8c
KH
209232002-03-02 Kazu Hirata <kazu@hxi.com>
20924
20925 * config/h8300/h8300-protos.h: Add a prototype for
20926 compute_a_shift_length.
20927 * config/h8300/h8300.c (h8300_asm_insn_count): New.
20928 (compute_a_shift_length): Likewise.
20929 (h8300_adjust_insn_length): Do not adjust insn length of shift
20930 insns.
20931 * config/h8300/h8300.md (anonymous shift patterns): Use
20932 compute_a_shift_length.
20933
f6041ed8
RK
20934Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20935
35aa3c1c
RK
20936 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
20937 trunc_int_for_mode.
20938
f6041ed8
RK
20939 * emit-rtl.c (offset_address): Call update_temp_slot_address.
20940
27b41650
KG
209412002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20942
20943 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
20944 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
20945 * flags.h (flag_zero_initialized_in_bss): Declare.
20946 * toplev.c (flag_zero_initialized_in_bss): New flag.
20947 (lang_independent_options): Add flag_zero_initialized_in_bss.
20948 * tree.c (initializer_zerop): New function.
20949 * tree.h (initializer_zerop): Declare.
20950 * varasm.c (assemble_variable): If we can emit bss, put zero
20951 initializers in the bss section.
20952
ca734b39
AM
209532002-03-02 Alan Modra <amodra@bigpond.net.au>
20954
20955 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
20956 like more than one symbol per .weak directive.
20957
49b72306
RH
209582002-03-01 Richard Henderson <rth@redhat.com>
20959
20960 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
20961 adjust argument_pointer by pretend_args_size.
20962 (ia64_va_start): Adjust va_start address by -pretend_args_size.
20963
fbf0fe41
KH
209642002-03-01 Kazu Hirata <kazu@hxi.com>
20965
20966 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
20967
0010687d
JH
20968Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
20969
20970 * toplev.c (rest_of_compilation): Delete dead jumptables before
20971 loop.
20972 * flow.c (delete_dead_jumptables): Make global.
20973 * rtl.h (delete_dead_jumptables): Declare.
20974
9429c84c
DE
209752002-03-01 David Edelsohn <edelsohn@gnu.org>
20976
20977 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
20978 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 20979 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 20980
f0b6f9a6
KH
209812002-03-01 Kazu Hirata <kazu@hxi.com>
20982
20983 * config/h8300/h8300-protos.h: Fix formatting.
20984 * config/h8300/h8300.c: Likewise.
20985 * config/h8300/h8300.h: Likewise.
20986
bc8db8a1
KH
209872002-03-01 Kazu Hirata <kazu@hxi.com>
20988
20989 * config/h8300/h8300.c (print_operand): Support 16-bit
20990 constant addresses.
20991 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
20992
32b069d3
RH
209932002-02-28 Richard Henderson <rth@redhat.com>
20994
20995 * expmed.c (store_bit_field): Prevent generation of CONCATs;
20996 pun complex values as integers; use gen_lowpart instead of
20997 gen_rtx_SUBREG.
20998 (extract_bit_field): Likewise.
20999
79c4e63f
AM
210002002-03-01 Alan Modra <amodra@bigpond.net.au>
21001 David Edelsohn <edelsohn@gnu.org>
21002
21003 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
21004 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
21005 (SUPPORTS_WEAK): Likewise.
21006 * output.h (add_weak): Add tree param.
21007 * varasm.c (add_weak): Likewise. Save decl.
21008 (struct weak_syms): Add decl field.
21009 (mark_weak_decls): New function.
21010 (init_varasm_once): ggc_add_root mark_weak_decls.
21011 (assemble_start_function): Use ASM_WEAKEN_DECL.
21012 (assemble_variable): Likewise.
21013 (assemble_alias): Likewise.
21014 (declare_weak): Pass decl to add_weak.
21015 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
21016 (remove_from_pending_weak_list): Declare and define for
21017 ASM_WEAKEN_DECL.
21018 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
21019 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
21020 * defaults.h (SUPPORTS_WEAK): Likewise.
21021 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
21022 .weak for code sym. Do emit .size for descriptor sym.
21023 (ASM_DECLARE_FUNCTION_SIZE): Define.
21024 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
21025 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
21026 .lglobl unless TARGET_XCOFF. Formatting fixes.
21027 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
21028 .weak for code sym.
21029 (HANDLE_PRAGMA_WEAK): Remove.
21030 (ASM_WEAKEN_LABEL): Remove.
21031 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
21032
6f30f1f1
JM
210332002-03-01 Jason Merrill <jason@redhat.com>
21034
21035 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
21036 (TARGET_EXPR_CLEANUP): New macro.
21037
7879b81e
SE
210382002-02-28 Steve Ellcey <sje@cup.hp.com>
21039
21040 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
21041 to take ptr_extend into account as third type of extension.
21042 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
21043 fields used by SUBREG_PROMOTED_UNSIGNED_P.
21044 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
21045 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
21046 * calls.c (precompute_arguments): Use new macro.
21047 (expand_call): Ditto.
21048 * combine.c (nonzero_bits): Ditto.
21049 (record_promoted_value): Ditto.
21050 * expr.c (store_expr): Ditto.
21051 (expand_expr): Ditto.
21052 * function.c (assign_parms): Ditto.
21053
42d579d8
AO
210542002-02-28 Alexandre Oliva <aoliva@redhat.com>
21055
21056 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
21057 override -shared and -shared-libgcc.
21058
e0054185
DB
210592002-02-28 David O'Brien <obrien@FreeBSD.org>
21060
21061 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
21062 of "ultrasparc".
21063 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
21064 to be broken.
21065
abda4f1c
RH
210662002-02-28 Richard Henderson <rth@redhat.com>
21067
21068 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
21069 4 cycle latency from MM producers.
21070 (ia64_internal_sched_reorder): Likewise with pipeline flush.
21071
c0f08649
JJ
210722002-02-28 Jakub Jelinek <jakub@redhat.com>
21073
21074 * mklibgcc.in: Don't use GNU make extension.
21075
f79f2651
NB
210762002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
21077
21078 * c-parse.in (STATIC): New terminal.
21079 (scspec): New non-terminal. Update productions accordingly.
21080 (program): Remove bogus ifc / end ifc.
21081 (array_declarator): Simplify production using STATIC.
21082
001e3fee
JM
210832002-02-28 Jim Meyering <meyering@lucent.com>
21084
21085 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
21086 \a still means TARGET_BELL.
21087
89076bb3
RH
210882002-02-28 Richard Henderson <rth@redhat.com>
21089
21090 * haifa-sched.c (sched_emit_insn): New.
21091 (schedule_block): Use last_scheduled_insn to track last insn.
21092 * sched-int.h (sched_emit_insn): Prototype.
21093 * config/ia64/ia64.c (last_issued): Remove.
21094 (ia64_variable_issue): Don't set it.
21095 (nop_cycles_until): Use sched_emit_insn.
21096
e3aaacf4
AM
210972002-02-28 Andrew MacLeod <amacleod@redhat.com>
21098
21099 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
21100 extended constants.
21101
7f473594
KH
211022002-02-28 Kazu Hirata <kazu@hxi.com>
21103
21104 * config/h8300/h8300.c: Fix formatting.
21105 * config/h8300/h8300.h: Likewise.
21106
b96c434c
MM
211072002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
21108
21109 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
21110 which may overwrite the high byte of the frame pointer.
21111
9b420a6a
BT
211122002-02-28 Bo Thorsen <bo@suse.de>
21113
21114 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
21115 (STARTFILE_SPEC): Add 64 bit files.
21116 (ENDFILE_SPEC): Likewise.
21117
6f30f1f1 211182002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
21119
21120 * c-decl.c (finish_function): Only warn about missing return
21121 statement with -Wreturn-type.
21122
70da1d03
JH
21123Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
21124
21125 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
21126
21127 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
21128 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
21129
38c1593d
JH
21130Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
21131
21132 * basic-block.h (BB_REACHABLE): Renumber.
21133 (BB_DIRTY, BB_NEW): New flags.
21134 (clear_bb_flags): Declare.
21135 (update_life_info_in_dirty_blocks): Declare.
21136 * cfg.c (clear_bb_flags): New function.
21137 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
21138 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
21139 reorder_insns, emit_insn_after): Mark block as dirty.
21140 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
21141 (update_life_info_in_dirty_blocks): New function.
21142 * recog.c (apply_change_group): Dirtify block.
21143
21144 * cse.c (cse_insn): Reorder emitting of jump insn to keep
21145 cfg consistent.
21146 * gcse.c (delete_null_pointer_checks): Likewise.
21147
21148 * toplev.c (dump_file_index): Move cse2 after bp,
21149 add DFI_null
21150 (dump_file_info): Similary.
21151 (rest_of_compilation): Avoid most of CFG rebuilds;
21152 do first if converision after null pointer checks, do cse2
21153 after branch prediction; avoid full liveness rebuild after
21154 initializing subregs.
21155 * invoke.texi (-d options): Document -du, renumber.
21156
21157 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
21158 (notice_new_block): Do not set BB_UPDATE_LIFE.
21159 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
21160 merge_blocks_move_successor_nojumps, merge_blocks,
21161 try_crossjump_to_edge): Likewise.
21162 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
21163 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
21164 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
21165 (merge_of_block): Do not use life_data_ok.
21166 (find_if_case_1): Do not use SET_UPDATE_LIFE.
21167 (if_convert): Use BB_DIRTY mechanizm to update life.
21168 * lcm.c (optimize_mode_switching): Update
21169 update_life_info_in_dirty_blocks
21170
63e1b1c4
NB
211712002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
21172
21173 * Makefile.in (integrate.o): Update.
21174 * c-decl.c (copy_lang_decl): Rename.
21175 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
21176 * integrate.c: Include langhooks.h.
21177 (copy_decl_for_inlining): Update to use langhook.
21178 * langhooks-def.h (lhd_do_nothing_t,
21179 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
21180 (LANG_HOOKS_INITIALIZER): Update.
21181 * langhooks.c (lhd_do_nothing_t): New.
21182 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
21183 * tree.h (copy_lang_decl): Remove.
21184objc:
21185 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
21186
f472fa29
AM
211872002-02-27 Andrew MacLeod <amacleod@redhat.com>
21188
ba31d94e 21189 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
21190 POST_DEC, and POST_MODIFY.
21191
273cf2e4
ZW
211922002-02-27 Zack Weinberg <zack@codesourcery.com>
21193
21194 * c-typeck.c (digest_init): Remove unused parameter; all
21195 callers changed.
21196
4e07d762
GK
211972002-02-27 Geoffrey Keating <geoffk@redhat.com>
21198
21199 * expmed.c (expand_shift): Correctly test for low part of a
21200 subreg.
21201
6bc627b3
UW
212022002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
21203
21204 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
21205 insn UIDs with insn addresses.
21206
f458d1d5
ZW
212072002-02-27 Zack Weinberg <zack@codesourcery.com>
21208
21209 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
21210 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
21211 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
21212 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
21213 gcc.c, toplev.c: Delete code implementing -traditional mode.
21214
21215 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
21216 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
21217 Document removal of -traditional mode for compilation, and
21218 remove documentation only relevant to that mode.
21219
21220 * config/nextstep.h, config/ptx4.h, config/svr4.h,
21221 config/convex/convex.h, config/d30v/d30v.h,
21222 config/i386/dgux.h, config/i386/osf1elf.h,
21223 config/i386/osfelf.h, config/i386/osfrose.h,
21224 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
21225 config/m68k/hp310.h, config/m88k/dgux.h,
21226 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
21227 config/m88k/m88k.h, config/m88k/openbsd.h,
21228 config/mips/abi64.h, config/mips/osfrose.h,
21229 config/mips/svr4-5.h, config/mips/svr4-t.h,
21230 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
21231 config/stormy16/stormy16.h: Remove all references to
21232 -traditional from target specs. Delete all mention of the
21233 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
21234 delete a couple of commented-out definitions of
21235 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
21236 to -traditional.
21237
21238 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
21239 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
21240
e0b3a8ff
ZW
212412002-02-27 Zack Weinberg <zack@codesourcery.com>
21242
21243 * mklibgcc.in: Don't use \n in a line subject to
21244 interpretation by echo.
21245
5c6a85b7
GS
212462002-02-27 Graham Stott <grahams@redhat.com>
21247
72b05af1
GS
21248 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
21249 Constify NAME.
21250
7d104885
GS
21251 * loop.c (prescan_loop): Handle PARALLEL.
21252
8ed805d2
GS
21253 * unroll.c (loop_iterations): Return 0 if the add_val for
21254 a BIV is REG.
21255
fd478a0a
GS
21256 * final.c (output_operand_lossage): Constify PFX_STR.
21257
5c6a85b7
GS
21258 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
21259
cd98ad03
JH
21260Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
21261
21262 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
21263 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
21264
639ae55b
JH
21265Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
21266
21267 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
21268
e808ec9c
NB
212692002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
21270
21271 * cpplex.c (_cpp_lex_token): Handle directives in macro
21272 arguments.
21273 * cpplib.c (_cpp_handle_directive): Save and restore state
21274 if parsing macro args when entering a directive.
21275 * cppmacro.c (collect_args): No need to handle directives
21276 in macro arguments.
21277 (enter_macro_context, replace_args): Use the original macro
21278 definition in case it was redefined whilst collecting arguments.
21279doc:
21280 * cpp.texi: Update.
21281
f585a356
DE
212822002-02-26 David Edelsohn <edelsohn@gnu.org>
21283
21284 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
21285 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
21286 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
21287 method on AIX.
21288 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
21289 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
21290 (load_toc_v4_PIC_2): Same.
21291
212922002-02-26 Alan Modra <amodra@bigpond.net.au>
21293
21294 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
21295
d699058e
RH
212962002-02-26 Richard Henderson <rth@redhat.com>
21297
21298 * config/alpha/alpha.md (ashldi_se): Re-enable.
21299
eadccfbb
RH
213002002-02-26 Richard Henderson <rth@redhat.com>
21301
21302 * config/alpha/alpha.c (alpha_encode_section_info): Examine
21303 MODULE_LOCAL_P; improve commentary.
21304
7080ada1
ZW
213052002-02-26 Zack Weinberg <zack@codesourcery.com>
21306
21307 * doc/cpp.texi: Clarify documentation of relationship between
21308 #line and #include.
21309
b42cff6b
KH
213102002-02-26 Kazu Hirata <kazu@hxi.com>
21311
21312 * config/h8300/h8300-protos.h: Update the prototype for
21313 compute_logical_op_length. Add the prototype for
21314 compute_logical_op_cc.
21315 * config/h8300/h8300.c (compute_logical_op_length): Figure out
21316 code from operands.
21317 (compute_logical_op_cc): New.
21318 * config/h8300/h8300.md: Combine all the logical op patterns
21319 in HImode and SImode. Use compute_logical_op_cc.
21320
831c4e87
KC
213212002-02-26 Kelley Cook <kelleycook@comcast.net>
21322
21323 * config/i386/i386.c (print_operand): Don't append ATT-style
21324 length suffixs to x87 opcodes when in Intel mode.
21325
ff88fe10
RS
213262002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
21327
21328 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
21329 (init_emit_once): Update calls.
21330 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
21331 (init_syntax_once): Prototype.
21332
d4108589
JDA
213332002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
21334
21335 * pa-linux.h (LIB_SPEC): Update definition.
21336 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
21337
e013f3c7
RH
213382002-02-26 Richard Henderson <rth@redhat.com>
21339
21340 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
21341 if we emitted a stop bit.
21342
9e944a16
JJ
213432002-02-26 Jakub Jelinek <jakub@redhat.com>
21344
21345 * configure.in (libgcc_visibility): Substitute.
21346 * configure: Rebuilt.
21347 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
21348 defined symbols .hidden.
21349
47bd70b5
JJ
213502002-02-26 Jakub Jelinek <jakub@redhat.com>
21351
21352 * attribs.c (c_common_attribute_table): Add visibility.
21353 (handle_visibility_attribute): New function.
21354 * varasm.c (assemble_visibility): New function.
21355 * output.h (assemble_visibility): Add prototype.
21356 * tree.h (MODULE_LOCAL_P): Define.
21357 * crtstuff.c (__dso_handle): Use visibility attribute.
21358 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
21359 for MODULE_LOCAL_P symbols too.
21360 * config/ia64/ia64.c (ia64_encode_section_info): Handle
21361 MODULE_LOCAL_P symbols the same way as local symbols.
21362 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
21363 into .sdata/.sbss by the user.
21364 * doc/extend.texi (Function Attributes): Document visibility
21365 attribute.
21366
6d73371a
JJ
213672002-02-26 Jakub Jelinek <jakub@redhat.com>
21368
21369 PR debug/5770
21370 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
21371 STRING_CST initializer spanning the whole variable without
21372 embedded zeros.
21373 If expand_expr returned MEM, don't use it.
21374
06e224f7
AO
213752002-02-26 Alexandre Oliva <aoliva@redhat.com>
21376
21377 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
21378 generate a die for the lexical block.
21379
40367e2d
KH
213802002-02-26 Kazu Hirata <kazu@hxi.com>
21381
21382 * config/h8300/h8300-protos.h: Add a prototype for
21383 compute_logical_op_length.
21384 * config/h8300/h8300.c (compute_logical_op_length): New.
21385 * config/h8300/h8300.md (anonymous logical patterns): Use
21386 compute_logical_op_length for length.
21387
0e98f924
AH
213882002-02-26 Aldy Hernandez <aldyh@redhat.com>
21389
831c4e87
KC
21390 * dwarf2out.c (modified_type_die): Do not call type_main_variant
21391 for vectors.
21392 (gen_type_die): Same.
0e98f924 21393
831c4e87 21394 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 21395
a50cfd52
DE
213962002-02-26 Daniel Egger <degger@fhm.edu>
21397
831c4e87
KC
21398 * config/rs6000/rs6000.md: Swap define_insn attributes to
21399 fix incorrect generation of merge high instructions instead
21400 of merge low.
a50cfd52 21401
b7997284
AH
214022002-02-26 Aldy Hernandez <aldyh@redhat.com>
21403
831c4e87
KC
21404 * c-typeck.c (really_start_incremental_init): Use
21405 bitsize_zero_node for vectors.
b7997284 21406
376aec5d
AH
214072002-02-26 Aldy Hernandez <aldyh@redhat.com>
21408
831c4e87
KC
21409 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
21410 ("*set_vrsave_internal"): Same.
376aec5d 21411
3b40e71b
RH
214122002-02-25 Richard Henderson <rth@redhat.com>
21413
21414 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
21415 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
21416
232b8f52
JJ
214172002-02-25 Jakub Jelinek <jakub@redhat.com>
21418
21419 PR target/5755
21420 * config/i386/i386.c (ix86_return_pops_args): Only pop
21421 fake structure return argument if it was passed on the stack.
21422
67282790
JM
214232002-02-25 Jason Merrill <jason@redhat.com>
21424
21425 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
21426 RESULT_DECL.
21427
5c181756
AO
214282002-02-25 Alexandre Oliva <aoliva@redhat.com>
21429
21430 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
21431 link with shared_name only.
21432 * doc/invoke.texi (Link Options): Document new behavior.
21433
6786d201
AH
214342002-02-25 Aldy Hernandez <aldyh@redhat.com>
21435
831c4e87 21436 * c-typeck.c (push_init_level): Handle vectors.
6786d201 21437
7d6040e8
AO
214382002-02-25 Alexandre Oliva <aoliva@redhat.com>
21439
21440 * config/sparc/sparc.c (const64_high_operand): Zero-extend
21441 operands of SPARC_SETHI_P.
21442 (input_operand): Likewise.
21443 (sparc_emit_set_const32): Likewise.
21444 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
21445 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
21446 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
21447 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
21448 (movdi_insn_sp64_vis): Likewise.
21449 (movdi split, movdf split): Use SETHI32.
21450 * doc/md.texi: Document SPARC constraints L, M and N.
21451
b188f760
AH
214522002-02-25 Aldy Hernandez <aldyh@redhat.com>
21453
831c4e87
KC
21454 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
21455 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 21456
831c4e87
KC
21457 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
21458 gen_get_vrsave_internal.
b188f760 21459
8041889f
RK
21460Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21461
21462 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
21463
a47ed310
NB
214642002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
21465
21466 * cpplex.c (cpp_interpret_charconst): Get signedness or
21467 otherwise of wide character constants correct.
21468 * cppexp.c (lex): Get signedness of wide charconsts correct.
21469
cb8f73be
RK
21470Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21471
21472 * optabs.c (widen_operand): Only call convert_modes for
21473 promoted SUBREG if signedness matches.
21474 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
21475
2450e0b8
NB
214762002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21477
21478 * cpplib.c (glue_header_name): Use local buffer to build up
21479 header name.
21480
70b6aaed
NB
214812002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21482
21483 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
21484
6be580c7
KH
214852002-02-23 Kazu Hirata <kazu@hxi.com>
21486
21487 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
21488 H8/300[HS] separately.
21489 * config/h8300/h8300.md: Remove the early clobber constraint
21490 from bit field patterns.
21491
35dad9f1
KH
214922002-02-23 Kazu Hirata <kazu@hxi.com>
21493
21494 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
21495 register_operand.
21496 (mulhisi3): Likewise.
21497 (umulqisi3): Likewise.
21498 (umulhisi3): Likewise.
21499
ab8e2228
NB
215002002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21501
21502 * cppinit.c (output_deps): Correct test for stdout output.
21503 (init_dependency_output): Cure warning.
21504
ac6f8a15
RK
21505Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21506
21507 * expr.c (store_expr): When converting expression to promoted
21508 equivalent type, allow using SUBREG_REG of TARGET as the target
21509 of the expansion of EXP.
21510 * loop.c (basic_induction_var, case SUBREG): Always look inside.
21511 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
21512 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
21513 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
21514 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
21515
f282ffb3
JM
215162002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
21517
21518 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
21519 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
21520 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
21521
44c5edc0
JJ
215222002-02-23 Jakub Jelinek <jakub@redhat.com>
21523
21524 PR optimization/5747
21525 * loop.c (scan_loop): Update reg info if move_movables created new
21526 pseudos.
21527
f98e43c0
DE
215282002-02-23 David Edelsohn <edelsohn@gnu.org>
21529
21530 * gcc.c (init_gcc_spec): Revert last change.
21531
e72247f4
DE
215322002-02-23 David Edelsohn <edelsohn@gnu.org>
21533
21534 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
21535 gpc_reg_operand constraint.
21536
215372002-02-23 Alan Modra <amodra@bigpond.net.au>
21538
21539 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
21540 Simplify comparison of `low'.
21541 (add_operand): Fix formatting.
21542 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 21543 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
21544 (rs6000_stack_info): Remove redundant test setting push_p.
21545 (output_toc): Fix formatting.
21546 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
21547 cc_reg_not_cr0_operand constraint.
21548 (booldi3, boolcdi3 splitters): Same.
21549
a5c30531
AH
215502002-02-23 Aldy Hernandez <aldyh@redhat.com>
21551
831c4e87 21552 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 21553
43710f9f
DE
215542002-02-22 David Edelsohn <edelsohn@gnu.org>
21555
21556 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
21557 gcc invoked with -shared-libgcc.
21558
3256b817
JJ
215592002-02-22 Jakub Jelinek <jakub@redhat.com>
21560
21561 PR c++/5748
21562 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
21563 decl if any of elements was TREE_USED.
21564
9e0625a3
AO
215652002-02-22 Alexandre Oliva <aoliva@redhat.com>
21566
21567 * config/sparc/sol2.h: Don't include sys/mman.h.
21568 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
21569 (arith_4096_operand): Don't throw high bits away.
21570 (const64_operand): Take sign extension of CONST_INTs into account.
21571 (const64_high_operand, sparc_emit_set_const32): Likewise.
21572 (GEN_HIGHINT64): Likewise.
21573 (sparc_emit_set_const64_quick1): Likewise.
21574 (const64_is_2insns): Likewise.
21575 (print_operand): Use trunc_int_for_mode for sign extension.
21576 * config/sparc/sparc.h (SMALL_INT32): Likewise.
21577 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
21578 chars. Assume CONST_INT is already properly sign-extended.
21579 (movdi split): Sign-extend each SImode part.
21580 (andsi3 split): Don't mask high bits off, so that result
21581 remains properly sign-extend.
21582 (iorsi3 split): Likewise.
21583 (xorsi3 split): Likewise.
21584
54fec3d5
RS
215852002-02-22 Richard Sandiford <rsandifo@redhat.com>
21586
21587 * fold-const.c (fold): Fix typo in comments.
21588
667ada9b
DN
215892002-02-21 Diego Novillo <dnovillo@redhat.com>
21590
21591 * Makefile.in (langhooks.o): Update dependencies.
21592
29ac78d5
DN
215932002-02-21 Diego Novillo <dnovillo@redhat.com>
21594
21595 * langhooks.c: Include flags.h.
21596
6aa77e6c
AH
215972002-02-21 Aldy Hernandez <aldyh@redhat.com>
21598
21599 * testsuite/gcc.dg/attr-alwaysinline.c: New.
21600
21601 * c-common.c (c_common_post_options): Set inline trees by
21602 default.
21603
21604 * doc/extend.texi (Function Attributes): Document always_inline
21605 attribute.
21606 Update documentation about inlining when not optimizing.
21607
21608 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
21609
21610 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
21611 unless DECL_ALWAYS_INLINE.
21612
21613 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
21614 unless DECL_ALWAYS_INLINE.
21615 (c_disregard_inline_limits): Disregard if always_inline set.
21616
21617 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
21618 Disregard if always_inline set.
21619 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
21620 unless DECL_ALWAYS_INLINE.
21621
21622 * attribs.c (handle_always_inline_attribute): New.
21623 (c_common_attribute_table): Add always_inline.
21624
21625 * config/rs6000/altivec.h: Add prototypes for builtins
21626 requiring the always_inline attribute.
21627
c410d49e
EC
216282002-02-21 Eric Christopher <echristo@redhat.com>
21629
21630 * expmed.c (store_bit_field): Try to simplify the subreg
21631 before generating a new one when when the mode size of
21632 value is less than maxmode.
21633
e3c8ea67
RH
216342002-02-21 Richard Henderson <rth@redhat.com>
21635
21636 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
21637 than gen_rtx_PLUS to form the sum.
21638 * explow.c (force_reg): Rearrange to not allocate new pseudo
21639 when force_operand returns a register.
21640 * expr.c (expand_assignment): Allow offset_rtx expansion to
21641 return a sum. Do not force addresses into registers.
21642 (expand_expr): Likewise.
21643 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
21644 to canonicalize arithmetic that didn't simpify.
21645 (simplify_plus_minus): New argument force; update
21646 all callers. Don't split CONST unless we can do something with it,
21647 and wouldn't lose the constness of the operands.
21648
21649 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
21650 that we generated earlier.
21651
c1a046e5
TT
216522002-02-21 Tom Tromey <tromey@redhat.com>
21653
21654 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21655 (output_line_info): Use constant `1', with a long explanatory
21656 comment.
21657 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
21658
31fbaad4
R
21659Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
21660
21661 * jump.c (redirect_jump): If old label has no UID, don't try to
21662 delete it.
21663
a7f52356
R
21664Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
21665
21666 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
21667 If input is constant, do shifts at compile time.
21668
924fcc4e
JM
216692002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
21670
21671 * doc/extend.texi: Fix some more overfull hboxes.
21672
e5a20888
JJ
216732002-02-21 Jakub Jelinek <jakub@redhat.com>
21674
21675 PR optimization/4994
21676 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
21677 register moves.
21678
216792002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
21680
21681 PR c++/4574
21682 * expr.h (expand_and): Add mode argument.
21683 * expmed.c (expand_and): Add mode argument.
21684 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
21685 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
21686 * except.c (expand_builtin_extract_return_addr): Likewise.
21687 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
21688 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
21689 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
21690 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
21691 * config/c4x/c4x.md: Use GEN_INT (x) instead of
21692 gen_rtx (CONST_INT, VOIDmode, x).
21693
7133e992
JJ
216942002-02-21 Jakub Jelinek <jakub@redhat.com>
21695
21696 PR c/4697:
21697 * stmt.c (warn_if_unused_value): Move side effects test once more.
21698
e2ec05a6
TG
216992002-02-20 Torbjorn Granlund <tege@swox.com>
21700
21701 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 21702 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 21703
9dd791c8
AO
21704Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
21705
21706 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
21707 SUBREG or ZERO_EXTEND.
21708
7ab56274
R
21709Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
21710
21711 * sh.h (current_function_anonymous_args): Remove.
21712 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
21713 of current_function_varargs and current_function_stdarg is set.
21714 * sh.c (sh_expand_prologue): Check current_function_varargs /
21715 current_function_stdarg / TARGET_SH5 instead of
21716 current_function_anonymous_args.
21717
21718 * sh64.h (TARGET_VERSION): Define.
21719
b1765bde
DE
217202002-02-20 David Edelsohn <edelsohn@gnu.org>
21721
21722 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
21723 VRSAVE_REGNO on TARGET_ALTIVEC.
21724
217252002-02-20 Alan Modra <amodra@bigpond.net.au>
21726
21727 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
21728 bits of SImode const_int.
21729 (includes_rshift_p): Likewise.
21730 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 21731 mode.
b1765bde
DE
21732 (rs6000_output_function_epilogue): Pad traceback table to word.
21733 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
21734 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
21735 mask64_operand with correct mode.
b1765bde
DE
21736 (FUNCTION_ARG_REGNO_P): Correct parentheses.
21737
149d6f9e
JJ
217382002-02-20 Jakub Jelinek <jakub@redhat.com>
21739
21740 PR debug/4461
21741 * varasm.c (get_pool_constant_mark): New.
21742 * rtl.h (get_pool_constant_mark): Add prototype.
21743 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
21744 be represented if it has not been output.
21745
4161da12
AO
217462002-02-20 Alexandre Oliva <aoliva@redhat.com>
21747
21748 * combine.c (do_SUBST): Sanity check substitutions of
21749 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
21750 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
21751 CONST_INT into its operand.
21752 (known_cond): Likewise, for ZERO_EXTEND.
21753 * simplify-rtx.c (simplify_unary_operation): Fix condition to
21754 allow for simplification of wide modes. Reject CONST_INTs in
21755 ZERO_EXTEND when their actual mode is not given.
21756
3704ef74
AO
217572002-02-20 Alexandre Oliva <aoliva@redhat.com>
21758
21759 * c-decl.c (pushdecl): If no global declaration is found for an
21760 extern declaration in block scope, try a limbo one.
21761
7552da58
JJ
217622002-02-20 Jakub Jelinek <jakub@redhat.com>
21763
21764 PR c++/4401
21765 * c-common.c (pointer_int_sum): Moved from...
21766 * c-typeck.c (pointer_int_sum): ...here.
21767 * c-common.h (pointer_int_sum): Add prototype.
21768
00fae85d
JJ
217692002-02-20 Jakub Jelinek <jakub@redhat.com>
21770
21771 PR c++/5713
21772 * c-decl.c (duplicate_decls): Return 0 if issued error about
21773 redeclaration.
21774
4636c87e
JJ
217752002-02-20 Roger Sayle <roger@eyesopen.com>
21776 Jakub Jelinek <jakub@redhat.com>
21777
21778 PR c/4389
21779 * tree.c (host_integerp): Ensure that the constant integer is
21780 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
21781 when pos is zero or non-zero respectively. Clarify comment.
21782 * c-format.c (check_format_info_recurse): Fix host_integerp
21783 usage; the pos argument should be zero when assigning to a
21784 signed HOST_WIDE_INT.
21785
59bef189
RH
217862002-02-20 Richard Henderson <rth@redhat.com>
21787
21788 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
21789 of the operand, rather than assuming TImode.
21790 (ix86_expand_binop_builtin): Cope with commutative patterns
21791 using nonimmediate_operand for both operands.
21792 (ix86_expand_timode_binop_builtin): Likewise.
21793 (ix86_expand_store_builtin): Validate operand 1.
21794 (ix86_expand_unop1_builtin): Likewise.
21795
9338ffe6 217962002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 21797
9338ffe6
PB
21798 PR 5705
21799 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
21800
f322b423
RH
218012002-02-20 Richard Henderson <rth@redhat.com>
21802
21803 PR c/5615
21804 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
21805
d94084f7
TT
218062002-02-20 Tom Tromey <tromey@redhat.com>
21807
21808 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21809 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21810 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21811 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21812 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
21813 unconditionally.
21814
37fa124a
AM
21815Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
21816
21817 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
21818 for (const_int 0) in X not just INTVAL.
21819
6e5bb5ad
JM
218202002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
21821
21822 * doc/extend.texi: Avoid or reduce overfull hboxes.
21823
420e7dfa
DN
218242002-02-20 Diego Novillo <dnovillo@redhat.com>
21825
21826 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
21827 operations if the field does not start at a mode boundary.
21828
1b7a2af6
JS
218292001-02-20 Joel Sherrill <joel@OARcorp.com>
21830
21831 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
21832 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
21833 Also done for -Acpu and -Amachine.
21834
56cd5b95
NB
218352002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
21836
21837 * cppinit.c (init_dependency_output): Take deps output file
21838 from -o if none given with -MF. Suppress normal output.
c410d49e 21839 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
21840 * doc/cpp.texi, doc/invoke.texi: Update.
21841
042cdf71
ZW
218422002-02-19 Zack Weinberg <zack@codesourcery.com>
21843
21844 * toplev.c (output_quoted_string): Write unprintable
21845 characters with octal escapes.
21846
c1f11548
DE
218472002-02-19 David Edelsohn <edelsohn@gnu.org>
21848
21849 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
21850 really_call_used[VRSAVE_REGNO] if not Altivec.
21851
218522002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 21853
c1f11548
DE
21854 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
21855 MODE_MASK.
21856 (constant_pool_expr_1): Fix formatting.
21857 (rs6000_legitimize_reload_address): Likewise.
21858
c964d90e
RK
21859Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21860
21861 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
21862 now that we have one.
21863
ae34ac46
ZW
218642002-02-19 Zack Weinberg <zack@codesourcery.com>
21865
21866 * tree.h (struct tree_common): Remove aux. Add unused_0 at
21867 end of first block of bitfields (which was only seven bits);
21868 rename dummy to unused_1; remove comment which is no longer true.
21869
293c28ee
GS
218702002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
21871
21872 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
21873
7b8781c8
PB
218742002-02-19 Philip Blundell <pb@nexus.co.uk>
21875
0cb6c58d 21876 PR 5399
7b8781c8
PB
21877 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
21878 if generating PIC.
21879
21880 PR 5054
21881 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
21882 arm_is_longcall_p rather than inspecting call-type cookie
21883 directly.
21884 (call_value_insn) [TARGET_THUMB]: Likewise.
21885
5c464583
GS
218862002-02-19 Graham Stott <grahams@redhat.com>
21887
21888 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
21889
71c061e6
DE
218902002-02-19 David Edelsohn <edelsohn@gnu.org>
21891
21892 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
21893 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 21894 (FP_SAVE_INLINE): Delete.
71c061e6
DE
21895
21896 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
21897 * config/rs6000/eabi.asm: Remove ABI save restore routines.
21898 * config/rs6000/t-ppccomm: Build crtsavres.o.
21899 * config/rs6000/crtsavres.asm: New file.
21900
3a7731fd
PB
219012002-02-19 Philip Blundell <philb@gnu.org>
21902
21903 * config/arm/arm.c (use_return_insn): Don't reject interrupt
21904 functions.
21905 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
21906 (output_return_instruction): Allow interrupt functions to return with
21907 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
21908 (arm_expand_prologue): Subtract 4 before stacking LR in an
21909 interrupt function.
21910
14f583b8
PB
219112002-02-19 Philip Blundell <pb@nexus.co.uk>
21912
21913 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
21914 decl, not just FUNCTION_DECL.
21915 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
21916 (arm_assemble_integer): Likewise.
21917 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
21918 marked local.
c410d49e 21919
4cb7482c
MG
219202002-02-19 matthew green <mrg@eterna.com.au>
21921
21922 * config.gcc (sparc-*-netbsdelf*): Enable target.
21923 (sparc64-*-netbsd*): New target.
21924 * config/sparc/netbsd-elf.h: New file.
21925 * config/sparc/t-netbsd64: New file.
21926
2df3a718
GS
219272002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
21928
21929 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
21930
77f6c1eb
RS
219312002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
21932
21933 * doc/invoke.texi: explicitly list the style guidelines that
21934 -Weffc++ checks for.
21935
fd973d56
JH
21936Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
21937
21938 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
21939
30518e45
NB
219402002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
21941
21942 PR other/5718
21943 * gcc.c (cpp_unique_options): Treat -o as indicating object file
21944 only if not -E. If -E, pass -o through to the preprocessor.
21945
39ea5704
KH
219462002-02-19 Kazu Hirata <kazu@hxi.com>
21947
21948 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
21949 register number with an appropriate macro.
21950
7355dba7
BM
219512002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
21952
21953 * doc/rtl.texi (Constants): Close @code tag.
21954
91c8aa9e
AH
219552002-02-19 Aldy Hernandez <aldyh@redhat.com>
21956
21957 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
21958 ("mmx_uavgv4hi3"): Same.
21959 ("pmulhrwv4hi3"): Same.
21960
21961 * tree-inline.c (walk_tree): Handle vectors.
21962
21963 * c-common.c (constant_expression_warning): Handle vectors.
21964 (overflow_warning): Same.
21965
21966 * sched-deps.c (sched_analyze_2): Handle vectors.
21967
21968 * rtlanal.c (rtx_unstable_p): Handle vectors.
21969 (rtx_varies_p): Same.
21970 (count_occurrences): Same.
21971 (regs_set_between_p): Same.
21972 (modified_between_p): Same.
21973 (modified_in_p): Same.
21974 (volatile_insn_p): Same.
21975 (volatile_refs_p): Same.
21976 (side_effects_p): Same.
21977 (may_trap_p): Same.
21978 (inequality_comparisons_p): Same.
21979 (replace_regs): Same.
21980 (computed_jump_p_1): Same.
21981
21982 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
21983 argument.
21984 (inner_mode_array): New.
21985 (copy_rtx): Handle vectors.
21986 (copy_most_rtx): Same.
21987 (rtx_equal_p): Same.
21988 (get_mode_alignment): Adjust for vectors.
21989
21990 * resource.c (mark_referenced_resources): Handle vectors.
21991 (mark_set_resources): Same.
21992
21993 * reload1.c (eliminate_regs): Handle vectors.
21994 (elimination_effects): Same.
21995 (scan_paradoxical_subregs): Same.
21996
21997 * reload.c (subst_reg_equivs): Handle vectors.
21998
21999 * regrename.c (scan_rtx): Handle vectors.
22000
22001 * regclass.c (reg_scan_mark_refs): Handle vectors.
22002
22003 * recog.c (find_single_use_1): Handle vectors.
22004
22005 * local-alloc.c (equiv_init_varies_p): Handle vectors.
22006 (contains_replace_regs): Same.
22007 (memref_referenced_p): Same.
22008
22009 * integrate.c (copy_rtx_and_substitute): Handle vectors.
22010 (subst_constants): Same.
22011
22012 * genattrtab.c (attr_copy_rtx): Handle vectors.
22013 (encode_units_mask): Same.
22014 (clear_struct_flag): Same.
22015 (count_sub_rtxs): Same.
22016
22017 * gcse.c (want_to_gcse_p): Handle vectors.
22018 (oprs_unchanged_p): Same.
22019 (hash_expr_1): Same.
22020 (oprs_not_set_p): Same.
22021 (expr_killed_p): Same.
22022 (compute_transp): Same.
22023 (store_ops_ok): Same.
22024
22025 * function.c (purge_addressof_1): Do not allow paradoxical subregs
22026 of vectors.
22027 (fixup_var_refs_1): Same.
22028 (instantiate_virtual_regs_1): Same.
22029
22030 * fold-const.c (operand_equal_p): Handle vectors.
22031 (fold): Same.
22032 (rtl_expr_nonnegative_p): Same.
22033
22034 * flow.c (mark_used_regs): Handle vectors.
22035
22036 * df.c (df_uses_record): Handle vectors.
22037
22038 * cselib.c (cselib_subst_to_values): Handle vectors.
22039 (cselib_mem_conflict_p): Same.
22040 (hash_rtx): Same.
22041
22042 * cse.c (canon_reg): Handle vectors.
22043 (fold_rt): Same.
22044 (cse_process_notes): Same.
22045 (count_reg_usage): Same.
22046 (canon_hash): Same.
22047
22048 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
22049
22050 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
22051
22052 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
22053 (gen_rtx): Handle CONST_VECTOR.
22054 (gen_const_vector_0): New.
22055 (copy_rtx_if_shared): CONST_VECTORs can be shared.
22056 (reset_used_flags): Same.
22057 (copy_insn_1): Same.
22058 (initializer_constant_valid_p): Handle VECTOR_CST.
22059
22060 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
22061
22062 * doc/rtl.texi (Constants): Document const_vector.
22063 (CONST0_RTX): Update for vectors.
22064 (RTL sharing): Same.
22065
22066 * print-tree.c (print_node): Add case for VECTOR_CST.
22067
22068 * tree.h (TREE_VECTOR_CST_ELTS): New.
22069 (struct tree_vector): New.
22070 (union tree_node): Add vector node.
22071 (build_vector): Add prototype.
22072
22073 * tree.def (VECTOR_CST): New.
22074
22075 * tree.c (build_vector): New.
22076
22077 * expmed.c (make_tree): Handle CONST_VECTOR.
22078
22079 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
22080 (CONST_VECTOR_ELT): New.
22081 (CONST_VECTOR_NUNITS): New.
22082
22083 * machmode.h (GET_MODE_INNER): New.
22084 (DEF_MACHMODE): Accept 8th arg.
22085
22086 * machmode.def: Add 8th argument for vector inner mode.
22087 Add inner vector modes for vectors.
22088
22089 * rtl.def (VEC_CONST): Remove.
22090 (CONST_VECTOR): New.
22091
22092 * expr.c (clear_storage): Allow vectors.
22093 (is_zeros_p): Handle VECTOR_CST.
22094
22095 * varasm.c (output_constant_pool): Handle vectors.
22096 (rtx_const): Add veclo and vechi fields.
22097 (kind): Add RTX_VECTOR.
22098 (decode_rtx_const): Add case for vector.
22099
22100 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 22101
91c8aa9e
AH
22102 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
22103 constants. Force easy vector constants into memory.
22104 (easy_vector_constant): New.
22105 (emit_easy_vector_constant): New.
22106 (rs6000_legitimize_reload_address): Do not generate bad reloads on
22107 darwin.
22108
22109 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
22110 instruction does.
22111 ("altivec_lvxl"): Same.
22112 (altivec_lvebx): Same.
22113 (altivec_lvehx): Same.
22114 (altivec_lvewx): Same.
22115 ("*movv4si_const0"): New.
22116 ("*movv4sf_const0"): New.
22117 ("*movv8hi_const0"): New.
22118 ("*movv16qi_const0"): New.
22119
d4d6d0ce
KH
221202002-02-18 Kazu Hirata <kazu@hxi.com>
22121
22122 * config/h8300/h8300.c (notice_update_cc): Use
22123 cc_status.value2.
22124
4915d3aa
KH
221252002-02-18 Kazu Hirata <kazu@hxi.com>
22126
22127 * config/h8300/h8300.md (divmod patterns): Change the
22128 constraints for operands[1] to register_operand.
22129
82be00ee
KH
221302002-02-18 Kazu Hirata <kazu@hxi.com>
22131
22132 * config/h8300/h8300-protos.h: Remove the prototype for
22133 p_operand.
22134 * config/h8300/h8300.c (p_operand): Remove.
22135 * config/h8300/h8300.md: Replace p_operand with
22136 const_int_operand.
22137
1768c26f
PB
221382002-02-18 Philip Blundell <pb@nexus.co.uk>
22139
22140 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
22141 comment.
22142 (output_return_instruction): Allow use of LDR to unstack
22143 return addresss even for interrupt handlers or when
22144 interworking. If compiling for ARMv5, use interworking-safe
22145 return instructions by default. Remove duplicated code and
22146 lengthy "strcat" sequences.
22147
ccd84f51
FS
221482002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
22149
22150 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
22151 (LINK_EH_SPEC): Define.
22152 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
22153
2c153108
UW
221542002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
22155
22156 * config/s390/s390.c (s390_emit_prologue): Do not set the
22157 frame_related flag for call-clobbered registers.
22158
e95d6b23
JH
22159Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
22160
22161 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
22162 (construct_container): Fix handling of SSE operands.
22163 (ix86_expand_builtin): Fix handling of 64bit pointers.
22164 (mmx_maskmovq_rex): New pattern.
22165
c43a12b5
JH
22166Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
22167
22168 * regrename.c (kill_set_value): Handle subregs properly.
22169
aeb85a15
DB
221702002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
22171
22172 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 22173 from objc_class_name.
aeb85a15 22174
a615ca3e
RH
221752002-02-17 Richard Henderson <rth@redhat.com>
22176
22177 * config/alpha/alpha.c (some_small_symbolic_operand,
22178 some_small_symbolic_operand_1, split_small_symbolic_operand,
22179 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
22180 Handle small SYMBOL_REFs anywhere, not just inside memories.
22181 * config/alpha/alpha-protos.h: Update.
22182 * config/alpha/alpha.h (PREDICATE_CODES): Update.
22183 * config/alpha/alpha.md (small symbolic operand splitter): Update.
22184
ddb28441
RM
221852002-02-17 Roland McGrath <roland@frob.com>
22186
22187 * config.gcc (powerpc-*-gnu-gnualtivec*,
22188 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
22189 * config/rs6000/gnu.h: New file.
22190 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
22191 Grok "gnu" in rs6000_abi_name.
22192 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
22193 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
22194 Grok -mcall-gnu analogous to -mcall-linux et al.
22195 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
22196 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
22197 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
22198
f6f8ada3
JJ
221992002-02-17 Jakub Jelinek <jakub@redhat.com>
22200
22201 PR c/3444:
22202 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
22203 shortening.
22204
e16b32fc
PT
222052002-02-17 Philipp Thomas <pthomas@suse.de>
22206
22207 * config/cris/cris.h: Undefine STARTFILE_SPEC and
22208 ENDFILE_SPEC before (re)defining them.
22209
f9477efd
KH
222102002-02-17 Kazu Hirata <kazu@hxi.com>
22211
22212 * config/h8300/h8300.c: Fix formatting.
22213 * config/h8300/h8300.h: Likewise.
22214
404ae494
PT
222152002-02-17 Philipp Thomas <pthomas@suse.de>
22216
22217 * doc/tm.texi: Explain why empty strings should not be
22218 marked for translation.
22219
a52453cc
PT
222202002-02-17 Philipp Thomas <pthomas@suse.de>
22221
22222 * final.c (output_operand_lossage): Changed to accept
22223 printf style arguments. Change calls where necessary.
22224 * output.h (output_operand_lossage): Change declaration
22225 accordingly. Update copyright.
22226 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
22227 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
22228 Update copyright date where necessary.
c410d49e 22229
a52453cc
PT
22230 * config/i386/i386.c (print_operand): Likewise. Remove use of
22231 sprintf.
22232
22233 * config/cris/cris.c (cris_operand_lossage): Likewise.
22234 Rename parameter so that exgettext recognizes it as
22235 translatable message.
22236 (LOSE_AND_RETURN): Rename parameter to msgid.
22237
1c11abc4
KH
222382002-02-17 Kazu Hirata <kazu@hxi.com>
22239
22240 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
22241 hard coded register number with an appropriate macro.
22242 (HARD_REGNO_MODE_OK): Likewise.
22243 (ARG_POINTER_REGNUM): Likewise.
22244 (STATIC_CHAIN_REGNUM): Likewise.
22245 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
22246 * config/h8300/h8300.md (define_constants): Define more
22247 register numbers.
22248
a5d17ff3
PT
222492002-02-17 Philipp Thomas <pthomas@suse.de>
22250
22251 * config/i386/i386.h: Don't mark empty strings for translation.
22252
1a7289c4
L
222532002-02-16 H.J. Lu <hjl@gnu.org>
22254
22255 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
22256
afb58288
ZW
222572002-02-16 Zack Weinberg <zack@codesourcery.com>
22258
22259 * cppinit.c (merge_include_chains): Check for brack being
22260 NULL before attempting to merge it with qtail.
22261
d2af4dbd
AC
222622002-02-16 Andrew Cagney <ac131313@redhat.com>
22263
22264 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
22265 DBX_DEBUG.
22266
2e1ed1e3
JDA
222672002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
22268
22269 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
22270
604c75b2
JDA
222712002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
22272
22273 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
22274 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
22275 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
22276
1a42b072
RK
22277Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22278
7303604f 22279 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
22280 now only if !TARGET_FIX.
22281 (*movsi_nt_vms_fix): New pattern.
22282
c2ea1ac6
DR
222832002-02-16 Douglas B Rupp <rupp@gnat.com>
22284
22285 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
22286 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
22287 (alpha_sa_mask, alpha_sa_size): Reflect above change.
22288 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
22289 (alpha_start_function, alpha_expand_epilogue): Likewise.
22290 (unicosmk_gen_dsib): Likewise.
22291
725e58b1
RK
22292Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22293
22294 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
22295
13e58269
UW
222962002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
22297
c410d49e 22298 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
22299 check_and_change_labels, s390_final_chunkify): Delete.
22300 (s390_split_branches, s390_chunkify_pool): New functions.
22301 (s390_function_prologue): Call them.
c410d49e 22302
13e58269
UW
22303 * config/s390/s390.h (S390_REL_MAX): Delete.
22304 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
22305
c410d49e 22306 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
22307 attribute calculation.
22308
22309
34d1b01d
DE
223102002-02-15 David Edelsohn <edelsohn@gnu.org>
22311
22312 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
22313 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
22314
be5cc51a
JDA
223152002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
22316
22317 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
22318 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
22319 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
22320
ee96ce90
RS
223212002-02-15 Richard Sandiford <rsandifo@redhat.com>
22322
22323 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
22324
05fa709d
RS
223252002-02-15 Richard Sandiford <rsandifo@redhat.com>
22326
22327 * reload.c (find_dummy_reload): Check that an output register
22328 is valid for its mode.
22329
4606272b
AO
223302002-02-14 Alexandre Oliva <aoliva@redhat.com>
22331
9a360704
AO
22332 * combine.c (known_cond): After replacing the REG of a SUBREG, try
22333 to simplify it.
22334
4606272b
AO
22335 * function.c (assign_parms): Demote promoted argument passed by
22336 transparent reference.
22337
e62d89a1
JS
223382001-02-14 Joel Sherrill <joel@OARcorp.com>
22339
22340 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
22341 -Acpu() and -Amachine() to eliminate warnings.
22342
6c4cf695
UW
223432002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
22344
22345 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
22346
037f11ef
KH
223472002-02-14 Kazu Hirata <kazu@hxi.com>
22348
22349 * config/h8300/h8300-protos.h: Update the prototype for
22350 const_costs.
22351 * config/h8300/h8300.c (const_costs): Treat SET as a little
22352 more expensive operation.
22353 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
22354 reference to const_costs.
22355
fdc76b09
HPN
223562002-02-14 Hans-Peter Nilsson <hp@axis.com>
22357
22358 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
22359
d76e6800
JJ
223602002-02-14 Jakub Jelinek <jakub@redhat.com>
22361
22362 PR c/5503:
22363 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
22364 use arguments from newtype.
22365
5ae590d7
EC
223662002-02-13 Eric Christopher <echristo@redhat.com>
22367
22368 * config/mips/mips.c (override_options): Add check for march/mipsX
22369 on the same command line. Fix error message in cpu processing.
22370 Remove architecture and ISA checks.
22371
b8513691
AH
223722002-02-14 Aldy Hernandez <aldyh@redhat.com>
22373
831c4e87 22374 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 22375
831c4e87 22376 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 22377
78c875e8
AH
223782002-02-14 Aldy Hernandez <aldyh@redhat.com>
22379
831c4e87
KC
22380 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
22381 alternatives.
22382 ("*movv8hi_internal1"): Same.
22383 ("*movv16qi_internal1"): Same.
22384 ("*movv4sf_internal1"): Same.
78c875e8 22385
831c4e87
KC
22386 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
22387 not push_reload for altivec modes.
78c875e8 22388
d76e6800 223892002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
22390
22391 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
22392 all RTEMS targets including removal of #includes from config/*/rtems*.h
22393 file and adding them to tm_file setting. Added xm_defines=POSIX to
22394 many targets.
22395 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
22396 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
22397 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
22398 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
22399 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
22400 config/m68k/rtemself.h: Ditto.
22401 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
22402 config/mips/rtems64.h: Ditto.
22403 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
22404 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
22405 Ditto.
22406 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
22407 config/sparc/rtemself.h: Ditto.
22408 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
22409 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
22410 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
22411 more like arm-elf.
22412 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
22413 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
22414 target made more similar to i386-elf.
22415 * config/i386/t-rtems-i386: Added soft float support and multilibs.
22416 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
22417 be similar to config/m68k/t-m68kelf.
22418 * gthr-rtems.h: Encapsulate with extern "C" for C++.
22419
8686336f
JH
22420Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
22421
22422 * regmove.c (kill_value): Handle subregs.
22423
558740bf
JH
22424Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
22425
22426 * i386.md (mul patterns): Allow memory operand to be first;
22427 add expanders where needed; fix constraints.
22428 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
22429 Allow memory operand to be the first.
22430
22431 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
22432 operands.
22433
21117a17
JJ
224342002-02-13 Jakub Jelinek <jakub@redhat.com>
22435
22436 PR c/5681:
22437 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
22438 GET_MODE (x).
22439
ec65b2e3
JJ
224402002-02-13 Jakub Jelinek <jakub@redhat.com>
22441
22442 PR optimization/5547:
22443 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
22444 all valid IA-32 address modes involving non-scaled %ebx and
22445 GOT/GOTOFF as displacement.
22446
ce50cae8
UW
224472002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
22448
22449 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
22450 after emitting ltorg insns.
22451
22452 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
22453 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
22454 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
22455 *abssf2): Fix "op_type" attribute.
22456
09eb789b
DR
224572002-02-13 Douglas B Rupp <rupp@gnat.com>
22458
2dbe67bb
DR
22459 * mkconfig.sh: Avoid using a subshell redirect.
22460 ($output.T): Change to $(output)T.
22461 (ENABLE_NLS): Remove unneeded undef.
22462
ea5b9a1f
DR
22463 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
22464 * config/alpha/x-vms (libsubdir): Define.
22465
3deb00ce
DR
22466 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
22467 register frame procedures. Optimize retrieving context.
22468
09eb789b
DR
22469 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
22470 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
22471 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
22472
1abade85
RK
22473Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22474
22475 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
22476 Make same change as for find_base_value.
22477
c283e63f
KH
224782002-02-13 Kazu Hirata <kazu@hxi.com>
22479
22480 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
22481 of QImode and SImode.
22482
86039100
KH
224832002-02-13 Kazu Hirata <kazu@hxi.com>
22484
22485 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
22486 length computation of movsi.
22487 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
22488
e1429da0
KH
224892002-02-13 Kazu Hirata <kazu@hxi.com>
22490
22491 * config/h8300/h8300.md (subqi3): Tighten the predicate for
22492 operands[2] to register_operand.
22493
aebfea10
JH
22494Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
22495
22496 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
22497
0ec4e2a8
AH
224982002-02-12 Aldy Hernandez <aldyh@redhat.com>
22499
831c4e87
KC
22500 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
22501 for altivec_lvx* and altivec_stvx*.
22502 ("*movv4si_internal"): Add constraint for loading from GPRs.
22503 ("*movv8hi_internal1"): Same.
22504 ("*movv16qi_internal1"): Same.
22505 ("*movv4sf_internal1"): Same.
0ec4e2a8 22506
831c4e87 22507 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 22508
831c4e87
KC
22509 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
22510 altivec_register_operand.
0ec4e2a8 22511
b007569d
HPN
225122002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
22513
22514 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
22515 handle SYMBOL_REF.
22516
e6834654
SS
225172002-02-13 Stan Shebs <shebs@apple.com>
22518
831c4e87
KC
22519 * c-typeck.c (digest_init): Handle vectors.
22520 (really_start_incremental_init): Same.
22521 (pop_init_level): Same.
22522 (process_init_element): Same.
e6834654 22523
831c4e87 22524 * varasm.c (output_constant): Same.
e6834654 22525
831c4e87
KC
22526 * expr.c (clear_storage): Same.
22527 (store_constructor): Same.
e6834654 22528
d9b3eb63
EC
225292002-02-12 Eric Christopher <echristo@redhat.com>
22530
22531 * explow.c (hard_function_value): Add comment explaining
22532 signed/unsigned comparison.
22533
56d44285
JJ
225342002-02-12 Jakub Jelinek <jakub@redhat.com>
22535
22536 * jump.c (never_reached_warning): Add finish argument.
22537 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
22538 real insn after end.
22539 * rtl.h (never_reached_warning): Adjust prototype.
22540 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
22541 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
22542 never_reached_warning.
22543
fc209487
GS
225442002-02-12 Graham Stott <grahams@redhat.com>
22545
22546 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
22547
1e41e866
KH
225482002-02-12 Kazu Hirata <kazu@hxi.com>
22549
22550 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
22551 logical shifts on H8/300.
22552 (shift_alg_si): Improve several shifts on H8/300.
22553 (get_shift_alg): Likewise.
22554
a36a47ad
GS
225552002-02-12 Graham Stott <grahams@redhat.com>
22556
22557 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
22558
0aacc8ed
RK
22559Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22560
22561 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
22562 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
22563
a02ac966
HPN
225642002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
22565
22566 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
22567 non-CONST_INT through default_assemble_integer.
22568 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
22569 <case 8>: Abort for CONST_DOUBLE.
22570
d6e06ddc
JDA
225712002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
22572
22573 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
22574 is specified.
22575 * config/pa/pa-linux.h (LIB_SPEC): Delete.
22576 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
22577
515342a8
AH
225782002-02-11 Andrew Haley <aph@cambridge.redhat.com>
22579
22580 * config/stormy16/stormy16.md (zero_extendqihi2): New.
22581
cddd8b72
AO
225822002-02-11 Alexandre Oliva <aoliva@redhat.com>
22583
66df7a98
AO
22584 * regrename.c (regrename_optimize): Don't accept a
22585 part-clobbered register if the replaced register is not part
22586 clobbered.
22587
841404cd
AO
22588 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
22589 take padding into account when computing the argument value.
22590
1d1ade42
AO
22591 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
22592
cddd8b72
AO
22593 * combine.c (try_combine): Apply substitutions in
22594 CALL_INSN_FUNCTION_USAGE too.
22595
5c665b88
AH
225962002-02-11 Aldy Hernandez <aldyh@redhat.com>
22597
77f6c1eb
RS
22598 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
22599 __builtin_altivec_abs*.
22600 (bdesc_abs): New.
5c665b88 22601
77f6c1eb
RS
22602 * config/rs6000/rs6000.h (rs6000_builtins): Add
22603 ALTIVEC_BUILTIN_ABS*.
5c665b88 22604
77f6c1eb
RS
22605 * config/rs6000/altivec.h: Use const char for builtins expecting
22606 literals.
22607 (vec_abs): New versions for C and C++.
22608 (vec_abss): Same.
5c665b88 22609
3494f1b4
KH
226102002-02-10 Kazu Hirata <kazu@hxi.com>
22611
22612 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
22613 using Pmode.
22614
72431aef
KH
226152002-02-10 Kazu Hirata <kazu@hxi.com>
22616
22617 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
22618 constant definition from h8300.md.
22619 (FRAME_POINTER_REGNUM): Likewise.
22620 * config/h8300/h8300.md (define_constants): Add FP_REG.
22621
87e4ee91
KH
226222002-02-10 Kazu Hirata <kazu@hxi.com>
22623
22624 * config/h8300/h8300.c (print_operand): Remove redundant code.
22625
9c188705
KH
226262002-02-10 Kazu Hirata <kazu@hxi.com>
22627
22628 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
22629 * config/h8300/h8300.c (byte_reg): Make it static.
22630
fba78abb
RH
226312002-02-10 Richard Henderson <rth@redhat.com>
22632
22633 PR c/5623
22634 * c-typeck.c (incomplete_type_error): Handle flexible array members.
22635
65739e62
RH
226362002-02-10 Richard Henderson <rth@redhat.com>
22637
22638 PR c++/5624
22639 * tree.c (append_random_chars): Don't abort if main_input_filename
22640 does not exist.
22641
247cb9df
HPN
226422002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
22643
22644 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
22645
232bd029
KH
226462002-02-10 Kazu Hirata <kazu@hxi.com>
22647
65739e62 22648 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
22649 (pushhi1): Likewise.
22650
276ef573
JDA
226512002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
22652
22653 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
22654 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
22655
617e9ee5
DB
226562002-02-09 David O'Brien <obrien@FreeBSD.org>
22657
22658 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
22659 remove MASK_VIS.
22660 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
22661
6dfa4005
KH
226622002-02-09 Kazu Hirata <kazu@hxi.com>
22663
22664 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
22665 a half of an SImode register on H8/300.
22666
749e7b80
JH
22667Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
22668
22669 * i386.md (movdi_2): Add missing '!'.
22670
ca77d87c
KH
226712002-02-09 Kazu Hirata <kazu@hxi.com>
22672
22673 * config/h8300/h8300.h: Fix formatting. Remove commented-out
22674 definitions.
22675
16c96304
KH
226762002-02-09 Kazu Hirata <kazu@hxi.com>
22677
22678 * config/h8300/h8300.md (length): Correct the distance valid
22679 for the short branch.
22680
a364bc90
KH
226812002-02-09 Kazu Hirata <kazu@hxi.com>
22682
22683 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
22684
e4ec2cac
AO
226852002-02-09 Alexandre Oliva <aoliva@redhat.com>
22686
a138247b
AO
22687 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
22688 registers in SImode.
22689 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
22690 part-clobbered.
22691
2b1fd83f
AO
22692 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
22693 patch.
d9b3eb63 22694
fa5322fa
AO
22695 Contribute sh64-elf.
22696 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
22697 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
22698 (sh_cannot_modify_jumps_p): New function.
22699 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
22700 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
22701 (sh_ms_bitfield_layout_p): New function.
22702 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
22703 Zack Weinberg <zack@codesourcery.com>
22704 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
22705 expand_simple_binop instead of expand_binop.
22706 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
22707 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
22708 use of .quad and .uaquad.
22709 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
22710 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
22711 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
22712 * config/sh/sh.md (movdi_const, movdi_const_32bit,
22713 movdi_const_16bit): Make sure all CONSTs have modes.
22714 (sym2PIC): Ditto, but by adjusting all callers.
22715 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
22716 if the prologue calls the SHmedia argument decoder or register
22717 saver.
22718 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
22719 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
22720 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
22721 (sh_expand_epilogue): Don't emit USE of return target register.
22722 (prepare_move_operands): Legitimize DImode PIC addresses.
22723 (sh_media_register_for_return): Skip tr0, used to initialize the
22724 PIC register.
22725 (sh_expand_prologue): Remove explicit USE of return register.
22726 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
22727 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
22728 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
22729 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
22730 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
22731 EXTRA_CONSTRAINT_T.
22732 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
22733 (MOVI_SHORI_BASE_OPERAND_P): New.
22734 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
22735 (EXTRA_CONSTRAINT_T): Define in terms of them.
22736 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
22737 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
22738 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
22739 alternatives supporting TARGET_REGS.
22740 (UNSPEC_GOTPLT): New constant.
22741 (movdi split): Move incrementing of LABEL_NUSES...
22742 (movdi_const, movdi_const_32bit): Here. Use
22743 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
22744 (movdi_const_16bit): New.
22745 (call, call_value) [flag_pic]: Use GOTPLT.
22746 (call_pop, call_value_pop): New expands.
22747 (call_pop_compact, call_pop_rettramp): New insns.
22748 (call_value_pop_compact, call_value_pop_rettramp): New insns.
22749 (sibcall) [flag_pic]: Use GOT.
22750 (builtint_setjmp_receiver): Remove bogus, unused expand.
22751 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
22752 (*pt, *ptb, ptrel): New insns.
22753 (sym2GOT): Handle DImode GOT.
22754 (sym2GOTPLT, symGOTPLT2reg): New expands.
22755 (sym2PIC): New expand.
22756 (shcompact_return_tramp): Use GOTPLT to return trampoline.
22757 (shcompact_return_tramp_i): Use return register explicitly.
22758 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
22759 disable flag_reorder_blocks.
22760 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
22761 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
22762 clobbers, for clarity.
22763 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
22764 restoring of r0 in macl as MAYBE_DEAD.
22765 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
22766 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
22767 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
22768 alter_subreg all over.
22769 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
22770 reload, instead of emitting instructions that would require
22771 reloading.
22772 (casesi_load_media): Add missing modes.
22773 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
22774 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
22775 as used if the argument decoder is called.
22776 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
22777 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
22778 Pmode, then extend it to DImode if necessary.
22779 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
22780 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
22781 constants in FPU-enabled SHmedia, let them be loaded from memory.
22782 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
22783 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
22784 Adjust whitespace in assembly output templates.
22785 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
22786 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
22787 mode of if_then_else.
22788 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
22789 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
22790 sh.h.
22791 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
22792 Joern Rennecke <amylaar@redhat.com>
22793 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
22794 (SUBTARGET_CPP_PTR_SPEC): New.
22795 (SUBTARGET_CPP_SPEC): Remove.
22796 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
22797 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
22798 Fix typo in previous checkin.
22799 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
22800 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
22801 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
22802 Alexandre Oliva <aoliva@redhat.com>
22803 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
22804 what single FP register can hold for SHmedia target.
22805 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
22806 Alexandre Oliva <aoliva@redhat.com>
22807 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
22808 Do not split into SUBREG.
22809 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
22810 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
22811 and added new functions as specified in SH5 ABI r9.
22812 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
22813 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
22814 8-byte boundary.
22815 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
22816 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
22817 gen_consttable_4 and gen_consttable_8. Emit multiple labels
22818 and consttable_window_ends.
22819 2001-06-03 Graham Stott <grahams@redhat,com>
22820 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
22821 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
22822 * config/sh/sh.c (print_operand): Handle floating-point pair,
22823 vector and matrix registers.
22824 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
22825 vector modes into account.
22826 * config/sh/sh.md (movv2sf): Split move between registers into
22827 movdf.
22828 (movv4sf, movv16sf): Introduce insns that get split only after
22829 reload.
22830 * config/sh/shmedia.h: Fix Copyright dates.
22831 * config/sh/ushmedia.h: Likewise. Move loop counter
22832 declarations into conditionals that uses them.
22833 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
22834 loop boundary.
22835 * config/sh/sshmedia.h: Fix Copyright dates.
22836 (sh_media_PUTCFG): Fix constraints.
22837 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
22838 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
22839 ptrmemfunc_vbit_in_delta for SH5.
22840 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
22841 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
22842 * invoke.texi: Likewise.
22843 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
22844 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
22845 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
22846 GCC_pop_shmedia_regs_nofpu): New global symbols.
22847 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
22848 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
22849 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
22850 compact function with nonlocal labels.
22851 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
22852 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
22853 (initial_elimination_offset): Account for their stack space.
22854 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
22855 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
22856 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
22857 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
22858 least one of the operands to be a register.
22859 (movv2sf): Likewise. Renamed to movv2sf_i.
22860 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
22861 prepare_move_operands() before emitting SHmedia insns.
22862 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
22863 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
22864 Don't save nor initialize r12. Don't mis-align the stack.
22865 Pad the code with a nop.
22866 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
22867 stack.
22868 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
22869 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
22870 [__SHMEDIA__]: Implement.
22871 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
22872 * config/sh/sh.md: Set latency of `pt' closer to reality.
22873 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
22874 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
22875 Set move, load and store type attributes.
22876 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
22877 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
22878 profiling.
22879 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
22880 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
22881 * config/sh/sh.c (sh_media_register_for_return): New function.
22882 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
22883 branch-target register.
22884 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
22885 * config/sh/sh.md (return_media_i): Use any call-clobbered
22886 branch-target register.
22887 (return_media): If r18 wasn't copied in the prologue, copy it
22888 here.
22889 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
22890 Clear class FP0_REGS.
22891 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
22892 from elf.h.
22893 2001-03-08 DJ Delorie <dj@redhat.com>
22894 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
22895 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
22896 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
22897 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
22898 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
22899 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
22900 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
22901 return value correctly for call_cookie.
22902 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
22903 * config/sh/crt1.asm (start): Modified so as to call
22904 ___setup_argv_and_call_main.
22905 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
22906 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
22907 SHmedia mode.
22908 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
22909 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
22910 (STRIP_NAME_ENCODING): Use it.
22911 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
22912 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
22913 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
22914 prepare_scc_operands().
22915 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
22916 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
22917 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
22918 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
22919 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
22920 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
22921 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
22922 used in shcompact_incoming_args.
22923 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
22924 change.
22925 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
22926 mode.
22927 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
22928 Adjust accordingly.
22929 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
22930 Simplify. Adjust. Add sanity check.
22931 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
22932 FPU_SINGLE_BIT.
22933 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
22934 TARGET_SHCOMPACT.
22935 (udivsi3, divsi3): Use them.
22936 (force_mode_for_call): New insn.
22937 (call, call_value, sibcall_value): Emit it before SHcompact
22938 calls.
22939 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
22940 * config/sh/sh.md (call, call_value, sibcall): Make sure the
22941 call cookie is non-NULL before taking its value.
22942 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
22943 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
22944 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
22945 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
22946 block.
22947 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
22948 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
22949 temporary for stack adjusts. Use MACL and MACH to pass
22950 arguments to shcompact_incoming_args.
22951 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
22952 clobber r1.
22953 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
22954 (nested_trampoline): Load static chain address into r1.
22955 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
22956 2001-01-07 Alexandre Oliva <aoliva@redhat.com
22957 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
22958 fp_arith_reg_operand().
22959 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
22960 * config/sh/sh.md (casesi): Sign-extend the first two operands,
22961 and use signed compares for them.
22962 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
22963 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
22964 ones properly aligned.
22965 (find_barrier): Account for extra alignment needed for 8-byte wide
22966 constants.
22967 (machine_dependent_reorg): Require a label for the second 4-byte
22968 constant after an 8-byte one.
22969 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
22970 change.
22971 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
22972 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
22973 last_float when switching float modes.
22974 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
22975 auto-increment for general-purpose registers.
22976 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
22977 result.
22978 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
22979 for stack adjust.
22980 * config/sh/sh.c (sh_builtin_saveregs): Support using all
22981 registers for varargs.
22982 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
22983 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
22984 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
22985 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
22986 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
22987 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
22988 call_cookie accordingly.
22989 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
22990 (SHCOMPACT_BYREF): Likewise.
22991 (SHCOMPACT_FORCE_ON_STACK): New macro.
22992 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
22993 (sh_builtin_saveregs): Likewise.
22994 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
22995 shcompact_incoming_args): Use new shift values. Support
22996 sequences of consecutive and non-consecutive pushes/pops.
22997 * config/sh/sh.md (return): Don't explicitly use PR_REG.
22998 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
22999 * config/sh/sh.h (TEXT_SECTION): Define.
23000 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
23001 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
23002 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
23003 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
23004 return values on FPU-enabled SHmedia.
23005 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
23006 FPU-enabled SHmedia.
23007 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
23008 value is returned in a non-FP reg and is not returned by
23009 reference.
23010 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
23011 jump_ind.
23012 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
23013 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
23014 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
23015 quad-aligned to be passed by callee-copy reference.
23016 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
23017 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
23018 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
23019 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
23020 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
23021 copying low-numbered FP regs to r7 and r8.
23022 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
23023 FP regs to general-purpose regs only if the copy was passed on the
23024 stack.
23025 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
23026 copying FP reg to r9.
23027 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
23028 copy FP regs to general-purpose regs only in outgoing calls.
23029 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 23030 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
23031 HOST_WIDE_INT.
23032 * config/sh/sh.h (struct sh_args): Document all fields.
23033 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
23034 passed partially on the stack should not consider making
23035 sibcalls.
23036 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
23037 stack_regs only for incoming calls. When passing FP args,
23038 make sure there are FP regs available before modifying
23039 call_cookie.
23040 (SHCOMPACT_BYREF): Pass double args in general-purpose
23041 registers by reference.
23042 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
23043 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
23044 attempt to generate sibcalls if the caller got any arguments
23045 by reference.
23046 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
23047 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
23048 to 8-byte boundaries.
23049 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
23050 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
23051 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
23052 stored in the stack.
23053 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
23054 for the offsets to have the ISA bit set.
23055 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
23056 invocation. Use beq instead of bgt to mark end of sequence of
23057 loads.
23058 (shcompact_incoming_args): Fix store of r2. Use beq instead of
23059 bgt to mark end of sequence of stores.
23060 * config/sh/sh.c (arith_operand): Don't check whether
23061 CONST_OK_FOR_J for now.
23062 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
23063 instead of long for conversion.
23064 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
23065 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
23066 before passing it to fprintf.
23067 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
23068 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
23069 Call set_fpscr before reading/writing SR.
23070 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
23071 Call set_fpscr.
23072 * config/sh/lib1funcs.asm: Add `.align 2' directives before
23073 SHmedia code.
23074 (FMOVD_WORKS): Define on SH5 with FPU.
23075 (set_fpscr): Define on SH5. Remove separate _fpscr_values
23076 setting.
23077 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
23078 _fpscr_values.
23079 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
23080 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
23081 address.
23082 (ia_main_table): Ditto.
23083 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
23084 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
23085 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
23086 the definitions from sh.h.
23087 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
23088 TARGET_SH5.
23089 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
23090 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
23091 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
23092 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
23093 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
23094 Increment LABEL_NUSES.
d9b3eb63 23095
fa5322fa
AO
23096 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
23097 TARGET_SH5.
23098 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
23099 defined.
23100 * config/sh/elf.h (SIZE_TYPE): Likewise.
23101 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
23102 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
23103 shcompact_incoming_args): Load switch table addresses using
23104 datalabel.
23105 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
23106 (NO_BUILTIN_SIZE_TYPE): Define.
23107 (SIZE_TYPE): Don't define.
23108 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
23109 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
23110 definition of __SH5__=32 for -m5-compact-nofpu.
23111 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
23112 ADDR_DIFF_VEC.
23113 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
23114 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
23115 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
23116 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
23117 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
23118 (INSN_LENGTH_ALIGNMENT): Likewise.
23119 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
23120 * config/sh/sh.md (call, call_value, sibcall): Simplify
23121 copying of non-branch-target register.
23122 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 23123 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
23124 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
23125 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
23126 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
23127 floating-point values as structs.
23128 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
23129 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
23130 general-purpose register.
23131 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
23132 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
23133 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
23134 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
23135 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
23136 (ENCODE_SECTION_INFO): Enclose variables and constants in
23137 DATALABEL unspecs.
23138 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
23139 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
23140 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
23141 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
23142 only for LABEL_REFs. For SYMBOL_REFs, prepend
23143 SH_DATALABEL_ENCODING to the symbol name.
23144 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
23145 convert_mode().
23146 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
23147 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
23148 UNSPEC_DATALABEL.
23149 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
23150 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
23151 (DATALABEL_REF_P): Don't require CONST.
23152 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
23153 REL label.
23154 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
23155 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
23156 right.
23157 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
23158 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
23159 Use shallow_copy_rtx and PUT_MODE to change the mode of
23160 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
23161 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
23162 on SHmedia using GENERAL_REGs.
23163 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
23164 bltu_media_i): Fix reversion of conditions.
23165 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
23166 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
23167 * config/sh/sh.c (output_far_jump): Save r13 in macl.
23168 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
23169 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
23170 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
23171 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
23172 (GCC_nested_trampoline): Likewise.
23173 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
23174 * config/sh/sh.c (gen_datalabel_ref): Define.
23175 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
23176 (INITIALIZE_TRAMPOLINE): Likewise.
23177 (TRAMPOLINE_ADJUST_ADDRESS): Define.
23178 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
23179 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
23180 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
23181 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
23182 (ic_invalidate): Adjust for SH5.
23183 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
23184 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
23185 _nested_trampoline.
23186 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
23187 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
23188 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
23189 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
23190 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
23191 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
23192 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
23193 * config/sh/sh.c (target_reg_operand): Match only target-branch
23194 registers and pseudos that aren't virtual registers.
23195 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
23196 Copy operands that don't match target_reg_operand to pseudos.
23197 (call_media, call_value_media, sibcall_media): Use
23198 target_reg_operand instead of target_operand.
23199 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 23200 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
23201 * config/sh/sh.c (target_reg_operand): Match hardware registers
23202 other than branch-target registers.
23203 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
23204 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
23205 (fpscr_values) [SH5 == 32]: Define.
23206 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
23207 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
23208 Handle function addresses coming in SUBREGs.
23209 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
23210 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
23211 shcompact_return_trampoline): Use datalabel where appropriate.
23212 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
23213 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
23214 general-purpose register to copy one branch-target register to
23215 another.
23216 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
23217 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
23218 SYMBOL_REFs with VOIDmode.
23219 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
23220 bltu_media_i): New insns.
23221 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
23222 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
23223 (INIT_CUMULATIVE_ARGS): Likewise.
23224 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
23225 * machmode.def (V16SFmode): New mode.
23226 * c-common.c (type_for_mode): Support V2SF and V16SF.
23227 * tree.c (build_common_tree_nodes_2): Likewise.
23228 * tree.h (tree_index): Likewise.
23229 * calls.c (emit_call_1): Take args_so_far. Adjust all
23230 callers. Introduce CALL_POPS_ARGS.
23231 * tm.texi (CALL_POPS_ARGS): Document.
23232 * config/sh/crt1.asm: Implement in SHmedia mode.
23233 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
23234 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
23235 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
23236 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
23237 Implement divsi and udivsi in SHmedia mode. Introduce
23238 SHcompact trampolines.
23239 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
23240 only in SHmedia64.
23241 (regno_reg_class): Rewrite.
23242 (fp_reg_names): Remove.
23243 (sh_register_names, sh_additional_register_names): New.
23244 (print_operand): Added `u'. Support SUBREGs in addresses.
23245 Add parentheses around shifted CONSTs.
23246 (output_file_start): Output .mode and .abi directives.
23247 (shiftcosts, addsubcosts, multcosts): Adjust.
23248 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
23249 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
23250 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
23251 bytes, not registers. Take into account the need for the
23252 SHcompact incoming args trampoline. Adjust all callers.
23253 (sh_expand_prologue): Take stack_regs into account. Call
23254 incoming args trampoline. Keep stack aligned as per SH5 ABI.
23255 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
23256 stack aligned as per SH5 ABI.
23257 (sh_builtin_saveregs): Support SH5 ABI.
23258 (sh_build_va_list, sh_va_start): Likewise.
23259 (initial_elimination_offset): Take alignment into account.
23260 Compute location of PR according to the SH5 stack frame.
23261 (arith_reg_operand): Reject branch-target registers.
23262 (shmedia_6bit_operand): New.
23263 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
23264 (target_reg_operand): Match DImode only. Accept SUBREGs.
23265 (target_operand): New.
23266 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
23267 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
23268 SIBCALL_REGS for SHmedia.
23269 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
23270 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
23271 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
23272 (TARGET_SWITCHES): New SH5 flags.
23273 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
23274 VALID_REGISTER_P to disable unsupported registers.
23275 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
23276 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
23277 (FUNCTION_ARG_PADDING): Define.
23278 (FASTEST_ALIGNMENT): Adjust.
23279 (SH_REGISTER_NAMES_INITIALIZER): New.
23280 (sh_register_names): Declare.
23281 (DEBUG_REGISTER_NAMES): Define.
23282 (REGISTER_NAMES): Define based on sh_register_names.
23283 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
23284 (sh_additional_register_names): Declare.
23285 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
23286 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
23287 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
23288 (REGISTER_NATURAL_MODE): Define.
23289 (FIRST_PSEUDO_REGISTER): Adjust.
23290 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
23291 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
23292 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
23293 (VECTOR_MODE_SUPPORTED_P): Define.
23294 (REG_CLASS_CONTENTS): Adjust.
23295 (SMALL_REGISTER_CLASSES): Adjust.
23296 (REG_ALLOC_ORDER): Adjust.
23297 (INDEX_REG_CLASS): Adjust.
23298 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
23299 (CONST_OK_FOR_LETTER_P): Adjust.
23300 (PREFERRED_RELOAD_CLASS): Adjust.
23301 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
23302 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
23303 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
23304 (FIRST_FP_PARM_REG): Adjust.
23305 (CALL_POPS_ARGS): Define.
23306 (FUNCTION_ARG_REGNO_P): Adjust.
23307 (struct sh_args): New fields.
23308 (GET_SH_ARG_CLASS): Adjust.
23309 (INIT_CUMULATIVE_ARGS): Adjust.
23310 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
23311 (FUNCTION_ARG_ADVANCE): Adjust.
23312 (FUNCTION_ARG): Adjust.
23313 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
23314 (FUNCTION_ARG_CALLEE_COPIES): Define.
23315 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
23316 (STRICT_ARGUMENT_NAMING): Define.
23317 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
23318 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
23319 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
23320 (SETUP_INCOMING_VARARGS): Adjust.
23321 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
23322 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
23323 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
23324 (SUBREG_OK_FOR_INDEX_P): Adjust.
23325 (EXTRA_CONSTRAINT_S): Update.
23326 (EXTRA_CONSTRAINT_T): New.
23327 (EXTRA_CONSTRAINT): Adjust.
23328 (GO_IF_LEGITIMATE_INDEX): Adjust.
23329 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
23330 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
23331 (MOVE_MAX): Adjust.
23332 (MAX_MOVE_MAX): Define.
23333 (Pmode): Adjust.
23334 (CONST_COSTS): Adjust.
23335 (REGISTER_MOVE_COST): Adjust.
23336 (BRANCH_COST): Adjust.
23337 (TEXT_SECTION_ASM_OP): Adjust.
23338 (DBX_REGISTER_NUMBER): Adjust.
23339 (ASM_OUTPUT_DOUBLE_INT): New.
23340 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
23341 (PREDICATE_CODES): Adjust.
23342 (PROMOTE_MODE): Adjust.
23343 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
23344 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
23345 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
23346 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
23347 (DR0_REG, DR2_REG, DR4_REG): Renumber.
23348 (TR0_REG, TR1_REG, TR2_REG): New.
23349 (XD0_REG): Renumber.
23350 (UNSPEC_COMPACT_ARGS): New.
23351 (type): Added pt and ptabs.
23352 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 23353 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
23354 (pt): New function unit.
23355 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
23356 Add whitespace between operands of SHmedia instructions.
23357 (movdicc): Fix.
23358 (adddi3_media, addsi3_media): Adjust constraints.
23359 (subsi3) [SHmedia]: Force operand 1 into a register.
23360 (udivsi3_i1_media, udivsi3_i4_media): New.
23361 (udivsi3): Support SHmedia.
23362 (divsi3_i1_media, divsi3_i4_media): New.
23363 (divsi3): Support SHmedia.
23364 (anddi3, iordi3, xordi3): Adjust constraints.
23365 (zero_extendhidi2, zero_extendqidi2): New.
23366 (extendsidi2, extendhidi2, extendqidi2): New.
23367 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
23368 (pop_e, pop_fpul, pop_4): Likewise.
23369 (movsi_media): Support FP and BT registers.
23370 (movsi_media_nofpu): New. Adjust splits to DImode.
23371 (lduw, ldub): Renamed to zero_extend* above.
23372 (movqi_media): Fix typo.
23373 (movdi_media): Support FP and BT registers.
23374 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
23375 (movdi_const_32bit): New.
23376 (shori_media): Require immediate operand. Use `u' for output.
23377 (movdf_media, movsf_media): Simplified.
23378 (movdf_media_nofpu, movsf_media_nofpu): New.
23379 (movdf, movsf): Adjust
23380 (movv2sf, movv2sf, movv16sf): New.
23381 (beq_media, beq_media_i): Adjust constraints. Don't use
23382 scratch BT register.
23383 (bne_media, bne_media_i): Likewise.
23384 (bgt_media, bgt_media_i): Likewise.
23385 (bge_media, bge_media_i): Likewise.
23386 (bgtu_media, bgtu_media_i): Likewise.
23387 (bgeu_media, bgeu_media_i): Likewise.
23388 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
23389 bunordered): Emit jump insn. Force operands to registers when
23390 needed.
23391 (jump_media, jump): Simplify.
23392 (call_compact, call_compact_rettramp): New.
23393 (call_value_compact, call_value_compact_rettramp): New.
23394 (call_media, call_value_media): Simplify.
23395 (sibcall_compact, sibcall_media): New.
23396 (call, call_value): Adjust for SHmedia and SHcompact.
23397 (sibcall, sibcall_value, untyped_call): Likewise.
23398 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
23399 (indirect_jump): Adjust for SHmedia.
23400 (casesi_jump_media): New.
23401 (nop): Re-enable for SHmedia.
23402 (call_site): Restrict to SH1.
23403 (casesi): Adjust for SHmedia.
23404 (casesi_shift_media, casesi_load_media): New.
23405 (return): Explicitly use PR register. Call return trampoline
23406 on SHcompact.
23407 (return_i): Explicitly use PR register.
23408 (shcompact_return_tramp, shcompact_return_tramp_i): New.
23409 (return_media): Adjust.
23410 (shcompact_incoming_args): New.
23411 (epilogue): Adjust.
23412 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
23413 (movstrsi): Disable on SH5.
23414 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
23415 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
23416 (subsf3, subsf3_media): Likewise.
23417 (mulsf3, mulsf3_media, mac_media): Likewise.
23418 (divsf3, divsf3_media): Likewise.
23419 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
23420 (floatsisf2, fux_truncsfsi2): Likewise.
23421 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
23422 constraints.
23423 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
23424 (cmpunsf_media, cmpsf): Likewise.
23425 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
23426 (abssf2, abssf2_media): Likewise.
23427 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
23428 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
23429 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
23430 (floatsidf2, fix_truncdfsi2): Likewise.
23431 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
23432 constraints.
23433 (cmpeqdf_media, cmpgtdf_media): Likewise.
23434 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
23435 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
23436 (absdf2, absdf2_media): Likewise.
23437 (extendsfdf2, extendsfdf2_media): Likewise.
23438 (truncsfdf2, truncsfdf2_media): Likewise.
23439 * config/sh/sh64.h: New file.
23440 * config/sh/t-sh64: New file.
23441 * config/sh/shmedia.h: New file.
23442 * config/sh/ushmedia.h: New file.
23443 * config/sh/sshmedia.h: New file.
23444 * configure.in: Added sh64-*-elf.
23445 * configure: Rebuilt.
23446 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
23447 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
23448 (reg_class_from_letter): Use `b' for TARGET_REGS.
23449 (print_operand): Support `%M', `%m', `AND' and
23450 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
23451 (andcosts): Adjust for SHmedia.
23452 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
23453 Likewise.
23454 (target_reg_operand): New function.
23455 * config/sh/sh-protos.h (target_reg_operand): Declare.
23456 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
23457 FP registers on SH5.
23458 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
23459 on SH4.
23460 (TARGET_REGISTER_P): New macro.
23461 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
23462 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
23463 (EXTRA_CONSTRAINT_S): New macro.
23464 (EXTRA_CONSTRAINT): Adjust.
23465 (FLOAT_TYPE_SIZE): Define to 32.
23466 (Pmode): DImode on SHmedia.
23467 (CONST_COSTS): Adjust for SHmedia literals.
23468 (PREDICATE_CODES): Added target_reg_operand.
23469 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
23470 * config/sh/sh.md: Remove all attrs from SHmedia insns.
23471 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
23472 (cmpdi): Accept SHmedia.
23473 (movdicc_false, movdicc_true): New insns.
23474 (movdicc): New expand.
23475 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
23476 no_new_pseudos.
23477 (addsi3_media): Match `S' constraint.
23478 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
23479 (negdi2): Expand for SHmedia.
23480 (one_cmpldi2): New expand.
23481 (zero_extendsidi2): Change from expand to insn.
23482 (extendsidi2): Add constraints.
23483 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
23484 LD/ST address. Fix SI immediate loading split.
23485 (movhi_media, movqi_media, lduw, ldub): New insns.
23486 (movhi, movqi): Accept SHmedia.
23487 (shori_media, movdi_media): Relax input constraints. Split
23488 symbolic constants.
23489 (movdf_media, movsf_media): New insn. New split to movdi.
23490 (movdf, movsf): Match on SHmedia.
23491 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
23492 bgeu_media): New insns and splits. New insns with `_i' suffix.
23493 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
23494 (bunordered): New expand.
23495 (jump_compact): Renamed from `jump'.
23496 (jump_media): New insn.
23497 (jump): New expand.
23498 (call_media, call_value_media): New insns.
23499 (call, call_value): Adjust.
23500 (indirect_jump_compact): Renamed from `indirect_jump'.
23501 (indirect_jump_media): New insn.
23502 (indirect_jump): New expand.
23503 (untyped_call, return): Accept SHmedia.
23504 (return_media): New insn.
23505 (prologue, epilogue, blockage): Accept SHmedia.
23506 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
23507 (sunordered): New expand.
23508 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
23509 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
23510 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
23511 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
23512 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
23513 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
23514 abssf2_media): New insns.
23515 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
23516 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
23517 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
23518 floatdidf2, floatsidf2_media, fix_truncdfdi2,
23519 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
23520 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
23521 absdf2_media): New insns.
23522 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
23523 (extendsfdf2_media, truncdfsf2_media): New insns.
23524 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
23525 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
23526 * config/sh/sh.h (CONST_OK_FOR_J): Document.
23527 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
23528 * config/sh/sh.md (adddi3): New expand.
23529 (adddi3_media, adddi3z_media): New insns.
23530 (adddi3_compact): Renamed from adddi3.
23531 (addsi3_media): Use add.l r63 to add constant zero.
23532 (subdi3): New expand.
23533 (subdi3_media): New insn.
23534 (subdi3_compact): Renamed from subdi3.
23535 (mulsidi3): New expand.
23536 (mulsidi3_media): New insn.
23537 (mulsidi3_compact): Renamed from mulsidi3.
23538 (umulsidi3): New expand.
23539 (umulsidi3_media): New insn.
23540 (umulsidi3_compact): Renamed from umulsidi3.
23541 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
23542 (ashlsi3, ashrsi3, lshrsi3): Use them.
23543 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
23544 (ashldi3, ashrdi3, lshrdi3): Use them.
23545 (zero_extendsidi2): New expand.
23546 (extendsidi2): New insn.
23547 (movsi_media): New insn. Split to movdi to load constants.
23548 (movsi): Enable for shmedia.
23549 (movdi_media): New insn. Use shori_media to load wide constants.
23550 (short_media): New insn.
23551 (movdi): Enable for shmedia.
23552 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
23553 * config/sh/sh.h (CPP_SPEC): Added `m5'.
23554 (SUBTARGET_CPP_SPEC): Added `!m5'.
23555 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
23556 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
23557 to all other SH variants.
23558 (TARGET_DEFAULT): Set to SH1_BIT.
23559 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
23560 (BITS_PER_WORD): Raise to 64 on shmedia.
23561 (MAX_BITS_PER_WORD): Change to 64.
23562 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
23563 (INT_TYPE_SIZE): Keep as 32.
23564 (UNITS_PER_WORD): Raise to 8 on shmedia.
23565 (MIN_UNITS_PER_WORD): Keep as 4.
23566 (POINTER_SIZE): Raise to 64 on shmedia.
23567 (CONST_OK_FOR_J): New macro.
23568 (CONST_OK_FOR_LETTER_P): Use it.
23569 (processor_type): Add PROCESSOR_SH5.
23570 * config/sh/sh.md: Conditionalize all expands, insns and
23571 splits to TARGET_SH1.
23572 (cpu): Added sh5.
23573 (addsi3_compact): Renamed from...
23574 (addsi3): Now an expand.
23575 (addsi3_media, subsi3_media): New insns.
23576 (subsi3): Don't negate constants with SHmedia.
23577
e4ec2cac
AO
23578 * hooks.c: New file.
23579 * hooks.h: New file.
23580 * Makefile.in (HOOKS_H): New.
23581 (TARGET_DEF_H): Added $(HOOKS_H).
23582 (OBJS): Added hooks.o.
23583 (cfgcleanup.o, bb-reorder.o): Added target.h.
23584 (hooks.o): Added dependencies.
23585 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
23586 (TARGET_INITIALIZER): this.
23587 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
23588 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
23589 * bb-reorder.c: Include target.h.
23590 (reorder_basic_blocks): Skip if cannot modify jumps.
23591 * cfgcleanup.c: Include target.h.
23592 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
23593
246a46e0
CD
235942002-02-08 Chris Demetriou <cgd@broadcom.com>
23595
831c4e87
KC
23596 * config/mips/mips.md (casesi_internal, casesi_internal_di):
23597 Protect jump delay slot instructions with .set noreorder and
23598 .set nomacro.
246a46e0
CD
23599
236002002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
23601
23602 * config/mips/mips.md (casesi_internal_di): Calculate
23603 the index into the target offset table correctly.
23604
fdf473ae
RH
236052002-02-08 Richard Henderson <rth@redhat.com>
23606
23607 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
23608 * final.c (output_addr_const): Accept and discard SUBREG.
23609 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
23610 mark them unknown instead.
23611 (simplify_subtraction): Handle RTX_UNKNOWN.
23612 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
23613
c50503ac
DE
236142002-02-08 David Edelsohn <edelsohn@gnu.org>
23615
23616 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
23617
3660d217
RH
236182002-02-08 Richard Henderson <rth@redhat.com>
23619
23620 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
23621
56547299
AJ
236222002-02-08 Andreas Jaeger <aj@suse.de>
23623
23624 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
23625 * config/i386/t-linux64: New file.
23626
1cf537c5
JJ
236272002-02-08 Jakub Jelinek <jakub@redhat.com>
23628
23629 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
23630 * c-parse.in (compstmt): Clear last_expr_type.
23631
5c7f5a5f
RH
236322002-02-07 Richard Henderson <rth@redhat.com>
23633
23634 * loop.c (strength_reduce): Sink final_value when not
23635 eliminating a biv.
23636
b1138bf3
DB
236372002-02-07 David O'Brien <obrien@FreeBSD.org>
23638
23639 * config/sparc/freebsd.h: Fix mismatched spec {.
23640
b6878a45
RH
236412002-02-07 Richard Henderson <rth@redhat.com>
23642
23643 * cfgrtl.c: Include recog.h and insn-config.h.
23644 (keep_with_call_p): Fix general_operand invocation.
23645 * Makefile.in (cfgrtl.o): Update dependencies.
23646
ae19f5ef
KH
236472002-02-07 Kazu Hirata <kazu@hxi.com>
23648
23649 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
23650 comment. Accept HImode only if TARGET_H8300.
23651
b137f9fc
EC
236522002-02-07 Eric Christopher <echristo@redhat.com>
23653
23654 * config/mips/crtn.asm: Cleanup #ifdefs.
23655
236562002-02-07 Eric Christopher <echristo@redhat.com>
23657
23658 * config/mips/crti.asm: Add changes for mips16. mips16 uses
23659 register 7 as RA instead of $31.
23660 * config/mips/crtn.asm: Ditto.
23661 * config/mips/mips.c (mips_move_2words): Add case for
23662 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
23663 (compute_frame_size): Fix typo.
23664 (save_restore_insns): Ditto. Make documentation about using
23665 register $7 as return register more precise.
23666 (mips_expand_epilogue): Fix comment. Add code to work around not
23667 being able to add to the stack pointer directly.
23668 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
23669 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
23670 epilogue.
23671
768070a0
TR
236722002-02-07 Tom Rix <trix@redhat.com>
23673
b137f9fc 23674 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
23675 immediates in ldu and stdu DS opcode field.
23676 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
23677 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
23678 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
23679
225909c3
JS
236802002-02-07 Jeff Sturm <jsturm@one-point.com>
23681
23682 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
23683 offset for stack bias.
23684
15fae023
L
236852002-02-07 H.J. Lu <hjl@gnu.org>
23686
23687 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
23688
fde5badd
UW
236892002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
23690
23691 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
23692
162f023b
JH
23693Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
23694
23695 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
23696 * i386.c (x86_order_regs_for_local_alloc): New global function.
23697 * i386.h (REG_ALLOC_ORDER): CLeanup.
23698 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
23699
9b462c42
RH
237002002-02-07 Richard Henderson <rth@redhat.com>
23701
85aa876c 23702 PR optimization/2463
9b462c42
RH
23703 * alias.c (find_base_value): Recall base values for fixed hard regs.
23704 * loop.c (loop_regs_update): Don't use single_set on non-insns.
23705
06e455a9
AO
237062002-02-07 Alexandre Oliva <aoliva@redhat.com>
23707
23708 * config/mips/mips.md (define_delay) [mips16]: Adjust required
23709 length.
23710
edd1967d
RH
237112002-02-06 Richard Henderson <rth@redhat.com>
23712
23713 PR c/5609
23714 * stmt.c (resolve_operand_name_1): Take more care with mixed
23715 named and unnamed operands.
23716
a2cd028f
JJ
237172002-02-06 Janis Johnson <janis187@us.ibm.com>
23718 Jan Hubicka <jh@suse.cz>
23719
23720 * loop.c (remove_constant_addition): Avoid clobbering a shared
23721 CONST expression.
23722
e8487c04
UW
237232002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
23724
23725 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
23726 * config/s390/t-linux64: New file.
23727 * config/s390/libgcc-glibc.ver: New file.
23728
58d10f89
UW
237292002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
23730
23731 * config/s390/linux64.h: Delete file.
23732 * config/s390/s390x.h: New file.
23733 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
23734 as target header file.
23735 * config/s390/linux.h (TARGET_VERSION): Define depending on
23736 DEFAULT_TARGET_64BIT.
23737 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
23738 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
23739 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
23740 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
23741 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
23742 (EXTRA_SPEC): New define.
23743 * config/s390/s390.h (TARGET_VERSION): Define depending on
23744 DEFAULT_TARGET_64BIT.
23745 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
23746
5ce89b2e
JM
237472002-02-06 Jason Merrill <jason@redhat.com>
23748
23749 * c-decl.c (finish_function): Warn about a non-void function with
23750 no return statement and no abnormal exit.
23751 (current_function_returns_abnormally): New variable.
23752 (start_function): Clear it.
23753 (struct c_language_function): Add returns_abnormally.
23754 (push_c_function_context): Save it.
23755 (pop_c_function_context): Restore it.
23756 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
23757 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
23758 an explicit return type.
23759 * c-tree.h: Declare current_function_returns_abnormally.
23760 (C_FUNCTION_IMPLICIT_INT): New macro.
23761 * c-typeck.c (build_function_call): Set it.
23762 (c_expand_return): Set current_function_returns_value even if the
23763 value is erroneous.
23764
caaf2272
JJ
237652002-02-06 Jakub Jelinek <jakub@redhat.com>
23766
23767 PR c/5420:
23768 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
23769 unsafe for reevaluation.
23770
d5129288
JJ
237712002-02-06 Jakub Jelinek <jakub@redhat.com>
23772
23773 PR c/5482:
23774 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
23775 EXPR_STMT, but COMPOUND_STMT, recurse into it.
23776
7fb75099
RH
237772002-02-06 Richard Henderson <rth@redhat.com>
23778
23779 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
23780 be a general_operand. Dest for function value must be a pseudo.
23781
d3a8b6a6
NC
237822002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
23783
23784 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
23785 as SYMBOL_REFs from the constant pool.
23786
3c1299c5
AO
237872002-02-06 Alexandre Oliva <aoliva@redhat.com>
23788
23789 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
23790 passed by invisible reference.
23791
c2c9f6c9
RH
237922002-02-05 Richard Henderson <rth@redhat.com>
23793
23794 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
23795
a824924d
HPN
237962002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
23797
23798 Implement using "base addresses" in insn operands as default.
23799 * config/mmix/mmix.c (mmix_conditional_register_usage): if
23800 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
23801 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
23802 used to read the rtx value.
23803 (mmix_target_asm_function_epilogue): Fix spacing.
23804 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
23805 (mmix_legitimate_address): Ditto.
23806 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
23807 should be loaded with a GETA insn. Don't allocate needless extra
23808 char for nul termination and fix misleading comment.
23809 (mmix_print_operand_address): Handle constants if
23810 TARGET_BASE_ADDRESSES.
23811 (mmix_output_register_setting): Use base addressing if
23812 TARGET_BASE_ADDRESSES and the number of insns is 3.
23813 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
23814 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
23815 to use R as constraint, add LDA to match s.
23816 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
23817 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
23818 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
23819 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
23820 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
23821 order with other fixed registers.
23822 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
23823 other parameter/call-clobbered registers.
23824 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
23825 -mbase-addresses, -mno-base-addresses.
23826 (MMIX Options): Ditto.
23827
73c342b9
JDA
238282002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
23829
23830 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
23831
ef238c58
AH
238322002-02-06 Aldy Hernandez <aldyh@redhat.com>
23833
831c4e87 23834 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 23835
ad08e60e
JT
238362002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
23837
23838 * config/netbsd.h (WCHAR_TYPE): Define.
23839 (WCHAR_TYPE_SIZE): Ditto.
23840 (WINT_TYPE): Ditto.
23841 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
23842 (WCHAR_UNSIGNED): Ditto.
23843 (WCHAR_TYPE_SIZE): Ditto.
23844 (WINT_TYPE): Ditto.
23845 * config/arm/netbsd.h: Likewise.
23846 * config/i386/netbsd-elf.h: Likewise.
23847 * config/i386/netbsd.h: Likewise.
23848 * config/m68k/netbsd-elf.h: Likewise.
23849 * config/m68k/netbsd.h: Likewise.
23850 * config/ns32k/netbsd.h: Likewise.
23851 * config/sparc/netbsd.h: Likewise.
23852 * config/vax/netbsd.: Likewise.
23853
f913c102
AO
238542002-02-05 Alexandre Oliva <aoliva@redhat.com>
23855
23856 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
23857 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
23858 (TARGET_INITIALIZER): this.
23859 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
23860 (BITFIELD_NBYTES_LIMITED): Markup fix.
23861 * tree.h (default_ms_bitfield_layout_p): Declare.
23862 (record_layout_info): Added prev_field.
23863 * tree.c (default_ms_bitfield_layout_p): New fn.
23864 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
23865 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
23866 * stor-layout.c: Include target.h.
23867 (start_record_layout): Initialize prev_field.
23868 (place_field): Handle MS bit-field layout, and disregard
23869 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
23870 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
23871 * Makefile.in (stor-layout.o): Adjust dependencies.
23872
c13db5d1
JM
238732002-02-05 Jason Merrill <jason@redhat.com>
23874
c13db5d1
JM
23875 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
23876
4505024e
AJ
238772002-02-05 Andreas Jaeger <aj@suse.de>
23878
23879 * crtstuff.c: Fix comments.
23880
794ad79d
RH
238812002-02-05 Richard Henderson <rth@redhat.com>
23882
2e279a9b
RH
23883 PR fortran/3393
23884 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
23885 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
23886
794ad79d
RH
23887 PR fortran/3392
23888 * config/mips/mips.c (function_arg): Handle TImode.
23889 (function_arg_advance): Likewise.
23890
8f909017
AH
238912002-02-05 Aldy Hernandez <aldyh@redhat.com>
23892
c13db5d1
JM
23893 * config/rs6000/altivec.h (vec_step_help): Rename to
23894 __vec_step_help.
8f909017 23895
66daa9e3
AH
238962002-02-05 Aldy Hernandez <aldyh@redhat.com>
23897
c13db5d1 23898 * config/rs6000/altivec.h: Fix typos.
66daa9e3 23899
2696e97b
JT
239002002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
23901
23902 * config/arm/netbsd.h: Correct a comment.
23903
3deb2758
AH
239042002-02-05 Aldy Hernandez <aldyh@redhat.com>
23905
c13db5d1
JM
23906 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
23907 building void typed builtins.
3deb2758 23908
c13db5d1
JM
23909 * config/rs6000/altivec.h (vec_ld*): Fix typos.
23910 (vec_step): Implement for C++.
3deb2758 23911
c13db5d1 23912Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
23913
23914 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
23915
ebbb0a63
RH
239162002-02-04 Richard Henderson <rth@redhat.com>
23917
23918 * combine.c (nonzero_bits): Re-introduce special case for
23919 sp/fp/ap wrt REGNO_POINTER_ALIGN.
23920
ae4b4a02
AH
239212002-02-05 Aldy Hernandez <aldyh@redhat.com>
23922
c13db5d1
JM
23923 * doc/extend.texi: Warn about unsupported usage of altivec
23924 builtins.
ae4b4a02 23925
c13db5d1
JM
23926 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
23927 (altivec_predicate_*): New.
ae4b4a02 23928
c13db5d1
JM
23929 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
23930 Add C++ version of vec_*() functions.
ae4b4a02 23931
c13db5d1
JM
23932 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
23933 (bdesc_2arg): Remove altivec predicates.
23934 (altivec_expand_builtin): Handle predicates.
23935 (altivec_init_builtins): Handle predicates.
23936 (altivec_expand_predicate_builtin): New.
ae4b4a02 23937
f6bcf44c
JDA
239382002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23939
23940 * pa.c (DO_FRAME_NOTES): Move forward.
23941 (store_reg): Revise handling of frame notes.
23942 (load_reg): Likewise.
23943 (set_reg_plus_d): Likewise.
23944 (hppa_expand_prologue): Likewise.
23945 (hppa_expand_epilogue): Likewise.
b137f9fc 23946
703b0080
JDA
239472002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23948
23949 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
23950
6f9fdf4d
JJ
239512002-02-04 Jakub Jelinek <jakub@redhat.com>
23952
23953 PR c/4475, c++/3780:
23954 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
23955 * c-common.h (SWITCH_TYPE): Define.
23956 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
23957 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
23958 Rename spareness variable to sparseness.
23959 (expand_end_case_type): Renamed from expand_end_case, use orig_type
23960 if non-NULL instead of TREE_TYPE (orig_index).
23961 * tree.h (expand_end_case_type): Renamed from expand_end_case.
23962 (expand_end_case): Define using expand_end_case_type.
23963 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
23964 to expand_end_case_type.
23965 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
23966
79109502
JDA
239672002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23968
23969 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
23970 (BIGGEST_ALIGNMENT): Change to 128.
23971
e62a5987
JDA
239722002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23973
23974 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
23975
219f24a4
JDA
239762002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23977
23978 * pa.md (call_internal_reg_64bit): Remove unused variable.
23979
3cb66fd7
NC
239802002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
23981
23982 * config/arm/arm.h (machine_function): Add uses_anonymous_args
23983 field.
831c4e87 23984 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 23985 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
23986 replace uses with cfun->machine->uses_anonymous_args.
23987 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
23988
23989 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
23990 any geenral register.
b137f9fc 23991
5d5603e2 239922001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
23993
23994 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
23995 the entry block.
23996
563c12b0
RH
239972002-02-04 Richard Henderson <rth@redhat.com>
23998
23999 * combine.c (force_to_mode): Remove STACK_BIAS code.
24000 (nonzero_bits): Likewise. Replace sp/fp special case with
24001 REGNO_POINTER_ALIGN.
24002
24003 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
24004 (HARD_FRAME_POINTER_REGNUM): New.
24005 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
24006 (FIXED_REGS, CALL_USED_REGS): Update.
24007 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
24008 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
24009 (HARD_REGNO_NREGS): Update for SFP.
24010 (STACK_POINTER_OFFSET): Include bias here ...
24011 (FIRST_PARM_OFFSET): ... not here.
24012 (STACK_BIAS): Remove.
24013 (INIT_EXPANDERS): New.
24014 (STARTING_FRAME_OFFSET): Do not include bias.
24015 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
24016 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
24017 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
24018 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
24019 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
24020 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
24021 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
24022 (MUST_SAVE_REGISTER): Likewise.
24023 (sparc_flat_function_prologue): Likewise.
24024 (sparc_flat_function_epilogue): Likewise.
24025 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
24026 (sparc_init_modes): SFP is GENERAL_REGS.
24027 (sparc_builtin_saveregs): SFP does not have bias applied.
24028
14691f8d
RH
240292002-02-04 Richard Henderson <rth@redhat.com>
24030
24031 * config/alpha/alpha.c (current_function_is_thunk): Don't check
24032 current_function_is_thunk.
24033 (alpha_sa_mask): Distinguish between current_function_is_thunk
24034 called from ASM_OUTPUT_MI_THUNK and not.
24035 (alpha_does_function_need_gp): Thunks always need gp.
24036 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
24037 (alpha_output_mi_thunk_osf): New.
24038 * config/alpha/alpha-protos.h: Update.
24039 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
24040
af702de8
RS
240412002-02-04 Richard Sandiford <rsandifo@redhat.com>
24042
24043 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
24044 function types, not when they're taken away.
24045
5b1cacd8
JL
24046Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
24047
24048 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
24049 CODE_LABEL and jump table when replacing a table jump with a
24050 simple jump.
24051
f3e9edff
UW
240522002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
24053
24054 * config/s390/s390-protos.h (legitimize_la_operand,
24055 s390_secondary_input_reload_class, s390_plus_operand,
24056 s390_expand_plus_operand): Add prototypes.
24057
24058 config/s390/s390.c (s390_secondary_input_reload_class,
24059 s390_plus_operand, s390_expand_plus_operand): New functions.
24060
24061 (struct s390_address): New member 'pointer'.
24062 (s390_decompose_address): Compute it.
24063 (legitimate_la_operand_p): Use it.
24064 (legitimize_la_operand): New function.
24065 (movti, movdi, movdf splitters): Call it.
24066
24067 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
24068 (PREDICATE_CODES): Add s390_plus_operand.
24069
24070 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
24071 (la_ccclobber): Allow GENERAL_REGS as output operand.
24072
24073 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
24074 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
24075 (*la_64, *la_31, reload_indi, reload_insi): ... these.
24076
3c9a08ec
UW
240772002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
24078
24079 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
24080 register names for regular asm () construct.
24081
ac300a45
JJ
240822002-02-04 Jakub Jelinek <jakub@redhat.com>
24083
24084 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
24085 registers.
24086
fa852403
JJ
240872002-02-04 Jakub Jelinek <jakub@redhat.com>
24088
24089 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
24090 pat for recog.
24091
fecaac37
HP
240922002-02-04 Hartmut Penner <hpenner@de.ibm.com>
24093
831c4e87
KC
24094 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
24095 constant pool to be identical by string address and index.
fecaac37 24096
10c45943
AG
240972002-02-04 Anthony Green <green@redhat.com>
24098
24099 * output.h (SECTION_OVERRIDE): Define.
24100 * varasm.c (named_section): Obey SECTION_OVERRIDE.
24101
69474c3c
JT
241022002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
24103
24104 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
24105 by existing arm*-*-netbsd* (a.out) target.
24106 (ns32k-*-netbsdelf*): Likewise.
24107 (sparc-*-netbsdelf*): Likewise.
24108 (vax-*-netbsdelf*): Likewise.
24109
939a46f6 241102002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
24111
24112 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
24113 headers and libobjc headers.
24114
241152002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
24116
24117 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
24118 (_mingw.h): Remove duplicate include.
24119
2fd95d71
JT
241202002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
24121
24122 * config.gcc: Set cpu_type to m68k for 68010, as well.
24123 (m68010-*-netbsdelf*): New...
24124 (m68k*-*-netbsdelf*): ...targets.
24125 * config/m68k/netbsd-elf.h: New file.
24126
0ea6f6a0
KH
241272002-02-02 Kazu Hirata <kazu@hxi.com>
24128
24129 * config/h8300/h8300.c (hand_list): Move inside function_arg.
24130
cbf1b2da
KH
241312002-02-02 Kazu Hirata <kazu@hxi.com>
24132
24133 * config/h8300/h8300.c (h8_push_ops): Move inside
24134 h8300_init_once.
24135 (h8_pop_ops): Likewise.
24136 (h8_move_ops): Likewise.
24137
0869f126
KH
241382002-02-02 Kazu Hirata <kazu@hxi.com>
24139
24140 * config/h8300/h8300.c (os_task): Make it static.
24141 (monitor): Likewise.
24142 (pragma_saveall): Likewise.
24143
90e65b70
AO
241442002-02-02 Alexandre Oliva <aoliva@redhat.com>
24145
24146 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
24147 constant is a valid sign-extension for Pmode.
24148
9cbcd983
KH
241492002-02-02 Kazu Hirata <kazu@hxi.com>
24150
24151 * config/h8300/h8300.c: Fix formatting.
24152
7a27efc4
KH
241532002-02-02 Kazu Hirata <kazu@hxi.com>
24154
24155 * config/h8300/h8300.md: Fix formatting.
24156
54175a44
KH
241572002-02-02 Kazu Hirata <kazu@hxi.com>
24158
24159 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
24160 predicates of operands[1]. Split the patterns for each
24161 processor variant.
24162
eceb1755
KH
241632002-02-02 Kazu Hirata <kazu@hxi.com>
24164
24165 * config/h8300/h8300.md (xor patterns): Tighten the predicates
24166 of operands[1] to register_operand.
24167
0fef3fd0
NB
241682002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
24169
24170 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
24171 * cpphash.c (_cpp_init_hashtable): Similarly.
24172 * cppinit.c (cpp_create_reader): Default the signed_char flag.
24173 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
24174 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
24175 (cpp_handle_option): Handle the new options.
24176 * cpplex.c (cpp_interpret_charconst): Use new flag.
24177 * cpplib.h (struct cpp_options): New member signed_char.
24178 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
24179 (cpp_options): Handle -fsigned-char and -funsigned-char.
24180 (static_specs): Remove signed_char_spec.
24181 (do_spec1): Don't handle %c.
24182 * system.h: Poison SIGNED_CHAR_SPEC.
24183 * tradcif.y (yylex): Use flag_signed_char.
24184 * tradcpp.h (flag_signed_char): New.
24185 * tradcpp.c (flag_signed_char): New.
24186 (main): Handle new command-line options.
24187 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
24188config:
24189 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
24190 * avr/avr.h: Remove old comments.
24191 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
24192 (CC1_SPEC): Pass -fsigned-char if -mic*.
24193 (SIGNED_CHAR_SPEC): Remove.
24194doc:
24195 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
24196
0617ed52
EC
241972002-02-01 Eric Christopher <echristo@redhat.com>
24198
24199 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
24200 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
24201 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
24202 (ASM_OUTPUT_REG_POP): Ditto.
24203
dfd48d76
NB
242042002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
24205
24206 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
24207 patch.
24208
4a23409e
JJ
242092002-02-02 Jakub Jelinek <jakub@redhat.com>
24210
24211 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
24212
d3c52658
JJ
242132002-02-02 Jakub Jelinek <jakub@redhat.com>
24214
24215 PR c/5304:
24216 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
24217 unconditionally.
24218
02c5a3bd
JJ
242192002-02-01 Janis Johnson <janis187@us.ibm.com>
24220
24221 * cfganal.c: Include tm_p.h.
24222 (keep_with_call_p): Fix the test that determines if a register holds
24223 the return value of a call.
24224
3968de80
DD
242252002-02-01 DJ Delorie <dj@redhat.com>
24226
24227 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
24228 we are given conflicting registers, switch to the other one we
24229 had allocated for us.
24230 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
24231 as TImode so we know when the "other" register is available.
24232
1338ea6c
DB
242332002-02-01 David O'Brien <obrien@FreeBSD.org>
24234
24235 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
24236 sparc/sparc_bi.h.
24237
f015be23
JJ
242382002-02-01 Janis Johnson <janis187@us.ibm.com>
24239
24240 * cfganal.c (keep_with_call_p): New function.
24241 (flow_call_edges_add): Prevent splitting a block between a call and
24242 a single-set instruction that should be kept in the same block.
24243
63708ffc
CR
242442002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
24245
24246 * doc/install.texi (avr): Update outdated URL.
24247
5ee4950e
AH
242482002-01-30 Andrew Haley <aph@cambridge.redhat.com>
24249
831c4e87
KC
24250 * config/stormy16/stormy16.md (pushqi): New.
24251 (popqi): New.
24252 (pushhi): New.
24253 (pophi): New.
24254 (movhi): Remove stack operands.
24255 (movqi): Likewise.
24256 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
24257 nonimmediate_nonstack_operand.
24258 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
24259 New.
24260 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
24261 New.
5ee4950e 24262
b88c0704
JM
242632002-01-31 Jason Merrill <jason@redhat.com>
24264
24265 * Makefile.in (c-parse.c): Handle .output file.
24266 * objc/Make-lang.in (objc-parse.c): Likewise.
24267
ac282977
AO
242682002-02-01 Alexandre Oliva <aoliva@redhat.com>
24269
24270 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
24271 the -me[lb] option is given. Don't output the default flag
24272 twice.
24273
bebc7e8b
ZW
242742002-01-31 Zack Weinberg <zack@codesourcery.com>
24275
24276 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
24277 the primary source file; this has not been done yet.
24278 * c-decl.c (c_expand_body): Reset input_filename from
24279 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
24280
5809eb5f
KH
242812002-01-31 Kazu Hirata <kazu@hxi.com>
24282
24283 * rtlanal.c (subreg_regno_offset): Do not use
24284 SUBREG_REGNO_OFFSET.
24285 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
24286 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
24287
8512bbd7
JM
242882002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24289
24290 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
24291 version rather than GNATS version in --version output.
24292
74cb3cc8
RS
242932002-01-31 Richard Sandiford <rsandifo@redhat.com>
24294
24295 * ifcvt.c (noce_process_if_block): Make a copy of the destination
24296 when copying back from a temporary.
24297
874b5b14
RH
242982002-01-30 Richard Henderson <rth@redhat.com>
24299
24300 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
24301 and new_dest are the same.
24302
e803a64b
RH
243032002-01-30 Richard Henderson <rth@redhat.com>
24304
89cf7be5 24305 PR opt/5076
e803a64b
RH
24306 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
24307 * rtl.c (note_insn_name): Update.
24308 * emit-rtl.c (remove_unnecessary_notes): Kill it.
24309 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
24310 to perform loop rotation.
24311 (expand_exit_loop_top_cond): New.
24312 * tree.h (expand_exit_loop_top_cond): Declare it.
24313 * c-semantics.c (genrtl_while_stmt): Use it.
24314 (genrtl_for_stmt): Likewise.
24315
0b51254d
AO
243162002-01-30 Alexandre Oliva <aoliva@redhat.com>
24317
24318 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
24319 arguments to 64-bit boundaries on 64-bit ABIs.
24320
71cef493
SE
243212002-01-30 Steve Ellcey <sje@cup.hp.com>
24322
24323 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
24324
6169e5fd
JM
243252002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24326
24327 * c-decl.c (grokdeclarator): Handle type being a typedef for an
24328 invalid type.
24329
86f808dc
DB
243302002-01-30 David O'Brien <obrien@FreeBSD.org>
24331
24332 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
24333 * config/sparc/sparc_bi.h: Remove file.
24334 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
24335
5748ebeb
RH
243362002-01-30 Richard Henderson <rth@redhat.com>
24337
24338 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
24339
20d32cc2
ZW
243402002-01-30 Zack Weinberg <zack@codesourcery.com>
24341
24342 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
24343
b88c0704 243442002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
24345
24346 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
24347 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
24348 (reg_save): Use DW_CFA_offset_extended_sf instead.
24349
24350 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
24351
37060e78
JJ
243522002-01-29 Jakub Jelinek <jakub@redhat.com>
24353
24354 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
24355 in cselib_lookup.
24356
d18dba68
AH
243572002-01-29 Aldy Hernandez <aldyh@redhat.com>
24358
bebc7e8b
ZW
24359 * rs6000.md ("*call_value_local32"): Remove constraints.
24360 ("*call_value_local64"): Same.
24361 ("*call_value_indirect_nonlocal_aix32"): Same.
24362 ("*call_value_nonlocal_aix32"): Same.
24363 ("*call_value_indirect_nonlocal_aix64"): Same.
24364 ("*call_value_nonlocal_aix64"): Same.
24365 ("*call_value_nonlocal_sysv"): Same.
d18dba68 24366
80a8aac6
RH
243672002-01-29 Richard Henderson <rth@redhat.com>
24368
24369 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
24370
12beba6f
RH
243712002-01-29 Richard Henderson <rth@redhat.com>
24372
24373 * expr.c (force_operand): Ignore flag_pic for detecting pic
24374 address loads.
24375 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
24376 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
24377 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
24378 instead of open-coded loop.
24379 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
24380 be fixed when in use.
24381
2583081e
RH
243822002-01-29 Richard Henderson <rth@redhat.com>
24383
24384 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
24385 * sched-rgn.c (propagate_deps): Update them.
24386 * sched-deps.c (sched_analyze_insn): Update them. Flush the
24387 clobbers list when either gets too long.
24388
3b8d200e
JJ
243892002-01-29 Jakub Jelinek <jakub@redhat.com>
24390
24391 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
24392 and INDEX_REGS the same as GENERAL_REGS.
24393 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
24394
2d3115eb
NB
243952002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
24396
bebc7e8b 24397 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 24398
ecbe845e
UW
243992002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
24400
bebc7e8b 24401 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 24402 movstrsix_31): Remove, replace by ...
bebc7e8b 24403 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
24404 movstrsi_long): ... these. New.
24405 (movstrdi, movstrsi): Adapt.
24406
24407 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 24408 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
24409 Remove unnecessary CC clobber.
24410 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
24411 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
24412
24413 (divmoddi4): Don't partially initialize TImode register.
24414
0b32fca5
GK
244152002-01-29 Geoffrey Keating <geoffk@redhat.com>
24416
24417 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
24418
08ef5437
RH
244192002-01-29 Richard Henderson <rth@redhat.com>
24420
24421 * flow.c (print_rtl_and_abort): Remove.
24422 (print_rtl_and_abort_fcn): Remove.
24423 (verify_local_live_at_start): Use dump_bb instead.
24424 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
24425 (verify_wide_reg_1): Return 2 on mode test failure.
24426
8469e54e
NB
244272002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
24428
24429 PR c/3325, c/3326, c/2511, c/3347
24430 * c-decl.c (enum_decl_context): Remove BITFIELD.
24431 (grokdeclarator): Take bitfield width as an input.
24432 Ensure bitfields are given the correct type. Perform
24433 bitfield width validation with build_bitfield_integer_type
24434 rather than waiting for finish_struct.
24435 (grok_typename, grok_typename_in_parm_context, start_decl,
24436 push_parmdecl, grokfield, start_function): Update calls to
24437 grokdeclarator.
24438 (build_bitfield_integer_type): New function.
24439 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 24440 and build_bitfield_integer_type.
8469e54e
NB
24441 * tree.c (build_nonstandard_integer_type): New function.
24442 * tree.h (build_nonstandard_integer_type): New prototype.
24443objc:
24444 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
24445
ffdeea47
JJ
244462002-01-29 Jakub Jelinek <jakub@redhat.com>
24447
24448 PR other/1502:
24449 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
24450 don't ignore unrecognized -W* options.
24451 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
24452 * cpplib.h (cpp_handle_option): Adjust prototype.
24453 * c-decl.c (c_decode_options): Pass 0 as last argument to
24454 cpp_handle_option.
24455
24456 PR c/2896:
24457 * gcc.c (cpp_unique_options): Split from cpp_options.
24458 (cpp_options): Source cpp_unique_options.
24459 (default_compilers): Use cpp_unique_options instead of cpp_options
24460 when used together with cc1_options.
24461 (static_specs): Add cpp_unique_options.
24462 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
24463 when used together with cc1_options.
24464
1a275226
KH
244652002-01-29 Kazu Hirata <kazu@hxi.com>
24466
24467 * config/h8300/h8300-protos.h: Update the prototype of
24468 output_a_shift.
24469 * config/h8300/h8300.c (output_a_shift): Remove an unused
24470 argument 'insn'. Remove redundant code.
24471 * config/h8300/h8300.md: Adust to the new prototype of
24472 output_a_shift.
24473
a11d9dfc
KH
244742002-01-29 Kazu Hirata <kazu@hxi.com>
24475
24476 * config/h8300/h8300-protos.h: Update the prototypes of
24477 emit_a_rotate and expand_a_rotate.
24478 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
24479 first argument to 'enum rtx_code'.
24480 (expand_a_rotate): Likewise.
24481
871f73e3
KH
244822002-01-28 Kazu Hirata <kazu@hxi.com>
24483
24484 * config/h8300/h8300-protos.h: Update the prototype of
24485 output_simode_bld.
24486 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
24487 'log2'.
24488 * config/h8300/h8300.md: Adjust to the new prototype.
24489
5fc4b751
KH
244902002-01-28 Kazu Hirata <kazu@hxi.com>
24491
24492 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
24493 redundant code.
24494
2d67bd7b
JDA
244952002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
24496
24497 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
24498 is a fixed register before returning pic_offset_table_rtx.
24499 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
24500 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
24501
5a852b3e
JM
245022002-01-28 Jason Merrill <jason@redhat.com>
24503
6bb28965 24504 * dwarf2.h: Sync with src version.
5a852b3e 24505
3bca17dd
PK
245062002-01-28 Paul Koning <pkoning@equallogic.com>
24507
24508 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
24509 BT_FN_VOID_PTR_VAR.
24510 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
24511 * doc/extend.texi (__builtin_prefetch): Update documentation:
24512 first argument is now const void ptr.
24513
7dc3f8c0
KH
245142002-01-28 Kazu Hirata <kazu@hxi.com>
24515
24516 * config/h8300/h8300-protos.h: Remove an unused prototype.
24517
e83cb5f0
RZ
245182002-01-28 Roman Zippel <zippel@linux-m68k.org>
24519
24520 * toplev.c (lang_independent_init): Round up identifier size.
24521
5721cd84
RE
245222002-01-28 Richard Earnshaw <rearnsha@arm.com>
24523
24524 * config.gcc: Revert previous change.
24525
d534119e
AP
245262002-01-28 Andris Pavenis <pavenis@latnet.lv>
24527
24528 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
24529
5a721dab
RE
245302002-01-28 Richard Earnshaw <rearnsha@arm.com>
24531
24532 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
24533 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
24534 other non-elf netbsd config frags.
24535 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
24536 collect2 will does that.
24537 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
24538 shared-lib frobbing will work.
24539
da1775d6
KH
245402002-01-28 Kazu Hirata <kazu@hxi.com>
24541
24542 * config/h8300/h8300.h: Fix formatting.
24543 * config/h8300/h8300.md: Likewise.
24544
8f2e963b
LR
245452002-01-28 Loren J. Rittle <ljrittle@acm.org>
24546
24547 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
24548 the old, removed AAA_standards fix.
24549 * fixinc/fixincl.x: Rebuilt.
24550
fdae5767
HPN
245512002-01-28 Hans-Peter Nilsson <hp@axis.com>
24552
24553 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
24554 atexit call in crtbegin, hooked in after call to frame_dummy;
24555 register EH before registering __fini__start.
24556
2a2ecb63
AH
245572002-01-28 Aldy Hernandez <aldyh@redhat.com>
24558
24559 * config/rs6000/altivec.h: Remove spurious semicolons.
24560
8ed43adf
KH
245612002-01-27 Kazu Hirata <kazu@hxi.com>
24562
24563 * config/h8300/h8300.md: Replace dead bit extraction patterns
24564 with ones that work.
24565
917afb0c
RK
24566Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24567
24568 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
24569 if not STRICT_ALIGNMENT.
24570 * rtl.h (MEM_ALIGN): Likewise.
24571
f70a54cb
CR
245722002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
24573
24574 * doc/invoke.texi (-fdump-translation-unit): Revert this
24575 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
24576
d8fd4914
KH
245772002-01-27 Kazu Hirata <kazu@hxi.com>
24578
24579 * config/h8300/h8300.md (define_constants): New.
24580 (anonymous patterns) Use defined constants appropriately.
24581
15e0e275
KH
245822002-01-27 Kazu Hirata <kazu@hxi.com>
24583
24584 * config/h8300/h8300.c (function_arg): Remove redundant code.
24585
37a0f8a5
RH
245862002-01-26 Richard Henderson <rth@redhat.com>
24587
24588 * sched-deps.c (reg_pending_uses_head): New.
24589 (reg_pending_barrier): Rename from reg_pending_sets_all.
24590 (find_insn_list): Don't mark inline.
24591 (find_insn_mem_list): Remove.
24592 (add_dependence_list, add_dependence_list_and_free): New.
24593 (flush_pending_lists): Replace only_write param with separate
24594 for_read and for_write parameters. Update all callers. Use
24595 add_dependence_list_and_free.
24596 (sched_analyze_1): Do not add reg dependencies here; just set
24597 the pending bits. Use add_dependence_list.
24598 (sched_analyze_2): Likewise.
24599 (sched_analyze_insn): Replace schedule_barrier_found with
24600 reg_pending_barrier. Add all dependencies for pending reg
24601 uses, sets, and clobbers.
24602 (sched_analyze): Don't add reg dependencies for calls, just
24603 set pending bits. Use regs_invalidated_by_call. Treat
24604 sched_before_next_call as a normal list, not a fake insn.
24605 (init_deps): No funny init for sched_before_next_call.
24606 (free_deps): Free pending mems lists. Don't zero reg_last.
24607 (init_deps_global): Init reg_pending_uses.
24608 (finish_deps_global): Free it.
24609 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
24610 (find_insn_mem_list): Remove.
24611 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
24612 (propagate_deps): Use them. Zero temp mem lists.
24613
cea3bd3e
RH
246142002-01-26 Richard Henderson <rth@redhat.com>
24615
24616 * Makefile.in (CRTSTUFF_CFLAGS): New.
24617 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
24618 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
24619 crtstuff.c instead of alpha assembly version.
24620 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
24621 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
24622 not FORCE_{INIT,FINI}_SECTION_ALIGN.
24623 (__do_global_dtors_aux): Mark used.
24624 (frame_dummy, __do_global_ctors_aux): Mark used.
24625 (fini_dummy, init_dummy): Remove.
24626
24627 * config/alpha/crtbegin.asm: Remove file.
24628 * config/alpha/crtend.asm: Remove file.
24629 * config/alpha/t-crtbe: Remove file.
24630 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
24631 (LINK_EH_SPEC): New.
24632
24633 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
24634 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
24635 calling constructors.
24636 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
24637
24638 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
24639 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
24640 CRT_END_INIT_DUMMY hack.
24641 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
24642 FORCE_{INIT,FINI}_SECTION_ALIGN.
24643
24644 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
24645 FORCE_{INIT,FINI}_SECTION_ALIGN.
24646
24647 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
24648 invocation sequence.
24649 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
24650
24651 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
24652 (FORCE_CODE_SECTION_ALIGN): New.
24653
60ffa0e5
RH
246542002-01-26 Richard Henderson <rth@redhat.com>
24655
24656 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
24657
61334ebe
RH
246582002-01-26 Richard Henderson <rth@redhat.com>
24659
24660 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
24661 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
24662
1d788fb6
KH
246632002-01-26 Kazu Hirata <kazu@hxi.com>
24664
24665 * config/h8300/h8300.md: Remove bit extraction patterns that
24666 cannot be triggered.
24667 Restrict each bit extraction pattern to a variant on which the
24668 pattern is tested.
24669
87611f88
JM
246702002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
24671
24672 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
24673
cd74ec59
KH
246742002-01-26 Kazu Hirata <kazu@hxi.com>
24675
24676 * config/h8300/h8300.md: Remove bit test patterns that cannot
24677 be triggered.
24678 Restrict each bit test pattern to a variant on which the
24679 pattern is tested.
24680
93051e0f
KG
246812002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
24682
24683 * builtins.c (expand_builtin_strncat): Remove redundant check for
24684 INTEGER_CST.
24685
216c995f
DB
246862002-01-25 David O'Brien <obrien@FreeBSD.org>
24687
24688 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
24689 default setting.
24690 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
24691 existing setting.
24692
33c7f925
GK
246932002-01-25 Geoffrey Keating <geoffk@redhat.com>
24694
24695 * dbxout.c (dbxout_init): Use assemble_name rather than just
24696 stripping off the first character.
24697 (dbxout_source_file): Likewise.
24698
6cd444b4
DD
246992002-01-25 DJ Delorie <dj@redhat.com>
24700
24701 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
24702 using rtx_equal_p, not by comparing pointers.
24703
751551d5
SE
247042002-01-25 Steve Ellcey <sje@cup.hp.com>
24705
24706 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
24707 for PIC_OFFSET_TABLE_REGNUM.
24708 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
24709
e564e618
DB
247102002-01-25 David O'Brien <obrien@FreeBSD.org>
24711
24712 * config.gcc (x86_64-*-freebsd*): New target.
24713 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
24714 value.
24715 (i[34567]86-*-freebsd*): Don't include svr4.h.
24716 * config/i386/freebsd64.h: New file.
24717
ff3aaf17
DR
247182002-01-25 Douglas B Rupp <rupp@gnat.com>
24719
4857d29d
DR
24720 * config/alpha/x-vms (version): Make static.
24721
24722 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
24723 in previous checkin.
24724
ff3aaf17
DR
24725 * Makefile.in (install-headers-cp): New target.
24726 * config.gcc (alpha-dec-*vms*): Install headers with
24727 install-headers-cp
24728
48d79c43
JH
24729Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
24730
24731 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
24732 avoid it's copies.
24733
995b5904
RK
24734Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24735
24736 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
24737 of compare_tree_int.
24738 (expand_builtin_strncat): Likewise.
24739 * c-decl.c (finish_struct): Use tree_low_cst.
24740 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
24741 * tree.c (compare_tree_int): Likewise.
24742
75eefe3f
UW
247432002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
24744
24745 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
24746 adjustments even if they are implemented by more than two insns.
24747
5a133afd
JH
24748Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
24749
995b5904 24750 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
24751 * df.h (struct ref): Kill B.
24752 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
24753
24754 * basic-block.h (PROP_EQUAL_NOTES): New flag.
24755 * flow.c (propagate_one_insn): Use it.
24756 (mark_used_regs): Handle NIL.
24757
ead39bdf 247582002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
24759
24760 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
24761 to help folding.
24762
01a2ccd0
DE
247632002-01-25 David Edelsohn <edelsohn@gnu.org>
24764
24765 * rs6000.md (prefetch): Make address V4SI mode so that the address
24766 is restricted to legitimate form for instruction.
24767
fd29f6ea
BW
247682002-01-25 Bob Wilson <bob.wilson@acm.org>
24769
24770 * doc/install.texi (xtensa-*-elf): New target.
24771 (xtensa-*-linux*): New target.
24772 * doc/contrib.texi: Add myself.
24773
55492b32
NC
247742002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
24775
24776 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
24777 purpose register to hold an SImode (or smaller) value.
24778
72c7c913
JJ
247792002-01-25 Jakub Jelinek <jakub@redhat.com>
24780
24781 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
24782 registry only.
24783 * crtstuff.c: Likewise.
24784
c4df4ceb
KH
247852002-01-25 Kazu Hirata <kazu@hxi.com>
24786
24787 * config/h8300/h8300.md (negation patterns): Tighten
24788 predicates to register_operand.
24789
70e531f5
AH
247902002-01-24 Aldy Hernandez <aldyh@redhat.com>
24791
3bca17dd
PK
24792 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
24793 mode, not Pmode.
70e531f5 24794
3bca17dd 24795 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 24796
a4f76ef9
AO
247972002-01-24 Alexandre Oliva <aoliva@redhat.com>
24798
24799 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
24800 modes.
24801
9bf25b09
KH
248022002-01-24 Kazu Hirata <kazu@hxi.com>
24803
24804 * config/h8300/h8300.c (print_operand): Remove support for
24805 operand character 'A'.
24806 * config/h8300/h8300.md (three anonymous patterns): Replace
24807 operand character 'A' with either 'T' or 'S'.
24808
974af6a5
KH
248092002-01-24 Kazu Hirata <kazu@hxi.com>
24810
24811 * config/h8300/h8300.c (print_operand): Remove support for
24812 operand character 'U'.
24813
7a5bb7b8
AP
248142002-01-24 Andris Pavenis <pavenis@latnet.lv>
24815
3bca17dd 24816 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 24817
92a4639e
NC
248182002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
24819
24820 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
24821 values to be assigned to the stack pointer.
24822
467cb2da
HP
248232002-01-14 Hartmut Penner <hpenner@de.ibm.com>
24824
bebc7e8b 24825 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
24826 to const_double needs to be done right for big-endian systems.
24827
3b6cb920
JM
248282002-01-24 Jason Merrill <jason@redhat.com>
24829
b08dd119 24830 PR c++/2432
3b6cb920
JM
24831 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
24832 to can_throw_internal.
24833
f3077311
RH
248342002-01-23 Richard Henderson <rth@redhat.com>
24835
24836 * fold-const.c (fold): Change UINT_MAX test to check vs precision
24837 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
24838
e1d71275
AO
248392002-01-24 Alexandre Oliva <aoliva@redhat.com>
24840
24841 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
24842 (symGOT2reg): Use them, then set as GOT value as unchanging.
24843 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
24844 as a temporary, if possible.
24845 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
24846 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
24847
dc271dbe
KH
248482002-01-23 Kazu Hirata <kazu@hxi.com>
24849
24850 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
24851 accept to accept 0x80 as operands[2].
24852
1a9017f9
AO
248532002-01-24 Alexandre Oliva <aoliva@redhat.com>
24854
24855 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
24856
6932f033
RH
248572002-01-23 Richard Henderson <rth@redhat.com>
24858
24859 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
24860
709619d9
AH
248612002-01-23 Aldy Hernandez <aldyh@redhat.com>
24862
3bca17dd
PK
24863 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
24864 (parmlist_or_identifiers_1): Verify that only a parmlist follows
24865 an attribute.
709619d9 24866
3d709fd3
RH
248672002-01-23 Richard Henderson <rth@redhat.com>
24868
24869 * expr.c (move_by_pieces_1): Extend size before negation.
24870
88a446c0
RH
24871 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
24872 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
24873 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
24874 * config/m68k/t-m68kelf: Likewise.
24875
03984308
BW
248762002-01-23 Bob Wilson <bob.wilson@acm.org>
24877
24878 * config/xtensa/elf.h: New file.
24879 * config/xtensa/lib1funcs.asm: New file.
24880 * config/xtensa/lib2funcs.S: New file.
24881 * config/xtensa/linux.h: New file.
24882 * config/xtensa/t-xtensa: New file.
24883 * config/xtensa/xtensa-config.h: New file.
24884 * config/xtensa/xtensa-protos.h: New file.
24885 * config/xtensa/xtensa.c: New file.
24886 * config/xtensa/xtensa.h: New file.
24887 * config/xtensa/xtensa.md: New file.
24888 * config.gcc (xtensa-*-elf*): New target.
24889 (xtensa-*-linux*): New target.
24890 * cse.c (canon_hash): Compare rtx pointers instead of register
24891 numbers. This is required for the Xtensa port.
24892 * integrate.c (copy_insn_list): Handle case where the static
24893 chain is in memory and the memory address has to be copied to
24894 a register.
24895 * doc/invoke.texi (Option Summary): Add Xtensa options.
24896 (Xtensa Options): New node.
24897 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
24898
c3d5c3fa
ZW
248992002-01-23 Zack Weinberg <zack@codesourcery.com>
24900
a63bea75
ZW
24901 * diagnostic.c (internal_error): Do ICE suppression only
24902 when ENABLE_CHECKING is not defined.
24903
c3d5c3fa
ZW
24904 * c-typeck.c (require_complete_type): Return error_mark_node
24905 if type is error_mark_node.
24906
1398974c
JJ
249072002-01-23 Janis Johnson <janis187@us.ibm.com>
24908
24909 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
24910 -Os and issue a warning.
24911
807633e5
ZW
249122002-01-23 Zack Weinberg <zack@codesourcery.com>
24913
24914 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
24915 current (lack of) need for host configuration by hand.
24916
24917 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
24918 references. Documentation of some target macros moved from
24919 hostconfig.texi to tm.texi.
24920
cf8002d0
WC
249212002-01-23 Will Cohen <wcohen@redhat.com>
24922
24923 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
24924 defined.
24925
d1e76310
KH
249262002-01-23 Kazu Hirata <kazu@hxi.com>
24927
24928 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
24929 operand[3].
24930
b2115575
JM
249312002-01-23 Jason Merrill <jason@redhat.com>
24932
f893c16e
JM
24933 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
24934
b2115575
JM
24935 * function.c (assign_parms): Don't put args of inline functions
24936 into registers when not optimizing.
24937
6bacc7b0
NC
249382002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
24939
24940 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
24941 (prologue_use): New pattern.
24942 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
24943 preference to gen_rtx_USE.
24944 (thumb_expand_prologue): Use gen_prologue_use in preference to
24945 gen_rtx_USE.
24946 (thumb_expand_epilogue): Use gen_prologue_use in preference to
24947 gen_rtx_USE.
24948
a415f7bc
HPN
249492002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
24950
24951 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
24952
5372b3fb
NB
249532002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
24954
24955 PR c/3504
24956 * doc/extend.texi: Correct documentation of __alignof__.
24957
bd571ffc
ZW
249582002-01-22 Zack Weinberg <zack@codesourcery.com>
24959
24960 * params.h: Rename arguments of DEFPARAM so that it will be
24961 recognized as a translation keyword.
24962
333c8841
AH
249632002-01-22 Aldy Hernandez <aldyh@redhat.com>
24964
bd571ffc
ZW
24965 * extend.texi: Document altivec functions.
24966 Fix N-bit adjectives in X86 builtin documentation.
333c8841 24967
38979c65
AO
249682002-01-22 Alexandre Oliva <aoliva@redhat.com>
24969
24970 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
24971 auto_inc_dec values.
24972
7458a9f0
RE
249732002-01-22 Richard Earnshaw <rearnsha@arm.com>
24974
24975 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
24976 after backslash.
24977 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
24978
129bd0c4
AO
249792002-01-22 Alexandre Oliva <aoliva@redhat.com>
24980
24981 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
24982
8b9b74a9
RH
249832002-01-22 Richard Henderson <rth@redhat.com>
24984
24985 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
24986 copy_insn not copy_rtx.
24987
d0c9db30
AM
249882002-01-23 Alan Modra <amodra@bigpond.net.au>
24989
24990 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
24991 "nonzero" as that might add "1" bits. Ensure "constop" is
24992 properly sign extened.
24993 (force_to_mode): Tweak for sign extended constop.
24994
1e7e480e
RH
249952002-01-22 Richard Henderson <rth@redhat.com>
24996
24997 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
24998 for_each_rtx instead of assuming we're already looking at the MEM.
24999 (split_small_symbolic_mem_operand): Likewise.
25000 * config/alpha/alpha.h (PREDICATE_CODES): Update.
25001 * config/alpha/alpha.md (small symbolic memory splitters): Update.
25002
250032002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
25004
25005 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
25006 sequence number for the literal.
25007 (divmoddi_internal_er): Likewise.
25008
b7f2fb96
CR
250092002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
25010
25011 PR java/4972
25012 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
25013 in LIBICONV variable.
25014 * configure: Regenerated.
25015
f66a0046
KW
250162002-01-22 Krister Walfridsson <cato@df.lth.se>
25017
25018 * dependence.c (build_def_use): Remove array_idx.
25019
e3b0efd1
KW
25020 * dwarfout.c (last_filename): Remove.
25021 (output_compile_unit_die): Remove last_filename.
25022
d8086cbb
RS
250232002-01-22 Roger Sayle <roger@eyesopen.com>
25024 Richard Henderson <rth@redhat.com>
25025
25026 PR opt/3640
25027 * fold-const.c (fold): Optimize unsigned comparisons against
25028 UINT_MAX (and similar unsigned constants).
25029
e8d52ba0
JJ
250302002-01-22 Janis Johnson <janis187@us.ibm.com>
25031
d8086cbb 25032 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 25033 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 25034 against the predicate.
11303d15 25035
e8d52ba0
JJ
25036 PR target/5379
25037 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
25038 for the address operand.
25039
cc7b420e
RH
250402002-01-22 Richard Henderson <rth@redhat.com>
25041
25042 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
25043
816e265a
CR
250442002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
25045
25046 PR other/5450
cc7b420e
RH
25047 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
25048 preprocessor flags.
816e265a 25049
7c884404
JT
250502002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
25051
25052 * config.gcc (x86_64-*-netbsd*): New target.
25053 * config/i386/netbsd64.h: New file.
25054
2b672c08
AH
250552002-01-22 Aldy Hernandez <aldyh@redhat.com>
25056
d8086cbb 25057 * regrename.c (kill_value): Fix typo.
2b672c08
AH
25058
250592002-01-22 Aldy Hernandez <aldyh@redhat.com>
25060
d8086cbb 25061 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 25062
d8086cbb 25063 * config/rs6000/rs6000.h: Same.
2b672c08 25064
d8086cbb
RS
25065 * function.c (instantiate_virtual_regs): Remove
25066 STARTING_FRAME_PHASE.
25067 (assign_stack_local_1): Same.
25068 Calculate frame phase.
2b672c08 25069
4b02997f
NC
250702002-01-22 Nick Clifton <nickc@redhat.com>
25071
25072 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
25073 variable declaration to outer scope in order to simplify
25074 future extensions.
25075 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
25076 arm_hard_regno_mode_ok.
25077 * config/arm/arm-protos.h: Add a prototype for
25078 arm_hard_regno_mode_ok.
25079 * config/arm/arm.c (soft_df_operand): Remove now redundant
25080 check for DImode values using IP_REGNUM.
25081 (nonimmediate_soft_df_operand): Remove now redundant check for
25082 DImode values using IP_REGNUM.
25083 (arm_hard_regno_mode_ok): New function. New check: make sure
25084 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
25085
25086 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
25087 note with a USE.
25088 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
25089
8a827ab2
JM
250902002-01-22 Jason Merrill <jason@redhat.com>
25091
25092 * c-semantics.c (genrtl_compound_stmt): Only check nesting
25093 consistency if this COMPOUND_STMT is scoped.
25094
cf403648
KH
250952002-01-22 Kazu Hirata <kazu@hxi.com>
25096
25097 * predict.c: Fix formatting.
25098 * print-tree.c: Likewise.
25099 * protoize.c: Likewise.
25100 * real.h: Likewise.
25101 * rtl.h: Likewise.
25102 * sbitmap.h: Likewise.
25103 * scan.c: Likewise.
25104 * sched-deps.c: Likewise.
25105 * sched-vis.c: Likewise.
25106 * sdbout.c: Likewise.
25107 * sibcall.c: Likewise.
25108 * ssa.c: Likewise.
25109 * ssa-ccp.c: Likewise.
25110 * ssa-dce.c: Likewise.
25111 * stmt.c: Likewise.
25112 * stor-layout.c: Likewise.
25113 * system.h: Likewise.
25114
aea9695c
RK
25115Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25116
a8765ae7
RK
25117 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
25118 if fits in bounds of base type.
25119
aea9695c
RK
25120 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
25121 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
25122 (add_bound_info, default): If can't find a context, make a
25123 SAVE_EXPR.
25124 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
25125
58bf601b
HPN
251262002-01-22 Hans-Peter Nilsson <hp@axis.com>
25127
25128 * c-typeck.c (parser_build_binary_op): If result from
25129 build_binary_op is ERROR_MARK just return error_mark_node without
25130 further processing.
25131
f982f805
JT
251322002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
25133
25134 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
25135 Split a.out-specific bits into...
25136 * config/netbsd-aout.h: ...this.
25137 * config/netbsd-elf.h: New file.
25138 * config/alpha/netbsd-elf.h: Remove.
25139 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
25140 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 25141 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
25142 (ENDFILE_SPEC): Likewise.
25143 (LINK_SPEC): Likewise.
25144 (CPP_SPEC): Likewise.
25145 (ASM_SPEC): Likewise.
25146 (LIB_SPEC): Likewise.
25147 (SWITCH_TAKES_ARG): Likewise.
25148 (TARGET_MEM_FUNCTIONS): Likewise.
25149 (CPP_PREDEFINES): Redefine.
25150 (ASM_FINAL_SPEC): Remove redefinition.
25151 (ASM_COMMENT_START): Redefine.
25152 (FUNCTION_PROFILER): Define.
25153 (TARGET_VERSION): Redefine.
25154 Comment and formatting cleanup.
25155 * config/i386/netbsd.h: Include <netbsd-aout.h>.
25156 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
25157 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
25158 big- or little-endian.
25159 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
25160 * config.gcc (*-*-netbsd*): Add definitions common to all
25161 NetBSD configs.
25162 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
25163 gnu_ld definitions. Add netbsd-elf.h to and remove
25164 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
25165 tmake_file, and don't lose previous tmake_file contents.
25166 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
25167 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
25168 gnu_ld definitions. Add netbsd-elf.h to tm_file.
25169 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
25170 (mipsel-*-netbsd*): Rename this to...
25171 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
25172 mips/little.h to tm_file for mips*el-*.
25173 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
25174 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
25175 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
25176
2e396476
JDA
251772002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
25178
25179 * pa-protos.h (reg_before_reload_operand): New function prototype.
25180 * pa.c (reg_before_reload_operand): New function implementation.
25181 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
25182 contraints to "*m".
25183
3b5708e7
FS
251842002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
25185
25186 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
25187
85e79f96
JDA
251882002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
25189
25190 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
25191 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
25192 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
25193 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
25194 (ENDFILE_SPEC): Undefine.
25195 (STARTFILE_SPEC): Redefine for PA.
25196
38abadee
FS
251972002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
25198
25199 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
25200
94f1d97c
DJ
252012002-01-21 Daniel Jacobowitz <drow@mvista.com>
25202
25203 * config.gcc: Add entries to supported PowerPC --with-cpu
25204 types.
25205
0333394e
JJ
252062002-01-21 Jakub Jelinek <jakub@redhat.com>
25207
25208 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
25209 true for 64-bit mode only SSE registers in 32-bit mode.
25210
e9d1b155
KH
252112002-01-21 Kazu Hirata <kazu@hxi.com>
25212
25213 * unwind-dw2.c: Fix formatting.
25214 * unwind-dw2-fde.c: Likewise.
25215 * unwind-dw2-fde.h: Likewise.
25216 * unwind-pe.h: Likewise.
25217 * varasm.c: Likewise.
25218 * varray.h: Likewise.
25219
07338cf8
HPN
252202002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
25221
25222 Remove workaround for register stack overwrite bug in mmix.
25223 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
25224 support for TARGET_REG_STACK_FILL_BUG.
25225 * config/mmix/mmix.h: Remove member has_call_without_parameters.
25226 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
25227 Delete.
25228 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
25229 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
25230 -mno-reg-stack-fill-bug-workaround.
25231 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
25232 machine member has_call_without_parameters.
25233 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
25234 -mreg-stack-fill-bug-workaround and
25235 -mno-reg-stack-fill-bug-workaround.
25236 (MMIX Options): Ditto.
25237
7192cbf1
KH
252382002-01-21 Kazu Hirata <kazu@hxi.com>
25239
25240 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
25241 as appropriate.
25242 Remove redundant code.
25243
d1552d7b
JM
252442002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
25245
25246 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
25247 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
25248 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
25249 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
25250 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
25251 out target macro definitions and non-target-specific comments
25252 mostly taken from old versions of the manual.
25253
ed168e45
KH
252542002-01-20 Kazu Hirata <kazu@hxi.com>
25255
25256 * config/h8300/h8300.h: Fix comment formatting.
25257 * config/ia64/aix.h: Likewise.
25258 * config/ia64/ia64-protos.h: Likewise.
25259 * config/ia64/ia64.c: Likewise.
25260 * config/ia64/ia64.h: Likewise.
25261 * config/ia64/ia64intrin.h: Likewise.
25262 * config/ia64/linux.h: Likewise.
25263 * config/ia64/unwind-aix.c: Likewise.
25264 * config/ia64/unwind-ia64.c: Likewise.
25265
005e3e05
KH
252662002-01-20 Kazu Hirata <kazu@hxi.com>
25267
25268 * config/h8300/h8300.c: Revise comments about shift code.
25269
64bead4c
KH
252702002-01-20 Kazu Hirata <kazu@hxi.com>
25271
25272 * config/h8300/h8300.c (function_arg): Update a comment.
25273
ed863595
KH
252742002-01-20 Kazu Hirata <kazu@hxi.com>
25275
25276 * config/h8300/h8300.md: Update the comments at the beginning
25277 of the file.
25278
5904dc87
KH
252792002-01-20 Kazu Hirata <kazu@hxi.com>
25280
25281 * config/i370/i370.c: Fix comment formatting.
25282 * config/i370/i370.h: Likewise.
25283 * config/i370/i370.md: Likewise.
25284 * config/i370/linux.h: Likewise.
25285
9702143f
RK
25286Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25287
cbafacd1
RK
25288 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
25289
9702143f
RK
25290 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
25291 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
25292 in incomplete case.
25293
6b6996b8
GS
252942002-01-20 Graham Stott <grahams@redhat.com>
25295
25296 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
25297
eab854f6
JDA
252982002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
25299
25300 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
25301
5b029315
TR
253022002-01-19 Tom Rix <trix@redhat.com>
25303
25304 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
25305
1d690052
AH
253062002-01-18 Aldy Hernandez <aldyh@redhat.com>
25307
d8086cbb 25308 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 25309
d8086cbb
RS
25310 * function.c (assign_stack_local_1): Adjust x_frame_offset with
25311 STARTING_FRAME_PHASE.
25312 (STARTING_FRAME_PHASE): New.
25313 (instantiate_virtual_regs): Check saneness of
25314 STARTING_FRAME_PHASE.
1d690052 25315
d8086cbb 25316 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 25317
4dd8c093
AO
253182002-01-19 Alexandre Oliva <aoliva@redhat.com>
25319
25320 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
25321
6f2a28d7
CR
253222002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
25323
25324 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
25325 be used for bootstrapping GCC 3.0.
25326
8763a465
KH
253272002-01-18 Kazu Hirata <kazu@hxi.com>
25328
25329 * config/h8300/h8300.md: Fix an insn length.
25330
3ef42a0c
KH
253312002-01-18 Kazu Hirata <kazu@hxi.com>
25332
25333 * bitmap.h: Fix comment formatting.
25334 * combine.c: Likewise.
25335 * cppfiles.c: Likewise.
25336 * c-pragma.h: Likewise.
25337 * c-typeck.c: Likewise.
25338 * df.c: Likewise.
25339 * dwarf2out.c: Likewise.
25340 * function.c: Likewise.
25341 * gcc.c: Likewise.
25342 * genattrtab.c: Likewise.
25343 * gthr-win32.h: Likewise.
25344 * haifa-sched.c: Likewise.
25345 * predict.c: Likewise.
25346 * rtlanal.c: Likewise.
25347 * rtl.h: Likewise.
25348 * unwind-dw2-fde.h: Likewise.
25349 * unwind-pe.h: Likewise.
25350 * vmsdbgout.c: Likewise.
25351
dd4dc3cd
RK
25352Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25353
25354 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
25355 if type_required and passed decl.
25356
5fb4cf24
AH
253572002-01-17 Aldy Hernandez <aldyh@redhat.com>
25358
d8086cbb
RS
25359 * config.gcc (cpu_type): Include altivec.h in powerpc
25360 extra_headers.
25361 Same for darwin.
5fb4cf24 25362
d8086cbb 25363 * config/rs6000/altivec.h: New.
5fb4cf24 25364
2705baf5
DE
253652002-01-17 David Edelsohn <edelsohn@gnu.org>
25366
25367 * doc/install.texi (*-ibm-aix*): Update assembler and exception
25368 handling information.
25369 * doc/trouble.texi (Interoperation): Add libstdc++ information
25370 for AIX.
25371 (Misunderstandings): Add template instantiation and static template
25372 member information for AIX.
25373
dbd680e1
JM
253742002-01-17 Jason Merrill <jason@redhat.com>
25375
821adc5e
JM
25376 * dbxout.c (dbxout_type): Support const and volatile.
25377
dbd680e1
JM
25378 * except.c (add_partial_entry): Remove backwards compatibility code.
25379 (end_protect_partials): Likewise.
25380
d0e82870
JJ
253812002-01-17 Jakub Jelinek <jakub@redhat.com>
25382
25383 * config/ia64/ia64.md (prologue_use): New.
25384 * config/ia64/ia64.c (ia64_expand_prologue): Use
25385 gen_prologue_use instead of gen_rtx_USE.
25386 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
25387 as CODE_FOR_pred_rel_mutex.
25388 (ia64_sched_reorder2): Likewise.
25389
f9f45c65
EC
253902002-01-16 Eric Christopher <echristo@redhat.com>
25391
25392 * config/mips/r3900.h: Reformat.
25393 (SUBTARGET_CPP_SIZE_SPEC): Remove.
25394 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
25395 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
25396 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
25397 * config/mips/t-elf: Remove mips3 multilib.
25398
c66c8b0e
L
253992002-01-16 H.J. Lu <hjl@gnu.org>
25400
25401 * config/mips/linux.h: Include "mips/abi64.h".
25402
5f083b72
L
254032002-01-16 H.J. Lu <hjl@gnu.org>
25404
25405 * config/mips/t-linux: New.
25406
25407 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
25408
25409 * config/mips/linux.h: Don't include "gofast.h".
25410 (INIT_SUBTARGET_OPTABS): Removed.
25411
af3c90a6
KH
254122002-01-16 Kazu Hirata <kazu@hxi.com>
25413
25414 * config/h8300/h8300-protos.h: Replace emit_a_shift with
25415 output_a_shift.
25416 * config/h8300/h8300.c: Likewise.
25417 * config/h8300/h8300.md: Likewise.
25418
a1bf0a16
KH
254192002-01-16 Kazu Hirata <kazu@hxi.com>
25420
25421 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
25422 spaces after an opcode name.
25423 (pushqi1_h8300hs): Likewise.
25424 (pushhi1_h8300hs): Likewise.
25425
88ab0d1c
KH
254262002-01-16 Kazu Hirata <kazu@hxi.com>
25427
25428 * doc/extend.texi: Replace "option" with "attribute"
25429 appropriately.
25430
51c561e3
JJ
254312002-01-16 Jakub Jelinek <jakub@redhat.com>
25432
25433 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
25434 (and:DI () (const_int -8)).
25435 (split_small_symbolic_mem_operand): Split
25436 (mem (and:DI () (const_int -8)).
25437
b8c1a6b8
JJ
254382002-01-16 Jakub Jelinek <jakub@redhat.com>
25439
25440 PR target/5309:
d8086cbb 25441 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
25442 same way as TYPE_IMUL.
25443 (ultrasparc_sched_reorder): Likewise.
25444 * config/sparc/sparc.md (type): Add comment to update
25445 ultrasparc_sched_reorder when making changes.
25446
1e4e4df2
KH
254472002-01-16 Kazu Hirata <kazu@hxi.com>
25448
25449 * doc/invoke.texi: Change the dump file name of block
25450 reordering pass from 28.bbro to 29.bbro.
25451 Mention -dk option.
25452
14d920c0
JH
25453Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
25454
25455 * i386.md (minsf splitter): Fix pasto.
25456
2e99323f
NC
254572002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
25458
25459 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
25460 to frame pointer initialisation instruction.
25461 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
25462 initialisation instruction.
ab8081c1
NC
25463 (soft_df_operand): Do not accept the IP register.
25464 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 25465
c4031a04
JJ
254662002-01-16 Jakub Jelinek <jakub@redhat.com>
25467
25468 PR target/5357:
25469 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
25470 MASK_V8 being both set.
25471
44b8152b
UW
254722002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
25473
25474 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
25475 insn for GOT register; add REG_MAYBE_DEAD notes instead.
25476 config/s390/s390.md (call, call_value): Add GOT register to
25477 CALL_INSN_FUNCTION_USAGE where needed.
25478 (call_exp, call_value_exp): New.
25479
1d6e90ac
NC
254802002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
25481
25482 * config/arm/arm.c: General formatting tidy up.
25483
254842002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
25485
25486 * calls.c (try_to_integrate): Use "(size_t)" intermediate
25487 cast and when casting an integer literal to "rtx" pointer.
25488 (expand_call): Likewise.
25489 * flow.c (try_pre_increment): Likewise.
25490 (find_use_as_address): Likewise.
25491 * integrate.c (expand_iline_function): Likewise.
25492 * regmove.c (try_auto_increment): Likewise.
25493
1d6e90ac 254942002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
25495
25496 * sched-rgn.c (passed): Use sbitmap_free.
25497 (header): Likewise.
25498 (inner): Likewise.
25499 (in_queue): Likewise.
25500 (in_stack): Likewise.
25501
31fce3c4
EC
255022002-01-15 Eric Christopher <echristo@redhat.com>
25503
25504 * flow.c (propagate_one_insn): Change to use fatal_insn.
25505
c99d986a
KH
255062002-01-15 Kazu Hirata <kazu@hxi.com>
25507
25508 * expmed.c (extract_fixed_bit_field): Remove unused code.
25509 * system.h: Poison SLOW_ZERO_EXTEND.
25510 * doc/tm.texi: Remove.
25511 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
25512 * config/arm/arm.h: Likewise.
25513 * config/avr/avr.h: Likewise.
25514 * config/clipper/clipper.h: Likewise.
25515 * config/convex/convex.h: Likewise.
25516 * config/d30v/d30v.h: Likewise.
25517 * config/dsp16xx/dsp16xx.h: Likewise.
25518 * config/elxsi/elxsi.h: Likewise.
25519 * config/fr30/fr30.h: Likewise.
25520 * config/h8300/h8300.h: Likewise.
25521 * config/i370/i370.h: Likewise.
25522 * config/i386/i386.h: Likewise.
25523 * config/m68k/m68k.h: Likewise.
25524 * config/mips/mips.h: Likewise.
25525 * config/ns32k/ns32k.h: Likewise.
25526 * config/pdp11/pdp11.h: Likewise.
25527 * config/pj/pj.h: Likewise.
25528 * config/s390/s390.h: Likewise.
25529 * config/sh/sh.h: Likewise.
25530 * config/stormy16/stormy16.h: Likewise.
25531 * config/v850/v850.h: Likewise.
25532 * config/vax/vax.h: Likewise.
25533 * config/we32k/we32k.h: Likewise.
25534
acfab996
AH
255352002-01-15 Aldy Hernandez <aldyh@redhat.com>
25536
d8086cbb
RS
25537 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
25538 (altivec_lvsl): Change constraint to b.
25539 (altivec_lvsr): Same.
25540 (altivec_lvebx): Same.
25541 (altivec_lvehx): Same.
25542 (altivec_lvewx): Same.
25543 (altivec_lvxl): Same.
25544 (altivec_lvx): Same.
25545 (altivec_stvx): Add parallel.
25546 (altivec_stvxl): Same.
25547 (altivec_stvehx): Same.
25548 (altivec_stvebx): Same.
25549 (altivec_stvebx): Same.
acfab996 25550
5e505bc9
AH
255512002-01-15 Aldy Hernandez <aldyh@redhat.com>
25552
d8086cbb 25553 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 25554
d8086cbb 25555 * config/rs6000/altivec.h: Delete.
5e505bc9 25556
d8086cbb 25557 * config/rs6000/altivec-defs.h: Add.
5e505bc9 25558
5c41fdfb
JDA
255592002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
25560
25561 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
25562 and UMOD modes.
25563
25564 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
25565 less than or equal to eight bytes.
25566
25567 * vax.md (andsi3): Remove constraints and change SET destination
25568 operand type to nonimmediate_operand.
25569 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
25570 when it is a CONST_INT.
25571
de097a2d
JM
255722002-01-15 Jason Merrill <jason@redhat.com>
25573
25574 * c-common.def (FILE_STMT): New code.
25575 * c-common.c (statement_code_p): It's a statement.
25576 * c-common.h (stmt_tree_s): Add x_last_filename.
25577 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
25578 (last_expr_filename): New macro.
25579 * c-semantics.c (begin_stmt_tree): Initialize it.
25580 (add_stmt): If the filename changed, also insert a
25581 FILE_STMT.
25582 (expand_stmt): Handle seeing one.
25583
4a913dd6
EC
255842002-01-15 Eric Christopher <echristo@redhat.com>
25585
25586 * flow.c (propagate_one_insn): Add error message and print out
25587 insn for debugging.
25588
006946e4
JM
255892002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
25590
25591 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
25592 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
25593 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
25594 TRAMPOLINE_ALIGNMENT.
25595 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
25596 to be in bits.
25597 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
25598 PCC_BITFIELD_TYPE_MATTERS.
25599 * config/interix.h (STDC_VALUE): Remove. Use
25600 STDC_0_IN_SYSTEM_HEADERS.
25601 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
25602 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
25603 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
25604
751a1458
CR
256052002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
25606
25607 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
25608 not work on this platform currently.
25609
57771fe8
JM
256102002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
25611
25612 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
25613 readonly_warning in _().
25614
0e83ceb1 256152002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 25616
0e83ceb1 25617 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 25618
8e2e89f7
KH
256192002-01-15 Kazu Hirata <kazu@hxi.com>
25620
0e83ceb1
DR
25621 * config/h8300/h8300.c (print_operand): Remove support for
25622 unused operand characters.
25623
8e2e89f7
KH
25624 * read-rtl.c: Fix formatting.
25625 * real.c: Likewise.
25626 * recog.c: Likewise.
25627 * regclass.c: Likewise.
25628 * regmove.c: Likewise.
25629 * reg-stack.c: Likewise.
25630 * reload1.c: Likewise.
25631 * rtlanal.c: Likewise.
25632
b531087a
KH
256332002-01-15 Kazu Hirata <kazu@hxi.com>
25634
25635 * config/i386/i386.c: Fix formatting.
25636
7c94ce7f
JJ
256372002-01-15 Jakub Jelinek <jakub@redhat.com>
25638
25639 * c-typeck.c (process_init_element): Don't save_expr
25640 COMPOUND_LITERAL_EXPR if just its initializer will be used.
25641
6041bf2f
DE
256422002-01-15 David Edelsohn <edelsohn@gnu.org>
25643
25644 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
25645 emit optional traceback table if optimize_size or TARGET_ELF.
25646 * config/rs6000/rs6000.md (prefetch): New.
25647
8559c8c0
AJ
256482002-01-15 Andreas Jaeger <aj@suse.de>
25649
25650 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
25651
70f122f2
KH
256522002-01-15 Kazu Hirata <kazu@hxi.com>
25653
25654 * mips-tfile.c: Fix formatting.
25655
6a7b4ca6
JH
25656Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
25657
25658 * unroll.c (final_reg_note_copy): Fix previous commit.
25659
e7afe229
KH
256602002-01-14 Kazu Hirata <kazu@hxi.com>
25661
25662 * config/h8300/h8300-protos.h: Remove the prototype for
25663 eq_operator.
25664 * config/h8300/h8300.c (eq_operator): Remove.
25665
7d378549
RH
256662002-01-14 Richard Henderson <rth@redhat.com>
25667
25668 * config/i386/i386.md (prefetch): Tidy.
25669 (prefetch_3dnow): Fix locality operand.
25670
ab093b81
RH
256712002-01-14 Richard Henderson <rth@redhat.com>
25672
25673 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
25674 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
25675
d300f51f
HPN
256762002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
25677
25678 * reload1.c (reload_combine): Pass reg_sum replacement through
25679 copy_rtx in loop performing multiple changes.
25680
655dd289
JJ
256812002-01-14 Jakub Jelinek <jakub@redhat.com>
25682
25683 * except.c (remove_unreachable_regions): New.
25684 (free_eh_status): Clear exception_handler_labels.
25685 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
25686 (find_exception_handler_labels): Don't add the same label more than
25687 once.
25688 (remove_exception_handler_label): Don't die if
25689 find_exception_handler_labels hasn't been called for the current
25690 function yet.
25691
1fba46a7
JH
25692Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
25693
25694 * toplev.c (rest_of_compilation): Rebuild jump labels after
25695 gcse.
25696
0975678f
JM
256972002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
25698
25699 * doc/extend.texi: Move documentation of X86 built-in functions
25700 here.
25701 * doc/invoke.texi: From here.
25702 * doc/sourcebuild.texi: Document location of documentation for
25703 machine built-in functions.
25704
969815c7
CF
257052002-01-13 Christopher Faylor <cgf@redhat.com>
25706
25707 * cppfiles.c (TEST_THRESHOLD): New macro.
25708 (SHOULD_MMAP): Ditto.
25709 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
25710 be used.
25711
494c950b
JH
25712Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
25713
25714 * unroll.c (final_reg_note_copy): Properly handle
25715 REG_LABEL
25716 (unroll_loops): Fix LOOP_CONDITION heuristics.
25717
69a0611f
GK
257182002-01-14 Geoffrey Keating <geoffk@redhat.com>
25719
25720 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
25721 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
25722
b90e45ae
JH
25723Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
25724
25725 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
25726 threaded loop.
25727
8377288b
TR
257282002-01-14 Tom Rix <trix@redhat.com>
25729
25730 * config/rs6000/rs6000.md: Fix typo with sradi.
25731
9f37ccb1
UW
257322002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
25733
25734 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
25735 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
25736 (clrstrdi, clrstrsi): Adapt callers.
25737
25738 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
25739
8559c8c0 25740 (movti splitter): Never use register 0 as base register.
9f37ccb1 25741
6c2d03d0
HP
257422002-01-14 Hartmut Penner <hpenner@de.ibm.com>
25743
8559c8c0
AJ
25744 * combine.c (simplify_shift_const): Always generate new rtx
25745 for shift expression instead of reusing given expression.
6c2d03d0 25746
d3e98208
RK
25747Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25748
25749 * config/alpha/alpha.c (alpha_expand_mov): Don't call
25750 alpha_legitimize_address unless mode is Pmode.
25751
9f339dde
GK
257522002-01-13 Geoffrey Keating <geoffk@redhat.com>
25753
25754 * doc/md.texi (Modifiers): Document the '*' constraint for the
25755 user.
25756
25757 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
25758 * doc/extend.texi (Function Attributes): 'interrupt' is valid
25759 for xstormy16 too.
25760
02a10130
RH
257612002-01-13 Richard Henderson <rth@redhat.com>
25762
25763 * reload.c (find_reloads): Use a hard reg destination as reload reg
25764 for an input reload of the source.
25765
61d47787
GP
257662002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
25767
25768 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
25769 more generic.
25770
f0df8029
DR
25771Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
25772
25773 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
25774 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
25775
d2a37256
DR
25776 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
25777
a9e8a5ee
RK
25778Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25779
25780 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
25781
bc06712d
TR
257822002-01-12 Tom Rix <trix@redhat.com>
25783
8559c8c0 25784 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
25785 TARGET_POWERPC64.
25786
7cbe9bb7
RH
257872002-01-12 Richard Henderson <rth@redhat.com>
25788
38b29e64
RH
25789 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
25790
58605ba0
RH
25791 * doc/invoke.texi: Update Alpha options.
25792
7cbe9bb7
RH
25793 * doc/invoke.texi: Update i386 built-in function lists.
25794
9d560860
JH
25795Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
25796
25797 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
25798 referencing outside.
25799
bb93b973
RK
25800Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25801
25802 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
25803 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
25804 offsets, and change line folding.
25805 * optabs.c (expand_binop): Remove warnings.
25806 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 25807
f9f6b7df
GS
258082002-01-12 Graham Stott <grahams@redhat.com>
25809
25810 * attribs.c (handle_deprecated_attribute): constify WHAT.
25811 * diagnostic.c (warn_deprecated_use): Add braces, fixes
25812 dangling else warning and constify WHAT.
25813 * except.h (struct function, struct inline_remap): Move
25814 struct tag forward defs before all prototypes.
25815 (duplicate_eh_regions): Whitespace.
25816
4a692617
NC
258172002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
25818
25819 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
25820 MODE_BASE_REG_CLASS.
25821 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
25822
e37af218
RH
258232002-01-12 Richard Henderson <rth@redhat.com>
25824
25825 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
25826 (ix86_expand_vector_move): New.
25827 (bdesc_2arg): Remove andps, andnps, orps, xorps.
25828 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
25829 Remove old prefetch builtins. Special case the logicals removed above.
25830 (ix86_expand_builtin): Likewise.
25831 (safe_vector_operand): Use V4SFmode, not TImode.
25832 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
25833 (ix86_expand_timode_binop_builtin): New.
25834 * config/i386/i386-protos.h: Update.
25835 * config/i386/i386.h (enum ix86_builtins): Update.
25836 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
25837 Use ix86_expand_vector_move in vector move expanders.
25838 (movti_internal, movti_rex64): Add xorps alternative.
25839 (sse_clrv4sf): Rename and adjust from sse_clrti.
25840 (prefetch): Don't work so hard.
25841 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
25842 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
25843 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
25844
6f1a6c5b
RH
258452002-01-11 Richard Henderson <rth@redhat.com>
25846
25847 * config/i386/mmintrin.h: New file.
25848 * config/i386/xmmintrin.h: New file.
25849 * config.gcc (i?86-*-*): Add extra_headers.
25850 * simplify-rtx.c (simplify_unary_operation): Handle saturating
25851 truncation codes.
25852 (simplify_binary_operation): Handle saturating arithmetic codes.
25853 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
25854 not the lowpart subreg.
25855 (ix86_expand_builtin): Return a TImode dummy register instead of 0
25856 on error.
25857 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
25858
cdb574d3
MH
258592002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
25860
25861 * conflict.c (conflict_graph_compute): Free regsets when finished.
25862 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 25863
cf11ac55
HB
258642002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
25865
25866 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
25867 every where we allocate a register.
25868
76ac938b
MH
258692002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
25870
25871 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
25872 * lcm.c (compute_earliest, compute_farthest): Likewise.
25873
a84b4898
JJ
258742002-01-11 Janis Johnson <janis187@us.ibm.com>
25875
25876 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
25877
aaef1c12
JJ
258782002-01-11 Janis Johnson <janis187@us.ibm.com>
25879
25880 * doc/rtl.texi (Insns): Fix 2 typos.
25881
5d22c1a5
JM
258822002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
25883
25884 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
25885 options. Use @table @gcctabopt for MMIX options. Add index
25886 entries for MMIX options. Start new paragraph with first
25887 heading of the machine-dependent options.
25888
3e92902c
CR
258892002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
25890
25891 PR other/5299
25892 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
25893 * combine.c (force_to_mode): Same.
25894 * reload1.c (clear_reload_reg_in_use): Same.
25895
96ae8197
NC
258962002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
25897
25898 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
25899 and 'subtargets'.
25900
9b780582
AJ
259012002-01-11 Andreas Jaeger <aj@suse.de>,
25902 Brad Lucier <lucier@math.purdue.edu>
25903
25904 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
25905 mcpu.
25906
12300dad
DR
25907Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
25908
25909 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
25910 Protect with IN_LIBGCC.
25911 (LINK_EH_SPEC): Add required trailing space.
25912
27511a9a
NP
25913Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
25914
9b780582 25915 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
25916 under the filename which contains them.
25917 (check_identifier, finish_decl_top_level,
25918 lookup_name_current_level_global, shadow_record_fields): Remove.
25919
4daeab16
AJ
259202002-01-11 Andreas Jaeger <aj@suse.de>
25921
25922 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
25923 march.
25924
40571d67
RH
259252002-01-10 Richard Henderson <rth@redhat.com>
25926
25927 * config/alpha/alpha.c (print_operand): Add 'J'.
25928 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
25929 new operand with the sequence number for the lituse. When splitting
25930 the insns, use gen_movdi_er_high_g and generate a sequence number.
25931 (gen_movdi_er_high_g): Print the sequence number if non-zero.
25932
6525c0e7
AH
259332002-01-10 Aldy Hernandez <aldyh@redhat.com>
25934
d8086cbb
RS
25935 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
25936 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
25937 stvxl.
25938 (altivec_expand_builtin): Same.
25939 (altivec_expand_stv_builtin): New.
25940
25941 * config/rs6000/rs6000.h (rs6000_builtins): Same.
25942
25943 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
25944 ("altivec_lvehx"): New.
25945 ("altivec_lvewx"): New.
25946 ("altivec_lvxl"): New.
25947 ("altivec_lvx"): New.
25948 ("altivec_stvx"): New.
25949 ("altivec_stvebx"): New.
25950 ("altivec_stvehx"): New.
25951 ("altivec_stvewx"): New.
25952 ("altivec_stvxl"): New.
6525c0e7 25953
cda94cbb
RH
259542002-01-10 Richard Henderson <rth@redhat.com>
25955
25956 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
25957 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
25958 care not to delete instructions twice.
25959
df2c9a44
ZW
259602002-01-10 Zack Weinberg <zack@codesourcery.com>
25961
25962 * toplev.c: Don't declare environ (it's not used anywhere).
25963 * configure.in: Don't check for declaration of environ.
25964 * config/i386/xm-mingw32.h: Don't #define environ.
25965 * config.in, configure: Regenerate.
25966
5dd8a9b1
ZW
259672002-01-10 Zack Weinberg <zack@codesourcery.com>
25968
25969 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
25970 * configure: Regenerate.
25971
25972 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
25973 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
25974 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
25975 alpha/xm-vms.h.
25976 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
25977 LIMITS_H_TEST here, not in m68k/x-next.
25978 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
25979 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
25980
25981 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
25982 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
25983 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
25984
25985 * config/i386/x-djgpp: Renamed i386/t-djgpp.
25986 * config/m88k/x-dolph: Renamed m88k/t-dolph.
25987 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
25988 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
25989 replacement of quadlib.asm with quadlib.c.
25990
25991 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
25992 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
25993 config/rs6000/xm-beos.h: Delete file.
25994
25995 * config.gcc: Update to match above changes.
25996
d10dd44c
KH
259972002-01-10 Kazu Hirata <kazu@hxi.com>
25998
25999 * config/h8300/h8300.h: Fix comment typos.
26000 * config/h8300/h8300.md: Likewise.
26001 * config/h8300/lib1funcs.asm: Likewise.
26002
04894c5a
DJ
260032002-01-10 Dale Johannesen <dalej@apple.com>
26004
26005 PR optimization/5269
26006 * unroll.c (precondition_loop_p): Make *increment be the correct
26007 sign when n_iterations known, to avoid confusing caller.
26008
adc9fe67
KH
260092002-01-10 Kazu Hirata <kazu@hxi.com>
26010
26011 * doc/extend.texi (deprecated): Fix a typo.
26012
b446e5a2
JH
26013Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
26014
26015 * basic-block.h (update_br_prob_note): Declare.
26016 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
26017 (try_forward_edges): Care negative frequencies and update note.
26018 (outgoing_edges_match): Tweek conditional merging heuristics.
26019 (try_crossjump_to_edge): use update_br_prob_note.
26020 * cfglayout.c (fixup_reorder_chain): Likewise.
26021 * cfrtl.c (update_br_prob_note): New.
26022 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
26023
26024 * i386.c (ix86_decompose_address): Return -1 if address contains
26025 shift.
26026 (legitimate_address_p): Require ix86_decompose_address to return 1.
26027
26028 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
26029 (cprop_insn): Likewise.
26030
a01da83b
KH
260312002-01-10 Kazu Hirata <kazu@hxi.com>
26032
26033 * toplev.c: Fix formatting.
26034 * tree.c: Likewise.
26035 * tree-dump.c: Likewise.
26036 * unroll.c: Likewise.
26037 * unwind-dw2.c: Likewise.
26038 * unwind-dw2-fde.c: Likewise.
26039 * unwind-dw2-fde-glibc.c: Likewise.
26040 * unwind-sjlj.c: Likewise.
26041
9f85bca7
JM
260422002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
26043
26044 * doc/invoke.texi: Document PDP-11 options.
26045
f48f56b1
KH
260462002-01-10 Kazu Hirata <kazu@hxi.com>
26047
26048 * config/h8300/h8300.h: Fix formatting.
26049
ead39bdf 260502002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
26051
26052 Add __attribute__ ((deprecated)).
26053 * extend.texi: Document __attribute__ ((deprecated)).
26054 * invoke.texi: Document -Wno-deprecated-declarations.
26055 * testsuite/g++.dg/other/deprecated.C: New C++ test.
26056 * testsuite/gcc.dg/deprecated.c: New C test.
26057 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
26058 (c_common_attribute_table): Add "deprecated" entry.
26059 (handle_deprecated_attribute): New function.
26060 * c-decl.c (deprecated_states): New enum.
26061 deprecated_state: State of "deprecated" handling.
26062 (start_decl): Set deprecated_state based on attributes.
26063 (grokdeclarator): Test for deprecated uses, propagate attribute.
26064 * c-typeck.c (build_component_ref): Test for deprecated fields.
26065 (build_external_ref): Test for deprecated primaries.
26066 * diagnostic.c (warn_deprecated_use) New function to issue
26067 warnings about __attribute__ ((depricated)) references.
26068 * flags.h (warn_deprecated_decl): Extern declared for
26069 -W[no-]deprecated-declarations option.
26070 * print-tree.c (print_node): Show deprecated flag status.
26071 * toplev.c (warn_deprecated_decl): Defined.
26072 (W_options): Added "deprecated-declaration".
26073 * toplev.h (warn_deprecated_use): Extern declared.
26074 * tree.h (struct tree_common): Define deprecated_flag.
26075 (TREE_DEPRECATED): New macro to access flag.
26076 * cp/call.c (build_call): Test for deprecated calls.
26077 * cp/class.c (add_implicitly_declared_members): Set global
26078 flag to tell grokdeclarator to not issue deprecated warnings.
26079 * cp/cp-tree.h: Add extern for adding_implicit_members.
26080 * cp/decl.c (deprecated_states): New enum.
26081 (start_decl): Set deprecated_state based on attributes.
26082 (grokdeclarator): Test for deprecated uses, propagate attribute.
26083 * cp/lex.c (do_identifier): Test for deprecated primaries.
26084 * cp/typeck.c (build_component_ref): Test for deprecated fields.
26085
ead39bdf 260862002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
26087
26088 Fix to assign attributes to inline member functions.
26089 * cp/decl.c (start_method): Handle attrlist.
26090
47073a38
KH
260912002-01-10 Kazu Hirata <kazu@hxi.com>
26092
26093 * combine.c (expand_field_assignment): Use subreg_lsb().
26094
d288e53d
DE
260952002-01-10 David Edelsohn <edelsohn@gnu.org>
26096
26097 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
26098 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
26099 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
26100 Recurse for any operand of AND as long as constant is non-zero.
26101
08a02ffa
KH
261022002-01-10 Kazu Hirata <kazu@hxi.com>
26103
26104 * config/h8300/h8300.md: Remove constraints from expanders.
26105
c203e7fe
KH
261062002-01-10 Kazu Hirata <kazu@hxi.com>
26107
26108 * varasm.c: Fix formatting.
26109 * varray.c: Likewise.
26110 * vmsdbgout.c: Likewise.
26111 * xcoffout.c: Likewise.
26112
bcb3bc6d
JH
26113Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
26114
26115 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 26116 update edge probabilities to match.
bcb3bc6d 26117
0a553c7e
JM
261182002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
26119
26120 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
26121 dependencies.
26122 * doc/languages.texi, doc/sourcebuild.texi: New files.
26123 * doc/configfiles.texi: Make a subsubsection. Update.
26124 * doc/configterms.texi: Add @node. Remove warning that this isn't
26125 instructions for building GCC.
26126 * doc/makefile.texi: Make a subsection.
26127 * doc/gccint.texi: Update.
26128
adc7fcb8
JH
26129Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
26130
26131 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
26132
5a4dd0b3
NP
26133Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
26134
26135 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
26136
3987b9db
JH
26137Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
26138
26139 * optabs.c (expand_fix): Look for wider integer modes first.
26140
26141 * i386.md (mov?f): Avoid the fake const double trick for medium
26142 memory model.
26143 (min?f*/max?f*): Prohibit memory operands for i387 variant.
26144 (fop_df_4): Disable for SSE compilation.
26145
ceb15948 261462002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
26147
26148 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 26149 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 26150
e1623399
RH
261512002-01-10 Richard Henderson <rth@redhat.com>
26152
26153 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
26154
c4abb293
RH
261552002-01-10 Richard Henderson <rth@redhat.com>
26156
26157 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
26158 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
26159
d2604ae9
KH
261602002-01-10 Kazu Hirata <kazu@hxi.com>
26161
26162 * combine.c (can_combine_p): Fix a comment typo.
26163
766c7ad1
ZW
261642002-01-09 Zack Weinberg <zack@codesourcery.com>
26165
26166 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
26167 empty list correctly. Change loop index $t to $f for
26168 consistency with rest of Makefile.
26169
95385cbb
AH
261702002-01-08 Aldy Hernandez <aldyh@redhat.com>
26171
26172 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
26173 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
26174
26175 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
26176 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
26177 (altivec_init_builtins): Same.
26178 (altivec_expand_unop_builtin): Return NULL_RTX on error.
26179 (altivec_expand_binop_builtin): Same.
26180 (altivec_expand_ternop_builtin): Same.
26181 (bdesc_dst): New.
26182
26183 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
26184 ("altivec_vctuxs"): Fix typo.
26185 ("altivec_vnmsubfp"): Same.
26186 ("altivec_dssall"): New.
26187 ("altivec_mfvscr"): New.
26188 ("altivec_dss"): New.
26189 ("altivec_lvsl"): New.
26190 ("altivec_lvsr"): New.
26191 ("altivec_dstt"): New.
26192 ("altivec_dstst"): New.
26193 ("altivec_dststt"): New.
26194 ("altivec_dst"): New.
26195
26196 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
26197 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
26198
e4ac76b4
RH
261992002-01-09 Richard Henderson <rth@redhat.com>
26200
26201 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
26202
c893e4a4
HPN
262032002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
26204
26205 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
26206 function.
26207 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
26208 prototype.
7387c700 26209 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 26210
f4f4d0f8
KH
262112002-01-09 Kazu Hirata <kazu@hxi.com>
26212
26213 * read-rtl.c: Fix formatting.
26214 * real.c: Likewise.
26215 * regclass.c: Likewise.
26216 * regrename.c: Likewise.
26217 * reg-stack.c: Likewise.
26218 * reload1.c: Likewise.
26219 * reload.c: Likewise.
26220 * rtl.c: Likewise.
26221
cc863bea
KH
262222002-01-09 Kazu Hirata <kazu@hxi.com>
26223
26224 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
26225 to extract items in the expr_list chain.
26226
7b4dfe3d
RH
262272002-01-09 Richard Henderson <rth@redhat.com>
26228
26229 * config/vax/vax.c (vax_rtx_cost): Never abort.
26230
1d969638
RH
26231 * config/vax/vax.h (REAL_ARITHMETIC): Define.
26232
7d5ab30e
JH
262332002-01-09 Jan Hubicka <jh@suse.cz>
26234
26235 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
26236
9503f3d1
RH
262372002-01-09 Richard Henderson <rth@redhat.com>
26238
26239 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
26240 Unify code from various alternatives.
26241
42bd17b7
RH
262422002-01-09 Richard Henderson <rth@redhat.com>
26243
26244 * regrename.c (copy_value): Ignore the copy if the source register
26245 is present in the value chain with a narrower mode.
26246
bdca3c33
HB
262472002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
26248
cda94cbb
RH
26249 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
26250 for the c4x target. Also improve layout.
bdca3c33 26251
c73a5e94
RH
262522002-01-09 Richard Henderson <rth@redhat.com>
26253
26254 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
26255 * config/m32r/m32r.md (and ior xor splitters): Swap operands
26256 to match insn patterns.
26257
dd0a18c0
RH
262582002-01-09 Richard Henderson <rth@redhat.com>
26259
26260 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
26261 (copyprop_hardreg_forward_1): Likewise.
26262
1fd9ac1e
JDA
262632002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
26264
26265 * pa.md (decrement_and_branch_until_zero): Change predicate for
26266 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
26267
5cb265ec
BM
262682002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
26269
26270 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
26271 gets undefined. For Darwin.
26272
fcd8fa8b
HB
262732002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
26274
26275 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
26276
bd3ab23a
MH
262772002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
26278
26279 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
26280
21e16bd6
RH
262812002-01-08 Richard Henderson <rth@redhat.com>
26282
26283 * regrename.c (copy_value): Ignore overlapping copies.
26284
a5376276
RH
262852002-01-08 Richard Henderson <rth@redhat.com>
26286
26287 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
26288 as needed to avoid shared structure.
26289
18cf8dda
KH
262902002-01-08 Kazu Hirata <kazu@hxi.com>
26291
26292 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
26293 H8/300H and H8/S.
26294
16c484c7
JM
262952002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26296
26297 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
26298 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
26299 documentation of obsolete macros.
26300 * system.h: Poison these macros.
26301 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
26302 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
26303 config/c4x/c4x.h, config/clipper/clipper.h,
26304 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
26305 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
26306 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
26307 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
26308 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
26309 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
26310 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
26311 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
26312 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
26313 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
26314 config/sparc/sparc.h, config/stormy16/stormy16.h,
26315 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
26316 definitions and commented out definitions of obsolete macros.
26317 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
26318 of MAX_INT_TYPE_SIZE.
26319
14b3e8ef
UW
263202002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26321
26322 * config/s390/s390.c (s390_preferred_reload_class): Never
26323 return ADDR_REGS if it isn't a subset of the given class.
26324 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
26325 FP_REGS, but all superclasses as well.
26326
26327 * config/s390/s390.c (s390_function_profiler): Fix thinko.
26328
26329 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
26330 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
26331 must not be a const_int.
26332
a693284d
RH
263332002-01-08 Richard Henderson <rth@redhat.com>
26334
26335 * Makefile.in (toplev.o): Depend on options.h.
26336 (gcc.o): Depend on specs.h.
26337
b3ca30df
JJ
263382002-01-08 Jakub Jelinek <jakub@redhat.com>
26339
26340 * expr.c (store_expr): Convert VOIDmode constants back to target's
26341 mode.
26342
24dbb440
GP
263432002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
26344
26345 * doc/invoke.texi: Markup gcc as @command. Refer to
26346 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
26347 of http://gcc.gnu.org/thanks.html.
26348
234e114c
DJ
263492002-01-08 Dale Johannesen <dalej@apple.com>
26350
26351 * config/rs6000/rs6000.md: Add missing int register
26352 target case to movdf_low.
26353
0d24f4d1
ZW
263542002-01-08 Zack Weinberg <zack@codesourcery.com>
26355
26356 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
26357 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
26358 (cppinit.o): Depend on except.h.
26359 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
26360 s-specs): New rules.
26361
26362 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
26363 Don't create specs.h/options.h/gencheck.h here. Remove
26364 unnecessary variable settings from last argument of AC_OUTPUT.
26365 * config.in, configure: Regenerate.
26366 * intl.c: Hardcode package name as "gcc".
26367
26368 * cppinit.c: Include except.h.
26369 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
26370 appropriate.
26371 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
26372 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
26373 (!)USING_SJLJ_EXCEPTIONS.
26374 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
26375
ed722f66
JM
263762002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26377
26378 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
26379 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
26380 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
26381 documentation of obsolete macros.
26382 * system.h: Poison these macros.
26383 * config/d30v/d30v.h, config/ns32k/encore.h,
26384 config/stormy16/stormy16.h: Remove definitions and commented out
26385 definitions of obsolete macros.
26386
31e5e29a
NP
26387Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
26388
26389 * objc/objc-act.c (handle_class_ref): Mark the declaration of
26390 %sobjc_class_ref_%s as used - to prevent unwanted compiler
26391 warnings.
26392
bc1fa59c
UW
263932002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26394
26395 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
26396 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
26397 to insn adjusting stack/frame pointer.
0d24f4d1 26398 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
26399 accept operands that cause the insn to be non-splittable.
26400
a8086abf
GS
264012002-01-08 Graham Stott <grahams@redhat.com>
26402
26403 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
26404 (C_TYPE_FIELDS_VOLATILE): Likewise.
26405 (C_TYPE_BEING_DEFINED): Likewise.
26406 (C_IS_RESERVED_WORD): Likewise.
26407 (C_TYPE_VARIABLE_SIZE): Likewise.
26408 (C_DECL_VARIABLE_SIZE): Likewise.
26409 (C_MISSING_PROTOTYPE_WARNED): Likewise.
26410 (C_SET_EXP_ORIGINAL_CODE): Likewise.
26411 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
26412 parenthesis.
26413 (C_DECL_ANTICIPATED): Likewise.
26414 (c_build_type_variant): Add parenthesis.
26415
3f595aa1
JM
264162002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26417
26418 * gcc.c (option_map): Remove --version.
26419 (process_command): Handle -fversion following the GNU Coding
26420 Standards. Partially addresses PR other/704.
26421
5bc5a8f9
GS
264222002-01-08 Graham Stott <grahams@redhat.com>
26423
26424 * combine.c (combine_instructions): Fix typo.
26425
16ec4ebf
GS
264262002-01-08 Graham Stott <grahams@redhat.com>
26427
26428 * debug.h: Use "tree" and "rtx" throughout.
26429
26430 * debug.c: Likewise.
26431
4b69f385
NC
264322002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
26433
26434 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
26435 constant pool, use the pool's version of the symbol instead.
26436
57d1019b
RH
264372002-01-07 Richard Henderson <rth@redhat.com>
26438
26439 * regrename.c (find_oldest_value_reg): Ignore the value chain if
26440 the original register was copied in a mode with a fewer number of
26441 hard registers than the desired mode.
26442 (copyprop_hardreg_forward_1): Likewise.
26443 (debug_value_data): Fix loop test.
26444 * toplev.c (parse_options_and_default_flags): Reenable
26445 -fcprop-registers at -O1.
26446
264472002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 26448
0d24f4d1
ZW
26449 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
26450 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 26451
0d24f4d1
ZW
26452 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
26453 predicates.
fa066a23 26454
0d24f4d1 26455 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 26456
8f949e7e
JDA
264572002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
26458
26459 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
26460 (pa_output_function_prologue): Output local label at the beginning of
26461 the prologue when profiling.
26462 (hppa_profile_hook): Use the local label rather than the function label.
26463 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
26464
c62f2db5
AH
264652002-01-07 Aldy Hernandez <aldyh@redhat.com>
26466
0d24f4d1
ZW
26467 * config/rs6000/rs6000.c (print_operand): Remove extra space.
26468 (altivec_expand_unop_builtin): Fix thinko.
26469 (altivec_expand_binop_builtin): Same.
26470 (altivec_expand_ternop_builtin): Same.
26471 (altivec_expand_builtin): Same.
c62f2db5 26472
b5235ba7
RH
264732002-01-07 Richard Henderson <rth@redhat.com>
26474
26475 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
26476
7d8ac293
JM
264772002-01-07 Jason Merrill <jason@redhat.com>
26478
26479 * unwind-dw2.c (execute_cfa_program): Use < again.
26480
571a03b8
JJ
264812002-01-07 Jakub Jelinek <jakub@redhat.com>
26482
26483 * predict.c (combine_predictions_for_insn): Avoid division by zero.
26484
2e951384
JJ
264852002-01-07 Jakub Jelinek <jakub@redhat.com>
26486
26487 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
26488 Don't allow -1 - x -> ~x simplifications in the first pass.
26489
20e26713
AH
264902002-01-07 Aldy Hernandez <aldyh@redhat.com>
26491
0d24f4d1
ZW
26492 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
26493 arguments.
26494 (altivec_expand_binop_builtin): Same.
26495 (altivec_expand_unop_builtin): Same.
26496 (print_operand): Fix typo.
26497 (bdesc_1arg): Add vupk* variants.
20e26713 26498
0d24f4d1 26499 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 26500
0d24f4d1 26501 * rs6000.md: Add altivec_vupk* variants.
20e26713 26502
4dd57c18
JM
265032002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
26504
26505 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
26506 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
26507 and last update dates.
26508
0341c5d2
JJ
265092002-01-07 Janis Johnson <janis187@us.ibm.com>
26510
26511 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
26512
c7f3e0b0
MM
265132002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
26514
26515 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
26516 * config/avr/avr.h (CPP_SPEC): Likewise.
26517 (LINK_SPEC): Likewise.
26518 (CRT_BINUTILS_SPECS): Likewise.
26519 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
26520 * doc/invoke.texi (AVR Options): Document them.
26521
6ba4d630
JH
26522Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
26523
26524 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
26525 LABEL_NUSES.
26526
6253d571
GS
265272002-01-07 Graham Stott <grahams@redhat.com>
26528
0d24f4d1
ZW
26529 * config/i386/i386.h: Update copyright date.
26530 (HALF_PIC_PTR): Add parenthesis.
26531 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
26532 (CONSTANT_ALIGNMENT): Add parenthesis.
26533 (DATA_ALIGNMENT): Likewise.
26534 (LOCAL_ALIGNMENT): Likewise.
26535 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
26536 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
26537 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
26538 (HARD_REGNO_NREGS): Add paranethesis.
26539 (VALID_SSE_REG_MODE): Whitespace.
26540 (VALID_MMX_REG_MODE): Whitespace.
26541 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
26542 (ix86_hard_regno_mode_ok): Add parenthesis.
26543 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
26544 (RETURN_IN_MEMORY): Whitespace.
26545 (N_REG_CLASSES): Add parenthesis.
26546 (INTEGER_CLASS_P): Add parenthesis and wrap.
26547 (FLOAT_CLASS_P): Likewise.
26548 (SSE_CLASS_P): Likewise.
26549 (MMX_CLASS_P): Likewise.
26550 (MAYBE_INTEGER_CLASS_P): Likewise.
26551 (MAYBE_FLOAT_CLASS_P): Likewise.
26552 (MAYBE_SSE_CLASS_P): Likewise.
26553 (MAYBE_MMX_CLASS_P): Likewise.
26554 (Q_CLASS_P): Likewise.
26555 (GENERAL_REGNO_P): Uppercase macro parameter.
26556 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
26557 (FP_REGNO_P): Likewise.
26558 (ANY_FP_REGNO_P): Uppercase macro parameter.
26559 (SSE_REGNO_P): Likewise.
26560 (SSE_REGNO): Likewise.
26561 (SSE_REG_P): Likewise.
26562 (SSE_FLOAT_MODE_P): Likewise.
26563 (MMX_REGNO_P): Likewise.
26564 (MMX_REG_P):Likewise.
26565 (STACK_REG_P): Likewise.
26566 (NON_STACK_REG_P): Likewise.
26567 (STACK_TOP_P): Likewise.
26568 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
26569 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
26570 (SECONDARY_MEMORY_NEEDED): Likewise.
26571 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
26572 (MD_ASM_CLOBBERS): Whitespace and wrap.
26573 (MUST_PASS_IN_STACK): Whitespace and wrap.
26574 (RETURN_POPS_ARGS): Add parenthesis.
26575 (INIT_CUMULATIVE_ARGS): Likewise.
26576 (FUNCTION_ARG): Likewise.
26577 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
26578 (SETUP_INCOMING_VARARGS): Likewise.
26579 (BUILD_VA_LIST_TYPE): Add parenthesis.
26580 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
26581 parenthsis.
26582 (EXPAND_BUILTIN_VA_ARG): Likewise.
26583 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
26584 (INITIALIZE_TRAMPOLINE): Add parenthesis.
26585 (INITIAL_ELIMINATION_OFFSET): Likewise.
26586 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
26587 (REGNO_OK_FOR_BASE_P): Likewise.
26588 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
26589 (REGNO_OK_FOR_DIREG_P): Likewise.
26590 (REG_OK_FOR_INDEX_P): Whitespace.
26591 (REG_OK_FOR_BASE_P): Whitespace.
26592 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
26593 parenthesis.
26594 (FIND_BASE_TERM): Fix typo.
26595 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
26596 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
26597 (SYMBOLIC_CONST; Whitespace.
26598 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
26599 (ENCODE_SECTION_INFO): Whitespace.
26600 (FINALIZE_PIC): Remove do { ... } while (0).
26601 (PROMOTE_MODE): Wrap in do { ... } while (0).
26602 (CONST_COSTS): Whitespace.
26603 (RTX_COSTS): Add paramethesis, whitespace and wrap.
26604 (REGISTER_MOVE_COST): Add parenthesis.
26605 (MEMORY_MOVE_COST): Likewise.
26606 (EXTRA_CC_MODES): Whitespace.
26607 (SELECT_CC_MODE): Add parenthesis and whitespace.
26608 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
26609 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
26610 (ASM_OUTPUT_LABEL): Add paramethesis.
26611 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
26612 (ASM_OUTPUT_REG_POP): Likewise.
26613 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
26614 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 26615
07933f72
GS
26616 * config/i386/i386.c: Update copyright.
26617 (CHECK_STACK_LIMIT): Add parenthesis.
26618 (AT_BP): Uppercase macro parameter.
26619 (x86_64_int_parameter_registers): Constify.
26620 (x86_64_int_return_registers): Likewise.
26621 (ix86_compare_op0): Use rtx.
26622 (construct_container): Constify INTREG parameter.
26623 (function_arg): Use rtx.
26624
0b4d32c9
GS
26625 * diagnostic.h: Update copyright date.
26626 (output_buffer_state): Add parenthesis.
26627 (output_buffer_format_args): Likewise.
26628
6253d571
GS
26629 * combine.c (combine_instructions): Replace XEXP (links, 0)
26630 with link.
26631
68f3f6f1
L
266322002-01-06 H.J. Lu <hjl@gnu.org>
26633
26634 * cfgcleanup.c (thread_jump): Fix 2 typos.
26635
266362002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 26637
0d24f4d1 26638 * config.gcc: Add support for --enable-altivec.
480f7f3a 26639
13b8c631
CR
266402002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
26641
26642 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
26643
58ad89b1
JJ
266442002-01-06 Jakub Jelinek <jakub@redhat.com>
26645
26646 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
26647 __objc_class_name_*.
26648
e403b4bc
CR
266492002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
26650
26651 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
26652
e41c7831
RH
266532002-01-06 Richard Henderson <rth@redhat.com>
26654
26655 * reorg.c (emit_delay_sequence): Remove death notes, not merely
26656 nop them out. Increment label reference count for REG_LABEL.
26657 (fill_slots_from_thread): Frob label reference count around
26658 delete_related_insns.
26659
3b3b1e32
RH
266602002-01-05 Richard Henderson <rth@redhat.com>
26661
26662 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
26663 jump threading.
26664
c28abdf0
RH
266652002-01-05 Richard Henderson <rth@redhat.com>
26666
26667 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
26668 * integrate.c (output_inline_function): Likewise.
26669 * toplev.c (rest_of_compilation): Do it here instead. Move call
26670 to remove_unnecessary_notes after emitting abstract instance.
26671 Force an emitted nested function to have its parent emited as well.
26672 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
26673 for null.
26674 (rtl_for_decl_location): Do not look at reload data structures
26675 before reload has run.
26676
c4f2c499
KH
266772002-01-05 Kazu Hirata <kazu@hxi.com>
26678
26679 * cse.c: Fix formatting.
26680 * dwarf2asm.c: Likewise.
26681 * dwarf2out.c: Likewise.
26682 * explow.c: Likewise.
26683 * expmed.c: Likewise.
26684 * function.c: Likewise.
26685 * gcov.c: Likewise.
26686 * gencheck.c: Likewise.
26687 * genrecog.c: Likewise.
26688 * ggc-common.c: Likewise.
26689 * ggc-page.c: Likewise.
26690 * global.c: Likewise.
26691
cf0d9408
KH
266922002-01-05 Kazu Hirata <kazu@hxi.com>
26693
26694 * combine.c: Fix formatting.
26695
bedca03a
CR
266962002-01-05 Craig Rodrigues <crodrigu@bbn.com>
26697
26698 PR middle-end/1557
26699 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
26700
0134bf2d
DE
267012002-01-05 David Edelsohn <edelsohn@gnu.org>
26702
26703 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
26704 as 1 for __powerpc64__ as well.
26705
26706 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
26707
26708 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
26709 return it.
26710
9ca88d5a
DB
267112002-01-05 Daniel Berlin <dan@dberlin.org>
26712
26713 * lcm.c: Revert change, due to performance regression it causes on
26714 SPEC because it's slightly more conservative (sigh, I hate
26715 edge-based LCM).
0d24f4d1 26716
1c570418
JH
26717Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
26718
26719 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
26720
d83bb9f7
NB
267212002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
26722
26723 * doc/cppinternals.texi: Update.
26724
3e0f61ac
HPN
267252002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
26726
26727 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
26728 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
26729 negatives.
26730 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
26731 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
26732 kludge for pre-october-14th mmix versions to handle new-found bug
26733 with PUSHJ/PUSHGO and the register stack.
26734 * config/mmix/mmix.h (struct machine_function): Rename member
26735 has_call_value_without_parameters to has_call_without_parameters.
26736 All referers changed.
26737 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
26738 TARGET_MASK_BRANCH_PREDICT): New macros.
26739 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
26740 -mno-reg-stack-fill-bug-workaround.
26741 * config/mmix/mmix.md ("call"): Set struct machine member
26742 has_call_without_parameters.
26743
4deaa2f8
JH
26744Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
26745
26746 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
26747
9f16e871
JH
26748Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
26749
26750 * cfgcleanup.c: Include tm_p.h
26751 (mark_effect): Fix handling of hard register; fix handling of SET
26752
96eb1157
KH
267532002-01-04 Kazu Hirata <kazu@hxi.com>
26754
26755 * config/h8300/h8300.md (anonymous patterns): Check that
26756 operands are registers before using REGNO on them.
26757
48180d68
RM
267582002-01-03 Roland McGrath <roland@frob.com>
26759
26760 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
26761
b0832fe1
JJ
267622002-01-04 Jakub Jelinek <jakub@redhat.com>
26763
26764 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
26765 * c-common.h (genrtl_expr_stmt_value): Likewise.
26766 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
26767 (expand_expr_stmt_value): Add maybe_last argument.
26768 Don't warn about statement with no effect if it is the last statement
26769 in expression statement.
26770 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
26771 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
26772 expand_expr_stmt_value.
26773 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
26774 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
26775 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
26776 as maybe_last to expand_expr_stmt_value.
26777
c1e14513
JL
26778Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
26779
0d24f4d1
ZW
26780 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
26781 be passed in, do not build it.
26782 (c_begin_if_stmt): New function.
26783 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
26784 * c-common.h (c_expand_start_cond): Update prototype.
26785 (c_begin_if_stmt): Prototype new function.
26786 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
26787 * c-parse.in (if_prefix): Use c_begin_if_stmt,
26788 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 26789
b6ec437a
WC
267902002-01-04 William Cohen <wcohen@redhat.com>
26791
26792 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
26793 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
26794 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
26795 * config/pa/som.h (ASM_FILE_START): Likewise.
26796
ead39bdf 267972002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
26798
26799 * lcm.c: Include df.h.
26800 Add available_transfer_function prototype.
26801 (compute_available): Rework to use iterative dataflow framework.
26802 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
26803 with bb_info in df.h
26804 (available_transfer_function): New function.
26805
26806 * Makefile.in (lcm.o): add df.h to dependencies.
26807
551cc6fd
RH
268082002-01-04 Richard Henderson <rth@redhat.com>
26809
26810 * config/alpha/alpha.c (some_operand): Accept HIGH.
26811 (input_operand): Likewise; accept simple references to globals.
26812 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
26813 (alpha_const_double_ok_for_letter_p): Likewise.
26814 (alpha_extra_constraint): Likewise.
26815 (alpha_preferred_reload_class): Likewise. Do not force
26816 symbolic constants to memory.
26817 (alpha_legitimate_address_p): Accept simple references
26818 to small_symbolic_operand.
26819 (alpha_legitimize_address): New arg scratch. Be prepared to be
26820 called when no_new_pseudos. Emit simple symbolic references.
26821 Split integers into low, high, and rest.
26822 (alpha_expand_mov): Use alpha_legitimize_address.
26823 (some_small_symbolic_mem_operand): New.
26824 (split_small_symbolic_mem_operand): New.
26825 * config/alpha/alpha-protos.h: Update.
26826 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
26827 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
26828 (EXTRA_CONSTRAINT): Likewise.
26829 (PREFERRED_RELOAD_CLASS): Likewise.
26830 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
26831 (PREDICATE_CODES): Update.
26832 * config/alpha/alpha.md: New post-reload splitters to convert
26833 simplfied symbolic operands to the form that references $29.
26834 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
26835 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
26836
1eaea054
RH
268372002-01-03 Richard Henderson <rth@redhat.com>
26838
26839 * local-alloc.c (function_invariant_p): Update commentary.
26840
c4cc12b7
L
268412002-01-04 H.J. Lu <hjl@gnu.org>
26842
26843 * toplev.c (rest_of_compilation): Fix a typo when calling
26844 cleanup_cfg.
26845
173bf5be
KH
268462002-01-03 Kazu Hirata <kazu@hxi.com>
26847
26848 * c-common.c: Fix formatting.
26849 * diagnostic.c: Likewise.
26850 * doloop.c: Likewise.
26851 * dwarf2out.c: Likewise.
26852
187462ac
KH
268532002-01-03 Kazu Hirata <kazu@hxi.com>
26854
26855 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
26856 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
26857
5d8ebbd8
NB
268582002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
26859
26860 * cpperror.c: Update comments and copyright.
26861 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
26862 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
26863
518c1311
JDA
268642002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
26865
26866 * collect2.c (main): Use strcmp when testing for "-shared".
26867
d15a58c0
NB
268682002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
26869
26870 * cppmacro.c: Don't include intl.h. Update comments.
26871 (new_number_token): Allocate enough buffer for 64-bit unsigned
26872 integers; update prototype.
26873 * cppmain.c: Update comments.
26874
70f4f91c
WC
268752002-01-03 William Cohen <wcohen@redhat.com>
26876
26877 * function.h (struct function): Add profile.
26878 (current_function_profile): New.
26879 doc/extend.texi: Update documentation.
26880 * final.c (final_start_function): Use current_function_profile
26881 instead of profile_flag.
26882 (profile_after_prologue): Likewise.
26883 * function.c (expand_function_start): Likewise.
26884 (expand_function_start): Likewise.
c4cc12b7 26885 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
26886 (alpha_does_function_need_gp): Likewise.
26887 (alpha_expand_prologue): Likewise.
26888 * config/arm/arm.c (arm_expand_prologue): Likewise.
26889 thumb_expand_prologue: Likewise.
26890 * config/d30v/d30v.c (d30v_stack_info): Likewise.
26891 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
26892 (fr30_expand_prologue): Likewise.
26893 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
26894 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
26895 * config/i386/i386.h (FINALIZE_PIC): Likewise.
26896 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
26897 * config/i960/i960.c (i960_output_function_prologue): Likewise.
26898 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
26899 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
26900 (m32r_expand_prologue): Likewise.
26901 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
26902 (m88k_expand_prologue): Likewise.
26903 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
26904 * config/mips/mips.c (compute_frame_size): Likewise.
26905 (mips_expand_prologue): Likewise.
26906 (mips_can_use_return_insn): Likewise.
26907 * config/pa/elf.h (ASM_FILE_START): Likewise.
26908 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
26909 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
26910 * config/pa/som.h (ASM_FILE_START): Likewise.
26911 * config/romp/romp.c (romp_using_r14): Likewise.
26912 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
26913 (rs6000_stack_info): Likewise.
26914 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 26915 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
26916 * config/v850/v850.c (compute_register_save_size): Likewise.
26917
cb1ac742
JJ
269182002-01-03 Jakub Jelinek <jakub@redhat.com>
26919
26920 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
26921 gen_lowpart_common fails, use gen_lowpart_SUBREG.
26922
61d951df 269232002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 26924
61d951df
TC
26925 * darwin.c (machopic_output_possible_stub_label): Don't generate
26926 stub routines for pseudo-stubs which we've just defined.
26927
505ddab6
KH
269282002-01-03 Kazu Hirata <kazu@hxi.com>
26929
26930 * builtins.c: Fix formatting.
26931 * c-typeck.c: Likewise.
26932 * combine.c: Likewise.
26933 * expr.c: Likewise.
26934 * loop.c: Likewise.
26935
b7e30d8a
AS
269362002-01-03 Andreas Schwab <schwab@suse.de>
26937
26938 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
26939 and return true if _cpp_push_next_buffer pushed a new include
26940 file.
26941 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
26942 _cpp_pop_file_buffer did not push a new file.
26943 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
26944
ff81832f
EC
269452002-01-02 Eric Christopher <echristo@redhat.com>
26946
26947 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
26948 FIND_REG_INC_NOTE call. Update copyright.
26949 * loop.c (canonicalize_condition): Ditto.
26950 * reorg.c (delete_scheduled_jump): Ditto.
26951
8e42ace1
KH
269522002-01-03 Kazu Hirata <kazu@hxi.com>
26953
26954 * gcse.c: Fix formatting.
26955
fb2bf631
GS
269562002-01-03 Graham Stott <grahams@redhat.com>
26957
26958 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
26959 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 26960 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
26961
26962 * system.h: Move forward defs for struct tags rtx_def, union_tree,
26963 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 26964 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
26965
269662002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
26967
26968 * tree.h: Update copyright date.
26969 (IS_EXPR_CODE_CLASS): Add parenthesis.
26970 (TREE_SET_CODE): Add whitespace.
26971 (TREE_CHECK): Add parenthesis.
26972 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
26973 (CST_OR_CONSTRUCTOR_CHECK):
26974 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
26975 (TREE_SYMBOL_REFERENCED): Whitespace.
26976 (INT_CST_LT): Likewise.
26977 (INT_CST_LT_UNSIGNED): Likewise.
26978 (tree_real_cst): Unwrap comment.
26979 (tree_string): Likewise.
26980 (tree_complex): Likewise.
26981 (IDENTIFIER_POINTER): correct cast.
26982 (SAVE_EXPR_CONTEXT): Whitespace.
26983 (EXPR_WFL_FILENAME_NODE): Likewise.
26984 (EXPR_WFL_FILENAME): Remove parenthesis.
26985 (DECL_ORIGIN): Add parenthesis.
26986 (DECL_FROM_INLINE): Use NULL_TREE.
26987 (build_int_2): Whitespace.
26988 (build_type_variant): Add parenthesis.
26989
26990 * gcc/jcf-parse.c: Update copyright date.
26991 (yyparse): Constify resource_filename.
26992
f52eda29
GS
269932002-01-03 Graham Stott <grahams@redhat.com>
26994
26995 * rtl.h: Update copyright date.
26996 (RTL_CHECK1): Wrap long line.
26997 (RTL_CHECK2): Likewise.
26998 (RTL_CHECKC1): Wrap long line and whitespace.
26999 (RTL_CHECKC2): Likewise.
27000 (XWINT): Whitespace.
27001 (XINT): Likewise.
27002 (XSTR): Likewise.
27003 (XEXP): Likewise.
27004 (XVEC): Likewise.
27005 (XMODE): Likewise.
27006 (XBITMAP): Likewise.
27007 (XTREE): Likewise.
27008 (XBBDEF): Likewise.
27009 (XTMPL): Likewise.
27010 (X0WINT): Likewise.
27011 (X0INT):Likewise.
27012 (X0UINT): Likewise.
27013 (X0STR): Likewise.
27014 (X0EXP): Likewise.
27015 (X0VEC): Likewise.
27016 (X0MODE): Likewise.
27017 (X0BITMAP): Likewise.
27018 (X0TREE): Likewise.
27019 (X0BBDEF): Likewise.
27020 (X0ADVFLAGS): Likewise.
27021 (X0CSELIB): Likewise.
27022 (X0MEMATTR): Likewise.
27023 (XCWINT): Likewise.
27024 (XCINT): Likewise.
27025 (XCUINT): Likewise.
27026 (XCSTR): Likewise.
27027 (XCEXP): Likewise.
27028 (XCVEC): Likewise.
27029 (XCMODE): Likewise.
27030 (XCBITMAP): Likewise.
27031 (XCTREE): Likewise.
27032 (XCBBDEF): Likewise.
27033 (XCADVFLAGS): Likewise.
27034 (XCCSELIB): Likewise.
27035 (XC2EXP): Likewise.
27036 (INSN_UID): Likewise.
27037 (PREV_INSN): Likewise.
27038 (PATTERN): Likewise.
27039 (INSN_CODE): Likewise.
27040 (PUT_REG_NOTE_KIND): Likewise.
27041 (CODE_LABEL_NUMBER): Likewise.
27042 (NOTE_SOURCE_FILE): Likewise.
27043 (NOTE_BLOCK): Likewise.
27044 (NOTE_EH_HANDLER): Likewise.
27045 (NOTE_RANGE_INFO): Likewise.
27046 (NOTE_LIVE_INFO): Likewise.
27047 (NOTE_BASIC_BLOCK): Likewise.
27048 (NOTE_EXPECTED_VALUE): Likewise.
27049 (NOTE_LINE_NUMBER): Likewise.
27050 (LABEL_NAME): Likewise.
27051 (LABEL_NUSES): Likewise.
27052 (LABEL_ALTERNATE_NAME): Likewise.
27053 (ADDRESSOF_DECL): Likewise.
27054 (JUMP_LABEL): Likewise.
27055 (LABEL_NEXTREF): Likewise.
27056 (REGNO): Likewise.
27057 (ORIGINAL_REGNO: Likewise.
27058 (HARD_REGISTER_NUM_P): Add parenthesis.
27059 (SUBREG_REG): Whitespace.
27060 (SUBREG_BYTE): Likewise.
27061 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
27062 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
27063 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
27064 (ASM_OPERANDS_INPUT_VEC): Likewise.
27065 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
27066 (ASM_OPERANDS_INPUT): Likewise.
27067 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
27068 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
27069 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
27070 (ASM_OPERANDS_INPUT_MODE): Likewise.
27071 (ASM_OPERANDS_SOURCE_FILE): Likewise.
27072 (ASM_OPERANDS_SOURCE_LINE): Likewise.
27073 (MEM_SET_IN_STRUCT_P): Minor reformat.
27074 (TRAP_CONDITION): Whitespace.
27075 (TRAP_CODE): Likewise.
27076 (COND_EXEC_TEST): Likewise.
27077 (COND_EXEC_CODE): Likewise.
27078 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
27079 (PHI_NODE_P): Add parenthesis.
27080 (plus_constant): Whitespace and add parenthesis.
27081
e03f5d43
KH
270822002-01-03 Kazu Hirata <kazu@hxi.com>
27083
27084 * config/avr/avr.c: Fix comment typos.
27085 * config/c4x/c4x.md: Likewise.
27086 * config/dsp16xx/dsp16xx.h: Likewise.
27087 * config/dsp16xx/dsp16xx.md: Likewise.
27088 * config/i386/i386.md: Likewise.
27089 * config/ia64/ia64.c: Likewise.
27090 * config/m32r/m32r.h: Likewise.
27091 * config/m68hc11/m68hc11.md: Likewise.
27092 * config/mmix/mmix.c: Likewise.
27093 * config/mn10200/mn10200.c: Likewise.
27094 * config/romp/romp.c: Likewise.
27095 * config/sh/sh.c: Likewise.
27096 * config/stormy16/stormy16.c: Likewise.
27097 * config/stormy16/stormy16.h: Likewise.
27098 * config/stormy16/stormy16.md: Likewise.
27099
97e300e9
GS
271002002-01-03 Graham Stott <grahams@redhat.com>
27101
27102 * loop.h: Update copyright date.
0d24f4d1
ZW
27103 (LOOP_MOVABLES): Fix typo.
27104 (LOOP_REGS): Likewise.
27105 (LOOP_IVS): Likewise.
ff81832f 27106
745b26b3
GS
271072002-01-03 Graham Stott <grahams@redhat.com>
27108
27109 * cppinit.c: Update copyright date.
27110 Don't include output.h
27111 * Makefile.in: Update copyright date.
27112 Update dependency.
27113
0a379b7a
CR
271142002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
27115
27116 PR c/5226
27117 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
27118 (-pthread) Add to RS/6000 options.
27119
a8154559
KH
271202002-01-02 Kazu Hirata <kazu@hxi.com>
27121
27122 * except.c: Fix comment typos.
27123 * loop.c: Likewise.
27124 * varasm.c: Likewise.
27125 * doc/tm.texi: Fix a typo.
27126
e6ecc89b
JJ
271272002-01-02 Jakub Jelinek <jakub@redhat.com>
27128
27129 * c-typeck.c (output_init_element): Allow initializing static storage
27130 duration objects with compound literals.
27131
d1094b40
RH
271322002-01-02 Richard Henderson <rth@redhat.com>
27133
27134 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
27135 after abusing it.
27136
0c5d8c82
KG
271372002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
27138
5e65297b
KG
27139 * gcc.c (default_compilers): Const-ify.
27140 * mips-tdump.c (stab_names): Likewise.
27141 * mips-tfile.c (map_coff_types, map_coff_storage,
27142 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
27143 pseudo_ops_t, pseudo_ops): Likewise.
27144 * protoize.c (default_include): Likewise
27145
0c5d8c82
KG
27146 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
27147 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
27148 Add array size in declaration.
27149 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
27150 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
27151 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
27152 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
27153 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
27154 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
27155 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
27156 emtens, make_nan): Const-ify.
27157 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
27158 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
27159
817e13c4
JM
271602002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
27161
27162 * config.gcc (ia64-*-*): Set extra_headers.
27163 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
27164 * config/alpha/t-osf: Remove.
27165 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
27166
98095e2b
DE
271672002-01-02 David Edelsohn <edelsohn@gnu.org>
27168
27169 * config/rs6000/t-aix43: Revert previous change.
27170
a4200657
JM
271712002-01-02 Jason Merrill <jason@redhat.com>
27172
27173 * c-decl.c (c_expand_body): Call outlining_inline_function when
27174 emitting an inline function out of line.
27175
54ba1f0d
RH
271762002-01-02 Richard Henderson <rth@redhat.com>
27177
27178 * dwarf2out.c (limbo_die_node): Add created_for member.
27179 (new_die): New argument created_for. Update all callers.
27180 (mark_limbo_die_list): New.
27181 (dwarf2out_init): Register limbo_die_list as a root.
27182 (dwarf2out_finish): Force insert limbo dies into their function
27183 context.
27184
323728aa
NS
271852002-01-02 Nathan Sidwell <nathan@codesourcery.com>
27186
27187 PR c++/5089
27188 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
27189
aefc5826
KH
271902002-01-02 Kazu Hirata <kazu@hxi.com>
27191
27192 * config/h8300/fixunssfsi.c: Update copyright.
27193 Fix comment typos.
27194 Fix formatting.
27195 * config/h8300/h8300.c: Update copyright.
27196 Eliminate warnings.
27197
b1c9bc51
KH
271982002-01-02 Kazu Hirata <kazu@hxi.com>
27199
27200 * config/romp/romp.c: Fix comment formatting.
27201 * config/romp/romp.h: Likewise.
27202 * config/romp/romp.md: Likewise.
27203 * config/s390/s390.c: Likewise.
27204 * config/stormy16/stormy16.c: Likewise.
27205 * config/stormy16/stormy16.h: Likewise.
27206
1574ef13
AO
272072002-01-02 Alexandre Oliva <aoliva@redhat.com>
27208
27209 * c-common.h (genrtl_expr_stmt_value): Declare.
27210 * c-semantics.c (genrtl_goto_stmt): Redirect to...
27211 (genrtl_goto_stmt_value): ... this new function. Pass new
27212 argument down to expand_expr_stmt_value, taking
27213 TREE_ADDRESSABLE into account.
27214 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
27215 STMT_EXPR as addressable, i.e., one whose result we want.
27216 * expr.c (expand_expr): Don't save expression statement value
27217 of labeled_blocks or loop_exprs.
27218 * stmt.c (expand_expr_stmt): Redirect to...
27219 (expand_expr_stmt_value): ... this new function. Use new
27220 argument to tell whether to save expression value.
27221 (expand_end_stmt_expr): Reset last_expr_type and
27222 last_expr_value if we don't have either.
27223 * tree-inline.c (declare_return_variable): Mark its use
27224 statement as addressable.
27225 * tree.h: Document new use of TREE_ADDRESSABLE.
27226 (expand_expr_stmt_value): Declare.
27227
252b88f7
TR
272282002-01-01 Tom Rix <trix@redhat.com>
27229
27230 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
27231 rs6000_emit_allocate_stack.
27232
29f7a208
JM
272332002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
27234
27235 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
27236 ${srcdir}/ginclude/ to every entry in extra_headers.
27237 * configure: Regenerate.
27238 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
27239 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
27240 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
27241 * ginclude/proto.h: Rename to config/convex/proto.h.
27242
2cc2d4bb
RK
27243Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
27244
27245 * attribs.c (handle_vector_size_attribute): Use host_integerp
27246 and tree_int_cst; remove warnings.
27247 * caller-save.c (insert_restore): Add cast to get rid of warning.
27248 (insert_save): Likewise.
27249 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
27250 * regmove.c (find_matches): Add temporary var to kill a warning.
27251
f01c9bcd
DR
272522002-01-01 Douglas B Rupp <rupp@gnat.com>
27253
16b61764
DR
27254 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
27255 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
27256 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
27257 (vms-dwarf2eh.o): Add Makefile rule.
27258 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
27259 * config/alpha/vms-dwarf2eh.asm: New file.
27260
f01c9bcd
DR
27261 * gcc.c (delete_if_ordinary): Delete all versions.
27262
91312b81
HPN
272632002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
27264
27265 * config/mmix/mmix.md: Update FIXME to not mention
27266 define_constants.
27267 (MMIX_rJ_REGNUM): New define_constants constant.
27268 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
27269 "*movdicc_real"): Adjust contraints formatting.
27270 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
27271 for branch prediction.
27272 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
27273 output template.
27274 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
27275 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
27276 number. Delete related FIXMEs.
27277 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
27278 from number to MMIX_rJ_REGNUM.
27279 (TARGET_MASK_BRANCH_PREDICT): New.
27280 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
27281 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
27282 value. Add -mbranch-predict and -mno-branch-predict.
27283 (TARGET_VERSION): Drop date.
27284 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
27285 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
27286 for finding out global symbols.
27287 (mmix_asm_output_labelref): Revert condition for global symbol.
27288 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
27289 (mmix_print_operand_punct_valid_p): A '+' is valid.
27290
619acae7 27291See ChangeLog.6 for earlier changes.