]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* basic-block.h (struct loop): Remove unused cont_dominator field.
[gcc.git] / gcc / ChangeLog
CommitLineData
77043c7c
RS
12002-09-07 Roger Sayle <roger@eyesopen.com>
2
3 * basic-block.h (struct loop): Remove unused cont_dominator field.
4
5dd78220
IS
52002-09-07 Igor Shevlyakov <igor@microunity.com>
6
7 * varasm.c (decode_rtx_const): Don't check undefined field for
8 CONST_VECTOR.
9
b96a3fa3
GN
102002-09-07 Glen Nakamura <glen@imodulo.com>
11
7fa86a10 12 PR opt/7814
b96a3fa3
GN
13 * sched-deps.c (sched_analyze_insn): Make sure to add insn
14 to reg_last->sets after flushing the dependency lists to guarantee
15 that subsequent clobbers will be dependent on it.
16
ad9df12f
IS
172002-09-07 Igor Shevlyakov <igor@microunity.com>
18
19 * combine.c (simplify_shift_const): Calculate rotate count
20 correctly for vector operands.
21
54c93c30
AE
222002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
23
24 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
25 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
26 tree_expr_nonnegative_p.
27 (build_conditional_expr): Likewise.
28 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
29
36eea25f
RH
302002-09-07 Richard Henderson <rth@redhat.com>
31
3aa4cad7
RH
32 * builtins.def (inf, inff, infl): Mark const.
33 (huge_val, huge_valf, huge_vall): Likewise.
34 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
35
36eea25f
RH
36 * real.c (ereal_inf): Clear E before use.
37
5c102b48
KH
382002-09-07 Kazu Hirata <kazu@cs.umass.edu>
39
40 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
41 an expander and an anonymous pattern. Zero out the upper half
42 of the dividend in the expander.
43 (udivmodqi4): Likewise.
44
8bd06267
KH
452002-09-07 Kazu Hirata <kazu@cs.umass.edu>
46
47 * config/h8300/h8300.c: Fix formatting.
48 * config/h8300/h8300.h: Likewise.
49 * config/h8300/h8300.md: Likewise.
50
39587bb9
ZD
512002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
52
53 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
54 information.
55
92d9256d
GS
562002-09-07 Graham Stott <graham.stott@btinternet.con>
57
58 * rtlanal.c (dead_or_set_regno_p): Fix typo.
59
93638d7a
AM
602002-09-07 Alan Modra <amodra@bigpond.net.au>
61
fea76d82
AM
62 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
63
93638d7a
AM
64 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
65 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
66 (TARGET_ASM_OUT): Add the above here.
67 * target.h (struct gcc_target): Add "visibility" field.
68 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
69 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
70 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
71 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
72
370ce32a
ZL
732002-09-06 Ziemowit Laski <zlaski@apple.com>
74
75 * c-lang.c (objc_is_id): New stub.
76 * c-tree.h (objc_is_id): New forward declaration.
77 * c-typeck.c (build_c_cast): Do not strip protocol
78 qualifiers from 'id' type.
79 * objc/objc-act.c (objc_comptypes): Correct handling
80 of protocol qualifiers.
81 (objc_is_id): New.
82
942579db
JL
83Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
84
54c93c30 85 * pentium.md (pentium-firstvboth): Fix typo.
942579db 86
c4dfc70c
DD
872002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
88
89 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
90 (enum shift_type, enum h8_cpu): Likewise.
91 (INL, ROT, LOP, SPC macros): Likewise.
92 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
93 const designator.
94 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
95 space efficient algorithms when optimize for codesize.
96
5873a4c1
NP
97Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
98
99 Fix PR/1727 and long-standing failing testcase
100 objc/formal-protocol-6.m.
101 * objc-act.c (build_protocol_expr): If compiling for the GNU
102 runtime, create a list of Protocol statically allocated instances
103 if it doesn't exist, then add the Protocol object to this same
104 list.
105 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
106 instead of TREE_CHAIN.
107
e30d4c82
NP
108Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
109
110 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
111 10k. Fixed category dumping - print out category names with the
112 proper syntax. Print '@end\n' and not '\n@end' at the end of the
113 interface.
22d4398d 114 (finish_objc): Fixed the -gen-decls option. It was printing out
e30d4c82
NP
115 only the last class. Dump an interface declaration of all classes
116 being compiled instead.
117
fcd53748
JT
1182002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
119
120 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
121 prototype.
122 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
123 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
124 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
125 rather than GEN_INT.
126 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
127 (return_addr_mask, *check_arch2): New.
128
96fd3851
UW
1292002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
130
131 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
132 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
133 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
134 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
135 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
136 "adddf3", "*adddf3", "*adddf3_ibm",
137 "addsf3", "*addsf3", "*addsf3_ibm",
138 "muldi3", "mulsi3", "mulsidi3",
139 "muldf3", "*muldf3", "*muldf3_ibm",
140 "mulsf3", "*mulsf3", "*mulsf3_ibm",
141 "*anddi3_cc", "*anddi3_cconly", "anddi3",
142 "*andsi3_cc", "*andsi3_cconly", "andsi3",
143 "*iordi3_cc", "*iordi3_cconly", "iordi3",
144 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
145 "*xordi3_cc", "*xordi3_cconly", "xordi3",
146 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
147 instead of "register_operand" as predicate for "%0" operand.
148
22252625
JJ
1492002-09-06 Jakub Jelinek <jakub@redhat.com>
150
151 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
152 unconditionally when gcc_cv_as_flags64 checks are gone.
153 * configure: Rebuilt.
154
bc401279
AM
1552002-09-06 Alan Modra <amodra@bigpond.net.au>
156
157 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
158 2002-07-26 change. Comment.
159
b3fbfc07
KG
1602002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
161
162 * frv.c (frv_unique_section, frv_select_section,
163 frv_select_rtx_section): Delete.
164 (frv_in_small_data_p): New.
165 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
166 TARGET_ASM_SELECT_RTX_SECTION): Delete.
167 (TARGET_IN_SMALL_DATA_P): Define.
168
41e34bab
DJ
1692002-09-05 Dale Johannesen <dalej@apple.com>
170
171 * reload1.c (reload): Retain only those memory clobbers
172 added for variable-array handling.
173
dc0ba55a
JT
1742002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
175
176 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
177 return-in-memory rules.
178 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
179
dd19d142
DE
1802002-09-05 David Edelsohn <edelsohn@gnu.org>
181
182 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
183 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
184
3717da94
JT
1852002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
186
187 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
188 not a compile-time constant for the non-IBM case.
189 * config/arm/arm-protos.h (arm_float_words_big_endian): New
190 prototype.
191 * config/arm/arm.c (arm_float_words_big_endian): New function.
b5b620a4
JT
192 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
193 if TARGET_VFP and not TARGET_HARD_FLOAT.
3717da94
JT
194 (ARM_FLAG_VFP, TARGET_VFP): Define.
195 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
196
225cee28
DE
1972002-09-05 David Edelsohn <edelsohn@gnu.org>
198
199 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
200 URLs. Fix AIX wording.
201
c72bfda7
SS
2022002-09-05 Stan Shebs <shebs@apple.com>
203
204 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
205 -fPIC equivalent on Darwin.
206
3578cf63
R
207Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
208
209 * sh.c (sh_expand_builtin): Return early if encountering an
210 error_mark for a type.
211
7974fe63
UW
2122002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
213
214 * config/s390/s390.c (s390_expand_plus_operand): Do not require
215 double-word scratch register.
216 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
217
218 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
219 "*cli"): Replace s_operand by memory_operand.
220 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
221
f8cb5851
KH
2222002-09-05 Kazu Hirata <kazu@cs.umass.edu>
223
224 * config/h8300/h8300.c (asm_file_start): Add a missing
225 semicolon.
226
5fc0e5df
KW
2272002-09-04 Krister Walfridsson <cato@df.lth.se>
228
229 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
230 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
231 (ix86_output_addr_diff_elt) Likewise.
232 (x86_output_mi_thunk) Likewise.
233 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
234
f4b488fd
KG
2352002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
236
237 * frv.c (frv_encode_section_info): Fix error in last change.
238
0e5dbd9b
DE
2392002-09-04 David Edelsohn <edelsohn@gnu.org>
240
241 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
242 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
243 (TARGET_BINDS_LOCAL_P): Define.
244 (rs6000_override_options): Save original flag_pic value.
245 (rs6000_elf_select_section): Call default_elf_select_section_1.
246 (rs6000_elf_unique_section): Call default_unique_section_1.
247 (rs6000_elf_in_small_data_p): New function.
248 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
249 (rs6000_xcoff_select_section): Update based on defaults.
250 (rs6000_xcoff_unique_section): Set to basic name if not common.
251 (rs6000_binds_local_p): New function.
252 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
253 targetm.have_srodata_section if SDATA_EABI.
254 (TARGET_IN_SMALL_DATA_P): Define.
255
f57f9cb8
DJ
2562002-09-04 Dale Johannesen <dalej@apple.com>
257
258 * varasm.c (struct rtx_const, decode_rtx_const):
259 Make veclo and vechi fields not share storage.
260
ed6cc1f5
R
261Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
262
263 * loop.c (scan_loop): Don't mark separate insns out of a libcall
264 for moving.
265 (move_movables): Abort if we see the first insn of a libcall.
266
ab5e2615
RH
2672002-09-04 Richard Henderson <rth@redhat.com>
268
269 * builtin-types.def (BT_FN_FLOAT): New.
270 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
271 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
272 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
273 * builtins.c (fold_builtin_inf): New.
274 (fold_builtin): Call it.
275 * real.c (ereal_inf): New.
276 * real.h: Declare it.
277 * doc/extend.texi: Document new builtins.
278
9beb7d20
RH
2792002-09-04 Richard Henderson <rth@redhat.com>
280
281 * cse.c (cse_insn): Avoid subreg games if the equivalence
282 is already in the proper mode.
283
29984e05
EB
2842002-09-04 Eric Botcazou <ebotcazou@multimania.com>
285
286 PR c/7102
287 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
288
8d46398e
JDA
2892002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
290
291 * pa.md (setccfp0, setccfp1): New patterns.
292
14966b94
KG
2932002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
294
295 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
296 frv_select_section, frv_select_rtx_section,
297 frv_encode_section_info, frv_unique_section): Delete.
298 * frv.c: Update for target hooks.
299 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
300 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
301 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
302
c8bf1a1a
KG
3032002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
304
305 * ip2k-protos.h (function_prologue, function_epilogue,
306 encode_section_info): Update to match target hook specification.
307 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
308 (function_prologue, function_epilogue, encode_section_info):
309 Update to match target hook specification.
310 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
311 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
312 (NOTICE_UPDATE_CC): Cast to void.
313 * ip2k.md: Add defaults in switch statements.
314
0484cb35
JJ
3152002-09-04 Janis Johnson <janis187@us.ibm.com>
316
317 * doc/trouble.texi (Interoperation): Update information about C++ ABI
318 issues.
319
3e62bd08
JT
3202002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
321
322 * config/sparc/t-netbsd64: Disable multilib for now.
323
275b6d80
DE
3242002-09-04 David Edelsohn <edelsohn@gnu.org>
325
326 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
327 * target.h (gcc_target): Add have_srodata_section member.
328 * varasm.c (section_category): Add SECCAT_SRODATA.
329 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
330 READONLY_SDATA_SECTION defined.
331 (decl_readonly_section_1): True for SECCAT_SRODATA also.
332 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
333 (default_unique_section_1): Likewise.
334
015b1ad1
JDA
3352002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
336
337 * expr.c (emit_group_load): Revise to allow splitting TCmode source
338 into DImode pieces.
339
340 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
341 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
342 for floating-point register class.
343 * pa.c (function_arg): Fix handling of modes wider than one word for
344 TARGET_64BIT.
345
b10f2187
R
346Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
347
348 * combine.c (make_compound_operation): Don't generate zero / sign
349 extensions in floating point modes.
350
478c9e72
JJ
3512002-09-04 Janis Johnson <janis187@us.ibm.com>
352
353 * doc/c-tree.texi: Fix overfull hboxes.
354 * doc/cppopts.texi: Ditto.
355 * doc/extend.texi: Ditto.
356 * doc/gty.texi: Ditto.
357 * doc/invoke.texi: Ditto.
358 * doc/makefile.texi: Ditto.
359 * doc/rtl.texi: Ditto.
360 * doc/standards.texi: Ditto.
361 * doc/tm.texi: Ditto.
362
77e8a0cc
RH
3632002-09-04 Richard Henderson <rth@redhat.com>
364
365 * c-common.c (builtin_define_with_hex_fp_value): New.
366 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
367
a9c60612
JJ
3682002-09-04 Janis Johnson <janis187@us.ibm.com>
369
370 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
371 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
372 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
373 Warn that these options can break ABI compatibility.
374
4b67a274
RH
3752002-09-04 Richard Henderson <rth@redhat.com>
376
377 * real.c (ereal_to_decimal): Add digits parameter.
378 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
379 * c-pretty-print.c (pp_c_real_literal): Update call.
380 * print-rtl.c (print_rtx): Likewise.
381 * print-tree.c (print_node_brief, print_node): Likewise.
382 * sched-vis.c (print_value): Likewise.
383 * config/arc/arc.c (arc_print_operand): Likewise.
384 * config/c4x/c4x.c (c4x_print_operand): Likewise.
385 * config/i370/i370.h (PRINT_OPERAND): Likewise.
386 * config/i386/i386.c (print_operand): Likewise.
387 * config/i960/i960.c (i960_print_operand): Likewise.
388 * config/ip2k/ip2k.c (asm_output_float): Likewise.
389 * config/m32r/m32r.c (m32r_print_operand): Likewise.
390 * config/m68hc11/m68hc11.c (print_operand): Likewise.
391 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
392 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
393 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
394 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
395 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
396 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
397 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
398 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
399 * config/mips/mips.c (print_operand): Likewise.
400 * config/ns32k/ns32k.c (print_operand): Likewise.
401 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
402 * config/vax/vax.h (PRINT_OPERAND): Likewise.
403 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
404
01abf342
BW
4052002-09-04 Bob Wilson <bob.wilson@acm.org>
406
407 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
408 xtensa_multibss_section_type_flags.
409 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
410
cd42d3df
RH
4112002-09-04 Richard Henderson <rth@redhat.com>
412
413 * doc/install-old.texi: Don't mention enquire.
414 * doc/sourcebuild.texi: Update float.h description.
415
502e6d5a
R
416Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
417
418 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
419
2cc9fb4c
DE
4202002-09-03 David Edelsohn <edelsohn@gnu.org>
421
422 * varasm.c (default_section_type_flags): Append _1 to name with
423 shlib parameter. Use original name to call new function with
424 implicit flag_pic.
425 (decl_readonly_section): Likewise.
426 (default_elf_select_section): Likewise.
427 (default_unique_section): Likewise.
428 (default_bind_local_p): Likewise.
429 (categorize_decl_for_section): Add shlib parameter to use in place
430 of implicit flag_pic.
431 * output.h: Declare new functions with _1 and shlib argument.
432
7c19f816
JJ
4332002-09-03 Janis Johnson <janis187@us.ibm.com>
434
8c085f6f
JJ
435 * doc/install.texi: Fix typos, formatting problems, and obvious
436 overfull/underfull boxes.
437
7c19f816
JJ
438 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
439 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
440 include its file, compat.texi.
441 * doc/compat.texi: New file with new chapter, Binary Compatibility.
442
79ba5e3b
NB
4432002-09-03 Neil Booth <neil@daikokuya.co.uk>
444
445 Debian BTS Bug #157416
446 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
447 * cpplib.c (destringize_and_run): Kludge around getting
448 tokens from in-progress macros.
449 (_cpp_do__Pragma): Simplify.
450
57016b47
SE
4512002-09-03 Steve Ellcey <sje@cup.hp.com>
452
453 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
454 (CPP_CPU_SPEC): Remove.
455 (TARGET_CPU_CPP_BUILTINS): New.
456 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
457 (CPP_SPEC): Remove.
458 (TARGET_OS_CPP_BUILTINS): New.
459 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
460 (TARGET_OS_CPP_BUILTINS): New.
461 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
462 TARGET_OS_CPP_BUILTINS.
463 (CPP_PREDEFINES): Remove.
464 (CPLUSPLUS_CPP_SPEC): Remove.
465 (TARGET_OS_CPP_BUILTINS): New.
466
d57a4b98
RH
4672002-09-03 Richard Henderson <rth@redhat.com>
468
469 * Makefile.in (USER_H): Add ginclude/float.h.
470 (FLOAT_H): Remove.
471 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
472 (mostlyclean): Don't remove float.h intermediate files.
473 (distclean): Don't remove float.h.
474 * config.gcc: Remove all float_format references.
475 * configure.in (float_format, float_h_file): Remove.
476
477 * c-common.c: Include tree-inline.h.
478 (builtin_define_with_int_value): New.
479 (builtin_define_type_precision): Use it.
480 (builtin_define_float_constants): New.
481 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
482 __FLT_EVAL_METHOD__.
483 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
484 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
485 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
486 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
487 (TARGET_FLT_EVAL_METHOD): New.
488
489 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
490 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
491 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
492 * ginclude/float.h: New.
493
527347f0
SS
4942002-09-03 Stan Shebs <shebs@apple.com>
495
496 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
497 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
498 (PREFERRED_DEBUGGING_TYPE): Ditto.
499 (ASM_OUTPUT_IDENT): Remove empty definition.
500
34c1864f
SE
5012002-09-03 Steve Ellcey <sje@cup.hp.com>
502
503 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
504 cxx_target.
505 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
506 handling routine for builtin pragma.
507 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
508 Registered pragma handling routine.
509 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
510 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
511 If builtin pragma seen for math routine and C89 conformance is
512 requested use different math function in order to set errno.
513 * t-ia64 (ia64-c.o): Add new rule for new file.
514
9b7c75b9
UW
5152002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
516
517 * config/s390/s390.md ("movti"): Add Q->Q alternative.
518 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
519 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
520
521 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
522 "*movsf_ss"): Remove.
523
710ba35f
JDA
5242002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
525
526 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
527 Delete macros.
528
ff970081
AD
5292002-09-03 Arati Dikey <aratid@kpit.com>
530
531 * h8300.c (asm_file_start): Corrected optimization comment.
532
b50d021d
SS
5332002-09-03 Stan Shebs <shebs@apple.com>
534
535 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
536 * c-tree.h (recognize_objc_keyword): Remove decl.
537 * c-typeck.c (comp_target_types): Update a comment.
538
b808c04c
UW
5392002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
540
541 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
542 and register validity checks.
543 (general_s_operand): Adapt to s390_decompose_address interface change.
544 (q_constraint): Likewise.
545 (s390_expand_plus_operand): Likewise.
546 (legitimiate_address_p): Likewise.
547 (legitimate_la_operand_p): Likewise.
548 (legitimize_la_operand): Likewise.
549 (print_operand_address): Likewise.
550 (print_operand): Likewise.
551
ee453219
NP
552Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
553
554 PR objc/5956:
555 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
556 was causing the new selector never to match the existing ones
54c93c30 557 (Patch by Alexander Malmberg <alexander@malmberg.org>).
ee453219 558
d82283d5
GS
5592002-09-03 Graham Stott <graham.stott@btinternet.com>
560
561 * config/i386/i386.md ("femms"): Add "memory" attr "none".
562
5632002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
564
565 * expr.c (expand_expr): Remove extraneous comment and code.
566
98c0d8d1
RH
5672002-08-31 Richard Henderson <rth@redhat.com>
568
569 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
570
a5f3f0ab
JDA
5712002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
572
573 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
574
38ec83b1
RH
5752002-08-30 Richard Henderson <rth@redhat.com>
576
c9989d09 577 PR opt/7515
38ec83b1
RH
578 * c-objc-common.c: Include target.h.
579 (c_cannot_inline_tree_fn): Don't auto-inline functions that
580 don't bind locally. Factor setting DECL_UNINLINABLE.
581 * Makefile.in (c-objc-common.o): Update.
582
4c64396e
JJ
5832002-08-30 Janis Johnson <janis187@us.ibm.com>
584
585 * doc/install.texi (Configuration, Building): Fix a typo and
586 some formatting directives.
587
4226378a
PK
5882002-08-30 Paul Koning <pkoning@equallogic.com>
589
590 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
591 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
592 implemented" note.
593 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
594 for alphabetic order.
595 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
596 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
597 (VAX_HALFWORD_ORDER): Document.
598 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
599 IEEE float format.
600 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
601 (ASM_OUTPUT_LABEL_REF): Fix font.
602 (CASE_VECTOR_SHORTEN_MODE): Ditto.
603
b8074dbe
DC
6042002-08-30 Denis Chertykov <denisc@overta.ru>
605
606 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
607 stuff.
608 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
609 CONST_DOUBLE constants.
610
55f49e3d
JT
6112002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
612
613 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
614 related defines to...
615 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
616 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
617 as a no-op.
618
e1944073
KW
6192002-08-30 Krister Walfridsson <cato@df.lth.se>
620
621 * config/arm/arm.c (arm_asm_output_labelref): New function.
622 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
623 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
624
6e92b3a1
RB
6252002-08-29 Rodney Brown <rbrown64@csc.com.au>
626
627 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
628 memory exhausted" workarounds.
629
9d533cb5
GDR
6302002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
631
632 * diagnostic.c (fancy_abort): Don't repeat "internal error".
633 * toplev.c (crash_signal): Likewise.
634
1f676100
NP
635Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
636
637 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
638 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
639 Extended, updated documentation.
640 (-Wundeclared-selector): Documented.
641
23532de9
JT
6422002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
643
644 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
645 the value 1. Do not undef before defining.
646 * config/darwin.h: Likewise.
647 * config/dbx.h: Likewise.
648 * config/dbxcoff.h: Likewise.
649 * config/dbxelf.h: Likewise.
650 * config/elfos.h: Likewise.
651 * config/interix.h: Likewise.
652 * config/lynx-ng.h: Likewise.
653 * config/lynx.h: Likewise.
654 * config/netware.h: Likewise.
655 * config/psos.h: Likewise.
656 * config/svr3.h: Likewise.
657 * config/alpha/alpha.h: Likewise.
658 * config/alpha/elf.h: Likewise.
659 * config/alpha/vms.h: Likewise.
660 * config/arc/arc.h: Likewise.
661 * config/arm/aout.h: Likewise.
662 * config/arm/coff.h: Likewise.
663 * config/c4x/c4x.h: Likewise.
664 * config/h8300/h8300.h: Likewise.
665 * config/i386/cygwin.h: Likewise.
666 * config/i386/djgpp.h: Likewise.
667 * config/i386/gas.h: Likewise.
668 * config/i386/gstabs.h: Likewise.
669 * config/i386/i386-coff.h: Likewise.
670 * config/i386/i386-interix.h: Likewise.
671 * config/i386/sco5.h: Likewise.
672 * config/i386/svr3dbx.h: Likewise.
673 * config/i386/sysv3.h: Likewise.
674 * config/i386/win32.h: Likewise.
675 * config/i386/x86-64.h: Likewise.
676 * config/i960/i960.h: Likewise.
677 * config/ia64/ia64.h: Likewise.
678 * config/ip2k/ip2k.h: Likewise.
679 * config/m32r/m32r.h: Likewise.
680 * config/m68k/3b1.h: Likewise.
681 * config/m68k/3b1g.h: Likewise.
682 * config/m68k/ccur-GAS.h: Likewise.
683 * config/m68k/coff.h: Likewise.
684 * config/m68k/hp2bsd.h: Likewise.
685 * config/m68k/hp310g.h: Likewise.
686 * config/m68k/hp320g.h: Likewise.
687 * config/m68k/hp3bsd.h: Likewise.
688 * config/m68k/hp3bsd44.h: Likewise.
689 * config/m68k/linux-aout.h: Likewise.
690 * config/m68k/m68k-aout.h: Likewise.
691 * config/m68k/mot3300.h: Likewise.
692 * config/m68k/netbsd.h: Likewise.
693 * config/m68k/openbsd.h: Likewise.
694 * config/m68k/pbb.h: Likewise.
695 * config/m68k/plexus.h: Likewise.
696 * config/m68k/sun2.h: Likewise.
697 * config/m68k/sun3.h: Likewise.
698 * config/m68k/tower-as.h: Likewise.
699 * config/m68k/vxm68k.h: Likewise.
700 * config/m88k/aout-dbx.h: Likewise.
701 * config/m88k/m88k-aout.h: Likewise.
702 * config/mcore/mcore-elf.h: Likewise.
703 * config/mcore/mcore-pe.h: Likewise.
704 * config/mips/elf.h: Likewise.
705 * config/mips/elf64.h: Likewise.
706 * config/mips/iris5gas.h: Likewise.
707 * config/mips/iris6.h: Likewise.
708 * config/mips/mips.h: Likewise.
709 * config/mips/sni-gas.h: Likewise.
710 * config/mmix/mmix.h: Likewise.
711 * config/ns32k/netbsd.h: Likewise.
712 * config/pa/pa64-hpux.h: Likewise.
713 * config/romp/romp.h: Likewise.
714 * config/rs6000/sysv4.h: Likewise.
715 * config/rs6000/xcoff.h: Likewise.
716 * config/sh/coff.h: Likewise.
717 * config/sh/elf.h: Likewise.
718 * config/sparc/linux64.h: Likewise.
719 * config/sparc/liteelf.h: Likewise.
720 * config/sparc/netbsd.h: Likewise.
721 * config/sparc/openbsd.h: Likewise.
722 * config/sparc/pbd.h: Likewise.
723 * config/sparc/sp64-elf.h: Likewise.
724 * config/sparc/sp86x-elf.h: Likewise.
725 * config/sparc/sparc.h: Likewise.
726 * config/vax/vax.h: Likewise.
727 * config/vax/vaxv.h: Likewise.
728
5e98fba2
DD
7292002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
730
731 * h8300.c (shift_alg_hi): Various tweaks to improve performance
732 of HImode shifts.
733 (get_shift_alg): Corresponding changes.
734
43852342
JDA
7352002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
736
737 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
738
44bb111a
RH
7392002-08-29 Richard Henderson <rth@redhat.com>
740
741 * expr.h (enum block_op_methods): New.
742 (emit_block_move): Update prototype.
743 * expr.c (block_move_libcall_safe_for_call_parm): New.
744 (emit_block_move_via_loop): New.
745 (emit_block_move): Use them. New argument METHOD.
746 (emit_push_insn): Always respect the given alignment.
747 (expand_assignment): Update call to emit_block_move.
748 (store_expr, store_field, expand_expr): Likewise.
749 * builtins.c (expand_builtin_apply): Likewise.
750 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
751 * function.c (expand_function_end): Likewise.
752 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
753 * config/sparc/sparc.c (sparc_va_arg): Likewise.
754 * calls.c (expand_call, emit_library_call_value_1): Likewise.
755 (save_fixed_argument_area): Use emit_block_move with
756 BLOCK_OP_CALL_PARM instead of move_by_pieces.
757 (restore_fixed_argument_area): Likewise.
758 (store_one_arg): Fix alignment parameter to emit_push_insn.
759
08b3d104
JDA
7602002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
761
762 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
763
ce4e9970 7642002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
765
766 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
767 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
768 (PREDICATE_CODES): Include new predicates.
769 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
770 (TARGET_SWITCHES): Add strict-align.
771 (TARGET_STRICT_ALIGN): New.
772 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
773 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
774 Define.
775 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
776 v850_muldi3.
777 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
778 L_callt_save_r2_r31, L_return_r2_r31,
779 L_save_all_interrupt): Change addi to add.
780 (L_save_interrupt, L_return_interrupt): Rework.
781 (__return_r31): Correct .size directive.
782 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
783 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
784 New routines.
785 * config/v850/v850.c (expand_prologue): Call
786 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
787 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
788 (reg_or_int9_operand): New predicate.
789 (reg_or_const_operand): New routine.
790 * config/v850/v850.md (return_interrupt): Changed from
791 restore_interrupt.
792 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
793 (callt_save_interrupt): Change save sequence.
794 (callt_return_interrupt): New.
795 (save_interrupt): Don't use runtime function for LONG_CALLS
796 and TARGET_PROLOG_FUNCTION.
797 (save_all_interrupt): Likewise.
798 (mulsi3): Use new predicate.
799 (moviscc): Disallow some combination of constants.
800 Fix define_split for sasf insns, so that it will not generate bad
801 code if operand0 and operand5 are the same.
802 * config/v850/v850-protos.h: Prototype new predicates.
803
585e661a
GDR
8042002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
805
806 * c-common.c (builtin_define_type_precision): New function.
807 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
808 wchar_t is unsigned in C++.
809 * doc/cpp.texi (Common Predefined Macros): Document
810 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
811 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
812 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
813
bd8f9aec
SP
8142002-08-28 Sylvain Pion <pion@cs.nyu.edu>
815
816 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
817 section. Mention that it is enabled by -Wall.
818 (-Wall): Mention that there can be language-specific warnings as well.
819 (-Wctor-dtor-privacy): Mention that it is enabled by default.
820 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
821
58ab7171
R
822Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
823
824 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
825 if it is ever live.
826
827 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
828 attribute for SHCOMPACT.
829
830 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
831 appropriately.
832 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
833 by the ABI.
834
835 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
836
27f4b67e
JT
8372002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
838
839 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
840 "MASK_GAS|MASK_ABICALLS".
841 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
842 (TARGET_DEFAULT): Remove.
843 (MACHINE_TYPE): Undefine before defining.
844 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
845
eca7f13c
MM
8462002-08-27 Mark Mitchell <mark@codesourcery.com>
847
848 * c-common.c (warn_abi): New variable.
849 * c-common.h (warn_abi): Likewise.
850 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
851 (c_common_decode_option): Handle it.
7ee425e4 852 * doc/invoke.texi: Document -Wabi.
eca7f13c 853
ece4ce85
NP
854Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
855
856 * c-common.c (warn_undeclared_selector): New variable.
857 * c-common.h (warn_undeclared_selector): Idem.
858 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
859 to on when -Wundeclared-selector is found.
860 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
861 * objc/objc-act.c (build_selector_expr): If
862 warn_undeclared_selector is set, check that the selector has
863 already been defined, and emit a warning if not.
864
b4378319 8652002-08-27 Nick Clifton <nickc@redhat.com>
54c93c30
AE
866 Catherine Moore <clm@redhat.com>
867 Jim Wilson <wilson@cygnus.com>
868
869 * config.gcc: Add v850e-*-* target.
870 Add --with-cpu= support for v850.
871 * config/v850/lib1funcs.asm: Add v850e callt functions.
872 * config/v850/v850.h: Add support for v850e target.
873 * config/v850/v850.c: Add functions to support v850e target.
874 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
875 * config/v850/v850.md: Add patterns for v850e instructions.
876 * doc/invoke.texi: Document new v850e command line switches.
b4378319 877
ef261fee
R
878Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
879 Aldy Hernandez <aldyh at redhat dot com>
880
881 * doc/tm.texi: Applied numerous fixes to the automaton based
882 scheduler descrition.
883
c60ee6f5
JH
884Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
885
886 * i386.c (classify_argument): Handle variable sized objects.
887
1985ef90
JH
888Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
889
890 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
891
7acc97e0
JH
892Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
893
894 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
895
23327dae
JH
896Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
897
898 * i386.c (classify_argument): Properly compute word size of the analyzed object.
899
c49439f1
R
900Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
901
902 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
903 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
904 accordingly.
905 (attribute insn_class): Provide default definitions based on type.
906 Remove all insn-specific settings.
907 (various function units): Remove old SH4 scheduling.
908 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
909 New attributes. Set them where appropriate.
910 (cpu unit FS): Don't define / use.
911 (F3, load_store): New cpu units.
912 (F01): New reservation.
913 (all insn_reservations): Make dependent on sh4 pipeline model.
914 Fix latencies.
915 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
916 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
917 (mt insn_reservation): Use type mt_group.
918 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
919 sh4_fload and sh4_store.
920 (insn_reservation branch_zero and branch): Replace with sh4_branch.
921 (insn_reservation branch_far): Replace with sh4_return.
922 (insn_reservation return_from_exp): Rename to:
923 (sh4_return_from_exp). Change to be just d_lock*5.
924 (insn_reservation lds_to_pr): Rename to:
925 (sh4_lds_to_pr). Change to be just d_lock*2.
926 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
927 d_lock*2.
928 (insn_reservation prload_mem): Rename to:
929 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
930 (insn_reservation fpscr_store): Rename to:
931 (fpscr_load). Change to d_lock,nothing,F1*3.
932 (insn_reservation fpscr_store_mem): Rename to:
933 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
934 (insn_reservation multi): Change to
935 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
936 (insn_reservation fp_arith): Change to issue,F01,F2.
937 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
938 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
939 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
940 (insn_reservation fp_double_cmp): Change to
941 d_lock,(d_lock+F01),F1+F2,F2.
942 (insn_reservation dp_div): Change to
943 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
944 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
945 (sh_adjust_cost, SHcompact): Differentiate between different
946 kinds of dependencies. Drop factor of ten for superscalar.
947 Use new instruction types. Add new exception rules.
948
949 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
950
951 * sh.md (mperm_w): Add DONE.
952
f34fc46e
DE
9532002-08-27 David Edelsohn <edelsohn@gnu.org>
954
955 * longlong.h: Import current PowerPC defintion from GMP-4.1.
956
957 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
958
959 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
960
dcb44500
R
961Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
962
963 * sh.h (MAX_FIXED_MODE_SIZE): Define.
964
3ec07554
GDR
9652002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
966
967 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
968 delimiter.
969
35885eab
GDR
9702002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
971
972 * c-common.c (cpp_define_data_format): New function.
973 (cb_register_builtins): Call it.
974
975 * doc/cpp.texi (Common Predefined Macros): Document
976 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
977 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
978 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
979 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
980 __TARGET_USES_VAX_H_FLOAT__.
981
d632dee9
ZL
9822002-08-26 Ziemowit Laski <zlaski@apple.com>
983
984 * objc/objc-act.c (get_super_receiver): If inside a class method
985 of a category, cast the receiver to 'id' before accessing the 'isa'
986 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
987
c3cc6b78
UW
9882002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
989
990 * config/s390/s390-protos.h (s390_function_prologue,
991 s390_function_epilogue): Remove.
992 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
993 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
994
995 config/s390/s390.c (s390_machine_dependent_recorg): New function.
996 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
997 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
998 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
999 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
1000
1001 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
1002 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
1003 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
1004 function is not a leaf function. Use save_gprs and restore_gprs.
1005 (s390_emit_epilogue): Likewise.
1006 (save_gprs, restore_gprs): New functions.
1007 (struct s390_frame): Remove return_reg_saved_p member.
1008 (save_fprs_p): Remove.
1009 (s390_optimize_prolog): New function.
1010 (s390_legitimate_reload_constant): Remove now unnecessary check.
1011
1012 (s390_function_count): Remove.
1013 (s390_output_symbolic_const): Replace s390_function_count by
1014 current_function_funcdef_no.
1015 (s390_output_constant_pool): Likewise.
1016
1017 (legitimize_pic_address): Use regs_ever_live to track PIC register
1018 instead of current_function_uses_pic_offset_table.
1019 (s390_emit_prologue): Likewise.
1020 config/s390/s390.md ("call", "call_value"): Likewise.
1021
3f662186
NB
10222002-08-26 Neil Booth <neil@daikokuya.co.uk>
1023
1024 * c-opts.c (find_opt): Don't complain about wrong languages
1025 here. Return exact matches even for wrong language.
1026 (c_common_decode_option): Complain about wrong languages
1027 here.
1028
b6128b8c
SH
10292002-08-24 Stuart Hastings <stuart@apple.com>
1030
1031 * function.h (struct function): Add flag
1032 all_throwers_are_sibcalls.
1033 * except.c (set_nothrow_function_flags): Replaces
1034 nothrow_function_p. Set new flag.
1035 * except.h (set_nothrow_function_flags): Replaces
1036 nothrow_function_p.
1037 * dwarf2out.c (struct dw_fde_struct): Add flag
1038 all_throwers_are_sibcalls.
1039 (output_call_frame_info): Test it.
1040 (dwarf2out_begin_prologue) Propagate it from cfun to
1041 dw_fde_struct.
1042 * toplev.c (rest_of_compilation): Update calls to
1043 nothrow_function_p.
1044
280cf02a
ZW
10452002-08-23 Zack Weinberg <zack@codesourcery.com>
1046
1047 * ggc-page.c (compute_inverse): Short circuit calculation for
1048 object sizes larger than half a page.
1049
c6664446
DE
10502002-08-23 David Edelsohn <edelsohn@gnu.org>
1051
1052 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
1053 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
1054 default.
1055 (rs6000_elf_unique_section): Likewise.
1056
da57d233
KG
10572002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1058
1059 * ns32k.c (ns32k_globalize_label): Delete.
1060 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
1061
56a7189a
AM
10622002-08-23 Alan Modra <amodra@bigpond.net.au>
1063
1064 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
1065 for loading delta with num_insns_constant_wide. Calculate
1066 delta_low, delta_high without using a conditional.
1067
d65b1d77
JM
10682002-08-22 Jason Merrill <jason@redhat.com>
1069
1070 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
1071 * c-common.def: Adjust.
1072 * c-dump.c (c_dump_tree): Adjust.
1073 * c-semantics.c (genrtl_return_stmt): Adjust.
1074 * c-pretty-print.c (pp_c_statement): Adjust.
1075 * tree-inline.c (copy_body_r): Adjust.
1076
8537ed68
ZW
10772002-08-22 Zack Weinberg <zack@codesourcery.com>
1078
1079 * ggc-page.c: Avoid division in ggc_set_mark.
1080 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
1081 compute_inverse): New.
1082 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
1083 (init_ggc): Initialize inverse_table.
1084
8567c70f
TT
10852002-08-22 Tom Tromey <tromey@redhat.com>
1086
1087 * doc/install.texi (Configuration): Document --datadir.
1088
fde59d4b
AO
10892002-08-22 Alexandre Oliva <aoliva@redhat.com>
1090
1091 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
1092
44ddc79a
HPN
10932002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
1094
1095 * gengtype-lex.l (ID): Allow underscore as first character.
1096
b275d088
DE
10972002-08-21 David Edelsohn <edelsohn@gnu.org>
1098
1099 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
1100 function.
1101 (rs6000_xcoff_asm_named_section): Rename.
1102 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
1103
57ce46bb
TT
11042002-08-21 Tom Tromey <tromey@redhat.com>
1105
1106 For PR java/6005 and PR java/7611:
1107 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
1108 (fold): Likewise.
1109 * langhooks.c (lhd_can_use_bit_fields_p): New function.
1110 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
1111 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
1112 (LANG_HOOKS_INITIALIZER): Use it.
1113 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
1114 field.
1115
27d30956
SS
11162002-08-21 Stan Shebs <shebs@apple.com>
1117
1118 * tree.c (finish_vector_type): Fix a typo in a comment.
1119 * Makefile.in: Fix "the the" stutters in comments.
1120 * genautomata.c: Ditto.
1121 * ifcvt.c: Ditto.
1122 * regrename.c: Ditto.
1123 * config/alpha/alpha.c: Ditto.
1124 * config/alpha/vms-crt0-64.c: Ditto.
1125 * config/alpha/vms-crt0.c: Ditto.
1126 * config/alpha/vms-psxcrt0-64.c: Ditto.
1127 * config/alpha/vms-psxcrt0.c: Ditto.
1128 * config/d30v/d30v.h: Ditto.
1129 * config/fr30/fr30.h: Ditto.
1130 * config/rs6000/rs6000.c: Ditto.
1131 * config/stormy16/stormy16.h: Ditto.
1132 * doc/md.texi: Ditto.
8537ed68 1133
d873d827
JDA
11342002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
1135
1136 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
1137
b462d4ab
JM
11382002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
1139
1140 * c-decl.c (grokdeclarator): Make invalid combinations with long,
1141 short, signed or unsigned into hard errors. Fixes PR c/4319.
1142 Also make duplicate modifiers such as "short short" into hard
1143 errors.
1144
b65d23aa 11452002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 1146 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
1147
1148 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
1149 to the actual end. Add '@end table' and '@table @code'.
8537ed68 1150
3823f0b2
GK
11512002-08-20 Geoffrey Keating <geoffk@redhat.com>
1152
8d25d915
GK
1153 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
1154
3823f0b2
GK
1155 * unroll.c (biv_total_increment): Don't try to compute the total
1156 increment for FP BIVs.
1157
5eb99654
KG
11582002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1159
1160 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
1161 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
1162 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1163 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
1164 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
1165 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
1166 (GLOBAL_ASM_OP): Define.
1167 * arm.c (aof_globalize_label): New function.
1168 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
1169 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1170 * c4x.c (c4x_globalize_label): New function.
1171 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
1172 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
1173 (GLOBAL_ASM_OP): Define.
1174 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
1175 * darwin-protos.h (darwin_globalize_label): Declare.
1176 * darwin.c (darwin_globalize_label): New function.
1177 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
1178 (ASM_GLOBALIZE_LABEL): Delete.
1179 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
1180 * dsp16xx.c (asm_output_common): Use target hook.
1181 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
1182 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
1183 (GLOBAL_ASM_OP): Define.
1184 * i370.c (i370_globalize_label): New function.
1185 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
1186 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
1187 * i386.c (ix86_asm_file_end): Use target hook.
1188 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
1189 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
1190 * ia64.c (ia64_asm_output_external): Likewise.
1191 * ia64/sysv4.h: Update comment.
1192 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1193 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1194 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
1195 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1196 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
1197 * mmix-protos.h (mmix_asm_globalize_label): Delete.
1198 * mmix.c (mmix_asm_globalize_label): Likewise.
1199 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
1200 (GLOBAL_ASM_OP): Define.
1201 * ns32k.c (ns32k_globalize_label): New function.
1202 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
1203 (ASM_GLOBALIZE_LABEL): Delete.
1204 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
1205 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
1206 * pa.c (pa_globalize_label): New function.
1207 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
1208 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
1209 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
1210 (GLOBAL_ASM_OP): Define.
1211 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
1212 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1213 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
1214 (GLOBAL_ASM_OP): Define.
1215 * v850.c (v850_output_aligned_bss): Use target hook.
1216 * vax.c (vms_globalize_label): New function.
1217 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
1218 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
1219 (GLOBAL_ASM_OP): Define.
1220 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
1221 * doc/tm.texi: Update docs.
1222 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
1223 target hook.
1224 * final.c (output_alternate_entry_point): Likewise.
1225 * hooks.c (hook_FILEptr_constcharptr_void): New function.
1226 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
1227 * output.h (assemble_global): Delete.
1228 (default_globalize_label): Declare.
1229 * system.h (ASM_GLOBALIZE_LABEL): Poison.
1230 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
1231 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
1232 * target.h (gcc_target): Add globalize_label member.
1233 * varasm.c (asm_output_bss, asm_output_aligned_bss,
1234 globalize_decl): Use target hook.
1235 (assemble_global): Delete.
1236 (default_globalize_label): New function.
1237
f8f28a75
KG
12382002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1239
1240 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
1241
92b5aacd
DP
12422002-08-20 Devang Patel <dpatel@apple.com>
1243 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 1244
761c70aa
KG
12452002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1246
1247 * arc.c (output_shift): Use stdio instead of asm_fprintf.
1248 * arm.c (thumb_output_function_prologue): Likewise.
1249 * avr.c (print_operand): Likewise.
1250 * c4x.c (c4x_print_operand): Likewise.
1251 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
1252 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
1253 * cris.c (cris_target_asm_function_prologue,
1254 cris_asm_output_mi_thunk): Likewise.
1255 * h8300.c (print_operand): Likewise.
1256 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1257 * ip2k.c (print_operand): Likewise. Fix format specifier.
1258 * m68hc11.c (asm_print_register, print_operand,
1259 print_operand_address): Use stdio instead of asm_fprintf.
1260 (print_operand_address): Fix format specifier.
1261 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
1262 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
1263 asm_fprintf.
1264 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1265 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1266 * m68k.c (m68k_output_function_prologue,
1267 m68k_output_function_epilogue, print_operand): Likewise.
1268 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
1269 Likewise. Fix format specifier.
1270 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1271 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1272 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1273
5ce6f47b
EC
12742002-08-15 Eric Christopher <echristo@redhat.com>
1275 Jeff Knaggs <jknaggs@redhat.com>
1276
1277 * config.gcc (mipsisa64sr71k-elf): New target.
1278 * config/mips/sr71k.md: New file.
1279 * config/mips/mips.md: Use it.
1280 (rot*): Add sr71k specifics.
1281 * config/mips/t-sr71k: New file.
1282 * config/mips/mips.h (sr71k): New cpu.
1283 (TARGET_SR71K): Use it.
1284 (TUNE_SR71K): Ditto.
1285 (GENERATE_BRANCHLIKELY): Ditto.
1286 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
1287 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
1288 * config/mips/mips.c (sr71k): New cpu.
1289 (mips_use_dfa_pipeline_interface): Use.
1290
12912002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 1292 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
1293 Aldy Hernandez <aldyh@redhat.com>
1294 Graham Stott <grahams@redhat.com>
1295 Michael Meissner <meissner@redhat.com>
1296 Gavin Romig-Koch <gavin@redhat.com>
1297 Ken Raeburn <raeburn@cygnus.com>
1298 Alexandre Oliva <aoliva@redhat.com>
1299
1300 * config.gcc (mips64vr-elf): New target.
1301 * config/mips/5400.md: New file.
1302 * config/mips/5500.md: Ditto.
1303 * config/mips/mips.md: Use them.
1304 (frsqrt): New.
1305 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
1306 cpus.
1307 (mips_issue_rate): Use them.
1308 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
1309 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
1310 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
1311 cpus.
1312 (TARGET_MIPSx): Use them.
1313 (TUNE_MIPSx): Ditto.
1314 (GETNATE_MULT3_SI): Ditto.
1315 (ISA_HAS_BRANCHLIKELY): Ditto.
1316 (ISA_HAS_CONDMOVE): Ditto.
1317 (ISA_HAS_NMADD_NMSUB): Ditto.
1318 (ISA_HAS_MULHI): New. Ditto.
1319 (ISA_HAS_MULS): Ditto.
1320 (ISA_HAS_MSAC): Ditto.
1321 (ISA_HAS_MACC): Ditto.
1322 (ISA_HAS_ROTR_SI): Ditto.
1323 (ISA_HAS_ROTR_DI): Ditto.
1324 (RTX_COSTS): Use.
1325
48209ce5
JDA
13262002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
1327
1328 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
1329 at head.
1330 (remove_dup_nonsys_dirs): New function.
1331 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
1332 (merge_include_chains): Remove non-system include directories from
1333 quote and bracket include chains when they duplicate equivalent system
1334 directories.
1335 * doc/cpp.texi (-I): Update.
8537ed68
ZW
1336 * doc/cppopts.texi (-I): Update.
1337 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
1338 this option.
1339 * doc/invoke.texi (-I): Update.
1340
4ca79136
RH
13412002-08-20 Richard Henderson <rth@redhat.com>
1342
1343 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
1344 (emit_block_move): Split out subroutines.
1345 (emit_block_move_via_movstr): New.
1346 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
1347 (emit_block_move_libcall_fn): New. Construct function prototype for
1348 bcopy as well.
1349 (clear_storage): Split out subroutines.
1350 (clear_storage_via_clrstr): New.
1351 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
1352 (clear_storage_libcall_fn): New. Construct function prototype for
1353 bzero as well.
1354 (emit_push_insn): Use emit_block_move.
1355 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
1356 (store_constructor): Likewise.
1357
9f05cef3
ZL
13582002-08-19 Ziemowit Laski <zlaski@apple.com>
1359
1360 * objc/objc-act.c (building_objc_message_expr): Rename to
1361 current_objc_message_selector.
1362
1bd5981b
ZL
13632002-08-19 Ziemowit Laski <zlaski@apple.com>
1364
1365 * objc/objc-act.c (build_ivar_chain): Remove.
1366 (objc_copy_list): Likewise.
1367 (get_class_ivars): Inline call to removed build_ivar_chain
1368 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
1369 slot; use that slot (rather than CLASS_IVARS) when accessing
1370 ivars for base classes. Call copy_list and chainon instead of
1371 objc_copy_list.
1372 (build_private_template): Call get_class_ivars instead of
1373 build_ivar_chain.
1374 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
5ce6f47b 1375 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
1376 build_ivar_chain.
1377 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
1378 of DECL_BIT_FIELD (which may have been cleared).
1379 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
1380
2bf087c0
KG
13812002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1382
1383 * genautomata.c (output_translate_vect, output_state_ainsn_table,
1384 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
1385 in output file.
1386 (output_internal_min_issue_delay_func): Initialize variable in
1387 output file.
1388
3fcd079e
AO
13892002-08-19 Alexandre Oliva <aoliva@redhat.com>
1390
1391 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
1392 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
1393
71012d97
GK
13942002-08-19 Geoffrey Keating <geoffk@redhat.com>
1395 Steve Ellcey <sje@cup.hp.com>
1396
1397 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
1398 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
1399 * explow.c (trunc_int_for_mode): Abort when the mode is not
1400 a scaler integer mode.
1401 * combine.c (expand_compound_operation): Don't expand Vector
1402 or Complex modes into shifts.
1403 (expand_field_assignment): Don't do bitwise arithmatic and
1404 shifts on Vector or Complex modes.
1405 (simplify_comparison): Don't call trunc_int_for_mode
1406 for VOIDmode.
1407 * recog.c (general_operand): Likewise.
1408 (immediate_operand): Likewise.
1409 (nonmemory_operand): Likewise.
1410
af8cb5c5
DE
14112002-08-19 David Edelsohn <edelsohn@gnu.org>
1412
1413 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
1414 multi-instruction SImode constant. Add REG_EQUAL note.
1415 * config/rs6000/rs6000.md (movsi splitter): Use
5ce6f47b 1416 rs6000_emit_set_const.
af8cb5c5 1417
9bc146b3
KG
14182002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1419
1420 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
1421 the macro test controlling its use.
1422
66df2ac2
L
14232002-08-18 H.J. Lu (hjl@gnu.org)
1424
1425 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
1426 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
1427 gnu_ld=yes.
1428 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
1429 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
1430 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
1431 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
1432 here.
1433 (cris-*-linux*): Remove setting thread_file here.
1434
463f1b2b
NB
14352002-08-18 Neil Booth <neil@daikokuya.co.uk>
1436
1437 PR preprocessor/7602
1438 * cppinit.c (path_include): Treat the system environment
1439 variables as being cxx_aware.
1440
2984fe64
JM
14412002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
1442
1443 * c-decl.c (flexible_array_type_p): New function.
1444 (grokdeclarator, finish_struct): Use it.
1445 * doc/extend.texi: Document constraints on use of structures with
1446 flexible array members.
1447
fded6d78
RS
14482002-08-17 Richard Sandiford <rsandifo@redhat.com>
1449
1450 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
1451 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
1452 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
1453
8aa5074e
SS
14542002-08-16 Stan Shebs <shebs@apple.com>
1455
1456 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
1457 for ObjC with -fnext-runtime.
1458 * doc/cpp.texi: Document it.
1459
f97a5bda
JJ
14602002-08-16 Janis Johnson <janis187@us.ibm.com>
1461
1462 * doc/install.texi (Final installation): Replace links to individual
1463 build status pages with a link to a common page that lists them all.
1464
d3075b6c
SP
14652002-08-16 Sylvain Pion <pion@cs.nyu.edu>
1466
1467 * doc/invoke.texi: Fix typo.
1468
fdf68669
DE
14692002-08-16 David Edelsohn <edelsohn@gnu.org>
1470
1471 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
1472
14732002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
1474
1475 * tree-inline.c: Add includes for Java inliner.
1476 (remap_decl): Don't handle anonymous types for Java.
1477 (remap_block): Add handling for Java trees.
1478 (copy_scope_stmt): Conditionalize for non-Java use only.
1479 (copy_body_r): Handle Java trees. Add handling for
1480 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
1481 (initialize_inlined_parameters): Handle Java trees.
1482 (declare_return_variable): Likewise.
1483 (expand_call_inline): Handle Java trees.
1484 (walk_tree): Likewise.
1485 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
1486 (add_stmt_to_compound): New function.
1487
204250d2
RH
14882002-08-15 Richard Henderson <rth@redhat.com>
1489
1490 * Makefile.in (LOOSE_WARN): Remove -fno-common.
1491 (NOCOMMON_FLAG): New substitution point.
1492 (GCC_WARN_CFLAGS): Include it.
1493 * configure.in (ac_checking): Set nocommon_flag.
1494 (nocommon_flag): New substitution point.
1495
25587e40
AO
14962002-08-15 Alexandre Oliva <aoliva@redhat.com>
1497
1498 * c-tree.h (skip_evaluation): Move declaration...
1499 * c-common.h: ... here.
1500 * c-typeck.c (build_external_ref): Don't assemble_external nor
1501 mark a tree as used if skip_evaluation is set.
1502 * c-parse.in (typeof): New non-terminal to set skip_evaluation
1503 around TYPEOF.
1504 (typespec_nonreserved_nonattr): Use it.
1505
702ada3d
DR
15062002-08-15 Douglas B Rupp <rupp@gnat.com>
1507
1508 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
1509 (xcoff_debug_hooks): Update end_prologue.
1510 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
1511 * debug.h (end_prologue): Add file arg.
1512 (end_epilogue): Add line and file args.
1513 (dwarf2out_end_epilogue): Add line and file args.
1514 (vmsdbgout_after_prologue): Remove.
1515 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
1516 (dwarf2_debug_hooks): Update end_prologue.
1517 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
1518 (dwarfout_end_prologue): Add file arg.
1519 * final.c (vmsdbgout_after_prologue): Remove
1520 (final_end_function): Update end_epilogue call.
1521 (final_scan_insn): Update end_prologue call.
1522 * sdbout.c (sdbout_end_epilogue): Add line and file args.
1523 (sdbout_end_prologue): Add file arg.
1524 (sdb_debug_hooks): Update end_prologue.
1525 (sdb_begin_prologue): Update sdbout_end_prologue call.
1526 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
1527 vmsdbgout_end_function.
1528 (vmsdbgout_end_prologue): New function renamed from
1529 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
1530 (vmsdbgout_end_function): New function.
1531 (vmsdbgout_end_epilogue): Add line and file args. Call
1532 vmsdbgout_source_line.
1533 (write_pclines): Write only valid line numbers.
1534 (write_srccorr): Don't write source correlation records if 0 lines.
1535 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
1536
9ef30f83
SE
15372002-08-15 Steve Ellcey <sje@cup.hp.com>
1538
1539 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
1540 (_Unwind_Internal_Ptr): 32 bit version for use in
1541 read_encoded_value_with_base.
1542 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
1543 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
1544 right size.
1545
f7043461
KG
15462002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1547
1548 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
1549 signed/unsigned warnings.
1550
1551 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
1552 record_reg_classes): Likewise.
1553
1554 * reload.c (reload_inner_reg_of_subreg, push_reload,
1555 find_reloads_address_1): Likewise.
1556
b4d330e1
DE
15572002-08-15 David Edelsohn <edelsohn@gnu.org>
1558
1559 * rs6000.c (output_mi_thunk): Return to function section on
1560 TARGET_ELF.
1561
1562 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
1563
61f02ff5
UW
15642002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
1565
1566 * config/s390/s390.c (legitimize_address): Optimize loading
1567 of large displacements.
1568
1330f7d5
DR
15692002-08-14 Douglas B Rupp <rupp@gnat.com>
1570
1571 * config/alpha/alpha-protos.h: Update.
1572
1573 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
1574 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
1575 (alpha_linkage_symbol_p): New static function.
1576 (print_operand_address): Print linkage operand.
1577
1578 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
1579 variables.
1580 (reloc_kind): New enum.
1581 (struct alpha_funcs): New struct.
1582 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
1583
1584 (alpha_need_linkage): Rewrite.
1585 (alpha_use_linkage): New global function.
1586 (alpha_write_linkage): Rewrite and make static.
1587 (alpha_write_one_linkage): Rewrite
1588
1589 (alpha_start_function): Remove procedure descriptor output.
1590 (alpha_end_function): Write linkages at end of each function.
1591
1592 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
1593 (call_vms_1, call_value_vms_1): Rewrite.
1594
1595 * config/alpha/vms.h (ASM_FILE_END): Remove.
1596
d1f1cc6a
RH
15972002-08-14 Richard Henderson <rth@redhat.com>
1598
1599 * ggc-page.c (RTL_SIZE): New.
1600 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
1601 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
1602
23626154
RH
16032002-08-14 Richard Henderson <rth@redhat.com>
1604
1605 * calls.c: Include target.h.
1606 * Makefile.in (calls.o): Update.
1607
1608 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
1609 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
1610
fd350d24
RH
16112002-08-14 Richard Henderson <rth@redhat.com>
1612
1613 * Makefile.in (LOOSE_WARN): Add -fno-common.
1614 * c-common.h (constant_string_class_name): Add missing extern.
1615
182d89a3
NB
16162002-08-15 Neil Booth <neil@daikokuya.co.uk>
1617
1618 PR preprocessor/7358
1619 * c-opts.c (check_deps_environment_vars): Ignore main file
1620 for SUNPRO_DEPENDENCIES.
1621 * cppfiles.c (stack_include_file): Ignore main file if
1622 appropriate.
1623 * cpplib.h (struct cpp_options): New member in deps.
1624 * doc/cppenv.texi: Update.
1625
8bfb1467
NB
16262002-08-14 Neil Booth <neil@daikokuya.co.uk>
1627
1628 PR preprocessor/7526
1629 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
1630
41685063
NS
16312002-08-14 Nathan Sidwell <nathan@codesourcery.com>
1632
1633 * doc/invoke.texi (-a): Remove documentation.
1634 (-fprofile-arcs): Remove reference to -a, -ax options.
1635 * doc/gcov.texi (Gcov Data Files): Data might be merged.
1636
77893a23
GDR
16372002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1638
1639 Fix PR/7566
1640 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 1641 warning_with_decl.
77893a23 1642
260f91c2
DJ
16432002-08-14 Dale Johannesen <dalej@apple.com>
1644
8537ed68 1645 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
1646 preceding the stack pop, to prevent the scheduler from
1647 moving refs to variable arrays below this pop.
1648 * reload1.c (reload): Preserve these clobbers for sched2.
1649 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
1650
cd79e210
NB
16512002-08-14 Neil Booth <neil@daikokuya.co.uk>
1652
1653 * c-opts.c (c_common_post_options): Correct test.
1654
3eb75a73
KG
16552002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1656
1657 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
1658 order in call to fprintf.
1659
be3a0ce2
RO
16602002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1661
1662 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
1663
ccfc6cc8
UW
16642002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
1665
5ce6f47b 1666 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
1667 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
1668 (alternative_allows_memconst): Likewise.
1669 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 1670 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
1671 constrain_operands): Likewise.
1672 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1673 * local-alloc.c (block_alloc, requires_inout): Likewise.
1674 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1675
1676 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
1677 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1678 * doc/tm.texi: Document these two new target macros.
1679
1680 * config/s390/s390.c (s390_expand_plus_operand): Accept already
1681 valid operands.
1682 (q_constraint): New function.
1683 config/s390/s390-protos.h (q_constraint): Declare it.
1684 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
1685 (EXTRA_MEMORY_CONSTRAINT): New macro.
1686
1687 * config/s390/s390.md: Throughout the machine description,
1688 replace all instances of the constraint combinations 'Qo'
1689 or 'oQ' with simply 'Q'.
1690
d6ee9f6f
SC
16912002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1692
1693 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
1694 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
1695 (LIBGCC2_CFLAGS): Compile with -mrelax.
1696
8a0b86f5
SC
16972002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1698
1699 * doc/invoke.texi: Document -minmax for 68HC12.
1700
1701 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
1702 ("uminqi3"): Likewise.
1703 ("uminhi3", "umaxhi3"): Likewise.
1704
1705 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
1706 (TARGET_MIN_MAX): Define.
1707 (TARGET_SWITCHES): New option -minmax/-mnominmax.
1708
d6381f4e
SC
17092002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1710
1711 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
1712 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
1713
1714 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
1715 (ret, declare, farsym): New gas macros.
1716 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
1717 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
1718 and declare the symbol far when compiled with -mlong-calls.
5ce6f47b 1719 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
1720 far handler using jsr/bsr.
1721
1722 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
1723 (jsr): New macro to transform a 'jsr' into a 'call'.
1724
058edcdb
SC
17252002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1726
1727 * doc/invoke.texi: Document -mlong-calls for 68HC12.
1728
1729 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
1730 -mlong-calls is specified.
5ce6f47b 1731 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
1732 assembler directives.
1733 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
1734 (TARGET_SWITCHES): Add -mlong-calls options.
1735 (current_function_far): Declare.
1736
1737 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
1738 into account the page register saved on the stack.
1739 (m68hc11_override_options): Take into account -mlong-calls option.
1740 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
1741
1742 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
1743 if the function is going to be in 68HC12 banked memory (-mlong-calls).
1744 ("*return_16bit"): Likewise.
1745 ("*return_void"): Likewise.
1746 ("call", "call_value"): Use call for a far function call.
1747
c79043f3
NB
17482002-08-14 Neil Booth <neil@daikokuya.co.uk>
1749
1750 * toplev.c (parse_options_and_default_flags): Don't call
1751 post_options here.
1752 (general_init): Initialize GC, pools and tree hash here,
1753 instead of lang_independent_init.
1754 (lang_independent_init): Rename backend_init.
1755 (do_compile): Call post_options hook; exit early if there
1756 have been errors after switch processing.
1757 (toplev_main): Update.
1758
6bf346d4
GDR
17592002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1760
1761 * c-pretty-print.h: Guard against multiple inclusion.
1762 Robustify macros.
1763 (pp_c_attributes): Declare.
1764 * c-pretty-print.c (pp_c_attributes): New function.
1765
cbf2f479
KG
17662002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1767
1768 * m68k.c (m68k_output_function_prologue,
1769 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
1770 and NEWS/MOTOROLA.
1771 * genattrtab.c: Remove dpx2 comment.
1772 * libgcc2.c (__enable_execute_stack): Delete versions for
1773 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
1774 sony_news/SYSTYPE_BSD.
1775 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
1776 __gmicro__, __i860__, __NeXT__ and __pyr__.
1777 * rtl.h: Remove convex comment.
1778 * varasm.c: Likewise.
1779
d3969c34
KG
17802002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1781
1782 * c-opts.c (lang_flags): Const-ify.
1783 * ra-build.c (undef_table): Likewise.
1784 * ra.c (eliminables): Likewise.
1785
df89f8e7
GDR
17862002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1787
1788 * tree.h: Guard against multiple inclusion.
1789
cf87d551
HPN
17902002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
1791
1792 * reload1.c (reload_cse_simplify): Before checking
1793 REG_FUNCTION_VALUE_P, check REG_P.
1794
a43c8986
GK
17952002-08-13 Geoffrey Keating <geoffk@redhat.com>
1796
1797 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
1798
29337351
NB
17992002-08-13 Neil Booth <neil@daikokuya.co.uk>
1800
1801 * c-opts.c (c_common_init_options): Extra braces needed.
1802
8202c8c4
R
1803Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
1804
1805 * sh.c (sh_init_builtins): Add PARAMS to declaration.
1806 (sh_media_init_builtins, sh_expand_builtin): Likewise.
1807 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
1808 (sh_expand_binop_v2sf): Likewise.
1809 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
1810 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
1811 (sh_initialize_trampoline): Likewise.
1812
07893d4f
UW
18132002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
1814
1815 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
1816 new condition code modes.
1817 s390.c (s390_match_ccmode_set): Handle those new CC modes.
1818 (s390_select_ccmode): Likewise.
1819 (s390_branch_condition_mask): Likewise.
1820
1821 * s390-protos.h (s390_tm_ccmode): Declare.
1822 s390.c (s390_tm_ccmode): New function.
1823 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
1824
1825 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
1826 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
1827 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
1828
1829 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
1830 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
1831 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
1832 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
1833 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
1834
1835 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
5ce6f47b 1836 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
1837 "*cmpqi_ccs_0"): Remove, replace by ...
1838 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 1839 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
1840 "*tstqi", "*tstqi_cconly"): ... these new patterns.
1841
1842 ("*cmpsidi_ccs"): Remove, replace by ...
1843 ("*cmpsi_ccs_sign"): ... this new pattern.
1844 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
1845
1846 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
1847 ("*cli"): ... this new pattern.
1848
1849 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
1850 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
1851 New patterns.
1852 ("adddi3_64"): Rename to "*adddi3_64".
1853 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
1854 ("adddi3"): Adapt expander.
1855
1856 ("*addsi3_cc"): Allow "general_operand" for operand 2.
5ce6f47b 1857 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
1858 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
1859
1860 ("addhi3", "addqi3"): Remove, replace by ...
1861 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
1862
1863 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
1864 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
1865 ("subdi3"): Replace by insn and splitter "*subdi3_31".
1866 ("subdi3"): New expander.
1867
1868 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
1869
1870 ("subhi3", "subqi3"): Remove, replace by ...
1871 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
1872
1873 ("*muldi3_sign"): New pattern.
1874 ("muldi3"): Do not clobber CC.
1875 ("mulsi3"): Likewise.
1876 ("mulsi_6432"): Likewise.
1877
db62867b
DC
18782002-08-13 Denis Chertykov <denisc@overta.ru>
1879
1880 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 1881 which can change CC0.
db62867b 1882
8ba46434
R
1883Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
1884
1885 * gcse.c (adjust_libcall_notes): New function.
1886 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
1887
8733892f
NS
18882002-08-13 Nathan Sidwell <nathan@codesourcery.com>
1889
1890 * libgcc2.c (L_bb): Remove unneeded #includes.
1891 (__global_counters, __gthreads_active): Remove unused globals.
1892 (__bb_exit_func): Merge counts into files rather than appending.
1893 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
1894 (ALL_CFLAGS): ... to here.
1895
f4769721
DC
18962002-08-13 Denis Chertykov <denisc@overta.ru>
1897
1898 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
1899 (function_epilogue): Don't calculate function size.
1900 (ip2k_set_compare): Don't use lookup_const_double.
1901 (asm_file_start): Initialization of commands_in_file removed.
1902 (asm_file_end): Output of commands_in_file removed.
5ce6f47b 1903
f4769721
DC
1904 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
1905 __INT_MAX__.
1906
c31cddfd
NB
19072002-08-13 Neil Booth <neil@daikokuya.co.uk>
1908
1909 * c-opts.c (c_common_init_options): Check option array is
1910 sorted if checking enabled.
1911
f076f0ce
GDR
19122002-08-13 Gabriel Dos Reis <gdr@nerim.net>
1913
1914 * c-pretty-print.c: #include "c-tree.h".
1915 (pp_c_simple_type_specifier): Tweak.
1916 (pp_c_storage_class_specifier): New.
1917 (pp_c_function_specifier): Likewise.
1918 (pp_c_declaration_specifiers): Likewise.
1919 (pp_c_init_declarator): Likewise.
1920 (pp_c_declaration): Likewise.
1921 (pp_c_direct_declarator): Stub.
1922 (pp_c_declarator): Likewise.
1923 (pp_c_parameter_declaration): Likewise.
1924
f4ff5a69
NB
19252002-08-13 Neil Booth <neil@daikokuya.co.uk>
1926
1927 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
1928 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
1929 struct deferred_opt): New.
1930 (COMMAND_LINE_OPTIONS): Add -M*.
1931 (missing_arg): Update.
1932 (c_common_decode_option): Handle -M*.
1933 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
1934 don't call cpp_post_options.
1935 (c_common_finish, check_deps_environment_vars): Update.
1936 * cppfiles.c (stack_include_file, handle_missing_header): Update.
1937 * cpphash.h (CPP_PRINT_DEPS): Remove.
1938 * cppinit.c: Don't include version.h.
1939 (cpp_create_reader): Don't call deps_init. Initialize
1940 warn_long_long.
1941 (cpp_read_main_file): Init deps if necessary.
1942 (cpp_destroy): Conditionally free deps.
1943 (cpp_finish): Update.
1944 (no_tgt): Remove.
1945 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
1946 (cpp_post_options): Rename post_options.
1947 * cpplib.h (struct cpp_options): Remove some dependency options;
1948 move others to a new structure.
1949 (cpp_post_options): Remove.
1950 (cpp_finish): Comment.
1951 * fix-header.c (read_scan_file): Don't call cpp_post_options.
1952
34116c2a
HPN
19532002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
1954
1955 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
1956 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
1957 MMIX_rR_REGNUM as clobbered.
1958 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
1959
9b32718c
GDR
19602002-08-12 Gabriel Dos Reis <gdr@nerim.net>
1961
1962 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 1963 output_formatted_integer.
9b32718c
GDR
1964 * diagnostic.def: Add DK_DEBUG.
1965 * diagnostic.c (output_decimal): Adjust.
1966 (output_long_decimal): Likewise.
1967 (output_unsigned_decimal): Likewise.
1968 (output_octal): Likewise.
1969 (output_long_octal): Likewise.
1970 (output_hexadecimal): Likewise.
1971 (output_long_hexadecimal): Likewise.
1972 * c-pretty-print.c (pp_c_type_specifier): New function.
1973 (pp_c_specifier_qualifier_list): Likewise.
1974 (pp_c_abstract_declarator): Likewise.
1975 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
1976
032613df
DE
19772002-08-12 David Edelsohn <edelsohn@gnu.org>
1978
1979 * doc/trouble.texi (Disappointments): Add static constructor and
1980 destructor dependency information for AIX.
1981
a3737481
NB
19822002-08-12 Neil Booth <neil@daikokuya.co.uk>
1983
1984 * cpphash.h (struct printer): New from cppmain.c.
1985 (cpp_reader): New member.
1986 * cppmain.c (struct printer): Move to cpphash.h.
1987 (options, print): Remove.
1988 (account_for_newlines, print_line, maybe_print_line,
1989 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
1990 scan_translation_unit_trad, cb_line_change, cb_ident,
1991 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
1992 cb_def_pragma): Make reentrant.
1993
d71f7700
KG
19942002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1995
1996 * real.c (ieee_64): Always define.
1997 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
1998 (dec_h): Not used yet, hide it.
1999 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
2000 macro controlling use.
2001 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
2002
c16576e6
JH
2003Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
2004
2005 * i386.md (tablejump): Sign extend the operand.
2006 * i386.c (classify_argument): Fix missed case from previous patch.
2007
460bd0e3
NB
20082002-08-12 Neil Booth <neil@daikokuya.co.uk>
2009
2010 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
2011 to c-copts.c.
2012 (warn_multichar): Die.
2013 (cb_register_builtins): Export.
2014 * c-common.h (warn_multichar, preprocess_file): Remove.
2015 (cb_register_builtins): New.
2016 * c-lang.c (c_init): Remove.
2017 (LANG_HOOKS_INIT): Use c_objc_common_init.
2018 * c-lex.c (init_c_lex): Don't canonicalize filename.
2019 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
2020 (preprocess_file): Make static. Update for cpplib.
2021 (c_common_decode_option): Remove warn_multichar. Use in_fname.
2022 (c_common_post_options): Set some cpp options here.
2023 (c_common_init): Move from c-common.c.
2024 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
2025 * cpplib.h (struct cpp_options): Remove in_fname.
2026 (cpp_preprocess_file): Update.
2027 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
2028
f3f268dd
KG
20292002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2030
2031 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
2032
f0201fba
KG
20332002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2034
2035 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
2036 backslash in comment preceeding macro definition.
2037 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
2038 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
2039 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
2040
e56fc090
HPN
20412002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
2042
2043 * expr.c (store_expr): In condition for checking if value is
2044 generated in TARGET, move call to expr_size last.
2045
76c3e73e
NB
20462002-08-11 Neil Booth <neil@daikokuya.co.uk>
2047
2048 * c-common.c (c_common_init): Call preprocess_file instead.
2049 (c_common_finish): Move to c-opts.c.
2050 * c-common.h (preprocess_file): new.
2051 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
2052 check_deps_environment_vars, c_common_finish): New.
2053 (c_common_decode_option): Update for out_fname and dependencies.
2054 * cppinit.c (init_dependency_output, output_deps): Remove.
2055 (cpp_destroy): Update prototype.
2056 (cpp_add_dependency_target): New.
2057 (cpp_read_main_file): Don't overlay a buffer.
2058 (cpp_finish): Take a deps output stream and write deps to it.
2059 Return the error count.
2060 (cpp_post_options): Don't canonicalize out_fname, or do anything
2061 with dependencies.
2062 * cpplib.h (struct cpp_options): Remove out_fname and
2063 preprocess_only.
2064 (cpp_add_dependency_target): New.
2065 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
2066 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
2067 set preprocess_only. Don't handle the output stream directly.
2068
e0c32c62
KG
20692002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2070
2071 * dsp16xx.c (print_operand): Fix format specifier.
2072 * dsp16xx.md: Avoid automatic aggregate initialization.
2073 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
2074 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
2075 integer constant modifier.
2076 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
2077 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
2078 guards.
2079 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
2080 * v850.c (v850_select_section): Mark parameter with
2081 ATTRIBUTE_UNUSED.
2082 * global.c (global_alloc): Const-ify.
2083 * ra-colorize.c (hardregset_to_string): Fix format specifier.
2084
7ae8cf75
KG
20852002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2086
2087 * darwin-c.c (darwin_pragma_options): Const-ify.
2088 * darwin.c (machopic_non_lazy_ptr_name,
2089 machopic_validate_stub_or_non_lazy_ptr): Likewise.
2090 (machopic_indirect_data_reference): Wrap variables in macros
2091 controlling their use.
2092 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
2093 (machopic_select_section): Use parentheses around && within ||.
2094 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
2095
8819cab5
KG
20962002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2097
2098 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
2099 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
2100 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
2101 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
2102 mdr_try_remove_redundant_insns, track_w_reload,
2103 mdr_try_wreg_elim): Make function static to match prototype.
2104 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
2105 parameter with ATTRIBUTE_UNUSED.
2106
ab2877a3
KG
21072002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2108
2109 * arc.c (arc_init): Don't use ISO C style function definitions.
2110 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
2111 arm_get_strip_length, arm_strip_name_encoding): Likewise.
2112 * avr.h (progmem_section): Likewise.
2113 * h8300.c h8300_asm_insn_count): Likewise.
2114 * m32r.c (init_idents): Likewise.
2115 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
2116 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
2117 * xtensa.c (xtensa_build_va_list): Likewise.
2118
08767a6f
NB
21192002-08-11 Neil Booth <neil@daikokuya.co.uk>
2120
2121 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
2122 * c-opts.c (parse_option): Rename find_opt.
2123 (set_std_c99): New function.
2124 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
2125 (missing_arg): Remove OPT_std_bad. Handle -o.
2126 (c_common_decode_option): Handle input and output file names,
2127 -o and -remap. Clean up -std= handling.
2128 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
2129 (cpp_handle_option): Similarly. Don't handle filenames.
2130
db01f480
JH
2131Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
2132
2133 * i386.c (classify_argument): Fix computing of field's offsets.
2134
a7701995
AJ
21352002-08-11 Andreas Jaeger <aj@suse.de>
2136
2137 PR target/7531:
2138 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
2139
2516f236
ZL
21402002-08-10 Ziemowit Laski <zlaski@apple.com>
2141
2142 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
2143 reference to clk_objective_c with flag_objc.
2144 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
2145 Likewise.
2146 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
2147
f749a36b
NB
21482002-08-10 Neil Booth <neil@daikokuya.co.uk>
2149
2150 * c-opts.c (set_std_cxx98, set_std_c89): New.
2151 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
2152 (c_common_decode_option): Handle new switches from cppinit.c.
2153 Add -std=gnu++98.
2154 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
2155 (no_arg, no_num): Remove.
2156 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
2157 switches apart from -lang-objc and lang-asm.
2158 (cpp_handle_option): Similarly.
2159 * cpplib.h (cpp_set_lang): New.
2160 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
2161 -std=gnu++98.
2162 * objc/lang-specs.h: Remove -ansi.
2163
77abb5d8
JH
2164Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
2165 Graham Stott
2166
2167 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
2168 errors.
2169
fac37dc4
KG
21702002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2171
d950dee3
KG
2172 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
2173 emit_jump_insn): Fix uninitialized variable.
2174 * gcov.c (init_line_info): Likewise.
2175 * genautomata.c (transform_3): Add braces around ambiguous
2176 else.
2177 * ifcvt.c (cond_exec_process_insns): Mark parameter with
2178 ATTRIBUTE_UNUSED.
2179 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
2180 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
2181 variable.
2182
fac37dc4
KG
2183 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
2184 warnings in output files.
2185
0f7866e7
ZL
21862002-08-09 Ziemowit Laski <zlaski@apple.com>
2187
2188 * c-common.c (flag_objc): New.
2189 * c-common.h (c_language_kind): Get rid of clk_objective_c
2190 enum value.
2191 (flag_objc): New extern declaration.
2192 * c-decl.c (implicitly_declare): Call objc_check_decl
2193 instead of maybe_objc_check_decl.
2194 (finish_decl): Likewise.
2195 (grokfield): Likewise.
2196 (finish_struct): Likewise.
2197 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
2198 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 2199 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
2200 objc_message_selector.
2201 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
2202 replace with flag_objc as needed.
2203 * c-opts.c (c_common_init_options): Likewise.
2204 (c_common_decode_option): Likewise.
2205 * c-parse.in (init_reswords): Likewise.
2206 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
2207 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 2208 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
2209 objc_message_selector.
2210 * c-typeck.c (comptypes): Call objc_comptypes instead of
2211 maybe_objc_comptypes, and/or objc_message_selector instead of
2212 maybe_building_objc_message_expr.
2213 (comp_target_types): Likewise.
2214 (convert_for_assignment): Likewise.
2215 (warn_for_assignment): Likewise.
2216 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
2217 independently of those for other languages.
2218 * objc/objc-act.c (maybe_objc_comptypes): Delete.
2219 (maybe_objc_check_decl): Delete.
a7701995 2220 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
2221 objc_message_selector.
2222 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
2223 clk_objective_c; set flag_objc flag.
2224
c512fd7b
TM
22252002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2226
2227 * ifcvt.c (find_if_case_2): Test correct basic block for size.
2228
5e1bf043 22292002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 2230
5e1bf043
DJ
2231 * config/rs6000/rs6000.md: Add sibcall patterns.
2232 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
2233 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
2234 Rewritten to handle sibcalls.
2235 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
2236 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
2237
2043c38e
NS
22382002-08-08 Nathan Sidwell <nathan@codesourcery.com>
2239
2240 * profile.c (da_file_name): New static var.
2241 (init_branch_prob): Initialize it.
2242 (end_branch_prob): Remove da file.
2243
2244 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
41685063 2245 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
2246 * configure: Rebuilt.
2247
4b7091eb
NB
22482002-08-09 Neil Booth <neil@daikokuya.co.uk>
2249
2250 * Makefile.in (c-opts.o): Update
2251 * c-opts.c: Include intl.h.
2252 (print_help): Move from cppinit.c. Remove unused options.
2253 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
2254 (missing_arg): Complain for switches without an argument.
2255 (c_common_decode_option): Reject missing joined arguments.
2256 Handle new switches from cppinit.c.
2257 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
2258 (cpp_handle_option): Similarly.
2259 (print_help): Moved to c-opts.c.
2260 * cpplib.h (struct cpp_options): Remove help_only.
2261 * gcc.c (cpp_unique_options): Remove -$.
2262 * doc/cppopts.texi: Undocument -h.
2263
9e20be0c
JJ
22642002-08-08 Jakub Jelinek <jakub@redhat.com>
2265
2266 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
2267 legitimate constant.
2268 (legitimate_pic_operand_p): Neither pic operand.
2269 (legitimate_address_p): But legitimate address.
2270 (get_thread_pointer): Generate MEM/u instead of CONST around
2271 UNSPEC_TP.
2272 (print_operand): Remove printing of UNSPEC_TP.
2273 (print_operand_address): And print it here.
2274
7b9be5c7 22752002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 2276
a7701995
AJ
2277 * objc/objc-act.c (build_selector_translation_table): Issue warning,
2278 when -Wselector is used,if method for which selector is being
7b9be5c7 2279 created does not exist.
a7701995 2280
5615d8fd
SC
22812002-08-08 Stephen Clarke <stephen.clarke@superh.com>
2282
2283 * config/sh/sh.c (prepare_move_operands): Only call
2284 target_reg_operand if TARGET_SHMEDIA.
a7701995 2285
3b85fe5f
JJ
22862002-08-08 Jakub Jelinek <jakub@redhat.com>
2287
2288 * config/rs6000/rs6000.h, config/rs6000/aix.h,
2289 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
2290 two patches.
2291 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
2292
e10c79fe
LB
22932002-08-08 Lars Brinkhoff <lars@nocrew.org>
2294 Richard Henderson <rth@redhat.com>
2295
2296 * emit-rtl.c (gen_rtx_REG): After reload, only return
2297 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
2298
aa2a83dc
JJ
22992002-08-08 Jakub Jelinek <jakub@redhat.com>
2300
2301 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
2302 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
2303 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
2304 macro.
2305
aeaf4d25
AN
23062002-08-08 Adam Nemet <anemet@lnxw.com>
2307
2308 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
2309 register.
2310 (thumb_expand_prologue): Likewise.
2311 (thumb_output_function_prologue): Likewise.
2312 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
2313 the additional push of the PIC register.
2314
22aa533e
NS
23152002-08-08 Nathan Sidwell <nathan@codesourcery.com>
2316
2317 * configure.in (enable_coverage): New enable switch.
2318 * configure: Rebuilt.
2319 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
2320 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
2321 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
2322 (mostlyclean): Remove coverage files.
2323 * doc/install.texi: Document enable_coverage.
2324
2325 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
2326 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
2327 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
2328 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
2329 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
2330 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
2331 files.
a7701995 2332
18bdccaa
NB
23332002-08-08 Neil Booth <neil@daikokuya.co.uk>
2334
2335 * c-opts.c (cpp_opts): New.
2336 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
2337 (c_common_decode_options): Handle cpplib switches.
2338 (c_common_init_options): Set cpp_opts.
2339 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
2340 (cpp_handle_option): Similarly.
2341
774b5662
DE
23422002-08-08 David Edelsohn <edelsohn@gnu.org>
2343
2344 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
2345 (TARGET_ALTIVEC_ABI): Same.
2346 (TARGET_ALTIVEC_VRSAVE): Same.
2347
2348 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
2349 icode not CODE_FOR_nothing. Change switch to if.
2350
957e9e48
AM
23512002-08-08 Alan Modra <amodra@bigpond.net.au>
2352
2353 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
2354
daf06049
JJ
23552002-08-08 Jakub Jelinek <jakub@redhat.com>
2356
2357 * stor-layout.c (place_union_field): For bitfields if
2358 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
2359 TYPE_USER_ALIGN.
2360
043d39a6
JDA
23612002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
2362
2363 * pa.c (struct deferred_plabel): Constify name field.
2364
34bb92e3
NB
23652002-08-07 Neil Booth <neil@daikokuya.co.uk>
2366
2367 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
2368
3ec5d64d
JDA
23692002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
2370
2371 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
2372 local_prefix are the same.
2373 * configure: Rebuilt.
2374
ad9335eb
JJ
23752002-08-07 Jakub Jelinek <jakub@redhat.com>
2376 Richard Henderson <rth@redhat.com>
2377
2378 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2379 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
2380 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
2381 (place_field): Likewise.
2382 * config/i386/i386.c (x86_field_alignment): Don't check
2383 DECL_USER_ALIGN here.
2384 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
2385 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
2386 prototype.
2387 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
2388 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
2389 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
2390 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
2391 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
2392 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
2393
0b6f2917
NB
23942002-08-07 Neil Booth <neil@daikokuya.co.uk>
2395
2396 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
2397 * c-common.c: Don't include tree-inline.h.
2398 (c_common_init_options, c_common_post_options): Move to c-opts.c.
2399 * c-common.h (c_common_decode_option): New.
2400 * c-decl.c (c_decode_option): Remove.
2401 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
2402 * c-opts.c: New file.
2403 * c-tree.h (c_decode_option): Remove.
2404 * doc/passes.texi: Update.
2405 * objc/objc-act.c (objc_decode_option): Remove.
2406 * objc/objc-act.h (objc_decode_option): Remove.
2407 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
2408 c_common_decode_option.
2409
e49ec17d
CD
24102002-08-07 Chris Demetriou <cgd@broadcom.com>
2411
2412 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
2413 dependency on TARGET_DOUBLE_FLOAT.
2414
ac1ca451
SC
24152002-08-07 Stephen Clarke <stephen.clarke@superh.com>
2416
2417 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
2418 overwrite callee-save registers. Fix comment.
2419
af34e51e
CD
24202002-08-06 Chris Demetriou <cgd@broadcom.com>
2421
2422 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
2423 in target_flags based on ISA, if it was not set on the command
2424 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
2425 support Branch Likely instructions.
2426 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
2427 (TARGET_BRANCHLIKELY): Likewise.
2428 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
2429 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
2430 ISA_HAS_BRANCHLIKELY.
2431 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
2432 * doc/invoke.texi: Document new MIPS -mbranch-likely and
2433 -mno-branch-likely options.
2434
2631af95
KG
24352002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2436
f538618e
KG
2437 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
2438
2631af95
KG
2439 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
2440 $(GCONFIG_H).
2441
1ae0ccb6
AH
24422002-08-06 Aldy Hernandez <aldyh@redhat.com>
2443
8537ed68
ZW
2444 * c-decl.c (duplicate_decls): Error out for incompatible TLS
2445 declarations.
1ae0ccb6 2446
8537ed68 2447 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 2448
f1a044c7
JM
24492002-08-06 Jason Merrill <jason@redhat.com>
2450
2451 * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
2452 a VAR_DECL with RTL that matches the target, just return that RTL.
2453
8d3e27d1
DJ
24542002-08-06 Dale Johannesen <dalej@apple.com>
2455 * c-common.c (fname_decl): Use line number 0 for
8537ed68 2456 __func__, to avoid confusing debuggers.
8d3e27d1 2457
8b219a76
NS
24582002-08-06 Nathan Sidwell <nathan@codesourcery.com>
2459
2460 * gcov.c: Tidy.
2461 (struct line_info, struct coverage): New structures.
2462 (gcov_file_name, gcov_file): Remove globals.
2463 (output_data): Take source file parameter. Fix memory leak. Break
2464 up into ...
2465 (init_line_info, output_line_info, make_gcov_file_name,
2466 accumulate_branch_counts): ... here.
2467 (calculate_branch_probs, function_summary): Adjust.
2468 (main): Adjust.
2469 (function_*): Remove global variables.
2470
317e98c0
NB
24712002-08-06 Neil Booth <neil@daikokuya.co.uk>
2472
2473 * dwarf2out.c: Remove unused macros.
2474
81d41e74
NB
24752002-08-06 Neil Booth <neil@daikokuya.co.uk>
2476
2477 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
2478
58551c23
NB
24792002-08-06 Neil Booth <neil@daikokuya.co.uk>
2480
2481 * cppinit.c (struct lang_flags): Rename trigraphs std.
2482 (set_lang): Update.
2483 * cpplib.h (struct cpp_options): New member std.
2484 * cppmacro.c (_cpp_builtin_macro_text): Use std.
2485 (collect_args): Flag whether to swallow a possible future
2486 comma pasted with varargs.
2487 (replace_args): Use this flag.
2488 * doc/cpp.texi: Update varargs extension documentation.
2489
daeabcd0
JJ
24902002-08-06 Jakub Jelinek <jakub@redhat.com>
2491
2492 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
2493
39e3a681
JJ
24942002-08-06 Jakub Jelinek <jakub@redhat.com>
2495
9812691e
JJ
2496 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
2497 and MODE_CLASS_INT modes.
39e3a681 2498
609a87f3
JJ
24992002-08-06 Jakub Jelinek <jakub@redhat.com>
2500
2501 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
2502 --{enable,disable}-threads is given to configure.
2503 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
2504 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
2505 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
2506 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
2507 Remove thread_file setting here.
2508
ff4c5e7b
DE
25092002-08-06 David Edelsohn <edelsohn@gnu.org>
2510
2511 * doc/install.texi (Binaries): Update Bull Freeware URL.
2512
54f3aa9e
GP
25132002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2514
2515 * doc/gcc.texi (Top): Rename Index to Keyword Index.
2516
d19202ba
NS
25172002-08-05 Nathan Sidwell <nathan@codesourcery.com>
2518
2519 * gcov.c (output_data): Round to % to nearest, tweak formatting.
2520
1bed5ee3
JJ
25212002-08-05 Jakub Jelinek <jakub@redhat.com>
2522
2523 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
2524 of the operands into MINUS_EXPR if code is PLUS_EXPR.
2525
84512347
DR
25262002-08-05 Douglas B Rupp <rupp@gnat.com>
2527
2528 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
2529 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
2530 drectve_section): Define.
2531 * config/i386/t-interix: Replace interix.o rule with winnt.o.
2532 * config/i386/interix.c: Remove.
2533
b835f6f1
GK
25342002-08-05 Geoffrey Keating <geoffk@redhat.com>
2535
2536 * attribs.c: Don't include obstack.h.
2537 * builtins.c: Likewise.
2538 * cfganal.c: Likewise.
2539 * cfgbuild.c: Likewise.
2540 * cfgcleanup.c: Likewise.
2541 * emit-rtl.c: Likewise.
2542 * loop.c: Likewise.
2543 * stmt.c: Likewise.
2544
2545 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
2546
fd291392
GDR
25472002-08-05 Gabriel Dos Reis <gdr@nerim.net>
2548
2549 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
2550
054b7507
CD
25512002-08-04 Chris Demetriou <cgd@broadcom.com>
2552
2553 * doc/invoke.texi: Remove duplicated paragraph describing
2554 TARGET_SWITCHES.
2555
6d9f628e
GK
25562002-08-04 Geoffrey Keating <geoffk@redhat.com>
2557
2558 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
2559 * collect2.h (permanent_obstack): Delete declaration.
2560 * collect2.c (permanent_obstack): Delete definition.
2561 (main): Don't initialise permanent_obstack. Use xstrdup instead.
2562 * expr.c: Don't include obstack.h.
2563 (permanent_obstack): Delete declaration.
2564 * function.c: Don't include obstack.h.
2565 (permanent_obstack): Delete declaration.
2566 * integrate.c: Don't include obstack.h.
2567 (function_maybepermanent_obstack): Delete declaration.
2568 * print-tree.c (debug_tree): Use x*alloc not permalloc.
2569 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
2570 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
2571 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
2572 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
2573 of permalloc, expralloc, perm_calloc.
2574 * tree.c (permanent_obstack): Delete definition.
2575 (init_ttree): Rename from init_obstacks.
2576 (permalloc): Delete.
2577 (perm_calloc): Delete.
2578 (dump_tree_statistics): Don't print information about
2579 permanent_obstack.
2580 * varasm.c (assemble_start_function): Use xstrdup instead of
2581 permalloc/strcpy.
2582 (assemble_variable): Likewise.
2583 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
2584 permalloc.
2585 (unicosmk_add_extern): Likewise.
2586 * config/c4x/c4x.c (c4x_external_ref): Likewise.
2587 (c4x_global_label): Likewise.
2588 * config/frv/frv.c (frv_encode_section_info): Likewise.
2589 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
2590 (i386_pe_record_exported_symbol): Likewise.
2591 * config/mips/mips.c (mips_output_external): Likewise.
2592 (mips_output_external_libcall): Likewise.
2593 * config/pa/pa.c: (permanent_obstack): Delete declaration.
2594 (output_call): Use ggc_strdup instead of allocating on
2595 permanent_obstack.
2596 * config/romp/romp.c: Include ggc.h.
2597 (get_symref): Don't declare permanent_obstack, use ggc_strdup
2598 intead of permanent_obstack.
2599 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
2600 instead of permalloc.
2601 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
2602 instead of permalloc
2603 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
2604 instead of permalloc.
2605 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
2606 permalloc.
2607
36a05131
BS
26082002-08-04 Bernd Schmidt <bernds@redhat.com>
2609
2610 Contribute a port developed primarily by Michael Meissner,
2611 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
2612 * config.gcc: Add frv-elf target.
2613 * config/frv/cmovd.c: New file.
2614 * config/frv/cmovh.c: New file.
2615 * config/frv/cmovw.c: New file.
2616 * config/frv/frv-abi.h: New file.
2617 * config/frv/frv-asm.h: New file.
2618 * config/frv/frv-modes.def: New file.
2619 * config/frv/frv-protos.h: New file.
2620 * config/frv/frv.c: New file.
2621 * config/frv/frv.h: New file.
2622 * config/frv/frv.md: New file.
2623 * config/frv/frvbegin.c: New file.
2624 * config/frv/frvend.c: New file.
2625 * config/frv/lib1funcs.asm: New file.
2626 * config/frv/media.h: New file.
2627 * config/frv/modi.c: New file.
2628 * config/frv/t-frv: New file.
2629 * config/frv/uitod.c: New file.
2630 * config/frv/uitof.c: New file.
2631 * config/frv/ulltod.c: New file.
2632 * config/frv/ulltof.c: New file.
2633 * config/frv/umodi.c: New file.
2634 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
2635
2636 * config/frv/media.h: Removed again.
2637
37b8715b
NS
26382002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2639
2640 * gcov.c (bb_file_time): New static variable.
2641 (object_directory): May also be object file.
2642 (preserve_paths): New static variable.
2643 (print_usage): Adjust.
2644 (options): Adjust.
2645 (process_args): Adjust.
2646 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
2647 file. Find modification date on bb file.
2648 (read_profile): Don't rewind a NULL file.
2649 (format_hwint): New static function.
2650 (function_summary): Use format_hwint.
2651 (output_data): SOURCE_FILE_NAME is never relative to
2652 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
2653 mangling. Adjust output format to make it more machine readable.
2654 * doc/gcov.texi: Document & clarify semantics.
a7701995 2655
d500c5d7
JM
26562002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
2657
2658 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
2659
ea67fe71
NS
26602002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2661
2662 * gcc.c (cc1_options): Pass output file as auxbase when
2663 appropriate.
2664 * profile.c (init_branch_prob): FILENAME has already had ending
2665 stripped.
2666 * final.c (end_final): Likewise.
2667 * toplev.c (aux_base_name): New global.
2668 (compile_file): Pass aux_base_name to init init_branch_prob and
2669 end_final.
2670 (independent_decode_option, case 'a'): New auxinfo options.
2671 (case 'd'): Protect against mising basename.
2672 (do_compile): Initialize aux_base_name.
2673 * toplev.h (aux_base_name): New global.
2674 * doc/invoke.texi: Adjust documentation.
2675
b23c054d
NS
26762002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2677
2678 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
2679 of TARGET_ALIGN_DOUBLE.
2680
04c1334c 26812002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 2682
04c1334c
GDR
2683 * diagnostic.c (inform): New function.
2684 * diagnostic.h (inform): Declare.
a7701995 2685
e34eaae5
DE
26862002-08-03 David Edelsohn <edelsohn@gnu.org>
2687
2688 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
2689 (movhi_internal): Same.
2690 (movqi_internal): Same.
2691 (movdi_internal64): Same.
2692
2693 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
2694
2695 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
2696 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
2697 (COMMON_ASM_OP): Define.
2698 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
2699 Use ALIGN parameter.
2700 (LOCAL_COMMON_ASM_OP): Define.
2701 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
2702
e7b489c8
RS
27032002-08-03 Roger Sayle <roger@eyesopen.com>
2704
2705 * builtins.def: Define new builtin functions exp, expf, expl,
2706 log, logf and logl (and their __builtin_* variants).
2707 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
2708 Define exp_optab and log_optab.
2709 * optabs.c (init_optans): Initialize exp_optab and log_optab.
2710 * genopinit.c (optabs): Implement exp_optab and log_optab
2711 using exp?f2 and log?f2 patterns.
2712 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
2713 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
2714 (expand_builtin): Ignore the new builtins (and all cos and
2715 sin variants) when not optimizing. Expand new builtins via
2716 expand_builtin_mathfn when flag_unsafe_math_optimizations.
2717
2718 * doc/extend.texi: Document new exp and log builtins.
2719 * doc/md.texi: Document new exp?f2 and log?f2 patterns
2720 (and previously undocumented cos?f2 and sin?f2 patterns).
2721
de8920be
JM
27222002-08-03 Jason Merrill <jason@redhat.com>
2723
2724 * explow.c (int_expr_size): New fn.
2725 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
2726 * expr.h: Declare it.
2727
ba462c8e
KW
27282002-08-02 Krister Walfridsson <cato@df.lth.se>
2729
2730 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
2731 gengtype-* dependencies.
2732
2017ed61
EC
27332002-08-02 Eric Christopher <echristo@redhat.com>
2734
2735 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
2736 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
2737 #ifndef to #undef.
2738 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
2739
055dd007
DE
27402002-08-02 David Edelsohn <edelsohn@gnu.org>
2741
2742 PR optimize/7067
2743 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
2744 small if optimizing for size.
2745
771a2a66
DJ
27462002-08-02 Daniel Jacobowitz <drow@mvista.com>
2747
2748 * configure.in (FORBUILD): Use $build_alias.
2749 * configure: Regenerated.
2750
ac8ab9fe
RS
27512002-08-02 Richard Sandiford <rsandifo@redhat.com>
2752
2753 * config.gcc: Don't include mips/abi64.h in $tm_file.
2754 * hard-reg-set.h (call_really_used_regs): Declare.
2755 * config/mips/abi64.h: Remove file.
2756 * config/mips/linux.h,
2757 * config/mips/iris6.h: Don't include it.
2758 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
2759 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
2760 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
2761 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
2762 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
2763 Bring across definitions from abi64.h.
2764 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
2765 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
2766 (struct mips_args): Use it.
2767 * config/mips/mips.c (mips_conditional_register_usage): Define.
2768
a77a9a18
JM
27692002-08-02 Jason Merrill <jason@redhat.com>
2770
2771 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
2772 * langhooks.c (lhd_expr_size): Define default.
2773 * langhooks.h (struct lang_hooks): Add expr_size.
2774 * explow.c (expr_size): Call it.
2775 * expr.c (store_expr): Don't copy an expression of size zero.
2776 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
2777 to store.
2778 * Makefile.in (builtins.o): Depend on langhooks.h.
2779
a6be5aee
KG
27802002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2781
2782 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
2783 * ra-debug.c: Include "tm_p.h".
2784 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
2785
e3e16ee3
TM
27862002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
2787
2788 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
2789 when not honoring signalling NaNs.
2790 (simplify_ternary_operation): a == b has a definite value
2791 when not honoring NaNs.
2792
b9d8832d
JM
27932002-08-02 Jason Merrill <jason@redhat.com>
2794
2795 * gdbinit.in (pct): New macro.
2796
825abef4
SS
27972002-08-01 Stan Shebs <shebs@apple.com>
2798 Andreas Tobler <toa@pop.agri.ch>
2799
2800 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
2801 plays nice with Darwin headers.
bf2e488f 2802 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 2803
56da7207
ZW
28042002-08-01 Zack Weinberg <zack@codesourcery.com>
2805
2806 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
2807 * cppinit.c (cpp_post_options): Likewise.
2808
2809 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
2810 warning about 'LL' suffix (but not 'ULL' etc) when
2811 -Wno-long-long is in effect.
2812
2813 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
2814 Check for failing time()/localtime(), issue a warning, and
2815 make __TIME__ and __DATE__ expand to fallback strings.
2816
2817 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
2818 and __TIME__ when the date and time cannot be determined.
2819
f4857b9b
AM
28202002-08-02 Alan Modra <amodra@bigpond.net.au>
2821
2822 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
2823
77ca7b2e
DJ
28242002-08-01 Daniel Jacobowitz <drow@mvista.com>
2825
2826 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
2827
5b552f76
CD
28282002-08-01 Chris Demetriou <cgd@broadcom.com>
2829
2830 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
2831 (mipsisa64sb1el-*-elf*): Likewise.
2832 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
2833 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
2834 (TARGET_SB1, TUNE_SB1): New macros.
2835 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
2836 -mtune flags.
2837
54fbf6a1
DE
28382002-08-01 David Edelsohn <edelsohn@gnu.org>
2839
2840 * varasm.c (asm_emit_uninitialized): Return false if global BSS
2841 and ASM_EMIT_BSS not supported by target.
2842 (assemble_variable): Do not duplicate uninitialized logic.
2843 Fall through if asm_emit_uninitialized failed.
2844
3d16b407
CD
28452002-08-01 Chris Demetriou <cgd@broadcom.com>
2846
2847 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
2848
fb52d8de
AM
28492002-08-02 Alan Modra <amodra@bigpond.net.au>
2850
80926cc1
AM
2851 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
2852 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
2853
fb52d8de
AM
2854 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
2855 HOST_BITS_PER_WIDE_INT == 64.
2856
a4b5414c
KG
28572002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2858
2859 * df.c (df_insn_table_realloc): Change parameter to unsigned.
2860 * optabs.c (expand_binop): Make variable unsigned.
2861 * simplify-rtx.c (simplify_subreg): Likewise.
2862 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
2863
a03e67c3
FS
28642002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2865
2866 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
2867
de273d3f
RH
28682002-08-01 Richard Henderson <rth@redhat.com>
2869
56da7207 2870 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
2871 flag_reorder_blocks for -Os.
2872
2873 * config/avr/avr.c (avr_optimization_options): Remove.
2874 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
2875 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
2876 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
2877
4e4d733e
L
28782002-08-01 H.J. Lu <hjl@gnu.org>
2879 Richard Henderson <rth@redhat.com>
2880
2881 * output.h (DECL_READONLY_SECTION): Remove.
2882 (decl_readonly_section): Declare.
2883 * varasm.c (decl_readonly_section): New.
2884 (default_section_type_flags, default_select_section): Use it.
2885 * config/arm/pe.c (arm_pe_unique_section): Likewise.
2886 * config/i386/interix.c (i386_pe_unique_section): Likewise.
2887 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
2888 * config/mcore/mcore.c (mcore_unique_section): Likewise.
2889 * config/mips/mips.c (mips_unique_section): Likewise.
2890
32e9b960
RH
28912002-08-01 Richard Henderson <rth@redhat.com>
2892
2893 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
2894 refers to a subroutine parameter.
2895
81e602b5
JJ
28962002-08-01 Jakub Jelinek <jakub@redhat.com>
2897
2898 * varasm.c (assemble_visibility): Strip name encoding.
2899
ac14c725
ID
29002002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2901
2902 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
2903 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
2904 when there is no frame pointer.
2905 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
2906 registers properly.
2907 * config/ns32k/__unorddf2.c: New file.
2908 * config/ns32k/__unordsf2.c: New file.
2909 * config/ns32k/t-ns32k: New file.
2910 * config.gcc (ns32k-*-netbsd*): Use it.
2911
17072732
AH
29122002-08-01 Aldy Hernandez <aldyh@redhat.com>
2913
2914 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
2915
c288218a
NB
29162002-08-01 Neil Booth <neil@daikokuya.co.uk>
2917
2918 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
2919
43bfc248
BK
29202002-08-01 Benjamin Kosnik <bkoz@redhat.com>
2921
2922 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
2923
479f2cea
RS
29242002-08-01 Richard Sandiford <rsandifo@redhat.com>
2925
2926 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
2927
02280659
ZD
29282002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2929
2930 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
2931 n_sets): Removed.
2932 (expr_hash_table, set_hash_table): Type changed to ...
2933 (struct hash_table): New type.
2934 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
2935 insert_expr_in_table, insert_set_in_table, compute_hash_table,
2936 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
2937 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
2938 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
2939 (alloc_hash_table): New.
2940 (free_set_hash_table, free_expr_hash_table): Merged to ...
2941 (free_hash_table): New.
2942 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
2943 (compute_hash_table_work): New.
2944 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
2945 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
2946 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
2947 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
2948 hoist_code, one_code_hoisting_pass,
2949 trim_ld_motion_mems): Altered due to changed type of hash tables.
2950
905173eb
ZW
29512002-08-01 Zack Weinberg <zack@codesourcery.com>
2952
2953 * final.c (output_alternate_entry_point):
2954 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
2955
83321d36
KG
29562002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2957
ad0f1765
KG
2958 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
2959 avoid ISO C style function definition.
2960
83321d36
KG
2961 * expr.c (expand_assignment): Delete unused variable.
2962
73e42cf3
TM
29632002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
2964
2965 * c-common.c (cb_register_builtins): Set
2966 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
2967 is given, and to 0 otherwise.
2968 * combine.c (simplify_if_then_else): HONOR_NANS
2969 implies FLOAT_MODE_P.
2970
78df51fe
NB
29712002-08-01 Neil Booth <neil@daikokuya.co.uk>
2972
2973 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
2974 (cpp_handle_option): Don't handle it.
2975 (print_help): Update.
2976 * doc/cppopts.texi: Update.
2977
abecfc8f
NB
29782002-08-01 Neil Booth <neil@daikokuya.co.uk>
2979
2980 * c-common.c (cb_register_builtins): If C++, define
2981 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
2982 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
2983cp:
2984 * lang-specs.h: Simplify in accordance with new code in
2985 c-common.c.
2986
4078b403
NB
29872002-08-01 Neil Booth <neil@daikokuya.co.uk>
2988
2989 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
2990 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
2991 * c-decl.c: Move all warning and flag variables to c-common.c.
2992 * c-format.c: Move all warning variables to c-common.c.
2993 * c-tree.h: Move all warning and flag declarations to c-common.h.
2994 * objc/objc-act.c: Move all warning variables to c-common.c.
2995 (flag_warn_protocol): Rename warn_protocol.
2996
692f5611
JDA
29972002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
2998
2999 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
3000
c7a009a2 30012002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 3002
905173eb 3003 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
3004 .section prefix.
3005
b069de3b
SS
30062002-07-31 Stan Shebs <shebs@apple.com>
3007
3008 * config.gcc (i[34567]86-*-darwin*): New configuration.
3009 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
3010 defining.
3011 (TARGET_ENCODE_SECTION_INFO): Ditto.
3012 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
3013 * config/darwin.c (machopic_indirect_data_reference): Remove
3014 setting of RTX_UNCHANGING_P.
3015 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
3016 not to be applied to sums.
3017 * config/i386/t-darwin: New file.
3018 * config/i386/darwin.h: New file.
3019 * config/i386/i386.h (TARGET_MACHO): Add default definition.
3020 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
3021 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
3022 label and not the GOT add.
3023 (constant_address_p): For Mach-O, seeing a CONST is enough.
3024 (legitimate_pic_address_disp_p): Add a Mach-O case.
3025 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
3026 (legitimize_pic_address): Use generic Mach-O code to legitimize.
3027 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
3028 if outputting a difference.
3029 (ix86_output_addr_diff_elt): Add Mach-O case.
3030 (ix86_expand_move): Similarly.
3031 (ix86_expand_call): Similarly.
3032 (current_machopic_label_num): New global.
3033 (machopic_output_stub): New function.
3034 (ix86_value_regno): New function.
3035 (ix86_function_value): Use it instead of VALUE_REGNO.
3036 (ix86_libcall_value): Ditto.
3037 * config/i386/unix.h (VALUE_REGNO): Remove.
3038
1de4ecb6
GS
30392002-07-31 Graham Stott <grahas@btinternet.com>
3040
3041 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 3042 hash for LABEL_REF's.
1de4ecb6 3043
23368455
GS
30442002-07-31 Graham Stott <grahams@btinternet.com>
3045
3046 * config/rs6000/rs6000.c (spe_init_builtins,
3047 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 3048 Replace ANSI with K&R function def.
23368455 3049
ad72b533
DE
30502002-07-31 David Edelsohn <edelsohn@gnu.org>
3051
3052 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
3053 for CCFPmode.
3054
302359da
RS
30552002-07-31 Richard Sandiford <rsandifo@redhat.com>
3056
3057 * config/mips/crtn.asm: Don't use __mips16 to determine the
3058 return-address offset. Define RA to a suitable temporary
3059 register for the return address.
3060
ead0c1d5
RS
30612002-07-31 Richard Sandiford <rsandifo@redhat.com>
3062
3063 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
3064 constraints to 'd'.
3065
3fb9d48a
CD
30662002-07-30 Chris Demetriou <cgd@broadcom.com>
3067
3068 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
3069 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
3070 patch on 2002-07-29.)
3071 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3072
072cdaed
KG
30732002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3074
506a61b1
KG
3075 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
3076 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
3077 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
3078 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
3079 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
3080 (ASM_GLOBALIZE_LABEL): Delete.
3081 (GLOBAL_ASM_OP): Define.
3082
072cdaed 3083 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 3084
072cdaed
KG
3085 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
3086 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
3087
6fd14075
GK
30882002-07-30 Geoffrey Keating <geoffk@redhat.com>
3089
3090 * doc/extend.texi (Hints implementation): Document that GCC
3091 mostly ignores `register'.
3092
2e8f2e8f
TM
30932002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
3094
3095 * flags.h: Declare flag_finite_math_only.
3096 Use it in definition of HONOR_NANS and
3097 HONOR_INFINITIES.
3098 * c-common.c (cb_register_builtins): Emit
3099 __FINITE_MATH_ONLY__ when flag_finite_math_only
3100 is set.
3101 * combine.c (simplify_if_then_else): If
3102 flag_finite_math_only is set, a == b has a
3103 definite value.
3104 * toplev.c: Initialize flag_finite_math_only.
3105 (set_flags_fast_math): Set it on -ffast-math.
3106 (flag_fast_math_set_p): Test it.
3107 * doc/invoke.texi: Document -ffinite-math-only.
3108
a538e580
RH
31092002-07-30 Richard Henderson <rth@redhat.com>
3110
3111 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
3112 (noce_process_if_block): Likewise.
3113
26e20555
BS
31142002-07-30 Bernd Schmidt <bernds@redhat.com>
3115
3116 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
3117 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
3118 * genemit.c (gen_expand): Recognize return insns even if the return
3119 appears in a parallel.
d8088c6f
BS
3120 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
3121 * config/fp-bit.c: Likewise.
3122 * doc/tm.texi: Document it.
905173eb 3123
0559cc77
DE
31242002-07-30 David Edelsohn <edelsohn@gnu.org>
3125 Zack Weinberg <zack@codesourcery.com>
3126
3127 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
3128 CODE_FOR_nothing. Change switch to if.
3129 (rs6000_expand_binop_builtin): Same.
3130 (rs6000_expand_builtin): Expand builtin if target support enabled.
3131 (rs6000_init_builtins): Init builtin if target support enabled.
3132 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
3133
60b8aa94
FS
31342002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3135
3136 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
3137
714fb710
RS
31382002-07-30 Richard Sandiford <rsandifo@redhat.com>
3139
3140 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
3141
c608a684
R
3142Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
3143
3144 * sh.md (cond_delay_slot): New attribute.
3145 (cbranch delay): Use it for anulled-true case.
3146 (stuff_delay_slot): New pattern.
3147 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
3148 delay slot insn.
3149 (gen_far_branch): Emit stuff_delay_slot pattern.
3150
0a756401
R
3151Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
3152
3153 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
3154
68e82b83
KH
31552002-07-30 Kazu Hirata <kazu@cs.umass.edu>
3156
3157 * fold-const.c: Fix comment typos.
3158 * gcse.c: Likewise.
3159 * reload1.c: Likewise.
3160
fe6b547a
AH
31612002-07-29 Aldy Hernandez <aldyh@redhat.com>
3162
3163 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
3164 for TARGET_SPE.
3165
7ff4a7ef
GDR
31662002-07-30 Gabriel Dos Reis <gdr@nerim.net>
3167
3168 * c-pretty-print.h (pp_c_statement): Declare.
3169 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
3170 (pp_c_statement): Define.
3171
4ad5e05d
KG
31722002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3173
3174 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
3175 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
3176 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
3177 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
3178 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
3179 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
3180
3181 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
3182 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
3183
1e6a3e1e
GDR
31842002-07-30 Gabriel Dos Reis <gdr@nerim.net>
3185
3186 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
3187 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
3188 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
3189 (pp_c_expression): Update.
3190
1dcd444b
KG
31912002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3192
3193 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
3194 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
3195 * alpha/vms-ld.c (main): Likewise.
3196 * dsp16xx.c (double_reg_to_memory): Likewise.
3197 * mcore.c (mcore_expand_prolog): Likewise.
3198 * cppfiles.c (read_name_map): Likewise.
3199 * gensupport.c (process_rtx, identify_predicable_attribute,
3200 alter_test_for_insn): Likewise.
3201 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
3202
e62f4abc
RS
32032002-07-29 Roger Sayle <roger@eyesopen.com>
3204
3205 * builtins.c (expand_builtin): Change the default behavior to
905173eb 3206 only issue an error if the builtin function doesn't have a
e62f4abc
RS
3207 fallback library call. Remove several cases handled by the
3208 new default.
3209
0cd2fb44
JDA
32102002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
3211
3212 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
3213 floating point format of the target is IEEE.
3214 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
3215 format of the target is DEC.
3216
b642261e
RH
32172002-07-29 Richard Henderson <rth@redhat.com>
3218
3219 * unroll.c (verify_addresses): Remove.
3220 (find_splittable_givs): Never split DEST_ADDR givs.
3221
cba57c9d
GK
32222002-07-29 Geoffrey Keating <geoffk@redhat.com>
3223
3224 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
3225 is exhaustive.
3226 (Files): Improve documentation on generated source files.
3227
3228 * doc/extend.texi (Translation implementation): Document what
3229 diagnostics look like.
3230 (Identifiers implementation): Document that there's normally no
3231 limit on identifier names.
3232 (Integers implementation): Document two's complement.
3233 (Hints implementation): Document that GCC honours 'inline', mostly.
3234 (Preprocessing directives implementation): Document that GCC
3235 requires the current time.
3236
76a8ecba
GDR
32372002-07-30 Gabriel Dos Reis <gdr@nerim.net>
3238
3239 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
3240 (pp_initializer): New macro.
3241 (pp_c_initializer): Declare.
3242 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
3243 (pp_c_initializer): Define.
3244 (pp_c_initializer_list): New function.
3245 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
3246 VECTOR_CST, CONSTRUCTOR.
3247 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 3248 IMAGPART_EXPR.
76a8ecba
GDR
3249 (pp_c_cast_expression): Handle FLOAT_EXPR.
3250 (pp_c_assignment_expression): Handle INIT_EXPR.
3251 (pp_c_expression): Update.
3252
4307be72
NB
32532002-07-30 Neil Booth <neil@daikokuya.co.uk>
3254
3255 * objc/objc-act.c (objc_init): Return immediately if filename
3256 is NULL.
3257
6d439235
EC
32582002-07-29 Eric Christopher <echristo@redhat.com>
3259
905173eb
ZW
3260 * config/mips/elf.h: Remove ecoff.h and gofast includes.
3261 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
3262 (SDB_DEBUGGING_INFO): Undefine.
3263 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
3264 (PUT_SDB_SIZE): Remove.
3265 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
3266 (STARTFILE_SPEC): Add isa3264 define.
3267 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
3268 * config/mips/ecoff.h: Remove. and here...
3269 * config/mips/iris3.h: and here...
3270 * config/mips/sni-svr4.h: and here...
3271 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
3272 Add assembler -mmdebug options for non-dwarf debugging.
3273 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
3274 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
3275 * config/mips/isa3264.h: Ditto.
3276 * config/mips/t-isa3264: Fix up for file removal and gofast configure
3277 change.
3278 * config/mips/t-elf: Ditto.
3279 * config/mips/t-ecoff: Ditto.
3280 * config/mips/t-r3900: Ditto.
3281 * config/mips/t-iris5-6: Ditto.
3282 * config/mips/t-isa3264: Ditto.
3283 * config/mips/t-linux: Remove.
3284 * config/mips/t-netbsd: Remove.
3285 * config/mips/t-mips: New file.
3286 * config/mips/t-gofast: Ditto.
3287 * config/mips/netbsd.h: Remove unnecessary undefines.
3288 * config/mips/linux.h: Remove #include of mips.h.
3289 * config.gcc: Add mips.h include for elf targets. Remove tm_file
3290 for ecoff. Add gofast configure option for mips.
6d439235 3291
4357a6c3
CD
32922002-07-29 Chris Demetriou <cgd@broadcom.com>
3293
3294 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
3295 linker scripts use STARTUP directives consistently.
3296 * configure: Regenerate.
3297 * config.in: Regenerate.
3298 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
3299 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
3300 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3301 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
3302 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
3303 will be the same.
3304
9a5cd606
AH
33052002-07-29 Aldy Hernandez <aldyh@redhat.com>
3306
3307 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
3308
a23acaa6
AH
33092002-07-29 Aldy Hernandez <aldyh@redhat.com>
3310
3311 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
3312
10ed84db
AH
33132002-07-29 Aldy Hernandez <aldy@quesejoda.com>
3314
3315 * config/rs6000/rs6000.md: Move altivec patterns from here...
3316
3317 * config/rs6000/altivec.md: ...to here.
3318
c3021e5d
AH
33192002-07-29 Aldy Hernandez <aldyh@redhat.com>
3320
3321 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
3322
6f1087be
RH
33232002-07-29 Richard Henderson <rth@redhat.com>
3324
3325 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
3326 set_mem_attributes and add BITPOS argument. Subtract it from
3327 OFFSET when same is adjusted.
3328 (set_mem_attributes): New wrapper function.
3329 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
3330 remove offset adjustment hack.
3331 * expr.h (set_mem_attributes_minus_bitpos): Declare.
3332
61ccbcfd
GDR
33332002-07-29 Gabriel Dos Reis <gdr@nerim.net>
3334
3335 * Makefile.in (C_OBJS): Include c-pretty-print.o
3336 (c-pretty-print.o): Add depency rule.
3337 * pretty-print.h: Add more macros.
3338 * c-pretty-print.c: New file.
3339 * c-pretty-print.h: Likewise.
3340
09101f56
AH
33412002-07-29 Aldy Hernandez <aldyh@redhat.com>
3342
3343 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
3344 constants to __ev64_s32__.
3345 (__internal_ev_mwhgsmian): Same.
3346 (__internal_ev_mwhgsmfan): Same.
3347 (__internal_ev_mwhgssfan): Same.
3348 (__internal_ev_mwhgumiaa): Same.
3349 (__internal_ev_mwhgsmiaa): Same.
3350 (__internal_ev_mwhgsmfaa): Same.
3351 (__internal_ev_mwhgssfaa): Same.
3352
af673a52
DE
33532002-07-29 David Edelsohn <edelsohn@gnu.org>
3354
3355 * varasm.c (assemble_variable): Narrow test for uninitialized
3356 without BSS target support.
3357
6c208acd
NS
33582002-07-29 Nathan Sidwell <nathan@codesourcery.com>
3359
3360 * profile.c: Add file comment describing the overall algorithm and
3361 structures.
3362 (struct edge_info): Add comments.
3363 (struct bb_info): Add comments.
3364 * basic-block.h (EDGE_*): Add comments.
3365 * doc/gcov.texi (Gcov Data Files): Document bit flags.
3366
624f0d60
BW
33672002-07-29 Bob Wilson <bob.wilson@acm.org>
3368
3369 * config/xtensa/elf.h, config/xtensa/linux.h
3370 (TARGET_OS_CPP_BUILTINS): Define.
3371 (CPP_PREDEFINES): Remove.
3372 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
3373 (CPP_SPEC): Remove.
3374
2199e5fa
ZW
33752002-07-29 Zack Weinberg <zack@codesourcery.com>
3376
3377 * gensupport.c: Include hashtab.h.
3378 (insn_elision, condition_table, hash_c_test, cmp_c_test,
3379 maybe_eval_c_test): New routines and data structures to
3380 support insn elision.
3381 (init_md_reader): Read and initialize the condition_table.
3382 (read_md_rtx): Discard insn patterns whose C test is provably
3383 always false.
3384 * gensupport.h: Declare new functions and data structures.
3385
3386 * genconditions.c, dummy-conditions.c: New files.
3387 * Makefile.in: Build genconditions; run it to construct
3388 insn-conditions.c; build that and link it into most gen*
3389 programs.
3390 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
3391 (GEN): Delete, unused.
3392 (STAGESTUFF): Update.
3393
3394 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
3395 CODE_FOR_nothing for all elided patterns.
3396 (main): Tweaked to support this.
3397 * genflags.c (gen_proto): Emit a static inline generator
3398 function here for all elided patterns, which simply returns
3399 NULL_RTX.
3400 (gen_insn): Do not define HAVE_xxx for elided patterns.
3401 (main): Tweaked to support this. No need to forward-declare
3402 struct rtx_def.
3403 * genrecog.c: Do not bother emitting the C test if it's known
3404 to be true at compile time.
3405
6ab185d6
MS
34062002-07-29 Mike Stump <mrs@apple.com>
3407
6d439235 3408 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 3409 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 3410
72b075d1
RE
34112002-07-29 Richard Earnshaw <rearnsha@arm.com>
3412
3413 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
3414 remove clobber of LR.
3415 (sibcall_insn, sibcall_value_insn): Update accordingly.
3416 (sibcall_epilogue): Remove debugging comment from assembler stream.
3417
f63c45ec
GDR
34182002-07-29 Gabriel Dos Reis <gdr@nerim.net>
3419
3420 * pretty-print.h: Define more macros.
3421 * diagnostic.h (output_formatted_integer): Moved from...
3422 * diagnostic.c: ... here.
3423
c27c15db
KG
34242002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3425
3426 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
3427
99086d59
ZW
34282002-07-28 Zack Weinberg <zack@codesourcery.com>
3429
3430 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
3431 arguments. Always use ".-symbol" as expression argument.
3432 * doc/tm.texi: Update to match. Document requirement for
3433 ".size symbol, .-symbol" to be acceptable to assembler.
3434
3435 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3436 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
3437 config/i386/freebsd-aout.h, config/i386/sco5.h,
3438 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
3439 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
3440
dd86aabf
KG
34412002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3442
6fd327e9
KG
3443 * Makefile.in (gengtype-lex.c): Fix error in last change.
3444
8155cedd
KG
3445 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
3446 backslash.
3447
dd86aabf
KG
3448 * Makefile.in (vmsdbgout.o): Depend on function.h.
3449
3450 * vmsdbgout.c: Include function.h.
3451
d4348177
AM
34522002-07-28 Alan Modra <amodra@bigpond.net.au>
3453
3454 * prefix.c (update_path): Don't strip single `.' path components
3455 unless stripping a later `..' component. Exit loop as soon as
3456 a valid path is found.
3457
c2ef6d34
RS
34582002-07-27 Roger Sayle <roger@eyesopen.com>
3459
3460 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
3461 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
3462 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
3463 floating point unordered comparisons (e.g. __builtin_isgreater)
3464 as const, and leave the remaining GCC_BUILTINs unchanged.
3465
3466 * c-decl.c (builtin_function): No need to explicitly mark
3467 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
3468
52bfebf0
RS
34692002-07-27 Roger Sayle <roger@eyesopen.com>
3470
3471 * Makefile.in: rtlanal.o now depends upon real.h.
3472
3473 * flags.h [flag_signaling_nans]: New flag.
3474 [HONOR_SNANS]: New macro.
3475
3476 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 3477 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
3478 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
3479 (process_options): flag_signaling_nans implies flag_trapping_math.
3480
3481 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
3482 when -fsignaling-nans. First step to implementing WG14's N965.
3483
3484 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
3485 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
3486 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
3487
3488 * simplify-rtx.c (simplify_relational_operation): Conditionalize
3489 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
3490
3491 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
3492 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
3493 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
3494 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
3495 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
3496
3497 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
3498
e66f55b8
KG
34992002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3500
3501 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
3502 * gengtype-lex.l (YY_USE_PROTOS): Undef.
3503 (YY_DECL): Define.
3504
a3926fe1
RS
35052002-07-27 Roger Sayle <roger@eyesopen.com>
3506
3507 * doc/invoke.texi: Document that both -fno-builtin-foo and
3508 -fno-builtin are supported by the g++ front-end.
3509
ef69da62
SS
35102002-07-27 Stan Shebs <shebs@apple.com>
3511
3512 * configure.in: Rename config_gtfiles to target_gtfiles.
3513 * configure: Regenerate.
3514 * doc/gty.texi: Update reference.
3515 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
3516 instead of appending to it.
3517
a4b0320c
AH
35182002-07-25 Aldy Hernandez <aldyh@redhat.com>
3519
3520 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
3521 vectors are split into two registers.
3522 (function_arg): Same.
3523
c427db5d
R
3524Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
3525
3526 * pa.md (extv): Check predicates before emitting extv_32.
3527
57ac7be9
AM
35282002-07-27 Alan Modra <amodra@bigpond.net.au>
3529
3530 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
3531 (rs6000_traceback): New var.
3532 (rs6000_override_options): Set rs6000_traceback.
3533 (rs6000_output_function_epilogue): Implement traceback options.
3534 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
3535 (rs6000_traceback_name): Declare.
3536
3537 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
3538 label reference when NO_PROFILE_COUNTERS.
3539
8e51619a
JM
35402002-07-26 Jason Merrill <jason@redhat.com>
3541
3542 * function.c (assign_parms): Handle frontend-directed pass by
3543 invisible reference.
3544
b41f25cf
NB
35452002-07-26 Neil Booth <neil@daikokuya.co.uk>
3546
3547 * doc/cppopts.texi: Update.
3548
c2734e05
NB
35492002-07-26 Neil Booth <neil@daikokuya.co.uk>
3550
3551 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
3552 warnings on assertions.
3553
c372b0fa
NB
35542002-07-26 Neil Booth <neil@daikokuya.co.uk>
3555
3556 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
3557 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
3558 RID_COMPL): Remove.
3559 * c-parse.in (rid_to_yy): Similarly.
3560
558ee214
JM
35612002-07-26 Jason Merrill <jason@redhat.com>
3562
3563 * c-dump.c: Resurrect.
3564 * tree-dump.c: Move C-specific stuff to c-dump.c.
3565 * c-common.h: Declare c_dump_tree.
3566 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
3567 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
3568 (c-dump.o): New rule.
3569
ce71f754
AM
35702002-07-26 Alan Modra <amodra@bigpond.net.au>
3571
3572 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
3573 PowerPC64. Replace "T" and "S" constraints with "n" when the
3574 predicate will do. Formatting fixes.
3575 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
3576 as for extzvsi_internal1.
3577
e179e7d7
NB
35782002-07-25 Neil Booth <neil@daikokuya.co.uk>
3579
3580 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
3581 DERIV_END_LABEL_FMT): Remove.
3582 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
3583
a2056183
NB
35842002-07-25 Neil Booth <neil@daikokuya.co.uk>
3585
3586 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
3587 Remove.
3588
308c142a
SS
35892002-07-25 Stan Shebs <shebs@apple.com>
3590
3591 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
3592 local var dwarfp.
3593 (output_compiler_stub): Remove unused locals.
3594 (output_call): Always initialize line number.
3595
59324685
R
3596Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3597
3598 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
3599 * sh.md (truncdiqi2, movqi_media): Likewise.
3600
77bbd421
NB
36012002-07-25 Neil Booth <neil@daikokuya.co.uk>
3602
3603 * gcse.c (obstack_chunk_alloc): Remove.
3604 (gcse_alloc): Fix to count allocated bytes.
3605 * collect2.c (SYMBOL__MAIN): Remove.
3606
7bad45b0
NB
36072002-07-25 Neil Booth <neil@daikokuya.co.uk>
3608
3609 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
3610 HAVE_TARGET_EXECUTABLE_SUFFIX.
3611
184166b5
R
3612Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3613
3614 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
3615 SIZE, EXPR and OFFSET.
3616
40cb04f1
RH
36172002-07-25 Richard Henderson <rth@redhat.com>
3618
3619 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
3620 in ARRAY_REF of DECL_P case.
3621
a27fb29b
RS
36222002-07-25 Richard Sandiford <rsandifo@redhat.com>
3623
3624 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
3625 description. Document -mips32, -mips64, and the associated -march
3626 values. Describe the "mipsN" arguments to -march. Say that the
3627 -mipsN options are equivalent to -march. Reword the description
3628 of default type sizes.
3629 * toplev.h (target_flags_explicit): Declare.
3630 * toplev.c (target_flags_explicit): New var.
3631 (set_target_switch): Update target_flags_explicit.
3632 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
3633 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
3634 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
3635 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
3636 * config/mips/mips.h (mips_cpu_info): New struct.
3637 (mips_cpu_string, mips_explicit_type_size_string): Remove.
3638 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
3639 (MIPS_CPP_SET_PROCESSOR): New macro.
3640 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
3641 Define _MIPS_ARCH and _MIPS_TUNE.
3642 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
3643 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
3644 MIPS_ISA_DEFAULT were already defined.
3645 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
3646 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
3647 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
3648 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
3649 (ABI_GAS_ASM_SPEC): Remove.
3650 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
3651 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
3652 Invoke %(asm_abi_default_spec) if no ABI was specified.
3653 (CC1_SPEC): Remove ISA -> register-size rules.
3654 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
3655 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
3656 (mips_cpu_string, mips_explicit_type_size_string): Remove.
3657 (mips_cpu_info_table): New array.
3658 (mips_set_architecture, mips_set_tune): New fns.
3659 (override_options): Rework to make -mipsN equivalent to -march.
3660 Detect more erroneous cases, including those removed from CC1_SPEC.
3661 Don't change the ABI based on architecture, or vice versa.
3662 Unify logic with GAS.
3663 (mips_asm_file_start): Get architecture name from mips_arch_info.
3664 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
3665 (mips_parse_cpu): Take the name of the option as argument. Handle
3666 'from-abi'. Raise an error if the option is wrong.
3667 (mips_cpu_info_from_isa): New fn.
3668
6bbdc759
RS
36692002-07-25 Richard Sandiford <rsandifo@redhat.com>
3670
3671 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
3672 (tablejump_mips162): Likewise.
3673
80a62484
R
3674Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
3675
3676 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
3677 int_mode_for_mode.
3678
ea793912
GDR
36792002-07-25 Gabriel Dos Reis <gdr@nerim.net>
3680
3681 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 3682 complaining.
ea793912
GDR
3683 * c-common.h (c_sizeof): Adjust definition.
3684 (c_alignof): Likewise.
3685 * c-tree.h (c_sizeof_nowarn): Now macro.
3686 * c-typeck.c (c_sizeof_nowarn): Remove definition.
3687
2d615444
NB
36882002-07-25 Neil Booth <neil@daikokuya.co.uk>
3689
3690 * c-decl.c (c_decode_option): No need to handle switches
3691 cpplib handles.
3692
2be2ac70
ZW
36932002-07-24 Zack Weinberg <zack@codesourcery.com>
3694
3695 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
3696 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
3697 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
3698 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3699
3700 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3701 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
3702 config/cris/aout.h, config/i386/freebsd-aout.h,
3703 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
3704 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
3705 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
3706 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
3707 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
3708 config/xtensa/elf.h, config/xtensa/linux.h:
3709 Use the new macros.
3710 Where possible, remove redundant definitions of SIZE_ASM_OP,
3711 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3712
518878e1
AH
37132002-07-24 Aldy Hernandez <aldyh@redhat.com>
3714
3715 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
3716 TARGET_ISEL, and TARGET_FPRS.
99086d59 3717
518878e1
AH
3718 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3719 -mabi=spe, -mabi=no-spe, and -misel=.
3720
3721 * config/rs6000/rs6000-protos.h: Add output_isel.
3722 Move vrsave_operation prototype here.
3723
3724 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
3725 (smaxsi3): Same.
3726 (uminsi3): Same.
3727 (umaxsi3): Same.
3728 (abssi2_nopower): Disallow when TARGET_ISEL.
3729 (*ne0): Same.
3730 (negsf2): Change to expand and rename old pattern to *negsf2.
3731 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 3732
518878e1
AH
3733 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
3734 fixunssfsi2.
3735
3736 Change patterns that check for TARGET_HARD_FLOAT or
3737 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
3738
3739 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
3740 rs6000_isel, rs6000_fprs, rs6000_isel_string.
3741 (rs6000_override_options): Add 8540 case to
3742 processor_target_table.
3743 Set rs6000_isel for the 8540.
3744 Call rs6000_parse_isel_option.
3745 (enable_mask_for_builtins): New.
3746 (rs6000_parse_isel_option): New.
3747 (rs6000_parse_abi_options): Add spe and no-spe.
3748 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
3749 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
3750 for TARGET_HARD_FLOAT.
3751 Add case for SPE_VECTOR_MODE.
3752 (rs6000_legitimize_reload_address): Handle SPE vector modes.
3753 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
3754 vector modes.
3755 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
3756 (rs6000_emit_move): Check for TARGET_FPRS.
3757 Add cases for SPE vector modes.
3758 (function_arg_boundary): Return 64 for SPE vector modes.
3759 (function_arg_advance): Check for TARGET_FPRS and
3760 Handle SPE vectors.
3761 (function_arg): Same.
3762 (setup_incoming_varargs): Check for TARGET_FPRS.
3763 (rs6000_va_arg): Same.
3764 (struct builtin_description): Un-constify mask field. Move up in
3765 file.
3766 (bdesc_2arg): Un-constify and add SPE builtins.
3767 (bdesc_1arg): Same.
3768 (bdesc_spe_predicates): New.
3769 (bdesc_spe_evsel): New.
3770 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
3771 (rs6000_expand_binop_builtin): Same.
3772 (bdesc_2arg_spe): New.
3773 (spe_expand_builtin): New.
3774 (spe_expand_predicate_builtin): New.
3775 (spe_expand_evsel_builtin): New.
3776 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
3777 (rs6000_init_builtins): Initialize SPE builtins. Call
3778 rs6000_common_init_builtins.
3779 (altivec_init_builtins): Move all non-altivec builtin code to...
3780 (rs6000_common_init_builtins): ...here. New function.
3781 (branch_positive_comparison_operator): Allow NE code for SPE.
3782 (ccr_bit): Return correct ccr bit for SPE fp.
3783 (print_operand): Emit crnor in 'D' case for SPE.
3784 New case 't'.
3785 Add SPE code for 'y' case.
3786 (rs6000_generate_compare): Generate rtl for SPE fp.
3787 (output_cbranch): Handle SPE hard floats.
3788 (rs6000_emit_cmove): Handle isel.
3789 (rs6000_emit_int_cmove): New.
3790 (output_isel): New.
3791 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
3792 64-bits for SPE.
3793 (debug_stack_info): Add SPE info.
3794 (gen_frame_mem_offset): New.
3795 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
3796 Change mode of frame pointer, when saving it, to Pmode.
3797 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
3798 Misc cleanups and use gen_frame_mem_offset when appropriate.
3799
3800 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
3801 (TARGET_SPE_ABI): New.
3802 (TARGET_SPE): New.
3803 (TARGET_ISEL): New.
3804 (TARGET_FPRS): New.
3805 (FIXED_SCRATCH): New.
3806 (RTX_COSTS): Add PROCESSOR_PPC8540.
3807 (ASM_CPU_SPEC): Add case for 8540.
3808 (TARGET_OPTIONS): Add isel= case.
3809 (rs6000_spe_abi): New.
3810 (rs6000_isel): New.
3811 (rs6000_fprs): New.
3812 (rs6000_isel_string): New.
3813 (UNITS_PER_SPE_WORD): New.
3814 (LOCAL_ALIGNMENT): Adjust for SPE.
3815 (HARD_REGNO_MODE_OK): Same.
3816 (DATA_ALIGNMENT): Same.
3817 (MEMBER_TYPE_FORCES_BLK): New.
3818 (FIRST_PSEUDO_REGISTER): Set to 113.
3819 (FIXED_REGISTERS): Add SPE registers.
3820 (reg_class): Same.
3821 (REG_CLASS_NAMES): Same.
3822 (REG_CLASS_CONTENTS): Same.
3823 (REGNO_REG_CLASS): Same.
3824 (REGISTER_NAMES): Same.
3825 (DEBUG_REGISTER_NAMES): Same.
3826 (ADDITIONAL_REGISTER_NAMES): Same.
3827 (CALL_USED_REGISTERS): Same.
3828 (CALL_REALLY_USED_REGISTERS): Same.
3829 (SPE_ACC_REGNO): New.
3830 (SPEFSCR_REGNO): New.
3831 (SPE_SIMD_REGNO_P): New.
3832 (HARD_REGNO_NREGS): Adjust for SPE.
3833 (VECTOR_MODE_SUPPORTED_P): Same.
3834 (REGNO_REG_CLASS): Same.
3835 (FUNCTION_VALUE): Same.
3836 (LIBCALL_VALUE): Same.
3837 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
3838 (SPE_VECTOR_MODE): New.
3839 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
3840 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
3841 (rs6000_stack): Add spe_gp_size, spe_padding_size,
3842 spe_gp_save_offset.
3843 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
3844 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
3845 (SPE_CONST_OFFSET_OK): New.
3846 (rs6000_builtins): Add SPE builtins.
3847
3848 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 3849
518878e1
AH
3850 * config/rs6000/eabispe.h: New.
3851
3852 * config/rs6000/spe.h: New.
3853
3854 * config/rs600/spe.md: New.
3855
3856 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3857 __SIMD__ for TARGET_SPE.
3858
3859 * config.gcc: Add powerpc-*-eabispe* case.
3860 Add spe.h to user headers for powerpc.
3861
8d1b7ba1
CD
38622002-07-24 Chris Demetriou <cgd@broadcom.com>
3863
3864 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
3865 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3866 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
3867
8ad8135a
RH
38682002-07-24 Richard Henderson <rth@redhat.com>
3869
3870 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
3871 form when not optimizing.
3872
dc44a4d8
DM
38732002-07-24 David Mosberger <davidm@hpl.hp.com>
3874
3875 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
3876 thread_pointer_rtx as unchanging.
3877
c5605318
MM
38782002-07-24 Michael Matz <matz@suse.de>
3879
3880 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
3881 (free_reg): Use it.
3882
3ade30ea
RE
38832002-07-24 Richard Earnshaw <rearnsha@arm.com>
3884
3885 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
3886 pattern.
3887 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
3888 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
3889
8a3ad737
CD
38902002-07-24 Chris Demetriou <cgd@broadcom.com>
3891
3892 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
3893 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3894 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
3895
7e51e626
JH
3896Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
3897
3898 * toplev.c (rest_of_compilation): Dump loops before clobbering
3899 the structure.
3900
5df533b3
JH
3901Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
3902
3903 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
3904
79258dce
RS
39052002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
3906
3907 PR optimization/7291
3908 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
3909 problem on x86_64.
3910
26ff2117
GDR
39112002-07-24 Gabriel Dos Reis <gdr@nerim.net>
3912
3913 * pretty-print.h: Add macros from cp/error.c
3914
0ba1b2ff
AM
39152002-07-24 Alan Modra <amodra@bigpond.net.au>
3916
3917 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
3918 (mask64_2_operand): Declare.
3919 (build_mask64_2_operands): Declare.
3920 (and64_2_operand): Declare.
3921 (extract_MB): Declare.
3922 (extract_ME): Declare.
3923 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
3924 CONST_DOUBLE code.
3925 (mask_operand_wrap): New insn predicate.
3926 (mask64_2_operand): Likewise.
3927 (and64_2_operand): Likewise.
3928 (build_mask64_2_operands): New function.
3929 (extract_MB): New function.
3930 (extract_ME): New function.
3931 (print_operand <case m,M>): Use extract_MB and extract_ME.
3932 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
3933 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
3934 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
3935 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
3936 * config/rs6000/rs6000.md (andsi3_internal3): New
3937 (andsi3_internal3+1): Enable split for powerpc64.
3938 (andsi3_internal3+2): New split.
3939 (andsi3_internal4): Renamed old andsi3_internal3.
3940 (andsi3_internal5): New.
3941 (andsi3_internal5+1): Enable split for powerpc64.
3942 (andsi3_internal5+2): New split.
3943 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
3944 (anddi3): Handle 't' constraint.
3945 (anddi3+1): New split.
3946 (anddi3_internal2): Handle 't' constraint.
3947 (anddi3_internal2+1): New split.
3948 (anddi3_internal3): Handle 't' constraint.
3949 (anddi3_internal3+1): New split.
3950
097657c3
AM
39512002-07-24 Alan Modra <amodra@bigpond.net.au>
3952
3953 * config/rs6000/rs6000.md: Remove scratch reg on insns using
3954 addze and similar (plus (comparison r1 r2) r3) insns. Add
3955 missing scratch reg in one case. Formatting fixes.
3956
a69cbaac
NB
39572002-07-24 Neil Booth <neil@daikokuya.co.uk>
3958
3959 * cppexp.c (parse_defined): Mark macro used.
3960 * cpphash.h (struct cpp_macro): New member "used".
3961 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
3962 (struct cpp_reader): New member.
3963 * cppinit.c (cpp_finish_options): Set first_unused_line.
3964 (cpp_finish): Warn of unused macros if requested.
3965 (OPT_TABLE): New switches.
3966 (cpp_handle_option): Handle them.
3967 * cpplib.c (do_undef): Warn if macro unused.
3968 (do_ifdef, do_ifndef): Mark macro used.
3969 * cpplib.h (struct cpp_options): New member.
3970 * cppmacro.c (_cpp_warn_if_unused_macro): New.
3971 (enter_macro_context): Mark macro used.
3972 (_cpp_create_definition): Mark macro unused; warn if unused
3973 when redefined.
3974 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
3975 Mark macros used.
3976 * doc/cppopts.texi: Update.
3977
c0667597
NB
39782002-07-23 Neil Booth <neil@daikokuya.co.uk>
3979
3980 * dwarf2out.c (SECTION_ASM_OP,
3981 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3982 * system.h (SECTION_ASM_OP): Poison.
3983 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
3984 * config/alpha/alpha-interix.h, config/mips/linux.h
3985 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3986 * config/mmix/mmix-protos.h, config/mmix/mmix.c
3987 (mmix_asm_output_define_label_difference_symbol): Remove.
3988 * config/mmix/mmix.h
3989 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 3990 * doc/tm.texi: Remove documentation.
c0667597 3991
bf7cd754
R
3992Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
3993
3994 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
3995 (constrain_operands): Likewise.
3996 * regclass.c (record_reg_classes): Likewise.
3997 * reload.c (find_reloads): Likewise.
3998 * doc/md.texi: Likewise.
451f86fd
R
3999
4000 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
4001 * simplify-rtx.c (simplify_subreg): When converting to a non-int
4002 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
4003
4004 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
4005 from individual subregs, check that each subreg has been generated
4006 sucessfully.
4007
10d6af32
NB
40082002-07-23 Neil Booth <neil@daikokuya.co.uk>
4009
4010 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
4011 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
4012 FOR_EACH_BB_IN_SBITMAP): Remove.
4013 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
4014 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
4015 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
4016 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
4017 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
4018 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
4019
6aaae39a
GDR
40202002-07-23 Gabriel Dos Reis <gdr@nerim.net>
4021
4022 * pretty-print.h: New file.
4023
45e574d0
JDA
40242002-07-23 Paul Koning <pkoning@equallogic.com>
4025
4026 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
4027 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
4028 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
4029 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 4030 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
4031 to internal form.
4032 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
4033 vs. others.
4034 (e113toe): Change to use ieeetoe.
4035
40362002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
4037
4038 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
4039 IBM.
4040 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
4041 (e64toe): Remove special cases for DEC and IBM. Remove support for
4042 ARM_EXTENDED_IEEE_FORMAT.
4043 (e24toe): Remove special cases for DEC.
4044 (significand_size): Simplify. Indent.
4045 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
4046 (etoieee, toieee): New.
4047 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
4048 etoieee and toieee for IEEE arithmetic.
4049
3764f879
GDR
40502002-07-23 Gabriel Dos Reis <gdr@nerim.net>
4051
4052 * doc/extend.texi: Say ISO C90, not ISO C89.
4053 * doc/invoke.texi: Likewise.
4054 * doc/standards.texi: Likewise.
4055
aa0f70e6
SE
40562002-07-23 Steve Ellcey <sje@cup.hp.com>
4057
4058 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
4059 Fix permutation of conversion and plus/mult.
4060 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
4061 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
4062 (expand_builtin_strncpy) Ditto.
4063 (expand_builtin_memset) Ditto.
4064
fa72b064
GDR
40652002-07-23 Gabriel Dos Reis <gdr@nerim.net>
4066
4067 Fix PR/7363:
4068 * c-common.c (c_sizeof_or_alignof_type): New function.
4069 (c_alignof): Remove definition.
4070 * c-common.h (c_sizeof, c_alignof): Define as macros.
4071 (c_sizeof_or_alignof_type): Declare.
4072 (my_friendly_assert): Moved from cp/cp-tree.h
4073 * c-typeck.c (c_sizeof): Remove definition.
4074
2b773ee2
JH
40752002-07-23 Jan Hubicka <jh@suse.cz>
4076
4077 * gcse.c (try_replace_reg): Use num_changes_pending.
4078 * recog.c (num_changes_pending): New function.
4079 (validate_replace_src): Use validate_repalce_src_group.
4080 (validate_replace_src_group): New.
4081 * recog.h (validate_repalce_src_group): New.
4082 (num_changes_pending): Likewise.
4083
a0dc500c
R
4084Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
4085
4086 * calls.c (emit_library_call_value_1): If
4087 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
4088 libcall, const call nor pure call.
4089
d22eda7b
NB
40902002-07-23 Neil Booth <neil@daikokuya.co.uk>
4091
4092 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
4093
b5e66e65
NB
40942002-07-23 Neil Booth <neil@daikokuya.co.uk>
4095
4096 * vmsdbgout.c (SECTION_ASM_OP): Remove.
4097
c3a600c0
NB
40982002-07-23 Neil Booth <neil@daikokuya.co.uk>
4099
4100 * config/i386/i386.c (AT_BP): Remove.
4101
4fa31c2a
NB
41022002-07-23 Neil Booth <neil@daikokuya.co.uk>
4103
4104 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
4105 Default definition.
4106 * gcse.c: Don't define obstack_chunk_free.
4107 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
4108 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
4109 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
4110 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
4111 Don't define obstack macros.
4112
fd576c86
SC
41132002-07-22 Stephane Carrez <stcarrez@nerim.fr>
4114
4115 PR target/6744
4116 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
4117 ASM_OPERANDS instructions.
4118
b791ff31
SC
41192002-07-22 Stephane Carrez <stcarrez@nerim.fr>
4120
4121 PR target/7361
4122 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
4123 constant addresses only on 68HC12.
4124
4a941115
NB
41252002-07-22 Neil Booth <neil@daikokuya.co.uk>
4126
4127 * cppfiles.c (stack_include_file): Correct test of whether
4128 a dependency should be output.
4129
7488cc6d
DE
41302002-07-22 David Edelsohn <edelsohn@gnu.org>
4131
4132 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
4133
b41caf7c
RE
41342002-07-22 Richard Earnshaw <rearnsha@arm.com>
4135
4136 * arm.md (movqi): If optimizing and we can create pseudos, use
4137 a ZERO_EXTEND to load from memory, then copy the result into the
4138 target.
4139 (movhi): Likewise, but only for ARMv4.
4140
492e9934
NB
41412002-07-22 Neil Booth <neil@daikokuya.co.uk>
4142
4143 * ssa-ccp.c (PHI_PARMS): Remove.
4144
f01f01a6
RS
41452002-07-22 Richard Sandiford <rsandifo@redhat.com>
4146
4147 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
4148 on big-endian targets.
4149
c2ae8aef
KG
41502002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4151
4152 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
4153 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
4154 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
4155 New formatting macros.
4156
4157 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
4158
eab2120d
R
4159Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
4160
4161 * rtlanal.c (subreg_regno_offset): Return correct offset for
4162 big endian paradoxical subregs.
0d541696
R
4163
4164 * optabs.c (expand_vector_unop): Don't expand using sub_optab
4165 if we got the wrong mode.
bb9b3805
R
4166
4167 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
4168 * genrecog.c (write_switch, write_cond): Use it.
4169 * genemit.c (gen_exp): Likewise.
4170
e96eb215
JJ
41712002-07-22 Jakub Jelinek <jakub@redhat.com>
4172
4173 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
4174
cf3c4f56
JJ
41752002-07-22 Jakub Jelinek <jakub@redhat.com>
4176
4177 * c-decl.c (build_compound_literal): Defer compound literal decls
4178 until until file end to emit them only if they are actually used.
4179
533c4863
KG
41802002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4181
4182 * ra-build.c (check_conflict_numbers): Hide unused function.
4183 (livethrough_conflicts_bb): Avoid automatic aggregate
4184 initialization.
4185 (parts_to_webs_1): Avoid `U' integer constant modifier.
4186 (conflicts_between_webs): Wrap a variable in the macro controlling
4187 its usage.
4188 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
4189 (dump_igraph, dump_graph_cost): Avoid string concatenation
4190 (dump_static_insn_cost): Avoid automatic aggregate
4191 initialization.
4192 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
4193 initialization.
4194 (dump_cost): Avoid string concatenation
4195
8943a0b4
RH
41962002-07-21 Richard Henderson <rth@redhat.com>
4197
4198 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
4199 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
4200
b1aef35b
RH
42012002-07-21 Richard Henderson <rth@redhat.com>
4202
4203 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
4204 that are not unrolled completely.
4205
5e1afb11
RH
42062002-07-21 Richard Henderson <rth@redhat.com>
4207
4208 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
4209 * loop.c (strength_reduce): Update.
4210 * toplev.c (rest_of_compilation): Do unrolling in the first
4211 loop pass, not the second.
4212
c67a1cf6
RH
42132002-07-21 Richard Henderson <rth@redhat.com>
4214
4215 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
4216 when flag_argument_noalias == 2.
4217 * alias.c (nonoverlapping_memrefs_p): Handle that.
4218 * print-rtl.c (print_mem_expr): Likewise.
4219
b68daef4
HS
42202002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
4221
4222 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
4223 instead of __negdi2 directly.
4224
060a58c5
NB
42252002-07-21 Neil Booth <neil@daikokuya.co.uk>
4226
4227 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
4228 * function.c (SYMBOL__MAIN): Remove definition.
4229 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 4230 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
4231 * profile.c (GCOV_INDEX_TO_BB): Remove.
4232 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
4233 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
4234
2f8dd115
NB
42352002-07-21 Neil Booth <neil@daikokuya.co.uk>
4236
4237 * c-lex.c (GET_ENVIRONMENT): Remove.
4238 * collect2.c (GET_ENV_PATH_LIST): Remove.
4239 (prefix_from_env): Use GET_ENVIRONMENT.
4240 * cppinit.c (GET_ENV_PATH_LIST): Remove.
4241 (init_standard_includes): Use GET_ENVIRONMENT.
4242 * defaults.h (GET_ENVIRONMENT): Define here if not already.
4243 * gcc.c (GET_ENV_PATH_LIST): Remove.
4244 (make_relative_prefix, process_command): Update.
4245 * protoize.c (GET_ENV_PATH_LIST): Remove.
4246 (do_processing): Update.
4247
56508306
GDR
42482002-07-21 Gabriel Dos Reis <gdr@nerim.net>
4249
4250 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
4251 (grokdeclarator): Likewise.
4252 * c-format.c (C_STD_NAME): Likewise.
4253 * c-lex.c (interpret_integer): Likewise.
4254 * c-typeck.c (build_array_ref): Likewise.
4255 * cpplex.c (_cpp_lex_direct): Likewise.
4256 * toplev.c (documented_lang_options): Likewise.
4257
e2f62855
NB
42582002-07-21 Neil Booth <neil@daikokuya.co.uk>
4259
4260 * c-format.c (T99_I, T99_UI): Remove.
4261
c89d1dfd
NB
42622002-07-21 Neil Booth <neil@daikokuya.co.uk>
4263
4264 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
4265
46690369
JH
4266Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
4267
4268 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
4269 do_local_cprop.
4270
60ffc1b8
AJ
42712002-07-21 Andreas Jaeger <aj@suse.de>
4272
99086d59 4273 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 4274
c05ffc49
BS
42752002-07-21 Bernd Schmidt <bernds@redhat.com>
4276
4277 Improvements for the ifcvt pass from Michael Meissner, with patches
4278 by Richard Sandiford <rsandifo@redhat.com>
4279 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
4280 * ifcvt.c (cond_exec_changed_p): New static variable.
4281 (last_active_insn): New function, renamed from last_active_insn_p
4282 and changed to return the last active insn in a basic block. All
4283 callers updated.
4284 (block_fallthru): New function.
4285 (cond_exec_process_insns): New argument CE_INFO. Pass it to
4286 IFCVT_MODIFY_INSN. All callers updated.
4287 Return false if START or END are NULL.
4288 Handle case where we're processing an insn that is already
4289 conditional.
4290
4291 (noce_process_if_block): CE_INFO argument rather than
4292 multiple args containing the involved basic blocks. All callers
4293 changed.
4294 (process_if_block, merge_if_block, find_if_block,
4295 cond_exec_process_if_block): Likewise.
4296
4297 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
4298 changed.
4299 Use new function last_active_insn to simplify some code.
4300 New code to handle multiple tests.
4301 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
4302 cond_exec_changed_p to TRUE.
4303
4304 (process_if_block): New code to handle multiple tests.
4305 (merge_if_block): Likewise.
4306 (find_if_header): New arg PASS. Changed to return the currently
4307 processed basic block or NULL instead of true/false. All callers
4308 changed.
4309 Call IFCVT_INIT_EXTRA_FIELDS.
4310 (block_jumps_and_fallthru_p): New function.
4311 (find_if_block): Discover opportunities to convert multiple tests.
4312 Add additional debugging output.
4313 Update the ce_info structure before returning.
4314
4315 (if_convert): Run multiple passes of if-conversion.
4316 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
4317 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
4318 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
4319 these macros.
4320
ae860ff7
JH
4321Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
4322
4323 * gcse.c: Include cselib.h
4324 (constptop_register): Break out from ...
4325 (cprop_insn): ... here; kill basic_block argument.
4326 (do_local_cprop, local_cprop_pass): New functions.
4327 (one_cprop_pass): Call local_cprop_pass.
4328
0da65b89
RS
43292002-07-20 Roger Sayle <roger@eyesopen.com>
4330
4331 * simplify-rtx.c (simplify_relational_operation): Optimize
4332 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
4333
47cc673a
MM
43342002-07-20 Michae Matz <matz@suse.de>
4335
4336 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
4337
68e65275
NB
43382002-07-20 Neil Booth <neil@daikokuya.co.uk>
4339
4340 * cppexp.c (struct op): Add token pointer.
4341 (check_promotion, CHECK_PROMOTION): New.
4342 (optab): Update.
4343 (_cpp_parse_expr): Update, use token pointer of struct op.
4344 (reduce): Warn about change of sign owing to promotion.
4345 * cppinit.c (cpp_handle_option): New warning if -Wall.
4346 * cpplib.h (struct cpp_options): New member.
4347
e3485bbc
DE
43482002-07-19 David Edelsohn <edelsohn@gnu.org>
4349
4350 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
4351 fpu list. Separate Power4 compare and delayed_compare. Correct
4352 Power4 fpcompare.
4353 (fix_truncdfsi2_internal): Restore FPR preference.
4354 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
4355 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
4356
449655a6
MV
43572002-07-19 Momchil Velikov <velco@fadata.bg>
4358
4359 * reload1.c (reload_as_needed): Duplicate oldpat.
4360
8b583747
AM
43612002-07-20 Alan Modra <amodra@bigpond.net.au>
4362
4363 PR optimization/7130
4364 * loop.h (struct loop_info): Add "preconditioned".
4365 * unroll.c (unroll_loop): Set it.
4366 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
4367
0dc36574
ZW
43682002-07-19 Zack Weinberg <zack@codesourcery.com>
4369
4370 * rtl.def (CODE_LABEL): Remove slot 8.
4371 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
4372 (LABEL_ALTERNATE_NAME): Delete.
4373 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
4374 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
4375
4376 * final.c (output_alternate_entry_point): New.
4377 (final_scan_insn): Use it instead of
4378 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
4379 of a case label being an alternate entry point.
4380
4381 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
4382 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
4383 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
4384 (field deleted).
4385 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
4386
4387 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
4388 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
4389 * doc/tm.texi: Delete documentation of
4390 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
4391
59267987
RO
43922002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4393
4394 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
4395 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
4396 (LINK_SPEC): Define.
4397 (STARTFILE_SPEC): Define.
4398 (ENDFILE_SPEC): Define.
4399
4400 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
4401 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
4402
4403 * config/mips/iris6-o32-gas.h: New file.
4404 * config.gcc (mips-sgi-irix6*o32): Use it.
4405
4406 * config/mips/t-iris5-gas: New file.
4407 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
4408
75aef48a
NB
44092002-07-19 Neil Booth <neil@daikokuya.co.uk>
4410
4411 * cppexp.c (ALWAYS_EVAL): Remove.
4412 (optab, reduce): Always evaluate.
4413 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
4414 only if not skipping evaluation.
4415
72a5503d
MM
44162002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
4417
4418 * config/avr/avr.c (debug_hard_reg_set): Remove.
4419
059ba716
CD
44202002-07-19 Chris Demetriou <cgd@broadcom.com>
4421
4422 * gcc.c (cpp_options): Include "%1" (cc1_spec).
4423
544823b6
RH
44242002-07-19 Richard Henderson <rth@redhat.com>
4425
4426 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
4427
c35383cb
AM
44282002-07-19 Alan Modra <amodra@bigpond.net.au>
4429
4430 * prefix.c (update_path): Don't zap single `.' path components
4431 unless followed by another `.' and fix typo last patch.
4432
ad28cff7
NB
44332002-07-18 Neil Booth <neil@daikokuya.co.uk>
4434
4435 * cppexp.c (cpp_num_mul): Remove unused parameter.
4436 (UNARY, BINARY, OTHER, binary_handler): Remove.
4437 (ALWAYS_EVAL): New.
4438 (optab): Update.
4439 (reduce): Refactor to a large switch, don't use a function
4440 pointer.
4441
139b7f86
BT
44422002-07-18 Bo Thorsen <bo@berlioz.suse.de>
4443
4444 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
4445
e69d1422
R
4446Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
4447
4448 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
4449 (sh_expand_binop_v2sf): Likewise.
4450 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
4451 (int_gpr_dest, trunc_hi_operand): New functions.
4452 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
4453 trunc_hi_operand.
4454 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
4455 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
4456 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
4457 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
4458 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
4459 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
4460 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
4461 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
4462 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
4463 (movsf_ie+1): Likewise.
4464 (loaddi_trunc): Use int_gpr_dest predicate.
4465 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
4466 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
4467 (casesi_worker_0+[12], casesi_worker): Likewise.
4468 (shcompact_preserve_incoming_args): Likewise.
4469 (mov_nop): Use any_register_operand predicate.
4470 (mperm_w0): Use trunc_hi_operand predicate.
4471
47a4976f
JDA
44722002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4473
4474 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
4475 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
4476 numbering.
4477
f3a4e54e
JDA
44782002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4479
4480 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
4481
30484ccf
RH
44822002-07-18 Richard Henderson <rth@redhat.com>
4483
4484 PR optimization/7147
4485 * ifcvt.c (noce_get_condition): Make certain that the condition
4486 is valid at JUMP.
4487
d042370e
R
4488Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
4489
4490 * sh.c (barrier_align, push): Shut up compiler warnings.
4491 (initial_elimination_offset,sh_media_init_builtins): Likewise.
4492 (reg_no_subreg_operand): Delete.
4493
61fee9b3
BT
44942002-07-17 Bo Thorsen <bo@suse.de>
4495
4496 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
4497 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
4498 (STARTFILE_SPEC): Remove hardcoded library paths.
4499 (ENDFILE_SPEC): Likewise.
4500
f305679f
JH
4501Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
4502
4503 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
4504
4505 * gcse.c (try_replace_reg): Do not return false positives.
4506
99bcb625
AM
45072002-07-18 Alan Modra <amodra@bigpond.net.au>
4508
f6f23ad2
AM
4509 * prefix.c: (update_path): Strip ".." components when prior dir
4510 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
4511
99bcb625
AM
4512 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
4513 (ASM_OUTPUT_REG_POP): Likewise.
4514
09eeeacb
AM
45152002-07-18 Alan Modra <amodra@bigpond.net.au>
4516
4517 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
4518 adjustments to first_reg for profiling case.
4519 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
4520 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
4521 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
4522 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
4523 (ASM_OUTPUT_REG_POP): Define.
4524 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
4525 (ASM_OUTPUT_REG_POP): Undef.
4526
74d06cf2
NB
45272002-07-17 Neil Booth <neil@daikokuya.co.uk>
4528
4529 * cpplib.c (do_sccs): Handle #sccs on all systems.
4530 * system.h (SCCS_DIRECTIVE): Poison.
4531 * config/darwin.h, config/freebsd.h, config/netbsd.h,
4532 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
4533 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
4534 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
4535 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
4536 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
4537 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
4538 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
4539 Remove all references to SCCS_DIRECTIVE.
4540 * doc/cpp.texi, doc/tm.texi: Update.
4541
61dde664
R
4542Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
4543
4544 * regrename.c (maybe_mode_change): New function.
4545 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
4546
97f51ac4
RB
45472002-07-17 Rodney Brown <rbrown64@csc.com.au>
4548
4549 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
4550 suppress addition when either ct or cf are zero.
4551
f1a73cfe 45522002-06-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 4553 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
4554
4555 PR optimization/6713
4556 * loop.c (loop_givs_rescan): Explicitly delete the insn that
4557 sets a non-replaceable giv after issuing the new one.
4558
23ff0223
NB
45592002-07-17 Neil Booth <neil@daikokuya.co.uk>
4560
4561 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
4562 eval_token): Clarify and correct use of "bool" variables.
4563 * cpplib.h (struct cpp_options): Similarly.
4564 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
4565 * cpptrad.c (recursive_macro): Similarly.
4566
ac09192a
R
4567Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
4568
d28586ab 4569 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 4570 SHmedia code.
68cef009
R
4571
4572 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
4573
4574 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
4575 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
4576
4577 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
4578 * sh-protos.h (sh_initialize_trampoline): Declare.
4579 * sh.c (sh_initialize_trampoline): New function.
4580 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
4581 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
4582 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
4583 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
4584 * sh.md (initialize_trampoline, double_shori): New patterns.
4585 (initialize_trampoline_compact): Likewise.
4586 (shmedia32_initialize_trampoline_big): Remove.
4587 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
4588
4589 * sh-protos.h (binary_float_operator): Remove declaration.
4590 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
4591 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
4592 (unary_float_operator, sh_expand_unop_v2sf): New functions.
4593 (sh_expand_binop_v2sf): Likewise.
4594 (zero_vec_operand): Delete.
4595 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
4596 all non-shared ones.
4597 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
4598 Enable nsb and byterev.
4599 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
4600 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
4601 in general regs.
4602 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
4603 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
4604 immediate operands.
4605 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
4606 Add DF_HI_REGS.
4607 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
4608 lowpart fp regs - only for big endian for now.
4609 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
4610 when FPU is in use.
4611 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
4612 (LOAD_EXTEND_OP): NIL for SImode.
4613 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
4614 general and fp registers is 4.
4615 PREDICATE_CODES: Amend binary_float_operator entry.
4616 Remove zero_vec_operand. Add unary_float_operator.
4617 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
4618 subreg SET_DEST.
4619 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
4620 (truncdiqi2): Do sign extension.
4621 (movsi_media, movdi_media): Allow to use r63 to an fp register.
4622 (movdf_media, movsf_media): Likewise.
4623 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
4624 Collapse to one define_insn_and_split. Allow immediate sources.
4625 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
4626 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
4627 (movv4sf): Allow immediate sources.
4628 (movsf_media_nofpu+1): Don't split moves to FP registers.
4629 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
4630 (movv8qi_i+3): Check against CONST0_RTX.
4631 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
4632 for input and output operands. Fix argument 3 to gen_mextr_rl.
4633 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
4634 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
4635 (mshf0_w, fipr, ftrv): Likewise.
4636 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
4637
e9d7b180
JD
46382002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4639
4640 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
4641 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
4642 * arm.c: Similarly.
4643
8214bf98
RS
46442002-07-17 Richard Sandiford <rsandifo@redhat.com>
4645
4646 * config/mips/mips-protos.h (mips_sign_extend): Declare.
4647 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
4648 (TARGET_SWITCHES): Remove debugh.
4649 (ISA_HAS_TRUNC_W): New macro.
4650 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
4651 (PREDICATE_CODES): Remove se_nonimmediate_operand.
4652 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
4653 any SImode move_operand.
4654 (se_nonimmediate_operand): Remove.
4655 (mips_sign_extend): New.
4656 (mips_move_2words): Use it for sign-extended source operands.
4657 (override_options): Allow integers to be put into single FPRs.
4658 (mips_secondary_reload_class): Handle integers in float registers.
4659 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
4660 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
4661 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
4662 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
4663 (fix_truncdfdi2): Provide only a single alternative, in which the
4664 integer is in a float register. Depend on TARGET_FLOAT64 rather
4665 than TARGET_64BIT.
4666 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
4667 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
4668 (movdi_internal2): Don't allow the source operand to be sign-extended.
4669 Add alternatives for float registers.
4670 (*movdi_internal2_extend): New. Version of movdi_internal2 that
4671 allows sign-extension.
4672 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
4673 (movsi_internal2): Rename to movsi_internal. Add alternatives for
4674 float registers. Remove TARGET_DEBUG_H_MODE test.
4675 (movhi_internal1): Rename to movhi_internal. Don't check
4676 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
4677 (movqi_internal1): Rename to movqi_internal and remove
4678 TARGET_DEBUG_H_MODE dependency.
4679 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
4680
7ab0121e
JW
46812002-07-16 Jim Wilson <wilson@redhat.com>
4682
4683 * toplev.c (lang_dependent_init): Create function context for
4684 init_expr_once.
4685
349ccf2e
HPN
46862002-07-16 Hans-Peter Nilsson <hp@axis.com>
4687
4688 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
4689 --gc-sections if -r.
4690 * config/cris/cris.h: Ditto.
4691
06ec023f
RB
46922002-07-16 Rodney Brown <rbrown64@csc.com.au>
4693
4694 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
4695 the comparison directly gives a mask suppress addition when cf is
4696 zero by complementing the mask.
4697
39cef914
NN
46982002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
4699
4700 * Makefile.in: Delete references to enquire.
4701 * enquire.c: Move to contrib.
4702
92c1a778
SS
47032002-07-16 Stan Shebs <shebs@apple.com>
4704
2aa9948d
SS
4705 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
4706 config/rs6000/darwin.h.
4707 (ASM_OUTPUT_SKIP): Ditto.
4708 (TEXT_SECTION_ASM_OP): Ditto.
4709 (DATA_SECTION_ASM_OP): Ditto.
4710 (ASM_APP_ON): Define.
4711 (ASM_APP_OFF): Define.
4712 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
4713 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
4714
4715 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
4716 (machopic_function_base_name): Declare result to be const.
4717 (machopic_non_lazy_ptr_name): Ditto.
4718 (machopic_stub_name): Ditto.
2aa9948d 4719 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 4720
daaab00a
JH
4721Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
4722
4723 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
4724
63c574cc
JH
4725Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
4726
4727 * i386.md (prefetch): Fix for 64bit mode.
4728 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
4729
2a500b9e
JH
4730Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
4731
4732 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
4733 * i386.c (x86_machine_dependent_reorg): New function.
4734 * i386-protos.h (x86_machine_dependent_reorg): Declare.
4735
e5faf155
ZW
47362002-07-16 Zack Weinberg <zack@codesourcery.com>
4737
4738 * builtins.c (std_expand_builtin_va_start): Remove unused
4739 first argument.
4740 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
4741 std_expand_builtin_va_start with just two arguments.
4742 * expr.h: Update prototypes.
4743
4744 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
4745 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
4746 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
4747 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
4748 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
4749 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
4750 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
4751 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
4752 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
4753 argument from all implementations of EXPAND_BUILTIN_VA_START
4754 and all uses of std_expand_builtin_va_start.
4755
dbf65c2f
R
4756Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
4757
4758 * regrename.c (copy_value): Don't record high part copies.
4759
6acb6d3e 47602002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 4761
6acb6d3e
SE
4762 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
4763 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
4764 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
4765
5d7c2819
ID
47662002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
4767
4768 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
4769
4770 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
4771 into addsi3 using register class "x" and "y".
4772
4773 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
4774 "earlyclobber" constraint modifier for some alternative.
e5faf155 4775
5d7c2819
ID
4776 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
4777 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
4778 unordered.
4779 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
4780
4781 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
4782 (TARGET_SWITCHES): Add -mieee-compare option.
4783 (OVERRIDE_OPTIONS): 32332 is a subset of
4784 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
4785 (TARGET_SWITCHES): Fix description of bitfield option.
4786 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
4787 -mieee-compare option. Remove 32332 flag.
4788
5da4f548 47892002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
4790
4791 * explow.c (convert_memory_address): Remove special handling
5da4f548 4792 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 4793 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
4794 (movedi_symbolic): Fix typo.
4795 (load_fptr): Remove mode restriction so it works for SI and DI.
4796 (load_fptr_internal1): Ditto.
4797 (load_gprel): Ditto.
4798 (load_symptr_internal1): Ditto.
4799 (call_pic): Ditto.
5d7c2819 4800 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
4801 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
4802 (ia64_expand_move): Ditto.
4803 (ia64_assemble_integer): Handle SImode function pointers.
4804 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
4805 (ia64_expand_op_and_fetch): Ditto.
4806 (ia64_expand_compare_and_swap): Ditto.
4807 (ia64_expand_lock_test_and_set): Ditto.
4808 (ia64_expand_lock_release): Ditto.
4809
1575c31e
JD
48102002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4811
4812 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
4813
48142002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4815 Richard Earnshaw <rearnsha@arm.com>
4816
e5faf155 4817 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
4818 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
4819
3894f59e
RE
48202002-07-16 Richard Earnshaw <rearnsha@arm.com>
4821
4822 * arm.md (stack_tie): New insn. Use an idiom that the alias code
4823 understands to be a memory clobber.
4824 * arm.c (arm_expand_prologue): Use it.
4825
e0b89be2 48262002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
4827
4828 * ra-rewrite.c: #include reload.h, insn-config.h
4829 * ra-build.c: #include reload.h
4830 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 4831 depend on reload.h, insn-config.h.
54b2a7f8 4832
cffa2189
R
4833Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
4834
4835 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
4836 the same size as a word.
4837
4838 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
4839 BYTES_BIG_ENDIAN into account.
4840
052c96b1
JH
4841Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
4842
4843 * i386.md (prefetch): Fix for 64bit mode.
4844 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
4845
4846 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
4847
ae32926b
MM
48482002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
4849
4850 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
4851
6c535c69
ZW
48522002-07-15 Zack Weinberg <zack@codesourcery.com>
4853
4854 * ginclude/varargs.h: Replace with stub which issues #error.
4855 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
4856 __builtin_va_start.
4857
4858 * builtins.def (BUILT_IN_VARARGS_START): Delete.
4859 (BUILT_IN_VA_START): New.
4860 * builtins.c (expand_builtin_va_start): Eliminate first
4861 argument and code to implement pre-ISO varargs.
4862 (std_expand_builtin_va_start): Ignore first argument; it is
4863 always 1.
4864 (expand_builtin): Handle BUILT_IN_VA_START and
4865 BUILT_IN_STDARG_START identically. Delete
4866 BUILT_IN_VARARGS_START case.
4867
4868 * function.c (assign_parms): Delete hide_last_arg and all
4869 its uses.
4870 (mark_varargs): Delete function.
4871 * function.h (struct function): Delete 'varargs' bit.
4872 (current_function_varargs): Delete macro.
4873 * tree.h: Don't declare mark_varargs.
4874
4875 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
4876 (c_expand_body): Don't call mark_varargs.
4877 * c-objc-common.c: Handle BUILT_IN_VA_START and
4878 BUILT_IN_STDARG_START identically. Delete
4879 BUILT_IN_VARARGS_START case.
4880 * c-tree.h: Don't declare c_mark_varargs.
4881 * c-parse.in: Remove grammar rules for '&...' (which has been
4882 commented out since before 2.7.2) and for '...' in K+R
4883 argument declarations.
4884
4885 * builtins.c, function.c, integrate.c, sibcall.c,
4886 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
4887 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
4888 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
4889 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
4890 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
4891 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
4892 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
4893 config/stormy16/stormy16.c: Delete all references to
4894 current_function_varargs, and code predicated on that flag.
4895
4896 * config/alpha/alpha.c (alpha_va_start),
4897 config/arc/arc.c (arc_va_start),
4898 config/i386/i386.c (ix86_va_start),
4899 config/mips/mips.c (mips_va_start),
4900 config/mn10300/mn10300.c (mn10300_va_start),
4901 config/rs6000/rs6000.c (rs6000_va_start),
4902 config/s390/s390.c (s390_va_start),
4903 config/sh/sh.c (sh_va_start),
4904 Ignore first argument; it is always 1.
4905
4906 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
4907 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
4908 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
4909 Delete m68hc11_va_start.
4910 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
4911 No need to define EXPAND_BUILTIN_VA_START.
4912
4913 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
4914 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
4915
6d80a854
EB
49162002-07-15 Eric Botcazou <ebotcazou@multimania.com>
4917
4918 PR optimization/7153
4919 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
4920 dies in more than one insn.
4921
043cfcbe
JT
49222002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
4923
4924 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
4925
ed8d2920 49262002-07-15 Michael Matz <matz@suse.de>,
6c535c69 4927 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
4928 Denis Chertykov <denisc@overta.ru>
4929
4930 Add a new register allocator.
4931
4932 * ra.c: New file.
4933 * ra.h: New file.
4934 * ra-build.c: New file.
4935 * ra-colorize.c: New file.
4936 * ra-debug.c: New file.
4937 * ra-rewrite.c: New file.
4938
4939 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
4940 (ra-rewrite.o): New .o files for libbackend.a.
4941 (GTFILES): Add basic-block.h.
4942
4943 * toplev.c (flag_new_regalloc): New.
4944 (f_options): New option "new-ra".
4945 (rest_of_compilation): Call initialize_uninitialized_subregs()
4946 only for the old allocator. If flag_new_regalloc is set, call
4947 new allocator, instead of local_alloc(), global_alloc() and
4948 friends.
4949
4950 * doc/invoke.texi: Document -fnew-ra.
4951 * basic-block.h (FOR_ALL_BB): New.
4952 * config/rs6000/rs6000.c (print_operand): Write small constants
4953 as @l+80.
4954
4955 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
4956 (df_reg_table_realloc): Make size at least as large as max_reg_num().
4957 (df_insn_table_realloc): Size argument now is absolute, not relative.
4958 Changed all callers.
4959
4960 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
4961 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
4962
4963 2002-06-20 Michael Matz <matz@suse.de>
4964
4965 * df.h (struct ref.id): Make unsigned.
4966 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
4967
4968 2002-06-13 Michael Matz <matz@suse.de>
4969
4970 * df.h (DF_REF_MODE_CHANGE): New flag.
4971 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
4972 involving subregs with invalid mode changes, when
4973 CLASS_CANNOT_CHANGE_MODE is defined.
4974
4975 2002-05-07 Michael Matz <matz@suse.de>
4976
4977 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
4978
4979 2002-05-03 Michael Matz <matz@suse.de>
4980
4981 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
4982
4983 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
4984
4985 * regclass.c (regclass): Work with all regs which have sets or
4986 refs.
4987 (reg_scan_mark_refs): Count regs inside (clobber ...).
4988
4989 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
4990
4991 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
4992 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
4993 add new refs.
4994 (df_bb_refs_update): Don't clear insns_modified here, ...
4995 (df_analyse): ... but here.
4996
4997 * sbitmap.c (dump_sbitmap_file): New.
4998 (debug_sbitmap): Use it.
4999
5000 * sbitmap.h (dump_sbitmap_file): Add prototype.
5001
5002 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
5003
5004 * df.c (df_insn_modify): Grow the UID table if necessary, rather
5005 than assume all emits go through df_insns_modify.
5006
5007 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
5008
5009 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
5010 increase REG_N_REFS (like flow does), so that regclass doesn't
5011 think a reg is useless, and thus, not calculate a class, when it
5012 really should have.
5013
5014 2001-01-28 Daniel Berlin <dberlin@redhat.com>
5015
5016 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
5017 dataflow analysis.
5018
794a292d
JJ
50192002-07-15 Jakub Jelinek <jakub@redhat.com>
5020
5021 PR middle-end/7245
5022 * config/i386/i386.c (const_int_1_31_operand): New.
5023 * config/i386/i386.h (PREDICATE_CODES): Add it.
5024 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
5025 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
5026 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
5027
05d49501
AM
50282002-07-14 Alan Modra <amodra@bigpond.net.au>
5029
5030 PR target/7282
5031 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
5032 (floatunssidf2): Likewise.
5033 (floatsidf_ppc64): New insn_and_split.
5034 (floatunssidf_ppc64): Likewise.
5035
e89617fe
AJ
50362002-07-14 Andreas Jaeger <aj@suse.de>
5037
5038 * config.gcc (sh64): Remove unused
5039 target_requires_64bit_host_wide_int.
5040
78762e3b
RS
50412002-07-12 Roger Sayle <roger@eyesopen.com>
5042
5043 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
5044 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
5045 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
5046 whether clear_by_pieces should be used to clear storage.
5047 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
5048
5049 * doc/tm.texi: Document these two new target macros.
5050
f7a454e9
SC
50512002-07-12 Stephane Carrez <stcarrez@nerim.fr>
5052
5053 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
5054 the scratch register.
5055 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
5056 of it, forbid reload to use it.
5057
26af4041
MM
50582002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
5059
5060 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
5061 usage on 64-bit hosts, return value was truncated to 32 bits.
5062
226cfe61
R
5063Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
5064
5065 * simplify-rtx.c (simplify_subreg): Handle floating point
5066 CONST_DOUBLEs. When an integer subreg of a smaller mode than
5067 the element mode is requested, compute a subreg with an
5068 integer mode of the same size as the element mode first.
5069
25c25947
R
5070Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5071
5072 * combine.c (try_combine): When converting a paradoxical subreg
5073 to an extension, take LOAD_EXTEND_OP into account.
5074
789b7de5
RO
50752002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5076
5077 * config.gcc (mips-sgi-irix6*o32): New configuration.
5078
5079 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
5080 configurations.
5081 * configure: Regenerate.
5082
5083 * config/mips/iris6-o32-as.h: New file.
5084 * config/mips/iris6-o32.h: New file.
e89617fe 5085
789b7de5
RO
5086 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
5087 (NM_FLAGS): Define.
5088 (HAVE_AS_SHF_MERGE): Undefine.
5089
5090 * config/mips/t-iris5-as: New file.
5091 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
5092
5093 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
5094 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
5095 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
5096 dp-bit.c, fp-bit.c): Move ...
5097 * config/mips/t-iris5-6: ... here.
5098 New file, shared by IRIX 5 and IRIX 6.
5099 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
5100 mips-sgi-irix5*): Use it.
5101
5102 * config/mips/iris6.h: Remove duplicate comment.
5103
5104 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
5105 !TARGET_IRIX6]: Define.
5106 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
5107
5108 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
5109
a18c2c5f
JDA
51102002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5111
5112 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
5113 and delete code to force constant to register.
5114 * pa-protos.h (adddi3_operand): Add prototype.
5115 * pa.c (adddi3_operand): New function.
5116
e65a2d65
RS
51172002-07-11 Roger Sayle <roger@eyesopen.com>
5118
5119 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
5120 non-ANSI builtin functions.
5121
a06e3c40
R
5122Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
5123
5124 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
5125 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
5126 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
5127 (gen_const_vector_0): Use it.
5128
47abc309
JDA
51292002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5130
5131 * pa.md (adddi3): For 32-bit targets, force constants to a register
5132 if they don't fit in an 11-bit immediate. Change insn predicate to
5133 arith11_operand. Remove comment.
5134 * pa.c (cint_ok_for_move): Fix comment.
5135 (emit_move_sequence): Don't directly split DImode constants on 32-bit
5136 targets.
5137
8ac9d31f
TJ
51382002-07-11 Tim Josling <tej@melbpc.org.au>
5139
e89617fe 5140 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
5141
5142 * Makefile.in
5143 (STAGESTUFF): add gtyp-gen.h
5144 (GTFILES): Remove front end specific files.
5145 (GTFILES_FILES_LANGS): New, from configure..
5146 (GTFILES_FILES_FILES): Likewise.
5147 (GTFILES_LANG_DIR_NAMES): Likewise.
5148 (GTFILES_SRCDIR): Likewise.
5149 (gtyp-gen.h): Build from configure information.
5150 (s-gtype): Remove command line parameters from gengtype.
5151 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
5152 (mostlyclean): Delete files generated by and for gengtype.
5153
5154 * c-config-lang.in: New file.
5155
5156 * configure.in (all_gtfiles_files_langs): New. Accumulate files
5157 for each language.
5158 (all_gtfiles_files_files): New. Accumulate language for each file
5159 accumulated.
5160 (gtfiles): Pick up value for C.
5161 (srcdir): AC-SUBST this variable.
5162 (all_gtfiles_files_langs): AC-SUBST this variable.
5163 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 5164
8ac9d31f 5165 * configure: Regenerate.
e89617fe 5166
8ac9d31f
TJ
5167 * gengtype-lex.l (parse_file): Make parameter const.
5168
5169 * gengtype.c (toplevel): include gtyp-gen.h.
5170 (BASE_FILE_<language> unnamed enum): Delete.
5171 (lang_names): Delete (replaced by gtyp-gen.h)
5172 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
5173 all references.
5174 (NUM_GT_FILES): New.
5175 (NUM_LANG_FILES): New.
5176 (srcdir_len): New.
5177 (NUM_BASE_FILES): Change calculation.
5178 (open_base_files): Change prototype to avoid warning.
5179 (startswith): Delete.
5180 (get_file_basename): Iterate through generated language list not
5181 hard coded list.
5182 (get_base_file_bitmap): Use generated list of files and languages.
5183 (close_output_files): Add prototype to rmove warning.
5184 (main): Iterate through list of generated files from gtyp-gen.h
5185 rather than command line paramaters. Ignore duplicated file
e89617fe 5186 names.
8ac9d31f
TJ
5187
5188 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 5189
8ac9d31f
TJ
5190 * doc/sourcebuild.texi: Document gtfiles variable.
5191
5192 * doc/gty.texi: Document changes to gtfiles variable for front
5193 ends.
5194
5195 * objc/config-lang.in (gtfiles): Add files needed for objc front
5196 end.
5197
0e603223
RS
51982002-07-10 Roger Sayle <roger@eyesopen.com>
5199
5200 PR c/2454
5201 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
5202 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
5203
c5358a5d
RS
52042002-07-10 Roger Sayle <roger@eyesopen.com>
5205 Zack Weinberg <zack@codesourcery.com>
5206
5207 * builtins.def: Make the argument types of abort and exit
5208 independent of the front-end.
5209
a35f8b74
AM
52102002-07-11 Alan Modra <amodra@bigpond.net.au>
5211
5212 * config/rs6000/linux64.h (ASM_SPEC): Define.
5213
89e7058f
AH
52142002-07-10 Aldy Hernandez <aldyh@redhat.com>
5215
6c535c69
ZW
5216 * config/rs6000/rs6000.c (emit_frame_save): New.
5217 (rs6000_frame_related): Replace reg2 before reg.
5218 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
5219 and eh_return registers.
89e7058f 5220
086bbd21
TM
52212002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
5222
5223 Revert all patches for optimization of Complex .op. Real.
5224 * complex_part_zero_p: Remove
5225 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
5226 with x.
5227 * expand_cmplxdiv_wide: Ditto.
5228 * expand_binop: Ditto.
5229
126dbce0
MM
52302002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
5231
5232 * config/avr/avr.md: Fix two 0x80000000 constants to make them
5233 negative also on 64-bit hosts.
5234
5235 Default to -fno-reorder-blocks when optimizing for size.
5236 * config/avr/avr-protos.h (avr_optimization_options): Declare.
5237 * config/avr/avr.c (avr_optimization_options): New function.
5238 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
5239
5240 Optimize returning from simple functions.
5241 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
5242 * config/avr/avr.c (avr_simple_epilogue): New function.
5243 * config/avr/avr.md (return): New insn.
5244
21c318ba
DR
52452002-07-10 Douglas B Rupp <rupp@gnat.com>
5246
5247 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
5248 HAS_INIT_SECTION to protection.
5249
537834c8
MM
52502002-07-10 Mark Mitchell <mark@codesourcery.com>
5251
5252 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
5253 deprecated.
5254
80ba02b1
R
5255Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
5256
5257 * combine.c (gen_lowpart_for_combine): Handle vector modes.
5258 Supply non-VOID mode to simplify_gen_subreg.
5259
ae3aa00d
JH
5260Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
5261
5262 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
5263
029f3983
JL
52642002-07-10 Jeffrey A Law <law@redhat.com>
5265
7a464913
JL
5266 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
5267 as appropriate.
5268
6c535c69
ZW
5269 * mn10200.c (expand_epilogue): Fix test to determine which scratch
5270 register to use.
029f3983 5271
ff27a429
R
5272Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
5273
5274 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
5275 Get mode from dest.
5276 If simplify_gen_subreg fails, try next equivalent.
5277
e6986399
GDR
52782002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
5279
5280 * diagnostic.h: #include location.h
5281 (location_t): Move definition to..
5282 * location.h: ... here. New file.
5283 * tree.h: #include location.h
5284 (DECL_SOURCE_LOCATION): New macro.
5285 (DECL_SOURCE_FILE): Use.
5286 (DECL_SOURCE_LINE): Likewise.
5287 (struct tree_decl): REplace filename and linenum with locus.
5288 * Makefile.in (TREE_H): add location.h
5289 (diagnostic.o): Depends on gt-location.h
5290 (gt-location.h): Depends on s-gtype
5291
7990b46f
MK
52922002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
5293
5294 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
5295 TARGET_OS_CPP_BUILTINS.
5296 * config/rs6000/aix31.h: Likewise.
5297 * config/rs6000/aix41.h: Likewise.
5298 * config/rs6000/aix43.h: Likewise.
5299 * config/rs6000/aix51.h: Likewise.
5300 * config/rs6000/beos.h: Likewise.
5301 * config/rs6000/darwin.h: Likewise.
5302 * config/rs6000/eabi.h: Likewise.
5303 * config/rs6000/eabisim.h: Likewise.
5304 * config/rs6000/linux.h: Likewise.
5305 * config/rs6000/linux64.h: Likewise.
5306 * config/rs6000/lynx.h: Likewise.
5307 * config/rs6000/mach.h: Likewise.
5308 * config/rs6000/rtems.h: Likewise.
5309 * config/rs6000/sysv4.h: Likewise.
5310 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
5311
53122002-07-09 Devang Patel <dpatel@apple.com>
5313 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
5314 Do not allow ObjC objects as a parameter type for Objective-C methods.
5315 My previous patch restricted 'struct' also.
e89617fe 5316
cd98faa1
NB
53172002-07-09 Neil Booth <neil@daikokuya.co.uk>
5318
5319 * cpperror.c (cpp_error): Default to directive_line within
5320 directives here.
5321 * cppexp.c (cpp_interpret_integer): Only use traditional
5322 number semantics in directives.
5323 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
5324 (do_include_common): Similarly.
5325 * cpptrad.c (scan_out_logical_line): Implement accurate
5326 quoting of <> in #include.
5327 * doc/cpp.texi: Update.
5328
2ad65b0e 5329Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 5330 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
5331
5332 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
5333 * sh.md (attribute issues): Replace with:
5334 (attribute pipe_model). All users changed.
5335 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
5336 All users changed.
5337 (function units sh5issue, sh5fds): New.
5338 (attribute is_mac_media): New.
5339 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
5340 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
5341 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
5342 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
5343 (call_media, call_value_media, sibcall_media): Likewise.
5344 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
5345 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
5346 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
5347 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
5348 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
5349 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
5350 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
5351 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
5352 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
5353 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
5354 (truncdfsf2_media): Likewise.
5355 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
5356 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
5357
b6d33983
R
5358Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
5359
5360 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
5361 * sh.c (general_extend_operand, inqhi_operand): New functions.
5362 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
5363 alternatives using 'N' modifier. Add type.
5364 (adddi3z_media): Likewise. Enable generator function generation.
5365 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
5366 exact predicates / constraints. Add type.
5367 (subsi3): Allow 0 for SHMEDIA.
5368 (udivsi3_i4_media): Use match_operand for input values
5369 rather than hard registers.
5370 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
5371 unnecessarily through hard registers. Keep copies of pseudo
5372 registers outside of the libcall sequence.
5373 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
5374 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
5375 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
5376 (extendhidi2, extendqidi2): Likewise.
5377 (andsi3_compact): Name.
5378 (andcdi3): Enable generator function generation.
5379 (zero_extendhisi2, zero_extendqisi2): Rename to
5380 (zero_extendhisi2_compact, zero_extendqisi2_compact).
5381 (extendhisi2, extendqisi2): Rename to
5382 (extendhisi2_compact, extendqisi2_compact).
5383 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
5384 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
5385 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
5386 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
5387 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
5388 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
5389 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
5390 (shmedia32_initialize_trampoline_big): Likewise.
5391 (shmedia32_initialize_trampoline_little): Likewise.
5392 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
5393 (negdi2): Remove spurious T clobber.
5394 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
5395 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
5396 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
5397 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
5398 (ic_invalidate_line_media): Write back data cache before invalidating
5399 instruction cache. Add type.
5400 (movsf_media): Sign-extend when the destination is a general
5401 purpose register. Add type.
5402 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
5403 (casesi_worker_0+1): Only increment ref count for proper label.
5404 (casesi_worker_0+2): Likewise.
5405
7ca0873c
MM
54062002-07-09 Mark Mitchell <mark@codesourcery.com>
5407
5408 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
5409
26b10ae0 54102002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 5411
26b10ae0
SE
5412 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
5413 from Pmode to ptr_mode.
5414 (get_exception_pointer): Ditto.
5415 (connect_post_landing_pads): Ditto.
5416 (dw2_build_landing_pads): Ditto.
5417
0c3a2ea0
SE
54182002-07-08 Steve Ellcey <sje@cup.hp.com>
5419 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
5420 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
5421 (handle_pragma_redefine_extname): Change to use new function.
5422
26c34780
RS
54232002-07-08 Roger Sayle <roger@eyesopen.com>
5424
5425 * combine.c (combine_simplify_rtx): Add an explicit cast
5426 to avoid signed/unsigned comparison warning.
5427 (simplify_if_then_else): Likewise.
5428 (extended_count): Likewise.
5429 (simplify_shift_const): Likewise.
5430 (simplify_comparison): Likewise.
5431
1d4047e0
RS
54322002-07-08 Richard Sandiford <rsandifo@redhat.com>
5433
5434 * config/mips/mips.md: Add imadd type. Update scheduler description
5435 to use imadd as well as imul.
5436 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
5437 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
5438 (*mul_sub_si): Likewise for first alternative. Change second
5439 alternative from imul to multi.
5440
5351f1ca
NB
54412002-07-07 Neil Booth <neil@daikokuya.co.uk>
5442
5443 * c-common.c (c_common_post_options): Update prototype;
5444 don't init backends if preprocessing only.
5445 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
5446 * langhooks.h (struct lang_hooks): Update post_options to
5447 return a boolean.
5448 * toplev.c (parse_options_and_default_flags, do_compile,
5449 lang_independent_init): Update prototypes. Allow the
5450 front end to specify that there is no need to initialize
5451 the back end.
5452 (general_init): Move call to hex_init here...
5453 (toplev_main): ...from here. Pass flag for back end init
5454 suppression.
5455
c8cc4417
R
5456Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
5457
5458 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
5459 (PREDICATE_CODES): Add entries for equality_comparison_operator,
5460 greater_comparison_operator and less_comparison_operator.
5461 * sh.c (print_operand): Add '\'' code. Make 'o' handle
5462 more operators.
5463 (equality_comparison_operator): New function.
5464 (greater_comparison_operator, less_comparison_operator): Likewise.
5465 * sh.md (beq_media_i): Disable generator function generation.
5466 Use match_operator to handle a whole class of comparisons. Add
5467 modifier in output template to provide branch prediction. Add type.
5468 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
5469 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
5470 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
5471 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
5472
957ec0f9
HPN
54732002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
5474
5475 Emit MMIX function prologue and epilogue as rtl.
5476 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
5477 not unprototyped get_hard_reg_initial_val.
5478 ("call_value", "nonlocal_goto_receiver"): Ditto.
5479 ("return"): Make define_expand. Move real insn to...
5480 ("*expanded_return"): New pattern.
5481 ("prologue", "epilogue"): New define_expands.
5482 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
5483 (struct machine_function): New member in_prologue.
5484 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
5485 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
5486 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
5487 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
5488 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
5489 (LOCAL_REGNO): Define. Adjust comment.
5490 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
5491 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
5492 leaf_function_p.
5493 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
5494 the prologue.
5495 (mmix_target_asm_function_prologue): Make static. Just mark that
5496 the prologue is being emitted. Move guts to...
5497 (mmix_expand_prologue): New function. Adjust for emitting
5498 prologue as rtl. For sizes, use HOST_WIDE_INT only.
5499 (mmix_target_asm_function_epilogue): Make static. Simply emit a
5500 \n. Move guts to...
5501 (mmix_expand_epilogue): New function. Adjust for emitting
5502 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
5503 (mmix_target_asm_function_end_prologue): Mark that the prologue
5504 has ended.
5505 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
5506 (mmix_conditional_register_usage): Improve comments.
5507 (mmix_local_regno): New function.
5508 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
5509 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
5510 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
5511 (mmix_get_hard_reg_initial_val): Ditto.
5512
7ab5c789
AJ
55132002-07-06 Andreas Jaeger <aj@suse.de>
5514
5515 * toplev.c (set_fast_math_flags): Don't use ISO C style function
5516 definitions.
5517 * gengtype.c (open_base_files): Likewise.
5518 (close_output_files): Likewise.
5519 * tracer.c (find_best_predecessor): Likewise.
5520 (find_best_successor): Likewise.
5521 (ignore_bb_p): Likewise.
5522
df061a43
RS
55232002-07-05 Roger Sayle <roger@eyesopen.com>
5524
5525 PR c++/7099
5526 * builtin-attrs.def: Define new attribute lists for use in
5527 builtins.def.
5528 * builtins.def [DEF_BUILTIN]: Modify to take an additional
5529 ATTRS argument, an enumerated value defined in builtin-attrs.def
5530 that represents the attribute list for the builtins. Modify
5531 all builtin functions to pass an appropriate attribute list.
5532 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
5533 their required noreturn attributes.
5534 * tree.h (enum_builtin_function): Ignore the additional parameter
5535 to DEF_BUILTIN.
5536 * builtins.c (built_in_names): Likewise.
5537 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
5538 argument with a tree representing the functions attribute list.
5539 Pass this "attrs" argument to builtin_function. No longer handle
5540 the noreturn_p processing manually.
5541 (built_in_attributes): Move the definitions from builtin-attrs.def
5542 before c_common_nodes_and_builtins.
5543 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
5544 DEF_BUILTIN, passing it to both builtin_function and the changed
5545 builtin_function_2.
5546
5547 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
5548 __builtin__exit and __builtin__Exit.
5549
e5eb8de8
SC
55502002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5551
5552 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
5553 QI mode registers in soft registers.
7ab5c789 5554 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
5555 for register allocation (use '*' constraint).
5556
4c8aed14
SC
55572002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5558
5559 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
5560 it is dead.
5561 ("*ashrsi3"): Likewise.
5562 ("*lshrsi3"): Likewise.
5563
99ed68ea
VM
55642002-07-05 Vladimir Makarov <vmakarov@redhat.com>
5565
5566 * genautomata.c (output_max_insn_queue_index_def): Take latencies
5567 into account.
5568
4c8aed14 55692002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
5570
5571 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
5572 address computation and memory moves.
5573
9833f679
MM
55742002-07-03 Mark Mitchell <mark@codesourcery.com>
5575
5576 PR c++/6706
5577 * dwarfout.c (output_reg_number): Fix warning message.
5578 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
5579 before using it.
7ab5c789 5580
81bca2f5
RO
55812002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5582
5583 * gcc/gcc.c (asm_debug): Move initialization ...
5584 (init_spec): ... here.
5585
17f44f02
NS
55862002-07-05 Nathan Sidwell <nathan@codesourcery.com>
5587
5588 * c-parse.in (extdef): Append ';'.
5589 (old_style_parm_decls): Append ';'.
5590
da77408f
DJ
55912002-07-04 Daniel Jacobowitz <drow@mvista.com>
5592
5593 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
5594 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
5595 to gcc_cv_as_gstabs_flag.
5596 * configure: Rebuilt.
5597
ec52b446
GK
55982002-07-04 Geoffrey Keating <geoffk@redhat.com>
5599
5600 * ggc.h (ggc_add_root): Document as obsolete.
5601
8721e3df
R
5602Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
5603
5604 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
5605 (mshflo_w): Likewise.
5606
3767c0fd
R
5607Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
5608
5609 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
5610 vector mode subregs of constants to finding integer mode
5611 subregs of constants.
5612 * cse.c (cse_insn): Use simplify_gen_subreg.
5613 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
5614 From a vector mode expression of different size than the
5615 target mode.
5616
4e314d1f
EC
56172002-07-03 Eric Christopher <echristo@redhat.com>
5618
5619 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
5620 * config/mips/mips.h: Remove deprecated -m<processor> options
5621 and cc1_cpu_spec associated.
5622 (CONSTANT_ADDRESS_P): Fix last patch.
5623 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
5624 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
5625 sunge_sf): Remove.
5626
6f0361e3
SS
56272002-07-03 Stan Shebs <shebs@apple.com>
5628
5629 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
5630 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
5631 (CPP_SPEC): Remove insertion of APPLE_CC definition.
5632
3129af4c
RS
56332002-07-03 Roger Sayle <roger@eyesopen.com>
5634
5635 * combine.c (struct_undo): Change types of recorded substitutions
5636 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
5637 (do_SUBST_INT): Change types of the substitution from unsigned int
5638 to int, to avoid compilation warning from SUBST_INT's only caller.
5639
5640 (make_extraction): Add cast to avoid compilation warning.
5641 (force_to_mode): Remove cast to avoid compilation warning.
5642
c7375e61
EB
56432002-07-03 Eric Botcazou <ebotcazou@multimania.com>
5644 Jeff Law <law@redhat.com>
5645
5646 * i386.md (length_immediate attribute): Fix typo.
5647 (length_address attribute): Likewise.
5648 (modrm attribute): Set it to 0 for immediate call instructions.
5649 (jcc_1 pattern): Set modrm attribute to 0.
5650 (jcc_2 pattern ): Likewise.
5651 (jump pattern): Likewise.
5652 (doloop_end_internal pattern): Explicitly set length.
5653 (leave pattern): Fix typo.
5654 (leave_rex64 pattern): Likewise.
5655
61c07d3c
DE
56562002-07-03 David Edelsohn <edelsohn@gnu.org>
5657
5658 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
5659 in FPR as preference.
5660 (fctiwz): Same.
5661 (floatdidf2, fix_truncdfdi2): Same.
5662 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
5663 (floatditf2): Same.
5664 (floatsitf2, fix_trunctfsi2): SImode in GPR.
5665 (ctrdi): Remove FPR alternative and splitter.
5666
56672002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
5668
5669 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
5670
34a80643
R
5671Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
5672
5673 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
5674 than UNITS_PER_WORD, unless this is little endian and the first unit
5675 in this word. Let extract_bit_field decide how to load an element.
5676 Force arguments to matching mode.
5677 (expand_vector_unop): Likewise.
5678
5679 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
5680 consist of word_mode elements.
5681 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
5682 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
5683 (build_unary_op): Allow vector types for BIT_NOT_EPR.
5684 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
5685 CONST_VECTOR.
5686 * optabs.c (expand_vector_binop): Try to perform operation in
5687 smaller vector modes with same inner size. Add handling of AND, IOR
5688 and XOR. Reject expansion to inner-mode sized scalars when using
5689 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
5690 (expand_vector_unop): Try to perform operation in smaller vector
5691 modes with same inner size. Add handling of one's complement.
5692 When there is no vector negate operation, try a vector subtract
5693 operation. Use simplify_gen_subreg on constants.
5694 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
5695 constants into smaller vectors with same inner mode, and to
5696 integer CONST_DOUBLEs.
5697
622d3731
KG
56982002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5699
5700 * c-parse.in (parsing_iso_function_signature): New variable.
5701 (extdef_1): New, copied from...
5702 (extdef): ... here. Reset parsing_iso_function_signature.
5703 (old_style_parm_decls): Reset parsing_iso_function_signature.
5704 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
5705 Warn about ISO C style function definitions.
5706 (nested_function, notype_nested_function): Reset
5707 parsing_iso_function_signature.
5708 (parmlist_2): Set parsing_iso_function_signature.
5709
5710 * doc/invoke.texi (-Wtraditional): Document new behavior.
5711
9bb46191
CD
57122002-07-02 Chris Demetriou <cgd@broadcom.com>
5713
5714 * config.gcc (mips*el-*-*): Use tm_defines to set
5715 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
5716 * config/mips/little.h: Remove.
5717
e1c2dd26 57182002-07-02 Devang Patel <dpatel@apple.com>
c40da518 5719
c40da518 5720 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
5721 object as parameter. Prevent something like 'NSObject' to be
5722 used as the type for a method argument.
c40da518 5723
0879540b
NB
57242002-07-03 Neil Booth <neil@daikokuya.co.uk>
5725
5726 * cpptrad.c: Update comment.
5727
b6fb43ab 57282002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 5729
b6fb43ab
NB
5730 * doc/cpp.texi: Update for traditional preprocessing changes.
5731 * goc/cppopts.texi: Similarly.
5732
c1c5187c
ZL
57332002-07-02 Ziemowit Laski <zlaski@apple.com>
5734
5735 * c-parse.in (designator): Enable designated initializers if ObjC.
5736 (objcmessageexpr): Remove references to objc_receiver_context.
5737 * objc/objc-act.h (objc_receiver_context): Remove decl.
5738 * objc/objc-act.c (objc_receiver_context): Remove.
5739 (lookup_objc_ivar): Test objc_method_context instead of
5740 objc_receiver_context.
5741
52702ae1
R
5742Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
5743
5744 * sh.c (print_operand, case 'N'): Allow zero vector.
5745 (arith_reg_or_0_operand): Likewise.
5746 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 5747 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
5748 IOR, XOR, PLUS and SET and take their respective constant
5749 ranges into account.
5750 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
5751 * sh.md (subdi3, subdi3_media): Allow zero operand.
5752 (movv8qi_i+3): Only vector that is not split is the zero vector.
5753 Fix operand 3 to simplify_subreg.
5754 (movv2si_i): Split alternative 1.
5755 (mshfhi_l_di_rev+1): New splitter.
5756
49e7b251
NB
57572002-07-02 Neil Booth <neil@daikokuya.co.uk>
5758
ba57a9c0 5759 PR preprocessor/7029
49e7b251
NB
5760 * cppinit.c (cpp_handle_option): Suppress warnings with an
5761 implicit "-w" for "-M" and "-MM".
5762 * doc/cppopts.texi: Update.
5763
a3acdc0c
RS
57642002-07-01 Roger Sayle <roger@eyesopen.com>
5765
5766 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
5767 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
5768 builtin_function.
5769
0b558962
AM
57702002-07-02 Alan Modra <amodra@bigpond.net.au>
5771
5772 * README.Portability: Fix typos.
5773
9a81c5b7
HPN
57742002-07-01 Hans-Peter Nilsson <hp@axis.com>
5775
5776 PR target/7177
5777 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
5778 of indirections for register inside sign-extended mem part.
5779
6a2dd09a
RS
57802002-07-01 Roger Sayle <roger@eyesopen.com>
5781
5782 * tree.h: Modify builtin_function interface to take an extra
5783 argument ATTRS, which is a tree representing an attribute list.
5784
5785 * c-decl.c (builtin_function): Accept additional parameter.
5786 * objc/objc-act.c (builtin_function): Likewise.
5787 * f/com.c (builtin_function): Likewise.
5788 * java/decl.c (builtin_function): Likewise.
5789 * ada/utils.c (builtin_function): Likewise.
5790 * cp/decl.c (builtin_function): Likewise.
5791 (builtin_function_1): Likewise.
5792
5793 * c-common.c (c_common_nodes_and_builtins): Pass an additional
5794 NULL_TREE argument to builtin_function. (builtin_function_2):
5795 Likewise.
5796 * cp/call.c (build_java_interface_fn_ref): Likewise.
5797 * objc/objc-act.c (synth_module_prologue): Likewise.
5798 * java/decl.c (java_init_decl_processing): Likewise.
5799 * f/com.c (ffe_com_init_0): Likewise.
5800
5801 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
5802 NULL_TREE argument to builtin_function.
5803 * config/arm/arm.c (def_builtin): Likewise.
5804 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
5805 * config/i386/i386.c (def_builtin): Likewise.
5806 * config/ia64/ia64.c (def_builtin): Likewise.
5807 * config/rs6000/rs6000.c (def_builtin): Likewise.
5808
e20569ae
ZW
58092002-07-01 Zack Weinberg <zack@codesourcery.com>
5810
5811 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
5812 * config/mips/t-isa3264: Likewise.
5813 * config/mmix/t-mmix: Likewise.
5814
f1b690f1
JDA
58152002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
5816
5817 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
5818
6bfa5aac
RS
58192002-07-01 Roger Sayle <roger@eyesopen.com>
5820
5821 PR opt/4046
5822 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
5823 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
5824 B are truth values.
5825
9a5c1b9d
NN
58262002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
5827
5828 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
5829
d3fc4dbc
MK
58302002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
5831
3b2124df
MK
5832 * README.Portability (Function prototypes): Give an example of
5833 declaring and defining a function with no arguments.
5834
d3fc4dbc
MK
5835 * README.Portability (Function prototypes): Document new
5836 variable-argument function macros.
5837
c1b92d09
R
5838Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
5839
5840 * sh.c (langhooks.h): Include.
5841 (sh_init_builtins, sh_media_init_builtins): New functions.
5842 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
5843 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
5844 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
5845 (builtin_description): New struct tag.
5846 (signature_args, bdesc): New arrays.
5847 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
5848 (print_operand): Add 'N' modifier.
5849 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
5850 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
5851 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
5852 (CONST_COSTS): Add special case for SHmedia AND.
5853 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
5854 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
5855 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
5856 target_operand can also be const or unspec.
5857 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
5858 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
5859 (attribute type): Add new types.
5860 (anddi3): Add splitter.
5861 (movdi_const_16bit+1): Add code to handle vector constants and
5862 bitmasks efficiently.
5863 (shori_media): Have generator function made.
5864 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
5865 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
5866 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
5867 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
5868 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
5869 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
5870 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
5871 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
5872 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
5873 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
5874 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
5875 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
5876 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
5877 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
5878 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
5879 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
5880 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
5881 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
5882 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
5883 (ftrv): Likewise.
5884
5885 (fpu_switch+1, fpu_switch+2): Remove constraint.
5886
97ebc06f
AH
58872002-07-01 Aldy Hernandez <aldyh@redhat.com>
5888
6c535c69
ZW
5889 * tree.c (build_function_type_list): Update function comment.
5890 Rename first argument to return_type.
97ebc06f 5891
353a10d0
NB
58922002-07-01 Neil Booth <neil@daikokuya.co.uk>
5893
5894 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
5895 tradcif.y and related files.
5896
e34cabb3
NB
58972002-07-01 Neil Booth <neil@daikokuya.co.uk>
5898
5899 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
5900
8bf3ccbb
KG
59012002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5902
5903 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
5904
118f8dc1
DP
59052002-06-30 Devang Patel <dpatel@apple.com>
5906
5907 * objc/objc-act.c (finish_file): Avoid finish_objc() if
5908 -fsyntax-only.
5909
e3223ea2
DC
5910Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
5911 Frank Ch. Eigler <fche@redhat.com>
6c535c69 5912 Matthew Green <mrg@redhat.com>
e3223ea2
DC
5913 Richard Henderson <rtl@redhat.com>
5914 Dave Hudson <dave.hudson@ubicom.com>
5915 Jeff Johnston <jjohnstn@redhat.com>
5916 Alan Lehotsky <apl@alum.mit.edu>
5917 Bernd Schmidt <bernds@redhat.com>
5918 Graham Stott <grahams@redhat.com>
4e314d1f 5919
e3223ea2
DC
5920 * doc/extend.texi: Add ip2k port to description of attribute
5921 naked.
5922 * doc/install.texi (Specific): Add ip2k description.
5923 * doc/install-old.texi (Configurations): Add ip2k to possible
5924 cpu types.
5925 * doc/md.texi: Document ip2k constraints.
5926 * config/ip2k/crt0.S: New file.
5927 * config/ip2k/ip2k-protos.h: New file.
5928 * config/ip2k/ip2k.c: New file.
5929 * config/ip2k/ip2k.h: New file.
5930 * config/ip2k/ip2k.md: New file.
5931 * config/ip2k/libgcc.S: New file.
5932 * config/ip2k/t-ip2k: New file.
5933
66b8c57f
HPN
59342002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
5935
5936 * config/mmix/mmix.md ("return"): New pattern.
5937 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
5938 (TARGET_USE_RETURN_INSN): New macros.
5939 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
5940 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
5941 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
5942 (MMIX_POP_ARGUMENT): New macro.
5943 (mmix_target_asm_function_prologue): When no epilogue is executed,
5944 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
5945 (mmix_print_operand) <case '.'>: New case.
5946 (mmix_print_operand_punct_valid_p): Match '.'.
5947 (mmix_use_simple_return): New function.
5948 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
5949 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
5950 -msingle-exit, -mno-single-exit.
5951 (MMIX Options): Ditto.
5952
e7a60f56
AH
59532002-06-30 Aldy Hernandez <aldyh@redhat.com>
5954
6c535c69 5955 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
e7a60f56 5956
1ef7d32b
KG
59572002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5958
5959 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
5960
c8b64bf2
AM
59612002-06-30 Alan Modra <amodra@bigpond.net.au>
5962
5963 * unroll.c (loop_iterations): Handle EQ loops.
5964
35aba846
DE
59652002-06-29 David Edelsohn <edelsohn@gnu.org>
5966
5967 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
5968 constraint in define_expand, not splitter.
5969 Formatting.
5970
b4de2f7d
AH
59712002-06-29 Aldy Hernandez <aldyh@redhat.com>
5972
6c535c69
ZW
5973 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
5974 build_function_type_list instead of build_function_type.
b4de2f7d 5975
6c535c69 5976 * config/ia64/ia64.c (ia64_init_builtins): Same.
b4de2f7d 5977
6c535c69 5978 * config/alpha/alpha.c (alpha_init_builtins): Same.
b4de2f7d 5979
6c535c69 5980 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
b4de2f7d 5981
6c535c69 5982 * config/arm/arm.c (arm_init_builtins): Same.
b4de2f7d 5983
6c535c69 5984 * tree.h: Add build_function_type_list prototype.
b4de2f7d 5985
6c535c69 5986 * tree.c (build_function_type_list): New.
b4de2f7d 5987
1691051f
KG
59882002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5989
5990 * collect2.c (scan_prog_file): Fix typo in message.
5991
7bfb14f1
AL
59922002-06-28 Aaron Lehmann <aaronl@vitelus.com>
5993
6c535c69 5994 * fold-cont.c: Remove unused CHARMASK.
7bfb14f1 5995
38800fe8
NB
59962002-06-29 Neil Booth <neil@daikokuya.co.uk>
5997
5998 PR preprocessor/7150
5999 * cppmain.c (scan_translation_unit_trad): Simplify.
590e1987 6000 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
38800fe8 6001
f60ed6be
NB
60022002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
6003
6004 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
6005 Don't use CPP_PREDEFINES.
6006 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
6007 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
6008 * config/i386/djgpp.h, config/i386/i386-coff.h,
6009 config/i386/i386-interix.h, config/i386/i386-interix3.h,
6010 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
6011 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
6012 config/i386/uwin.h: Similarly.
6013
76118c11
HB
60142002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6015
6c535c69 6016 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
76118c11
HB
6017 flag_inline_trees to enable inlining.
6018
9137b119
PE
60192002-06-28 Phil Edwards <pme@gcc.gnu.org>
6020
6021 * configure.in (gcc_gxx_include_dir): Change to match versioned
6022 C++ headers if --enable-version-specific-runtime-libs is used.
6023 * configure: Regenerate.
6024
6bdb8dd6
JH
60252002-06-28 Jan Hubicka <jh@suse.cz>
6026
6027 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
6028
f1b1186f
SC
60292002-06-28 Stephen Clarke <stephen.clarke@superh.com>
6030
6031 * combine.c (combine_simplify_rtx): Pass the mode of the
6032 shift count, not the shift operation when trying to simplify
6033 a shift on a SHIFT_COUNT_TRUNCATED target.
6034
ae9bd481
SC
60352002-06-28 Stephane Carrez <stcarrez@nerim.fr>
6036
6037 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
6038 avoid the auto increment addressing modes.
6039 ("*subsi3"): Likewise.
4e314d1f 6040 (split for add/sub on address): For 68HC12 push the value on
ae9bd481
SC
6041 the stack and do the operation with a pop.
6042
1d63a28a
NB
60432002-06-28 Neil Booth <neil@daikokuya.co.uk>
6044
6045 * cpplib.c (_cpp_handle_directive): Move #define-specific
6046 code to the #define handler...
6047 (do_define): ...here.
6048 (lex_macro_node): No longer a need to check for comments here.
6049
4caff360
SC
60502002-06-28 Stephane Carrez <stcarrez@nerim.fr>
6051
6052 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
6053 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
6054 Declare.
6055 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
6056 do not reorder basic blocks at the end when optimizing for size.
6057
2cc21497
SC
60582002-06-28 Stephane Carrez <stcarrez@nerim.fr>
6059
6060 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
6061 (m68hc11_make_autoinc_notes): New function.
6062 (m68hc11_split_move): Be very cautious when spliting a move with
6063 auto increment/decrement modes because this may result in incompatible
6064 directions; add REG_INC notes to the resulting insn for CSE reg.
6065
3cdd2821
SC
60662002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
6067
6068 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
6069 can be a valid address.
6070
e6a82e80
AH
60712002-06-28 Aldy Hernandez <aldyh@redhat.com>
6072
6c535c69
ZW
6073 * config/rs6000/rs6000.c: Remove unusued variables from last
6074 patch.
e6a82e80 6075
a7ae18e2
AH
60762002-06-27 Aldy Hernandez <aldyh@redhat.com>
6077
6078 Revert:
6c535c69
ZW
6079 * config/rs6000/rs6000.c (rs6000_override_options): Move
6080 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
a7ae18e2 6081
3a9b8c7e
AH
60822002-06-27 Aldy Hernandez <aldyh@redhat.com>
6083
6c535c69
ZW
6084 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
6085 lvx/stv/dst builtins...
6086 (altivec_expand_ld_builtin): ...to here.
6087 (altivec_expand_st_builtin): ...here.
6088 (altivec_expand_dst_builtin): ...and here (respectively).
3a9b8c7e 6089
5f9dc214
BW
60902002-06-28 Bob Wilson <bob.wilson@acm.org>
6091
6092 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
6093
53501a19
BS
60942001-06-08 Bernd Schmidt <bernds@redhat.com>
6095
6096 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
6097 subregs.
6098 * recog.c (general_operand, register_operand): Disallow them.
6099
d1a58688
NB
61002002-06-28 Neil Booth <neil@daikokuya.co.uk>
6101
6102 PR preprocessor/7138
6103 * cpplib.c (_cpp_handle_directive): Do traditional
6104 preparation after setting state.angled_headers.
6105 * cpptrad.c (scan_out_logical_line): Fix potential
6106 quote bug.
6107
55c1c60d
AH
61082002-06-27 Aldy Hernandez <aldyh@redhat.com>
6109
6c535c69
ZW
6110 * config/rs6000/rs6000.c (rs6000_override_options): Move
6111 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
55c1c60d 6112
3219c65b
BW
61132002-06-27 Bob Wilson <bob.wilson@acm.org>
6114
6115 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
6116 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
6117 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
6118
c8f863fc
RS
61192002-06-27 Roger Sayle <roger@eyesopen.com>
6120
6121 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
6122 * config/stormy16/stormy16.h: Likewise.
6123
6124 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
6125 with #define.
6126
8d5362b7
GP
61272002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6128
6129 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
6130 Hitachi entry. Make punctuation more consistent.
6131
57694e40
MK
61322002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
6133
6134 * doc/install.texi: Change ` bit' to `-bit'.
6135 * doc/md.texi: Change `-bits' to `-bit'.
6136 * doc/tm.texi: Change `-bits' to ` bits'.
6137
c635a1ec
DB
61382002-06-27 Daniel Berlin <dberlin@dberlin.org>
6139
6140 * gcse.c (hoist_code): Rewrite to only get list of dominated
4e314d1f 6141 blocks once per BB. Also fix reversed test (by removing need for
c635a1ec
DB
6142 the test at all).
6143
951a0766
NB
61442002-06-27 Neil Booth <neil@daikokuya.co.uk>
6145
6146 * cpphash.h (_cpp_set_trad_context): Remove.
6147 * cpplib.c (prepare_directive_trad): Do nothing for #define.
6148 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
6149 * cpptrad.c: Update comments.
6150 (_cpp_read_logical_line_trad): Let scan_logical_line handle
6151 updating the current context.
6152 (scan_logical_line): Update the current context.
6153 (_cpp_create_trad_definition): Similarly.
6154 (_cpp_set_trad_context): Remove.
6155
06470238
NB
61562002-06-27 Neil Booth <neil@daikokuya.co.uk>
6157
6158 PR preprocessor/7070
6159 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
6160
0c14a54d
BW
61612002-06-26 Bob Wilson <bob.wilson@acm.org>
6162
6163 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
6164 config/xtensa/xtensa.c (xtensa_return_addr): New function.
6165 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
6166 config/xtensa/xtensa.md (fix_return_addr): New pattern.
6167
e9873fd5
KG
61682002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6169
6170 * mips.c (coprocessor_operand, coprocessor2_operand,
6171 symbolic_operand): Move prototypes from here...
6172 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
6173 symbolic_operand): ...to here.
6174
650e8d05
R
6175Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
6176
6177 * config/sh/crt1.asm: remove _stack label definition
6178 and sentinel value.
6179
c7836bcd
KG
61802002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6181
6182 * varasm.c: Include real.h before output.h.
6183
6e1f54e2
AH
61842002-06-26 Aldy Hernandez <aldyh@redhat.com>
6185
6c535c69
ZW
6186 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
6187 check for TARGET_ALTIVEC.
6e1f54e2 6188
18fbcbcf
NN
61892002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
6190
6191 * config.gcc (vax-*-vms*): Make obselete.
6192
09bed167
KG
61932002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6194
6195 * gcc.c (warn_std): Delete.
6196
8254cb45
LR
61972002-06-25 Loren J. Rittle <ljrittle@acm.org>
6198
6199 * doc/extend.texi: Fix formatting of last checkin.
6200
f9ee10ab
RO
62012002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6202
6203 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
6204 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
6205
90989b26
AH
62062002-06-25 Aldy Hernandez <aldyh@redhat.com>
6207
6c535c69
ZW
6208 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
6209 discrepancies from motorola's documentation.
90989b26 6210
9881adff
R
6211Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
6212
6213 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
6214 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
4de1b7a9 6215
4e314d1f 6216 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
4de1b7a9
R
6217 produce a 32 bit result before normalization, then normalize with a
6218 left shift. Compute approximative error of 2nd reciprocal
6219 approximation in 2's complement. Fix mask generation from upper
6220 longword of second divide stage result.
6221 For large divisor, fix shift count used to truncate first stage
6222 divide result; make decision if to adjust upwards based on comparison
6223 of higher parts of normalized values.
6224 (udivdi): Likewise. Undo normalization of result for large divisor
6225 case.
6226
16b46035
DM
62272002-06-25 David S. Miller <davem@redhat.com>
6228
6229 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
6230
0c6db544
NB
62312002-06-25 Neil Booth <neil@daikokuya.co.uk>
6232
6233 * cpplib.c (do_include_common): Revert to correct line number
6234 if -traditional.
6235 * cpptrad.c (scan_out_logical_line): Treat null directive as
6236 white space. Invlidate MI optimization for non-whitespace
6237 text outside a directive.
6238
eef709c7
KG
62392002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6240
b41e09a7
KG
6241 * Makefile.in (SHELL): Set to @SHELL@.
6242 * fixinc/Makefile.in (SHELL): Likewise.
6243
eef709c7
KG
6244 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
6245 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
6246 initialization.
6247
b0ac73f8
JL
62482002-06-24 Jeff Law <law@redhat.com>
6249
6250 * flow.c (propagate_one_insn): When removing an insn
6251 with a REG_LIBCALL note but not the entire libcall sequence,
6252 delete the associated REG_RETVAL note.
6253
9e96203d
R
6254Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
6255
6256 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
6257 (udivsi3): Likewise. Rewrite SH1 implementation.
6258 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
6259 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
6260 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
6261 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
6262 (_moddi3): Likewise.
6263
6264 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
87912be7
R
6265
6266 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
6267 arguments into account for stack_regs.
6268
0d893a63
MK
62692002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
6270
6271 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
6272 in examples.
4e314d1f 6273
04a5176a
AH
62742002-06-24 Art Haas <ahaas@neosoft.com>
6275
6276 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
6277 * doc/tm.texi (Frame Layout): Likewise.
6278
cad61762 62792002-06-20 Steve Ellcey <sje@cup.hp.com>
ec52b446 6280
cad61762
SE
6281 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
6282 Set float_format to i128.
6283
556a56ac
DM
62842002-06-24 David S. Miller <davem@redhat.com>
6285
6286 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
6287 32-bit ABI libfuncs to NULL.
6288
563facba
DM
6289 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
6290 strings instead of quoted strings for code blocks.
b776892b 6291
556a56ac
DM
6292 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
6293 optabs if op1 is const0_rtx.
6294
a8106207
DM
6295 * Makefile.in (GTFILES): Add basic-block.h
6296 * basic-block.h (label_value_list, tail_recursion_label_list):
6297 Mark with GTY.
6298
2c088b53
NB
62992002-06-24 Neil Booth <neil@daikokuya.co.uk>
6300
6301 * cpptrad.c (scan_out_logical_line): Check recursing only when
6302 we know we have a macro invocation in the function-like case.
6303 Only call _cpp_handle_directive if we know we have a good
6304 directive, or we want to reject a bad directive.
6305
0228d06b
AM
63062002-06-24 Alan Modra <amodra@bigpond.net.au>
6307
6308 * doloop.c (doloop_valid_p): Correct comment.
6309 (doloop_modify_runtime <abs_inc != 1>): Simplify.
6310 (doloop_modify_runtime <do-while>): Don't emit code when NE.
6311
2f9021d3
DC
6312Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
6313
6314 * config.gcc: Add support for ip2k.
6315
bc9c2952 63162002-06-23 Jan Hubicka <jh@suse.cz>
f81a79ef
JH
6317 Jeff Law <law@redhat.com>
6318
6319 * function.h (struct emit_status): Clarify potential contents
6320 of regno_reg_rtx array.
6321 * integrate.c (copy_rtx_and_substitute): Update comments. Make
6322 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
bc9c2952
AJ
6323
6324 * reg-stack.c (convert_regs_exit): Push the registers to stack in
6325 proper order.
6326
faa964e5
UW
63272002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
6328
6329 PR middle-end/6963
6330 * function.c (assign_stack_temp_for_type): Do not return
6331 the same MEM rtx for multiple uses of a stack slot.
6332
7ae3e57c
DM
63332002-06-22 David S. Miller <davem@redhat.com>
6334
6335 PR target/6841 target/6770 target/6719
6336 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
6337 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
6338 GENERAL_OR_EXTRA_FP_REGS.
6339
847c76c8
NB
63402002-06-22 Neil Booth <neil@daikokuya.co.uk>
6341
6342 * cpptrad.c (struct fun_macro): Add line number.
6343 (scan_out_logical_line): Set it, and use it to report unterminated
6344 macro invocations.
6345
813674e0
KG
63462002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6347
6348 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
6349 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
6350 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
6351 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
6352 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
6353 REGEXP_ONEOF, check_name): Const-ify.
6354
23361093
MT
63552002-06-21 Matt Thomas <matt@3am-software.com>
6356
6357 * config/vax/vax.c (vax_output_function_prologue): Use
bc9c2952 6358 REGISTER_PREFIX. Fix some indentation.
23361093
MT
6359 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
6360 (VAX_ISTREAM_SYNC): Define.
6361 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
bc9c2952
AJ
6362 i-stream sync to the end.
6363 (REGISTER_PREFIX): Define as "".
23361093
MT
6364 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
6365
1c655a0d
JT
63662002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
6367
6368 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
6369 configurations.
6370
3e16bfe2
KG
63712002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6372
6373 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
6374 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
6375
6b0760fd
MT
63762002-06-21 Matt Thomas <matt@3am-software.com>
6377
6378 * config/vax/netbsd.h: Adjust a comment.
6379 (TARGET_DEFAULT): Redefine as 0.
6380
31a78298
RH
63812002-06-21 Richard Henderson <rth@redhat.com>
6382
6383 * bb-reorder.c (make_reorder_chain_1): Search harder for the
bc9c2952
AJ
6384 vax casesi fallthru edge.
6385 * cfglayout.c (cleanup_unconditional_jumps): Use
31a78298
RH
6386 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
6387 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
6388 block after ADDR_VEC.
6389
d8bf1785
RO
63902002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6391
6392 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
6393
00b94a44
NB
63942002-06-21 Neil Booth <neil@daikokuya.co.uk>
6395
6396 * cpperror.c (cpp_error): For traditional CPP, default to
6397 diagnostics on pfile->line.
6398 * cpplib.c (prepare_directive_trad): Set line number for
6399 diagnostics for #define too.
6400 * cpptrad.c (skip_whitespace): Skip comments properly.
6401 (_cpp_expansions_different_trad): Initialize quote2.
6402
c583c5c3
HPN
64032002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
6404
6405 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
6406 * config/mmix/mmix.h: Ditto.
6407 * config/mmix/mmix-protos.h: Ditto.
6408 * config/mmix/mmix.c: Ditto. Fix typo in comment.
6409 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
6410 comment. Comment extra CC modes.
6411
1292ec0c
JH
64122002-06-20 Jan Hubicka <jh@suse.cz>
6413
6414 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
6415 (scope_to_insns_finalize): Do not call set_block_levels; handle
6416 sequences.
6417 (choose_inner_scope): New.
6418 * rtl.h (choose_inner_scope): Declare.
6419
0f8e3849
JDA
64202002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
6421
6422 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
6423 HOST_WIDE_INT.
6424 * pa.c (pa_asm_output_mi_thunk): Likewise.
6425 (n_deferred_plabels): Change type to size_t.
6426 (output_deferred_plabels, output_call): Use size_t instead of int.
6427
0655301f
RH
64282002-06-20 Richard Henderson <rth@redhat.com>
6429
6430 PR target/4041
6431 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
6432 pattern and adjust constraints for coldfire.
6433
2b3aadfc
RH
64342002-06-20 Richard Henderson <rth@redhat.com>
6435
6436 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
6437
5c44e275
CD
64382002-06-20 Chris Demetriou <cgd@broadcom.com>
6439
6440 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
6441
8fff5435
CD
64422002-06-20 Chris Demetriou <cgd@broadcom.com>
6443
6444 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
6445
8a67e083
SS
64462002-06-20 Stan Shebs <shebs@apple.com>
6447
6448 * dominance.c: Include errors.h instead of error.h.
6449
017acb41
NB
64502002-06-20 Neil Booth <neil@daikokuya.co.uk>
6451
6452 * cppexp.c (cpp_interpret_integer): Don't force traditional
6453 numbers to be unsigned.
6454 * cpplib.c (prepare_directive_trad): Set line number for
6455 diagnostics.
6456 * cpptrad.c (scan_out_logical_line): Continue scanning out
6457 at start of buffer.
6458 * gcc.c (trad_capable_cpp): Use cc1 always.
6459
0ed4a390
JL
64602002-06-20 Jeffrey Law <law@redhat.com>
6461
6462 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
6463 elimination in leaf functions by default yet.
6464
988ef418
RS
64652002-06-20 Richard Sandiford <rsandifo@redhat.com>
6466
6467 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
6468
0ab2e54b
RO
64692002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6470
6471 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
6472 multilibs.
6473 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
d8bf1785 6474 Fixes PR other/6836.
0ab2e54b 6475
355be0dc
JH
6476Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
6477 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6478
6479 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
6480
6481 * basic-block.h: Do not include et-forest.h
6482 (dominance_info): Declare as struct dominance-info.
6483 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
6484 deleting block.
6485 * dominance.c (struct dominance_info): Define.
6486 (BB_NODE, SET_BB_NODE): New macros.
6487 (bb_hash_func, bb_eq_func): Kill.
6488 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
6489 nearest_common_dominator, dominated_by_p, recount_dominator,
6490 add_to_dominance_info, delete_from_dominance_info): update for new
6491 representation.
6492 (get_dominated_by, redirect_immediate_dominators): Rewrite using
6493 enumerate_sons.
6494 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
6495 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
6496 structure.
6497
6498 * et-forest.h: Update copyright; revamp all function to operate on
6499 nodes
6500 (et_forest_value): Kill.
6501 (et_forest_enumerate_sons, et_forest_node_value): New.
6502 * et-forest.c: Update copyright.
6503 * et-forest.h: Update copyright; revamp all function to operate on
6504 nodes
6505 (et_forest_value): Kill.
6506 (et_forest_enumerate_sons, et_forest_node_value): New.
6507
6508 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
6509
6510 * basic-block.h: Inlude et-forest.h
6511 (basic_block_def): Kill dominator.
6512 (dominance_info): New type.
6513 (loops): Use dominace_info.
6514 (dominace handling functions): Take dominace_info as argument
6515 instead of bitmaps.
6516 (create_preheader): Likewise.
6517 * cfg.c (entry_exit_blocks): Kill dominator.
6518 (dump_flow_info): Do not dump dominators.
6519 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
6520 dominators.
6521 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
6522 (flow_loops_pre_header_scan, make_forwarder_block,
6523 canonicale_loop_headers, flow_loops_find): Likewise.
6524 * dominance.c: Include error.h
6525 (idoms_to_doms): Kill.
6526 (bb_hash_func, bb_eq_func): New static functions.
6527 (debug_dominace_info): New global function.
6528 (calculate_dominance_info): Use new et forest structure.
6529 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
6530 get_dominated_by, redirect_immediate_dominators,
6531 nearest_common_dominator, dominated_by_p, verify_dominators,
6532 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
6533 delete_from_dominance_info): New global functions.
6534 * gcse.c (domnators): CHange to dominance_info.
6535 (alloc_hoist_mem): Do not alloc dominators
6536 (free_code_hoist_mem): Use free_dominance_info.
6537 (compute_code_hoist_data): Use dominance_info.
6538 (hoist_code): Likewise.
6539 * ifcvt.c (post_dominators): Likewise.
6540 (find_if_case_2, if_convert): Likewise.
6541 * predict.c (process_note_predictions, process_note_prediction,
6542 estimate-probability): Likewise.
6543 * sched-rgn.c (find_rgns, init_regions): Likewise.
6544 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
6545 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
6546 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
6547 find_evaluations, convert_to_ssa): Likewise.
6548 * ssa.h (compute_dominance_frontiers): Likewise.
6549
6550 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6551
6552 * Makefile.in (et-forest.c): Add.
6553 * et-forest.c: New file.
6554 * at-forest.h: New file.
6555
ef9772c8
KG
65562002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6557
62c71f4b
KG
6558 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
6559 array size calculation.
6560 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
6561 Likewise.
6562
ef9772c8
KG
6563 * diagnostic.c (diagnostic_kind_text): Const-ify.
6564 * gengtype.c (lang_names): Likewise.
6565
b0dd4808
JH
6566Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
6567
6568 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
6569
8433a25e
RO
65702002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6571
6572 * config/sol2.h: New file.
6573 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
6574 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
6575 (sparc-*-chorusos*): Likewise.
6576 (sparc-*-elf*): Likewise.
6577 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
6578 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
6579 (sparc-hal-solaris2*): Likewise.
6580 (sparc-*-solaris2*): Likewise.
6581 (sparclite-*-elf*): Likewise.
6582 (sparc86x-*-elf*): Likewise.
6583 (sparc64-*-elf*): Likewise.
bc9c2952 6584
8433a25e
RO
6585 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
6586 config/sol2.h.
6587 (ASM_SPEC): Override config/sol2.h version for now.
6588 Removed obsolete GAS_REJECTS_MINUS_S variant.
6589 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
6590 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
6591 (TARGET_OS_CPP_BUILTINS): Likewise.
6592 Assert system=unix.
6593 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
6594 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
6595 config/sol2.h.
6596 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
6597 (ASM_CPU_SPEC): Define.
6598 (SUBTARGET_EXTRA_SPECS): Define.
bc9c2952 6599
8433a25e
RO
6600 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
6601 in config/sparc/sol2.h.
6602 (ASM_SPEC): Moved to config/sol2.h.
6603 (CPP_CPU_SPEC): Simplified.
6604 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
6605 consistency.
6606 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
6607 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
6608 STARTFILE_ARCH64_SPEC.
6609 (STARTFILE_SPEC): Moved to config/sol2.h
6610 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
6611 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
6612 (LINK_ARCH64_SPEC): Simplified.
6613 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
6614 (LINK_SPEC): Moved to config/sol2.h
bc9c2952 6615
8433a25e
RO
6616 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
6617 config/sol2.h.
6618 Use BITS_PER_WORD for size.
6619 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
6620 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
6621 (CPP_PREDEFINES): Removed OS-specific part handled by
6622 TARGET_OS_CPP_BUILTINS.
6623 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
6624 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
6625 (ASM_SPEC): Moved to config/sol2.h.
6626 (PREFERRED_DEBUGGING_TYPE): Likewise.
6627 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
6628 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
6629 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
6630 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
bc9c2952 6631
8433a25e
RO
6632 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
6633 * config/i386/sol2gas.h: Removed.
6634
b6bb1d56
JH
6635Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
6636
6637 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
6638
e50b19ce 66392002-06-16 Aldy Hernandez <aldyh@redhat.com>
4e314d1f 6640
e50b19ce
AH
6641 * gcc.c-torture/execute/simd-1.c: New.
6642
6643 * gcc.dg/simd-1.c: New.
6644
6645 * doc/extend.texi (Vector Extensions): Document that we can
6646 specify simd types not specifically supported by the hardware.
6647 Document that simd types can be used as function arguments.
6648 Document that signness does make a difference in SIMD types.
6649 Misc cleanups and revisions to the vector extensions section.
6650
6651 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
6652 constants.
6653
6654 * expr.c (vector_mode_valid_p): New.
6655
6656 * expr.h: Add vector_mode_valid_p.
6657
6658 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
6659
6660 * c-common.c (type_for_mode): Always build vector nodes regardless
6661 of VECTOR_MODE_SUPPORTED_P.
6662 (handle_mode_attribute): Error if we can't emulate a nonexisting
6663 vector mode.
6664 (handle_vector_size_attribute): Same.
6665
6666 * optabs.c (expand_binop): Open-code vector operations.
6667 (expand_unop): Open-code vector unops.
6668 (expand_vector_binop): New.
6669 (expand_vector_unop): New.
4e314d1f 6670
e50b19ce
AH
6671 * c-typeck.c (build_binary_op): Allow vectors in binops.
6672 Allow vectors in conditional operatiors.
6673 (build_unary_op): Allow vectors in unary minus.
6674
6675 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
6676 TARGET_ALTIVEC.
6677
74d86f4f
RH
66782002-05-20 Richard Henderson <rth@redhat.com>
6679
6680 * c-common.c (c_common_get_alias_set): Correctly handle characters.
6681 Rearrange order of expressions; don't handle vectors here.
6682 * alias.c (get_alias_set): Let vectors match their components.
6683
1867b624
CD
66842002-06-19 Chris Demetriou <cgd@broadcom.com>
6685
6c535c69 6686 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1867b624
CD
6687 match desired locality.
6688
2c1d2fcb
DD
66892002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
6690
6691 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
6692 (h8300_insert_attributes): New.
6693
84d901be
AD
66942002-06-19 Akim Demaille <akim@epita.fr>
6695
6696 * c-parse.in (initelt: identifier ':' initval): Add an empty
6697 action to fix a type clash.
6698 (aliasdecl, classdef): Add the missing closing `;'.
6699 Whitespace changes.
6700 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
6701 $$ = $1 type clashes.
6702
8f2e3902
EC
67032002-06-19 Eric Christopher <echristo@redhat.com>
6704
6705 * config/mips/mips.c (symbol_operand): New function.
6706 (mips_emit_prefetch): Ditto.
6707 * config/mips/mips-protos.h: Define.
6708 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
6709 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
6710 (LEGITIMIZE_ADDRESS): Ditto.
6711 * config/mips/mips.md (prefetch, prefetch_si_address,
6712 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
6713
c894819c
EC
67142002-06-19 Eric Christopher <echristo@redhat.com>
6715
6716 * config/fp-bit.h: Add unordered defines for gofast.
6717
4005971c
VM
67182002-06-19 Vladimir Makarov <vmakarov@redhat.com>
6719
6720 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
6721 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
6722 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
6723 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
6724 checking and without it.
6725 (decl_name, decl_mode_check_failed, regexp_name,
6726 regexp_mode_check_failed): New functions.
6727 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
6728 gen_presence_set, gen_absence_set, gen_automaton,
6729 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
6730 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
6731 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
6732 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
6733 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
6734 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
6735 (decl_hash, decl_eq_p): Use the macros.
6736 (find_decl): Ditto. Set up mode of work_decl.
6737 (process_excls, process_presence_absence, process_decls,
6738 check_automaton_usage, process_regexp, process_regexp_decls,
6739 check_usage, loop_in_regexp, check_loops_in_regexps,
6740 process_regexp_cycles, add_advance_cycle_insn_decl,
6741 initiate_states, initiate_excl_sets,
6742 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
6743 transform_2): Use the macros.
6744 (transform_3): Ditto. Check mode before making transformations of
6745 ALLOF.
6746 (regexp_transform_func, transform_insn_regexps,
6747 process_unit_to_form_the_same_automaton_unit_lists,
6748 form_the_same_automaton_unit_lists_from_regexp,
6749 form_the_same_automaton_unit_lists,
6750 process_seq_for_forming_states, process_alts_for_forming_states,
6751 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
6752 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
6753 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
6754 units_to_automata_heuristic_distr, create_ainsns,
6755 units_to_automata_distr, create_automata): Use the macros.
6756 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
6757 (longest_path_length, min_issue_delay_pass_states,
6758 output_dead_lock_vect, output_tables, output_insn_code_cases,
6759 output_internal_insn_latency_func, output_print_reservation_func,
6760 output_description, output_automaton_units, generate): Use the
6761 macros.
6762 (make_insn_alts_attr): Ditto. Check case when there are not
6763 alternatives in the reservation.
6764 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
6765 make_bypass_attr, form_important_insn_automata_lists,
6766 expand_automata): Use the macros.
c894819c 6767
015089dd
TJ
67682002-06-20 Tim Josling <tej@melbpc.org.au>
6769
6770 * Makefile.in: Clean up code to check for misspecified languages
6771 in enable-languages.
6772
7999462c
AP
67732002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
6774
84d901be 6775 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 6776
9c8d079c
JM
67772002-06-19 Jason Merrill <jason@redhat.com>
6778
6779 * Makefile.in (unstrap, restrap): New targets.
6780 (bootstrap): Mention restrap.
6781
d90a95fb
MK
67822002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
6783
6784 * except.c (ehl_free): Remove.
6785
6786 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
6787 builtin_define and builtin_define_std.
6788
f01a0d8d
ID
67892002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
6790
6791 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
6792 (sCOND): Restrict operand class so that gcc knows how to reload them.
6793 (bitfield_set): Merge two unnamed insn's using alternatives.
6794 (call_value): Remove constraint on unused uperand.
6795 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
6796 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
c894819c 6797
f01a0d8d
ID
6798 * longlong.h (count_trailing_zeros): Escape newline and beautify.
6799
62363d99
MM
68002002-06-19 Mark Mitchell <mark@codesourcery.com>
6801
6802 * Makefile.in (QMTEST_DIR): Simplify definition.
6803
099bd656
NC
68042002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
6805
6806 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
6807 #define.
6808
278c4662
NB
68092002-06-19 Neil Booth <neil@daikokuya.co.uk>
6810
6811 * cpphash.h (struct cpp_reader): Make date and time strings.
6812 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
6813 _cpp_replacement_text_len): New.
6814 * cppinit.c (cpp_create_reader): Update.
6815 (init_builtins): Register appropriate builtins for -traditional-cpp.
6816 * cppmacro.c (new_number_token): Remove.
6817 (_cpp_builtin_macro_text): New.
6818 (builtin_macro): Use it.
6819 (cpp_macro_definition): Update to handle traditional macros.
6820 * cppmain.c (cb_line_change): Don't do column positioning for
6821 traditional output.
6822 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
6823 state ls_fun_close.
6824 (skip_whitespace): Fix.
6825 (maybe_start_funlike): Don't set state.parsing_args.
6826 (scan_out_logical_line): Remove duplicate error. Use lex_state
6827 rather than state.parsing_args.
6828 (push_replacement_text): Handle builtins.
6829 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
6830
afd1930f 68312002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 6832 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
6833
6834 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
6835 attribute __always_inline__.
6836
5ee924c2
BW
68372002-06-18 Bob Wilson <bob.wilson@acm.org>
6838
6839 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
6840 when generating the call to _mcount.
6841 (NO_PROFILE_COUNTERS): Define.
6842
32c36ac8
RH
68432002-06-18 Richard Henderson <rth@redhat.com>
6844
6845 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
6846 2002-06-02 change.
6847
c985dc5e
R
6848Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
6849
6850 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
6851 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
6852 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
6853 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
e3ba8d11
R
6854
6855 * sh-protos.h (sh_pr_interrupt): Declare.
6856 * sh.c (sh_pr_interrupt): New function.
6857 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
6858 (sh_hard_regno_rename_ok): Likewise.
6859 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
6860
e3c8eb86
VM
68612002-06-18 Vladimir Makarov <vmakarov@redhat.com>
6862
6863 * rtl.def (DEFINE_AUTOMATON): Add description of new options
6864 `time' and `v'. Fix incorrect description of option `w'.
6865
6866 * doc/md.texi: Ditto.
6867
6868 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
6869 (gen_automata_option): Process the new options.
6870 (transform_2, transform_3): Initialize some variables.
6871 (initiate_automaton_gen): Use the new macros.
c894819c 6872
b2471838
RS
68732002-06-18 Richard Sandiford <rsandifo@redhat.com>
6874
6875 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
6876 (mips_set_return_address, mips_restore_gp): Declare.
6877 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
6878 (current_frame_info): Remove.
6879 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
6880 * config/mips/mips.c: Remove uses of current_frame_info.
6881 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
6882 (struct machine_function): Add 'frame' and 'insns_len'.
6883 (current_frame_info, zero_frame_info): Remove.
6884 (mips_restore_gp, mips_set_return_address): New.
6885 (mips_initial_elimination_offset): New.
6886 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
6887 (eh_return define_split): Use mips_set_return_address.
6888
d97371e0
NB
68892002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
6890
6891 * cpplib.c (dtable): Update.
6892 (end_directive): Decrement expansion prevention count.
6893 Clear state.in_expression.
6894 (prepare_directive_trad): Set state.in_expression.
6895 Increment expansion prevention count.
6896 * cpptrad.c (enum ls): New.
6897 (_cpp_overlay_buffer): Set overlaid_buffer.
6898 (_cpp_remove_overlay): Use overlaid_buffer.
6899 (_cpp_read_logcial_line_trad): Update buffer when it might
6900 have changed.
6901 (scan_out_logical_line): Handle state transitions for assertions
6902 and defined() in #if, and for funlike invocations including the
6903 directive case. Handle '<' and '>' as a quote mechanism in
6904 #include. Warn about unterminated macro invocations.
6905 * cpphash.h (struct lexer_state): New member in_expression.
6906 (struct cpp_reader): New member overlaid buffer.
6907
807b20b0
HPN
69082002-06-18 Hans-Peter Nilsson <hp@axis.com>
6909
6910 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
6911 __always_inline__.
6912
8a09a7e5
AM
69132002-06-18 Alan Modra <amodra@bigpond.net.au>
6914
147d5f6f
AM
6915 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
6916
8a09a7e5
AM
6917 * doloop.c (doloop_optimize): Extract pattern from insn.
6918
390de769
MK
69192002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
6920
6921 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
6922
0ed4a390 69232002-06-17 Jeff Law <law@redhat.com>
912ce297
JL
6924
6925 * libgcc2.c: Do not include symcat.h or machmode.h.
6926
5c45425b
RH
69272002-06-17 Richard Henderson <rth@redhat.com>
6928
6929 PR target/6922
6930 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
6931
9aa497ae
TT
69322002-06-17 Tom Tromey <tromey@redhat.com>
6933
6934 * dwarfout.c: Include function.h.
6935
7f11f1f9
AS
69362002-06-17 Andreas Schwab <schwab@suse.de>
6937
6938 * print-rtl.c (print_rtx): Print space before vector, not after.
6939 (debug_rtx): Clear sawclose before printing.
6940 (debug_rtx_list): Print newline after each list element.
6941 (debug_rtx_range): Likewise.
6942
df696a75
RH
69432002-06-17 Richard Henderson <rth@redhat.com>
6944
6945 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
6946 (current_function_funcdef_no): Similarly.
6947 * function.c (funcdef_no): Similarly.
6948 (prepare_function_start): Set current_function_funcdef_no.
6949 (expand_function_start): Don't set current_function_profile_label_no.
6950 * dwarf2out.h (current_funcdef_number): Remove.
6951 * dwarf2out.c (current_funcdef_number): Remove. Replace with
6952 current_function_funcdef_no throughout.
6953 * dwarfout.c, vmsdbgout.c: Similarly.
6954 * except.c (sjlj_funcdef_number): Remove.
6955 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
6956 (output_function_exception_table): Likewise.
6957 * final.c (profile_function): Use current_function_funcdef_no
6958 instead of current_function_profile_label_no.
6959
97272202
VM
69602002-06-17 Vladimir Makarov <vmakarov@redhat.com>
6961
6962 * sched-ebb.c (init_ready_list): Check INSN_P first.
6963
8bccce2d
R
6964Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
6965
6966 * sh.md (divsi3): Update way how to find insns in a sequence.
dec0798e
R
6967
6968 * reload1.c (merge_assigned_reloads): Don't change reloads
6969 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
6970 to RELOAD_OTHER when there are conflicting input reloads.
6971
0af5c896
RE
69722002-06-17 Richard Earnshaw (rearnsha@arm.com)
6973
6974 * function.c (epilogue_done): Correctly build a sequence of insns for
6975 a sibcall epilogue.
6976
9d0fa9d6
NC
69772002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
6978
845b1456
NC
6979 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
6980 #define.
6981
9d0fa9d6
NC
6982 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
6983
e83f3cff
RH
69842002-06-16 Richard Henderson <rth@redhat.com>
6985
6986 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
6987 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
6988
caecc099
RH
69892002-06-16 Richard Henderson <rth@redhat.com>
6990
6991 PR opt/6722
6992 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
6993
3d05b15f
NB
69942002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
6995
caecc099
RH
6996 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
6997 * config/i386/i386-aout.h, config/i386/i386elf.h,
6998 config/i386/sysv4.h: Remove CPP_PREDEFINES.
6999 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
7000 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
7001 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
7002 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3d05b15f 7003 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 7004 * config/i386/sysv4-cpp.h: New.
3d05b15f 7005
8370aa3a
RH
70062002-06-16 Richard Henderson <rth@redhat.com>
7007
65a90f3c 7008 PR c/7030
8370aa3a
RH
7009 * dwarf2out.c (modified_type_die): Don't assign the qualified die
7010 to the unqualified type.
7011
e932b21b
JH
7012Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
7013
7014 * i386-protos.h (x86_field_alignment): Declare.
7015 * i386.c (x86_field_alignment): Define.
7016 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
7017 (BIGGEST_FIELD_ALIGNMENT): Kill.
7018
7ee02381
RH
70192002-06-16 Richard Henderson <rth@redhat.com>
7020
f01a0d8d 7021 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 7022
750491fc
RH
70232002-06-16 Richard Henderson <rth@redhat.com>
7024
7025 * c-common.c (flag_ms_extensions): Move from c++ front end.
7026 * c-common.h (flag_ms_extensions): Declare.
7027 * c-decl.c (c_decode_option): Add -fms-extensions.
7028 (grokfield): Don't accept anonymous structures in ISO C mode;
7029 accept only unnamed anonymous structures in GNU C mode; accept
7030 Plan 9 extensions in MS mode.
7031 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
7032 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
7033 (extension): Clear flag_iso.
7034 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
7035
c134da6b
HPN
70362002-06-16 Hans-Peter Nilsson <hp@axis.com>
7037
7038 PR target/7042
7039 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
7040 early if current_function_epilogue_delay_list is non-empty.
7041 * config/cris/cris.md ("return"): Add sanity check asserting that
7042 current_function_epilogue_delay_list is empty.
7043
038c7976
JL
70442002-06-16 Jeff Law <law@redhat.com>
7045
006a94b0
JL
7046 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
7047 sharing of hard registers.
7048
7049 * toplev.c (rest_of_compilation): Remove redundant conditional.
7050
038c7976
JL
7051 * toplev.c (rest_of_compilation): Perform a simpler, less costly
7052 cleanup of the CFG when not optimizing.
7053
0797741a
AM
70542002-06-16 Alan Modra <amodra@bigpond.net.au>
7055
7056 * gcc.c (main): Correct startfile_prefix_spec check.
7057
a6e2e53e
GK
70582002-06-12 Geoffrey Keating <geoffk@redhat.com>
7059
7060 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
7061 include both darwin.o and rs6000-c.o.
7062
129e0ee8
RS
70632002-06-15 Roger Sayle <roger@eyesopen.com>
7064
7065 * expr.c (compare_from_rtx): Call simplify_relational_operation
7066 on all comparisons, not just those between integer constants,
7067 with the correct (possibly unsigned) comparison code.
7068 (do_compare_rtx_and_jump): Likewise.
7069
d5355cb2
JDA
70702002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
7071
7072 * Makefile.in (tm_defines): New configuration variable.
7073 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
7074 Pass tm_defines in TM_DEFINES.
7075 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
7076 * config.gcc (tm_defines): New configuration variable.
7077 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
7078 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
7079 * configure.in: Substitute tm_defines.
7080 * configure: Rebuilt.
7081 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
7082 * doc/install.texi: Update.
7083 * pa/pa-700.h: Delete file.
7084 * pa/pa-7100.h: Delete file.
7085
8dcb27ed
RS
70862002-06-15 Roger Sayle <roger@eyesopen.com>
7087
7088 * fold-const.c (comparison_to_compcode): New function to convert
7089 an comparison TREE CODE into a bit-based representation.
7090 (compcode_to_comparison): New function to convert from this bit
7091 based representation back to a comparison TREE CODE.
7092 (fold_truthop): Simplify (x<y) && (x==y) and related composite
7093 comparisons.
7094
182e515e
AH
70952002-06-15 Aldy Hernandez <aldyh@redhat.com>
7096
f01a0d8d 7097 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 7098
f01a0d8d
ID
7099 * stor-layout.c (compute_record_mode): Remove check for
7100 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
7101 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
7102 MEMBER_TYPE_FORCES_BLK.
182e515e 7103
f01a0d8d 7104 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 7105
f01a0d8d 7106 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 7107
8773135d
JS
71082002-06-14 Jeff Sturm <jsturm@one-point.com>
7109
7110 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
7111
893a047c
SE
71122002-06-14 Steve Ellcey <sje@cup.hp.com>
7113
7114 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
7115 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
7116 * configure, config.in: Regenerate.
7117
045d7161
EB
71182002-06-14 Eric Botcazou <ebotcazou@multimania.com>
7119
7120 * loop.c (check_final_value): Use v->always_executed
7121 instead of v->always_computable.
7122 * unroll.c (final_giv_value): Don't calculate the final
7123 value as a function of the biv if the giv is not computed
7124 for every loop iteration.
7125
048c8616 71262002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 7127
048c8616
EB
7128 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
7129
43e4a9d8
EB
71302002-06-14 Eric Botcazou <ebotcazou@multimania.com>
7131
52689a98 7132 PR c/6677
43e4a9d8
EB
7133 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
7134 the truncation down when the target type is signed.
7135 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
7136 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
7137 the conversion if the target type is a smaller type.
7138
fa4a5557
RH
71392002-06-14 Richard Henderson <rth@redhat.com>
7140
7141 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
7142 earlier. Re-factor comparisons vs extrema.
7143
d95eb49f
RH
71442002-06-14 Richard Henderson <rth@redhat.com>
7145
7146 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
7147
be202ec2
FS
71482002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7149
7150 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
7151 * sched-deps.c (add_dependence): Likewise.
7152 (group_leader): Likewise.
7153 * sched-rgn.c (init_ready_list): Likewise.
7154 * doc/rtl.texi: Adjust accordingly.
7155
e56c4463
JL
71562002-06-13 Jeffrey Law <law@redhat.com>
7157
99a15921
JL
7158 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
7159 null pointer checks were eliminated. Update prototype.
7160 (delete_null_pointer_checks): Similarly.
7161 * rtl.h (delete_null_pointer_checks): Update prototype.
7162 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
7163 delete_null_pointer_checks deletes one or more null
7164 pointer checks. Do not run cleanup_cfg before gcse, the
7165 CFG is accurate and optimized at that point..
7166
e56c4463
JL
7167 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
7168 of hard registers.
7169
556b821e
UW
71702002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
7171
7172 * Makefile.in (libgcc.mk): Depend on specs.
7173
fa60f36d
R
7174Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
7175
7176 * sh.md (mulsi3): Update way how to find insns in a sequence.
7177
03b8ec29
DD
7178Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
7179
7180 * sh.h: Define HARD_REGNO_RENAME_OK
7181 * sh.c: sh_hard_regno_rename_ok: New. If current function has
7182 interrupt_handler attribute, only registers saved on stack are OK.
7183 * sh-protos.h: Declare sh_hard_regno_rename_ok.
7184
8e831557
KK
71852002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
7186
7187 * config/sh/sh.md (jump): Emit jump insn.
7188 (call_pcrel): Get pattern of the result of gen_call_site.
7189 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
7190
bf9d5852
NB
71912002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
7192
7193 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
7194 * cpptrad.c: Update comments.
7195 (skip_whitespace, copy_comment): Take a new parameter.
7196 (skip_escaped_newlines): Don't duplicate escaped newline test.
7197 (copy_comment): Different location for CUR, decide here how
7198 to copy / replace the comment.
7199 (skip_whitespace): Copy whitespace.
7200 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
7201 (scan_out_logical_line): Let copy comment handle keeping or
7202 replacing comments.
7203 (scan_parameters, _cpp_create_trad_definition): Update.
7204
57292ec3
AL
72052002-06-13 Alan Lehotsky <apl@alum.mit.edu>
7206
7207 * reload.c (get_secondary_mem,find_reloads_address,
7208 find_reloads_address_1): Pass reference to MEM to find_reloads_address
7209 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
c894819c 7210
a6f5e048
RH
72112002-06-13 Jessica Han <jessica@cup.hp.com>
7212
7213 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
7214 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
7215 * doc/tm.texi: Document them.
7216 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
7217 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
7218 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
7219 (ASM_OUTPUT_FDESC): Likewise.
7220
3aafa0bb
EC
72212002-06-13 Eric Christopher <echristo@redhat.com>
7222
7223 * diagnostic.c (output_format): Fix thinko.
7224
8e581963
R
7225Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
7226
7227 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
7228 (DWARF2_UNWIND_INFO): Define to 0.
9d7ed806
R
7229
7230 * config/sh/sh.c (calc_live_regs): Don't use initial_value
7231 optimization for PR_MEDIA_REG.
7232
b66377c1
NB
72332002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
7234
7235 * cpphash.h (_cpp_lex_identifier_trad): Remove.
7236 * cpplib.c (end_directive): Don't skip, always remove overlay
7237 apart from #define.
7238 (prepare_directive_trad): Handle NULL pfile->directive.
7239 (_cpp_handle_directive): Always call prepare_directive_trad
7240 if traditional.
7241 * cppmain.c (check_multiline_token): Rename account_for_newlines,
7242 generalize inputs.
7243 (scan_translation_unit_trad): Use it.
7244 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
7245 output, get escaped newline in comment close correct.
7246 (check_output_buffer, skip_whitespace): Update.
7247 (_cpp_lex_identifier_trad): Remove.
7248 (scan_out_logical_line): Handle -C and comments in directives
7249 properly.
7250
8bc6e101
R
7251Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
7252
7253 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
7254 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
7255 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
7256 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
7257 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
7258 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
7259 (SELECT_SH5_COMPACT_NOFPU): Likewise.
7260 (TARGET_SWITCHES): Use them.
7261 (TARGET_CPU_DEFAULT): Define if not already defined.
7262 (TARGET_DEFAULT): Use it.
7263 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
7264 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
7265 * config/sh/t-monolib: New file.
7266
2181005d
RS
72672002-06-13 Roger Sayle <roger@eyesopen.com>
7268
7269 * toplev.c (rest_of_compilation): Simplify (and correct) the
7270 logic of the first delete-null-pointer-checks pass.
7271
aaae0bb9
JH
7272Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
7273
7274 * i386.c (ix86_expand_movstr): Fix pasto.
7275
7276Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
7277
7278 * reload.c (find_valid_class): Fix thinko in my previous patch.
7279
dd3fbd93
UW
72802002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
7281
7282 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
7283 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
7284 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
7285 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
7286
0d0f605c
GDR
72872002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
7288
7289 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 7290 fields.
0d0f605c 7291
c92bcccb
GDR
72922002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
7293
7294 * diagnostic.c (output_format): Recognize "%H" as a format
7295 specifier for a location_t.
7296 (text_specifies_location): New function.
7297 (diagnostic_set_info): Use it.
7298
7f243674
JL
72992002-06-13 Jeffrey Law <law@redhat.com>
7300
6cde4876
JL
7301 * emit-rtl.c (static_regno_reg_rtx): Define.
7302 (init_emit_once): Initialize static_regno_reg_rtx.
7303 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
7304 of building new hard reg objects once per function.
7305 (gen_rtx_REG): Try to share hard regs.
7306 * regclass.c (init_fake_stack_mems): New function broken out from
7307 init_regs.
7308 * rtl.h (init_fake_stack_mems): Declare.
7309 * toplev.c (lang_independent_init): Call init_regs before
7310 init_emit_once. Call init_fake_stack_mems after init_emit_once.
7311
110b3faa
JL
7312 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
7313
7f243674
JL
7314 * alias.c (argument_registers): Remove.
7315 (init_alias_once): Initialize static_reg_base_value here. Remove
7316 initialization of argument_registers.
7317 (init_alias_once_per_function): Remove.
7318 (init_alias_analysis): Copy all the entries from static_reg_base_value
7319 into new_reg_base_value all at once.
7320 * rtl.h (init_alias_once_per_function): Remove declaration.
7321 * function.c (prepare_function_start): Do not call
7322 init_alias_once_per_function.
7323
7324 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
7325 starting a sequence and emitting an INSN.
7326
a336f2e5
RS
73272002-06-13 Richard Sandiford <rsandifo@redhat.com>
7328
7329 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
7330
2acf0fa9
DM
73312002-06-13 David S. Miller <davem@redhat.com>
7332
7333 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
7334
974c43f1
NB
73352002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
7336
7337 * cpplib.c (end_directive): Handle line skipping. Only remove
7338 the rest of the line if the directive was valid.
7339 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
7340 expanding a traditional macro.
7341 * cpptrad.c (recursive_macro): New.
7342 (read_logical_line_trad): Handle skipping.
7343 (scan_out_logical_line): Continue after a successful directive.
7344 Don't expand macros whilst skipping, or if recursing.
7345 (_cpp_create_trad_definition): scan_out_logical_line now sets
7346 the output current position.
7347
12bf26b6
EC
73482002-06-12 Eric Christopher <echristo@redhat.com>
7349
7350 From Chris Demetriou <cgd@broadcom.com>
7351 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
7352 comment.
7353 (ISA_HAS_MADD_MSUB): Ditto.
7354 (ISA_HAS_NMADD_NMSUB): Ditto.
7355
be95b8a5
EC
73562002-06-12 Eric Christopher <echristo@redhat.com>
7357
7358 * config.gcc: Consolidate little endian handling and
7359 little/big endian targets.
7360 * config/mips/elfl.h: Remove file.
7361 * config/mips/elfl64.h: Ditto.
7362 * config/mips/ecoffl.h: Ditto.
7363 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
7364
e03856fe
GK
73652002-06-12 Geoffrey Keating <geoffk@redhat.com>
7366
7367 * gengtype.h (xvasprintf): New prototype.
7368 (xasprintf): New prototype.
7369 (struct outf): New.
7370 (get_output_file): Return an outf_p.
7371 (header_file): Is now an outf_p.
7372 (base_files): Now are outf_p.
7373 (oprintf): New.
7374 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
7375 rather than stdio operations. Use xasprintf in a few places,
7376 when appropriate.
7377 (xvasprintf): New.
7378 (xasprintf): New.
7379 (struct filemap): Delete.
7380 (files): Delete.
7381 (output_files): New.
7382 (oprintf): New.
7383 (create_file): Create an outf_p. Add parameter to indicate output
7384 file name, change all callers.
7385 (open_base_files): Create gtype-desc.c here.
7386 (get_output_file_with_visibility): Rewrite.
7387 (get_output_file_name): Just look at 'name' field in struct outf.
7388 (close_output_files): Rewrite.
7389
ec01703c
JT
73902002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
7391
7392 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 7393 (MASK_G_FLOAT): Define.
ec01703c
JT
7394 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
7395 (TARGET_SWITCHES): Likewise.
7396 (TARGET_DEFAULT): Likewise.
7397
8b0397a6
DJ
73982002-06-12 Daniel Jacobowitz <drow@mvista.com>
7399
7400 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
7401 * config/mips/mips.c (mips_output_filename): Don't print a
7402 ".file" directive if we are using DWARF-2.
7403 (mips_output_function_prologue): Do not emit source file
7404 name for TARGET_GAS.
7405
495333a6
JH
7406Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
7407
7408 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
7409 decide whether emit the short opcode.
7410 * i386.h (x86_shift1): Declare.
7411 (TARGET_SHIFT1): New macro.
7412 * i386.c (x86_shift1): New global variable.
7413
8b0397a6
DJ
7414 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
7415 unconditionally; make loop to rebuild CFG; kill unnecesary
7416 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
7417 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
7418 * haifa-sched.c (sched_init): Likewise.
7419 * ssa-ccp.c (ssa_const_prop): Likewise.
7420 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7421
d11cea13
DM
74222002-06-11 David S. Miller <davem@redhat.com>
7423
7424 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
7425 active_insn_p.
7426
676997cf
RH
74272002-06-11 Richard Henderson <rth@redhat.com>
7428
7429 * c-common.c (builtin_define_type_max): New.
7430 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
7431 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
7432
7433 From Joseph S. Myers:
7434 * glimits.h: Rewrite to expect the double underscore definitions
7435 from the compiler.
7436
7437 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
7438 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
7439 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
7440 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
7441 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
7442 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
7443 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
7444 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
7445
116b7a5e
RH
74462002-06-11 Richard Henderson <rth@redhat.com>
7447
7448 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
7449 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
7450 (code_for_builtns): Update.
7451 (alpha_init_builtins): Add __builtin_thread_pointer and
7452 __builtin_set_thread_pointer.
7453 (alpha_expand_builtin): Handle void builtins.
7454 * doc/extend.texi (Alpha Built-in Functions): Update.
7455
0cec6af1
HPN
74562002-06-11 Hans-Peter Nilsson <hp@axis.com>
7457
7458 PR target/6997
7459 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
7460
1c0ca89d
ZW
74612002-06-11 Zack Weinberg <zack@codesourcery.com>
7462
7463 * config.gcc: Make the name of the extra-modes file adjustable
7464 by target stanzas.
7465 (s390x, strongarm, xscale stanzas): Use this facility.
7466 * configure.in: Update to match.
7467 * configure: Regenerate.
7468
5dc8d536
AH
74692002-06-11 Aldy Hernandez <aldyh@redhat.com>
7470
1c0ca89d
ZW
7471 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
7472 max/mins as unsigned GE compares.
5dc8d536 7473
169274cd
JT
74742002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
7475
1c0ca89d 7476 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
7477 * config/vax/bsd.h: New file.
7478 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
7479 (CPP_PREDEFINES): Remove.
7480 (TARGET_OS_CPP_BUILTINS): Define.
7481 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
7482 * config/vax/openbsd.h: Update copyright years.
7483 (CPP_PREDEFINES): Remove.
7484 (TARGET_OS_CPP_BUILTINS): Define.
7485 * config/vax/ultrix.h: Likewise.
7486 * config/vax/vaxv.h: Likewise.
7487 * config/vax/vms.h: Likewise.
7488 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
7489 (CPP_PREDEFINES, CPP_SPEC): Remove.
7490
2f41793e
JH
7491Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
7492
7493 * i386.md (addqi_1_slp, subqi_1_slp
7494 (andqi_ext0, testqi_ext0): Remove unnecesary check.
7495 (addhi*, addqi*): Simplify "dec" condition.
7496 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
7497 (and, or, xor to QImode splitters): New.
7498 (iorqi_ext*): New.
7499 (xorqi_ext_0): New.
7500 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
7501 (andqi_ext_1_rex64): New.
7502 (ashrqi*_slp): New.
7503 (ashlqi*_slp): New.
7504 (lshlqi*_slp): New.
7505 (rotrqi3*_slp): New.
7506 (rotlqi3*_slp): New.
7507
fc5c400a
GK
75082002-06-11 Geoffrey Keating <geoffk@redhat.com>
7509
4c4eb375
GK
7510 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
7511 softfloat.h.
7512 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
7513 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7514 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
7515 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
7516 __LONG_DOUBLE_128__ setting, _CALL_* setting.
7517 (CPP_DEFAULT_SPEC): Delete.
7518 (CPP_FLOAT_DEFAULT_SPEC): Delete.
7519 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
7520 (CPP_SYSV_DEFAULT_SPEC): Delete.
7521 (CPP_ENDIAN_BIG_SPEC): Delete.
7522 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7523 (CPP_ENDIAN_SPEC): Delete.
7524 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
7525 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
7526 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
7527 cpp_longdouble_default.
7528 * config/rs6000/softfloat.h: Delete.
7529 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
7530 (EXTRA_SPECS): Delete cpp_cpu.
7531 (TARGET_CPU_CPP_BUILTINS): New.
7532 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
7533 prototype.
7534 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
7535 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
7536 (CPP_DEFAULT_SPEC): Delete.
7537 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
7538 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
7539 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
7540 (CPP_DEFAULT_SPEC): Delete.
7541 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7542 (CPLUSPLUS_CPP_SPEC): Likewise.
7543 (CPP_CPU_SPEC): Delete.
7544 (CPP_DEFAULT_SPEC): Delete.
7545 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7546 (CPLUSPLUS_CPP_SPEC): Likewise.
7547 (CPP_CPU_SPEC): Delete.
7548 (CPP_DEFAULT_SPEC): Delete.
7549 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
7550 (CPP_DEFAULT_SPEC): Delete.
7551 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
7552 (CPP_DEFAULT_SPEC): Delete.
7553
fc5c400a
GK
7554 * doc/gty.texi: Small updates.
7555
13f0d49c
GDR
75562002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
7557
7558 * objc/objc-act.c (warn_with_ivar): Adjust calls to
7559 diagnostic_count_error.
7560 (warn_with_method): Likewise.
7561
7562 * diagnostic.h (warnings_are_errors_message): New field of
7563 diagnostic_context.
7564 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
7565 match semantics.
7566 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
7567 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 7568 diagnostics.
13f0d49c
GDR
7569 (diagnostic_initialize): Initialize warnings_are_errors_message field.
7570
0797e472
TT
75712002-06-11 Tom Tromey <tromey@redhat.com>
7572
7573 For PR java/6520:
7574 * fold-const.c (fold_convert): Don't modify existing tree's type.
7575
f288d4aa
GK
75762002-06-11 Geoffrey Keating <geoffk@redhat.com>
7577
7578 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
7579
d27bab4c
RH
75802002-06-11 Richard Henderson <rth@redhat.com>
7581
7582 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
7583
bc2a8f08
RH
75842002-06-11 Richard Henderson <rth@redhat.com>
7585
1c0ca89d 7586 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
7587 DWARF2_UNWIND_INFO is false.
7588
b217ec1b
BW
75892002-06-11 Bob Wilson <bob.wilson@acm.org>
7590
7591 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
7592
11819f80
UW
7593 * config/s390/s390.c (emit_prologue): gen_store_multiple
7594 returns an insn now, not a pattern.
7595
c2727579
RO
75962002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7597
7598 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
7599 $(TEXI2DVI) -o.
7600
285464d0
JH
7601Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
7602
7603 * i386.c (x86_promote_QImode): Set for Athlon
7604 (x86_fast_prefix): New global variable.
7605 (x86_arch_always_fancy_math_387): Fix formating.
7606 * i386.h (x86_fast_prefix): Declare
7607 (TARGET_FAST_PREFIX): define.
7608 * i386.md (and to strict_low_part, HI to SI
7609 promoting splitter): Use new macro.
7610
7611 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
7612
1bb1f121
ZW
76132002-06-11 Zack Weinberg <zack@codesourcery.com>
7614
7615 * Makefile.in (distclean): Delete junk left in testsuite
7616 directory, too.
7617
88c65786
JL
76182002-06-11 Jeffrey Law <law@redhat.com>
7619
c6a3fcf0
JL
7620 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
7621 last insn created by the splitter.
7622
0db79a6b
JL
7623 * caller-save.c (init_caller_save): Move creation of SAVEINSN
7624 and RESTINSN into into the scope of the sequence.
7625
47eb2ca8
JL
7626 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
7627 RETURN insns.
7628
603b4b92
JL
7629 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
7630
88c65786
JL
7631 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
7632 not the pattern. So extract the pattern from the insn.
882c7223
JL
7633
7634 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
7635
df14489a
UW
76362002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
7637
7638 * config/s390/s390.md (movsi): Only use floating point
7639 register alternatives when operands are already fprs.
7640 (movdi_31, movdi_64): Likewise.
7641
6f9703af
DM
76422002-06-11 David S. Miller <davem@redhat.com>
7643
7644 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
7645 Only run RTX equality checks on INSN_P rtl.
7646
b2ccb744
UW
76472002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
7648
7649 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 7650 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 7651 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 7652 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
7653 s390_asm_output_pool_prologue): Likewise.
7654 * s390.h (s390_pool_start_insn): Likewise.
7655
1c0ca89d 7656 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
7657 old-style pool chunks.
7658 (s390_function_epilogue): Likewise.
1c0ca89d 7659 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
7660 alignment for 64-bit literal pools.
7661 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 7662 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
7663 old-style pool chunks.
7664 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
7665 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
7666 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
7667
7668 * s390.c (consttable_operand): New function.
7669 * s390-protos.h (consttable_operand): Declare it.
7670 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
7671 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
7672 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
7673 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
7674 * s390.c (struct constant, struct constant_pool): New data types.
7675 (constant_modes, gen_consttable): New variables.
1c0ca89d 7676 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 7677 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 7678 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
7679 overflow handling.
7680
7681 * s390.c (s390_pool_overflow): New variable.
7682 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 7683 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
7684 jumps in literal pool overflow situations.
7685
7686 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 7687 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
7688 by new literal pool overflow code.
7689 (s390_emit_prologue): Likewise.
7690
2f937369
DM
76912002-06-05 David S. Miller <davem@redhat.com>
7692
7693 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
7694 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
7695 emit_insns_before_scope, emit_insns_after,
7696 emit_insns_after_scope): Delete declaration.
7697 * ada/misc.c (insert_code_for): Use emit_insn* instead of
7698 emit_insns_foo.
7699 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
7700 (alpha_set_memflags): Fix comment.
7701 (set_frame_related_p): Use get_insns instead of gen_sequence.
7702 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
7703 emitting no insns.
7704 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
7705 gen_sequence.
7706 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
7707 * config/fr30/fr30.c (fr30_move_double): Likewise.
7708 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
7709 Likewise.
7710 * config/ia64/ia64.c (spill_restore_mem): Likewise.
7711 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
7712 no insns.
7713 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
7714 instead of gen_sequence.
7715 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
7716 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
7717 * config/sh/sh.c (sh_need_epilogue): Likewise.
7718 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
7719 attributes.
7720 (setjmp pattern and split): Use them to avoid splitter which emits
7721 no RTL.
7722 * genattrtab.c (main): Emit include of function.h
7723 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
7724 get_insns instead of gen_sequence.
7725 * config/cris/cris.c (cris_split_movdx): Likewise.
7726 * emit-rtl.c (emit_insns*): Kill.
7727 (try_split): Expect insn list instead of SEQUENCE.
7728 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
7729 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
7730 Make them abort if a SEQUENCE is given and RTL checking is
7731 enabled.
7732 (emit_*_scope): Don't forget to set scope on final insn.
7733 (gen_sequence): Move from here...
7734 * ssa.c (gen_sequence): To here as private function.
7735 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
7736 comments.
7737 (expand_builtin_return, expand_builtin_mathfn): Likewise.
7738 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
7739 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
7740 (expand_builtin_expect_jump): Use get_insns and fix comments.
7741 * calls.c (try_to_integrate): Use emit_insn_foo.
7742 (expand_call, emit_library_call_value_1): Likewise.
7743 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
7744 (emit_move_insn_1): Use get_insns instead of gen_sequence.
7745 (expand_expr): Use emit_insn_foo.
7746 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
7747 * except.c (build_post_landing_pads): Likewise.
7748 * flow.c (attempt_auto_inc): Likewise.
7749 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
7750 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
7751 * function.c (fixup_var_refs_insn): Use get_insns instead of
7752 gen_sequence.
7753 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
7754 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
7755 (fixup_stack_1, purge_addressof_1, expand_main_function,
7756 get_arg_pointer_save_area): Likewise.
7757 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
7758 expand_function_end): Use emit_insn_foo.
7759 (record_insns, keep_stack_depressed): Work with insn list instead
7760 of SEQUENCE, fix comments.
7761 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
7762 noce_try_store_flag_constants, noce_try_store_flag_inc,
7763 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
7764 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
7765 (noce_process_if_block): Use get_insns instead of gen_sequence.
7766 * optabs.c (add_equal_note): Work with insn list, fix comments.
7767 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
7768 (expand_unop, expand_complex_abs, expand_unop_insn,
7769 expand_no_conflict_block): Likewise.
7770 (gen_move_insn): Use get_insns instead of gen_sequence.
7771 (gen_cond_trap): Likewise.
7772 * integrate.c (copy_rtx_and_substitute): Likewise.
7773 (emit_initial_value_sets): Use emit_insn_foo.
7774 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
7775 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
7776 now that RTL generators give insn lists.
7777 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
7778 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
7779 instead of gen_sequence.
7780 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
7781 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
7782 instead of gen_sequence.
7783 * loop.c (move_movables, emit_prefetch_instructions,
7784 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
7785 Likewise.
7786 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
7787 (product_cheap_p): Likewise, and add commentary about RTL wastage
7788 here.
7789 * lcm.c (optimize_mode_switching): Use get_insns instead of
7790 gen_sequence.
7791 * profile.c (gen_edge_profiler): Likewise.
7792 * regmove.c (copy_src_to_dest): Likewise.
7793 * reg-stack.c (compensate_edge): Likewise and fix comment.
7794 * gcse.c (process_insert_insn): Likewise.
7795 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
7796 * jump.c (delete_prior_computation): Update comment.
7797 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
7798 of gen_sequence, update comments to match.
7799 * recog.c (peephole2_optimize): Work with insn lists instead of
7800 SEQUENCE rtl.
7801 * sched-vis.c (print_pattern): Abort on SEQUENCE.
7802 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
7803 Use get_insns instead of gen_sequence.
7804 (copy_loop_body): Likewise and don't emit dummy NOTE.
7805 * genrecog.c: Don't mention SEQUENCE rtl in comments.
7806 * combine.c (try_combine): Expect insn lists from split generator.
7807 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
7808 hand.
1c0ca89d 7809
43cf10b5
RS
78102002-06-11 Roger Sayle <roger@eyesopen.com>
7811 Andreas Jaeger <aj@suse.de>
7812
7813 * cfgbuild.c: Update copyright years.
7814
1062f15a
AS
78152002-06-11 Andreas Schwab <schwab@suse.de>
7816
1c0ca89d 7817 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 7818
ce3649d2
EC
78192002-06-11 Eric Christopher <echristo@redhat.com>
7820
7821 * doc/tm.texi (Run-time Target): Add comment about flag_iso
7822 and strict ANSI.
7823 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
7824 * config/mips/ecoffl.h: Ditto.
7825 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
7826 (CPP_PREDEFINES): Ditto.
7827 * config/mips/elfl64.h: Ditto.
7828 * config/mips/elfl.h: Ditto.
7829 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
7830 out until irix header consolidation.
7831 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
7832 with SUBTARGET_OS_CPP_BUILTINS.
7833 * config/mips/iris6.h: Ditto.
7834 (CPLUSPLUS_CPP_SPEC): Remove.
7835 * config/mips/linux.h: Ditto.
7836 * config/mips/netbsd.h: Ditto.
7837 * config/mips/openbsd.h: Ditto.
7838 * config/mips/rtems.h: Ditto.
7839 * config/mips/rtems64.h: Ditto.
7840 * config/mips/sni-svr4.h: Ditto.
7841 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
7842 ISA_MIPS32, ISA_MIPS64): New defines.
7843 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
7844 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
7845 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
7846 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
7847 (TARGET_CPU_CPP_BUILTINS): Define.
7848 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
7849 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
7850 (movdicc): Remove check for ISA_MIPS32.
7851 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
7852 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
7853 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
7854 sunge_sf, sunle_df, sunle_sf): New patterns.
7855
bc3437ba
NB
78562002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
7857
7858 * Makefile.in: Update cppmain.o.
7859 * cpphash.h (struct cpp_reader): Move some members to a
7860 nested structure.
7861 (trad_line): Rename saved_line.
7862 (_cpp_read_logical_line_trad): Update.
7863 (_cpp_remove_overlay): New.
7864 * cppinit.c (cpp_create_reader): No need to set saved_line.
7865 (cpp_destroy): Update.
7866 (cpp_read_main_file): Only overlay if compiling.
7867 * cpplex.c (continue_after_nul): Return false if in directive.
7868 * cpplib.c (EXPAND): New.
7869 (directive_table, SEEN_EOL): Update.
7870 (end_directive): Remove overlay if traditional; don't skip
7871 line in traditional #define.
7872 (prepare_directive_trad): New.
7873 (_cpp_handle_directive, run_directive): Update for traditional
7874 directives.
7875 (lex_macro_node): Simplify, don't use lex_identifier_trad.
7876 * cpplib.h (struct options): Add preprocess_only.
7877 * cppmain.c: Don't include intl.h.
7878 (cpp_preprocess_file): Set options->preprocess_only.
7879 (scan_translation_unit_trad): Fix, and print line numbers.
7880 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
7881 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
7882 save_replacement_text, _cpp_create_trad_definition): Update for
7883 variable renaming.
7884 (_cpp_overlay_buffer): Save line number.
7885 (_cpp_remove_overlay): Rename from restore_buff, restore line.
7886 (_cpp_read_logical_line_trad): Don't handle overlays here.
7887 (scan_out_logical_line): Process directives.
7888
b25bb36a
DS
78892002-06-11 Danny Smith <dannysmith@users.sourforge.net>
7890
7891 * gthr-win32.h: Wrap functions in extern "C".
7892 (__gthread_key_t): Typedef as unsigned long,
7893 not win32 DWORD.
7894 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
7895 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
7896 (__gthr_win32_once, __gthr_win32_key_create,
7897 __gthr_win32_key_delete, __gthr_win32_getspecific,
7898 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
7899 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
7900 __gthr_win32_mutex_unlock): Declare.
7901 (__gthread_once,__gthread_key_create,
7902 __gthread_key_delete, __gthread_getspecific,
7903 __gthread_setspecific, __gthread_mutex_init_function,
7904 __gthread_mutex_lock,__gthread_mutex_trylock,
7905 __gthread_mutex_unlock): Call corresponding
7906 __gthr_win32_* extern implementations if #defined
7907 __GTHREAD_HIDE_WIN32API.
7908 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 7909 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
7910 * config/i386/gthr-win32.c: New implementation file.
7911 (__gthr_win32_once, __gthr_win32_key_create,
7912 __gthr_win32_key_delete, __gthr_win32_getspecific,
7913 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
7914 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
7915 __gthr_win32_mutex_unlock): New functions, based on
7916 static inlines in gthr-win32.h.
7917
a69c385e
BW
79182002-06-10 Bob Wilson <bob.wilson@acm.org>
7919
7920 * config/xtensa/xtensa.c (override_options): Don't warn about
7921 using -fpic or -fPIC when PIC is enabled by default.
7922
e654730d
RS
79232002-06-10 Roger Sayle <roger@eyesopen.com>
7924
7925 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
7926
a5381466
ZW
79272002-06-10 Zack Weinberg <zack@codesourcery.com>
7928
7929 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 7930 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
7931 exists, substitute its pathname as @extra_modes_file@, define
7932 EXTRA_MODES_FILE to be an appropriate string to #include it
7933 with, and define EXTRA_CC_MODES to 1.
7934
7935 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
7936 it's defined. Get rid of redundancy in calling sequence for
7937 CC; don't use it to define CCmode, to avoid a warning.
7938 * libgcc2.c: Include symcat.h for the sake of machmode.def.
7939
7940 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
7941 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
7942 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
7943 New files.
7944 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
7945 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
7946
7947 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
7948 defining extra CC modes.
7949
852c6ec7
RS
79502002-06-10 Roger Sayle <roger@eyesopen.com>
7951 Andreas Jaeger <aj@suse.de>
7952
7953 * cfgrtl.c (create_basic_block_structure): Remove index argument
7954 and use last_basic_block++ instead. (create_basic_block): Update.
7955 * cfgbuild.c (find_basic_blocks_1): Likewise.
7956
7957 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
7958 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
7959 * sched-ebb.c (schedule_ebbs): Likewise.
7960 * sched-rgn.c (schedule_insns): Likewise.
7961 * ssa-ccp.c (ssa_const_prop): Likewise.
7962 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
7963 * toplev.c (rest_of_compilation): Likewise.
7964 * config/ia64/ia64.c (ia64_reorg): Likewise.
7965
60c86d4e
RS
79662002-06-10 Roger Sayle <roger@eyesopen.com>
7967
7968 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
7969 of matching registers.
7970
9543a9d2
RS
79712002-06-10 Roger Sayle <roger@eyesopen.com>
7972
7973 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
7974 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
7975
38e18619
HPN
79762002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
7977
7978 * config/mmix/mmix.h: Improve comments.
7979 (CPP_SPEC, CPP_PREDEFINES): Don't define.
7980 (TARGET_CPU_CPP_BUILTINS): Define.
7981 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
7982 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
7983 unused predicate.
7984 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
7985 compiler warning.
7986 (mmix_constant_address_p): Remove another
7987 redundant test before case.
7988 (mmix_canonicalize_comparison): Remove unused function.
7989 (mmix_print_operand_address): Don't test and adjust for operand in
7990 non-canonical format.
7991 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
7992 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
7993
ac17cd8f
ZW
79942002-06-10 Zack Weinberg <zack@codesourcery.com>
7995
7996 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
7997 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
7998 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
7999 (gen_compare): Use CCmode unconditionally.
8000
7b668f9e
JJ
80012002-06-10 Jakub Jelinek <jakub@redhat.com>
8002
8003 PR optimization/6759
8004 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
8005 the REQ_EQUAL note.
8006
85d49058
JJ
80072002-06-10 Jakub Jelinek <jakub@redhat.com>
8008
8009 PR c/6660
8010 * c-decl.c (grokfield): Allow user defined types if they declare
8011 structs or unions for unnamed fields.
8012
50f30e6b
JJ
80132002-06-10 Jakub Jelinek <jakub@redhat.com>
8014
8015 PR c/6809
8016 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
8017
156755ac
JJ
80182002-06-10 Jakub Jelinek <jakub@redhat.com>
8019
8020 PR optimization/6842
8021 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
8022 operand subreg cannot be simplified.
8023
5d056e9b
JJ
80242002-06-10 Jakub Jelinek <jakub@redhat.com>
8025
8026 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
8027 (compare_constant): Likewise.
8028 (output_addressed_constants): Likewise.
8029
2bf87216
JJ
80302002-06-10 Jakub Jelinek <jakub@redhat.com>
8031
8032 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
8033 merge bb with itself.
8034
135fd2d8
RH
80352002-06-10 Richard Henderson <rth@redhat.com>
8036
8037 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
8038 (builtin_zapnot): Likewise.
8039
8040 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
8041 reservation.
8042
fce5a9f2
EC
80432002-06-10 Eric Christopher <echristo@redhat.com>
8044
8045 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
8046 prototype and function.
8047 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
8048 (call_insn_operand): Remove half pic references.
8049 (legitimate_address_p): Ditto.
8050 * config/i386/i386.h: Remove half pic defines.
8051
95b1627e
EC
80522002-06-10 Eric Christopher <echristo@redhat.com>
8053
8054 * doc/extend.texi (Return Address): Add note explaining the side-
8055 effects of inlining on __builtin_return_address.
8056
aea185b3
TT
80572002-06-10 Tom Tromey <tromey@redhat.com>
8058
8059 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
8060 (c-common.o): Depend on langhooks.h.
8061
afb03408
NB
80622002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
8063
8064 * cpphash.h (_cpp_read_logical_line_trad,
8065 _cpp_expansions_different_trad): Update prototypes.
8066 * cpplex.c (continue_after_nul): New.
8067 * cppmain.c: Include cpphash.h.
8068 (scan_translation_unit_trad): New.
8069 (cpp_preprocess_file): Call it.
8070 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
8071 overlay.
8072 (_cpp_expansions_different_trad): Update prototype.
8073
2754d3c5
R
8074Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
8075
8076 Fix cfi generation for SH[1-4]:
8077
8078 * sh.c (frame_insn): New function.
8079 (output_stack_adjust): Add parameter emit_fn. All callers changed.
8080 (push): Now returns rtx. Use frame_insn.
8081 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
8082 of a DF register.
8083 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
8084
ad854f24
ZW
80852002-06-10 Zack Weinberg <zack@codesourcery.com>
8086
8087 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
8088 and gtype-desc.c.
8089 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
8090 (distclean): ... not here. But do delete all testsuite/*.log,
8091 testsuite/*.sum files here. Delete mkheaders. Delete
8092 po/*.gmo and the testsuite directory in a split tree build.
8093
bf1660a6
JL
80942002-06-10 Jeffrey Law <law@redhat.com>
8095
8096 * alias.c (static_reg_base_value): New to hold RTL for
8097 items allocated once per function for the aliasing code.
8098 (init_alias_once_per_function): Initialize static_reg_base_value.
8099 (init_alias_analysis): Avoid throw-away allocations of RTL by
8100 using pre-computed values in static_reg_base_value.
8101 * function.c (prepare_function_start): Call
8102 init_alias_once_per_function appropriately.
8103 * rtl.h (init_alias_once_per_function): Declare.
8104 * caller-save (init_caller_save): Restructure slightly to
8105 avoid lots of silly RTL generation.
8106 * expr.c (init_expr_once): Likewise.
8107 * reload1.c (reload_cse_regs_1): Allocate throw-away register
8108 RTL object here. Pass it into children.
8109 (reload_cse_simplify_operands): Use passed-in register RTL
8110 object.
8111 (reload_cse_simplify): Pass through throw-away register
8112 RTL object.
8113
8dc58484 81142002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 8115
8dc58484
DB
8116 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
8117
ea16b5ee
RS
81182002-06-10 Richard Sandiford <rsandifo@redhat.com>
8119
8120 * gcc.c (process_command): Avoid assignment to read-only location.
8121 Fix sizeof calculation.
8122
6618c5d4
NB
81232002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
8124
8125 * cpphash.h (struct cpp_macro): Put comments on their own lines.
8126 (_cpp_expansions_different_trad): New.
8127 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
8128 * cpptrad.c (canonicalize_text): New.
8129 (scan_out_logical_line): Handle no arguments correctly.
8130 (save_replacement_text): Commit memory when finished.
8131 (_cpp_expansions_different_trad): New.
8132
96e3ac4f
TJ
81332002-06-10 Tim Josling <tej@melbpc.org.au>
8134
8135 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
8136 TREELANG and COBOL.
8137 (lang_names): Add treelang and cobol.
8138 (get_file_basename): Add code to support treelang and cobol as
8139 4th and 5th users of c-common.c.
8140
37a4aa31
GK
81412002-06-09 Geoffrey Keating <geoffk@redhat.com>
8142
8143 * Makefile.in (install-driver): Install driver as
8144 $(target_alias)-gcc-$(version).
8145 * gcc.c (spec_version): Make const.
8146 (process_command): Handle -V and -b by using exec.
8147 * doc/invoke.texi (Target Options): Restore -V option,
8148 update docs for -b option.
8149
02ef40d9
TJ
81502002-06-10 Tim Josling <tej@melbpc.org.au>
8151
ad854f24
ZW
8152 * configure.in (remaining_languages_check):
8153 Added check that all languages specified were found.
02ef40d9
TJ
8154 Exit if not found. Previous behaviour was silent failure.
8155 * configure: Regenerated.
8156
b38b97c4 81572002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 8158
1c0ca89d 8159 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
8160 instructions in sourcebuild.texi. Also add to gcc.c list of
8161 default languages.
ad854f24 8162
b38b97c4
TJ
8163 * doc/contrib.texi: Add self as contributor of treelang.
8164
8165 * doc/frontends.texi: Add mention of treelang.
8166
8167 * doc/invoke.texi (Overall Options): Add mention of treelang.
8168
8169 * doc/standards.texi: Add mention of treelang.
8170
ae9dbf1f
HPN
81712002-06-09 Hans-Peter Nilsson <hp@axis.com>
8172
8173 * config/cris/cris.c: Include ggc.h
8174
1ce676a0
NB
81752002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
8176
8177 * cpphash.h (_cpp_push_text_context): Update.
8178 (_cpp_arguments_ok): New.
8179 * cppmacro.c (_cpp_arguments_ok): New, split out from...
8180 (collect_args): ...here.
8181 (_cpp_push_text_context): Change inputs.
8182 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
8183 replace_args_and_push): New.
8184 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
8185 Don't use IS macros directly.
8186 (scan_out_logical_line): Handle function-like macro argument
8187 collection.
8188 (push_replacement_text): Update.
8189 (replacement_length): Remove.
8190 (_cpp_create_trad_definition): Don't skip whitespace before
8191 checking for '('.
8192
25f2e176
MM
81932002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
8194
8195 * config/avr/avr.c (avr_mcu_types): Update for new devices.
8196 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
8197 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
8198 * config/avr/avr.md ("type" and "length" attributes): New type
8199 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
8200 output a single "call" or "rcall" insn depending on device size.
8201 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
8202
309323c2
DE
82032002-06-09 David Edelsohn <edelsohn@gnu.org>
8204
8205 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
8206 synonym for 630. Add power4. Remove embedded processors. Use -m604
8207 assembler option.
8208 (CPP_CPU_SPEC): Add power3 and power4.
8209 (PROCESSOR_DEFAULT): Change to 604e.
8210 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
8211 (CPP_CPU_SPEC): Similar additions.
8212 (enum process_type): Add POWER4.
8213 (RTX_COSTS): Add POWER4.
8214 (CPP_CPU_SPEC): Similar additions.
8215 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 8216 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
8217 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
8218 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
8219 branch adjustment.
8220 (rs6000_issue_rate): Add Power4.
8221 * config/rs6000/rs6000.md (cpu attr): Add power4.
8222 (iu compare): Remove 604, 604e, 620, 630.
8223 Add basic Power4 scheduling information.
8224 (mfcr/mtcrf): Change type attribute to cr_logical.
8225
1f8e4682
KG
82262002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8227
57d80297
KG
8228 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
8229 ATTRIBUTE_PRINTF_2.
8230 * gengtype-lex.l: Fix format specifier warning.
8231
1f8e4682
KG
8232 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
8233 not isspace.
8234 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
8235 lieu of isspace/IDchar.
8236 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
8237 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
8238 ISSPACE.
8239
5a9ee623
ZW
82402002-06-08 Zack Weinberg <zack@codesourcery.com>
8241
8242 * Makefile.in (LIBCPP_OBJS): Take out version.o.
8243 * cpphash.h (cpp_reader): Take out print_version member.
8244 * cppinit.c: (cpp_handle_option): Don't do anything with
8245 -version. Just set help_only for --version, --target-help.
8246 Just set verbose option for -v.
8247 (cpp_post_options): Don't print a version string.
8248
c16e5a35
MM
82492002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
8250
8251 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
8252 (avr_section_type_flags): New, handle .noinit* sections.
8253
79bc889e
JT
82542002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8255
8256 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
8257 and include netbsd_entry_point.
8258 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
8259 (NETBSD_ENTRY_POINT): Define.
8260
6a79bb0a
JT
82612002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8262
8263 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 8264 if not already defined.
6a79bb0a
JT
8265 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
8266
e52b6b63
MM
82672002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
8268
8269 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
8270 in a noreturn function.
8271 (avr_output_function_prologue, avr_output_function_epilogue):
8272 Correct function size calculation. Do not crash on empty function.
8273 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
8274
1569d670
JT
82752002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8276
8277 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
8278 netbsd_link_spec and netbsd_entry_point.
8279 (LINK_SPEC): Use %(netbsd_link_spec).
8280 (NETBSD_ENTRY_POINT): Define.
8281
cfb06024
JT
82822002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8283
8284 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
8285 linker emulation.
8286 (LINK_ARCH64_SPEC): Likewise.
8287 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
8288 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
8289
5a9ee623
ZW
82902002-06-08 Marc Espie <espie@openbsd.org>
8291
8292 * lists.c (free_list): Fix typo in comment.
e3623158 8293
272cdf58
AJ
82942002-06-08 Andreas Jaeger <aj@suse.de>
8295
8296 * lcm.c (optimize_mode_switching): Add unused attribute for
8297 variable.
8298
8299 * sched-deps.c (sched_analyze): Remove unused variable.
8300
bf3f2a12
GDR
83012002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
8302
8303 * diagnostic.def: Don't capitalize diagnostict descriptors.
8304
523a5f2f
JT
83052002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8306
8307 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
8308 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
8309 (NETBSD_ENTRY_POINT): Define.
8310
a3e944f9
JT
83112002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8312
8313 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
8314 NETBSD_LINK_SPEC_ELF.
8315 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
8316 (NETBSD_ENTRY_POINT): Define.
8317 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
8318 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
8319 netbsd_entry_point.
8320 (NETBSD_ENTRY_POINT): Define.
8321
854928a0
JT
83222002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8323
8324 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
8325 netbsd_link_spec and netbsd_entry_point.
8326 (LINK_SPEC): Use %(netbsd_link_spec).
8327 (NETBSD_ENTRY_POINT): Define.
8328
6bb5d2e7
JT
83292002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8330
8331 * config/netbsd-elf.h (LINK_SPEC): Rename to...
8332 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
8333 to specify program entry point.
8334
e50126e8
JL
83352002-06-07 Jeff Law <law@redhat.com
8336
8337 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 8338 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
8339 than creating a new register.
8340 (distribute_notes): Likewise.
8341 * df.c (df_reg_use_gen): Likewise.
8342 (df_reg_clobber_gen): Likewise.
8343 (df_ref_record): Likewise.
8344 * expr.c (use_regs): Likewise.
8345 * flow.c (propagate_one_insn): Likewise.
8346 (mark_set_1): Likewise.
8347 (mark_used_reg): Likewise.
8348 * reload.c (emit_reload_insns): Likewise.
8349
bc9c18c3
RS
83502002-06-07 Roger Sayle <roger@eyesopen.com>
8351
8352 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
8353 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
8354 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
8355 comparison code comp can be reversed.
8356
437f1df1
RS
83572002-06-07 Roger Sayle <roger@eyesopen.com>
8358
8359 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
8360 constants last in comparisons. Optimize (x+1.0)>0.0 into the
8361 equivalent x > -1.0 when -ffast-math.
8362
cd24b8a4
JT
83632002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8364
8365 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
8366 * config/mips/t-netbsd: New file.
8367
09e77dee
ZW
83682002-06-07 Zack Weinberg <zack@codesourcery.com>
8369
8370 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
8371 options their own entries.
8372 (parse_option): Clarify comment.
8373 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
8374 special case. Replace if/strcmp chain for -W options with
8375 use of new OPT_* entries for them.
8376 (cpp_handle_options): Update to match.
8377 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
8378 * c-decl.c: Update call to cpp_handle_option.
8379
942030dc
AD
83802002-06-07 Akim Demaille <akim@epita.fr>
8381
8382 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
8383 Whitespace changes.
8384
f2846820
JL
83852002-06-07 Jeffrey Law <law@redhat.com>
8386
8387 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
8388 on empty lists.
8389
4bafaa6f
L
83902002-06-07 H.J. Lu (hjl@gnu.org)
8391
8392 * configure.in: Add --enable-__cxa_atexit.
8393 * configure: Regenerated.
8394 * config.in: Likewise.
8395
8396 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
8397 not defined.
8398
caef5b46
GDR
83992002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
8400
8401 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
8402
ac64a17c
JT
84032002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8404
8405 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
8406
97459791
JM
84072002-06-07 Jason Merrill <jason@redhat.com>
8408
8409 * cppexp.c (num_equality_op): Use a temporary variable to work
8410 around gcc 3.0.4 bug.
8411
4b1d52c7
GDR
84122002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
8413
8414 * diagnostic.c (diagnostic_build_prefix): Tidy.
8415
c70f6ed3
NB
84162002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
8417
8418 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
8419 scan_parameters, save_replacement_text, replacement_length): New.
8420 (scan_out_logical_line): Take a macro and save parameters if
8421 non-NULL.
8422 (_cpp_logical_line_trad): Update.
8423 (_cpp_create_trad_definition): Update to handle function-like
8424 macros.
8425 * cpplex.c (new_buff): Update.
8426 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
8427 * cpphash.h: ...here.
8428 (CPP_ALIGN2, _cpp_save_parameter): New.
8429 * cppmacro.c (save_parameter): Rename, export.
8430 (parse_params): Update.
8431
aec2ac46
AJ
84322002-06-07 Andreas Jaeger <aj@suse.de>
8433
8434 * config/mmix/mmix.c: Remove extra broken prototype for
8435 mmix_init_machine_status.
8436
9f313342
GK
84372002-06-06 Geoffrey Keating <geoffk@redhat.com>
8438
8439 * gengtype.c: Add comments before all the routines.
8440
3fa1b448
JT
84412002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8442
8443 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
8444 from and add t-sh64 to ${tmake_file}.
8445 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
8446 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
8447 * config/sh/t-netbsd-sh5-32: Remove.
8448 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
8449 MULTILIB_ENDIAN.
8450 (MULTILIB_DIRNAMES): Define.
8451
0d682900
JH
8452Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
8453
8454 * i386.md (and promoting splitters): Disable QI to SImode promoting
8455 when doing so changes immediate to be 32bit.
8456
8457 * rtl.h (emit_*_scope): Declare.
8458 * emit-rtl.c (emit_*_scope): New global functions.
8459 (try_split): Copy scope.
8460 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
8461 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
8462 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
8463 noce_process_if_block, find_cond_trap): Copy scopes.
8464 * recog.c (peephole2_optimize): likewise.
8465
c991649c
JL
84662002-06-06 Jeffrey Law <law@redhat.com>
8467
8468 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
8469
8a5d66c4
R
8470Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
8471
8472 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
8473
d7f8491b
RO
84742002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8475
8476 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
8477 ($(docdir)/gccinstall.info): New target.
8478 (info): Depend on it.
8479 (gccinstall.dvi): New target.
8480 (dvi): Depend on it.
8481 * doc/.cvsignore: Ignore new info files.
8482 * doc/install.texi (@setfilename): Reflect new info filename.
8483
eaeb7de8
R
8484Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
8485
8486 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
8487 on an UNSPEC.
8488
0c7aeb88
NP
8489Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
8490
8491 PR objc/6834
8492 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
8493 c_common_get_alias_set.
aec2ac46 8494 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 8495
2a496e8b
JDA
84962002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
8497
8498 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
8499 functions.
8500 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
8501 * avr/avr.c (avr_output_function_epilogue): Use above to determine
8502 function size.
8503 * pa/pa.c (pa_output_function_prologue): Likewise.
8504
2ff581c3
DM
85052002-06-05 David S. Miller <davem@redhat.com>
8506
8507 * integrate.c (subst_constants): Handle 'B' RTL format.
8508
b2e2d0cc
EC
85092002-06-05 Eric Christopher <echristo@redhat.com>
8510
8511 * varasm.c (make_decl_rtl): Fix comment for removed
8512 halfpic.c.
8513
0f81faf6
EC
85142002-06-05 Eric Christopher <echristo@redhat.com>
8515
8516 * Makefile.in: Remove missed halfpic bits.
8517
33005162
EC
85182002-06-05 Eric Christopher <echristo@redhat.com>
8519
8520 * toplev.c: Remove half-pic.
8521 * config/mips/mips.c: Ditto.
8522 * config/mips/mips.h: Ditto. Remove unused defines.
8523 * config/mips/openbsd.h: Update comment to reflect above.
8524 * config/mips/mips.md: Remove half-pic constraints.
8525 * halfpic.h: Delete.
8526 * halfpic.c: Ditto.
8527
80081028
JL
85282002-06-05 Jeffrey Law <law@redhat.com>
8529
5a9ee623
ZW
8530 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
8531 rejects (mem (lo_sum (reg) (unspec))), but will allow
8532 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 8533
cbc69f84
NB
85342002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
8535
8536 * cpphash.h (_cpp_create_definition): Update prototype.
8537 (_cpp_push_text_context, _cpp_create_trad_definition): New.
8538 ( cpp_lex_identifier_trad): New.
8539 (_cpp_set_trad_context): New.
8540 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
8541 * cpplib.c (SEEN_EOL): Update.
8542 (lex_macro_node): Update for -traditional.
8543 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
8544 * cppmacro.c (_cpp_create_definition): Split into
8545 create_iso_definition() and _cpp_create_trad_definition().
8546 (warn_of_redefinition): Update prototype; handle traditional
8547 macros.
8548 (_cpp_push_text_context): New.
8549 * cpptrad.c (skip_whitespace, push_replacement_text): New.
8550 (lex_identifier): Call ht_lookup with correct start.
8551 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
8552 _cpp_set_trad_context): New.
8553 (scan_out_logical_line): Update to handle changing contexts.
8554
dbf87f32
R
8555Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
8556
8557 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
8558 (shl*-*-elf*): Add.
8559 * config/sh/t-be (MULTILIB_ENDIAN): Set.
8560 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
8561 * t-sh (MULTILIB_ENDIAN): Set.
8562 (MULTILIB_OPTIONS): Use it.
8563 * t-sh64 (MULTILIB_OPTIONS): Likewise.
8564 (MULTILIB_DIRNAMES): Likewise.
8565
47b69537
GDR
85662002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
8567
8568 * toplev.h (report_error_function): Remove.
8569
8570 * diagnostic.h (location_t): New datatype.
8571 (text_info): Likewise.
8572 (diagnostic_info): Likewise.
8573 (output_prefix): New macro.
8574 (diagnostic_last_function_changed): Likewise.
8575 (diagnostic_set_last_function): Likewise.
8576 (diagnostic_last_module_changed): Likewise.
8577 (diagnostic_set_last_module): Likewise.
8578 (report_diagnostic): Now macro.
8579 (diagnostic_set_info): Declare.
8580
8581 * diagnostic.c (report_problematic_module): Rename to
33005162 8582 diagnostic_repor_current_module.
47b69537
GDR
8583 (set_diagnostic_context): Remove.
8584 (count_error): Rename to diagnostic_error_count.
8585 (error_function_changed): Remove.
8586 (record_last_error_function): Likewise.
8587 (error_module_changed): Likewise.
8588 (record_last_error_module): Likewise.
8589 (context_as_prefix): Rename to diagnostic_build_prefix.
8590 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
8591 (diagnostic_set_info): New function.
8592
8593 * objc/objc-act.c: #include diagnostic.h
8594 (error_with_ivar): Adjust call to count_error.
8595 (warn_with_method): Likewise.
8596 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
8597
540eaea8
BW
85982002-06-05 Bob Wilson <bob.wilson@acm.org>
8599
8600 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
8601 lang_hooks.types.make_type instead of make_node; set up
8602 __va_list_tag type decl.
8603 (xtensa_builtin_saveregs): Remove broken use of
8604 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
8605 for saved registers; add varargs alias set.
8606
f23a084d
NB
86072002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
8608
8609config:
8610 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
8611 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
8612 CPP_PREDEFINES and part of CPP_SPEC.
8613 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
8614 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
8615
3fe3a596
JH
8616Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
8617
8618 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
8619
1fd9ba59
AM
86202002-06-05 Alan Modra <amodra@bigpond.net.au>
8621
8622 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
8623
cea554e0
ZW
86242002-06-04 Zack Weinberg <zack@codesourcery.com>
8625
8626 * gengtype-yacc.y: Make sure all rules end with a semicolon.
8627
07232638
BW
86282002-06-04 Bob Wilson <bob.wilson@acm.org>
8629
8630 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
8631 typo in function prototype and include "ggc.h" header.
8632
c4b50f1a
RH
86332002-06-04 Richard Henderson <rth@redhat.com>
8634
8635 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
8636 (print_operand) ['U']: Likewise.
8637 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
8638 (alpha_expand_unaligned_store_words): Likewise.
8639 (alpha_expand_builtin_vector_binop): Fix typo.
8640 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
8641 umulh, and cix insns.
8642 (one_arg_builtins): Add cix builtins.
8643 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
8644 (alpha_expand_builtin): Fix typo in arity.
8645 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
8646 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
8647 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
8648 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
8649 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
8650 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
8651 builtin_ctlz, builtin_ctpop): New.
8652 * doc/extend.texi (Alpha Built-in Functions): Update.
8653
aaab35ae
GK
86542002-06-04 Geoffrey Keating <geoffk@redhat.com>
8655
afb0f770
GK
8656 * gengtype.c (write_gc_root): Don't unnecessarily prevent
8657 global variable-length arrays being roots.
8658
aaab35ae
GK
8659 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
8660 * configure.in (config_gtfiles): New variable.
8661 (all_gtfiles): Initialise from config_gtfiles.
8662 * configure: Regenerate.
8663
1ba7b414
NB
86642002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
8665
8666config/i386:
8667 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
8668 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
8669 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
8670 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
8671 win32.h (CPP_SPEC): Remove cpp_cpu.
8672 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
8673 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
8674
135ca7b2
JJ
86752002-06-04 Janis Johnson <janis187@us.ibm.com>
8676
8677 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
8678
85d69216 86792002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
8680 David Edelsohn <edelsohn@gnu.org>
8681 Michael Matz <matz@kde.org>
85d69216
JL
8682
8683 * sched-int.h (struct deps): New field libcall_block_tail_insn.
8684 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
8685 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
8686 is set, then mark the current insn as being part of a libcall
8687 scheduling group.
8688 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
8689
8690 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
8691 insns against the issue rate.
8692
63f4a88e
JH
8693Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
8694
8695 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
8696 * final.c (final_scan_insn): Likewise.
8697 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
8698 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
8699 * haifa-sched.c (unlink_other_notes): Likeewise.
8700 (reemit_notes): Likewise.
8701 * print-rtl.c (print_rtx): Likewise.
8702 * sched-deps (sched-analyze): Likewise.
8703 * rtl.c (note_insn_name): Likewise.
8704 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
8705 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
8706 (RANGE_*): Kill.
8707
a5d1f75b
JT
87082002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
8709
8710 * varasm.c (mark_constants): Handle RTX format 'B'.
8711
82eda77e
NB
87122002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
8713
8714 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
8715 (struct cpp_context): Add traditional fields.
8716 * cppmacro.c (paste_all_tokens, push_ptoken_context,
8717 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
8718 * cpptrad.c (skip_comment, lex_identifier,
8719 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
8720
589005ff
KH
87212002-06-04 Kazu Hirata <kazu@cs.umass.edu>
8722
8723 * gbl-ctors.h: Fix formatting.
8724 * gcc.c: Likewise.
8725 * gccspec.c: Likewise.
8726 * gcov.c: Likewise.
8727 * gcov-io.h: Likewise.
8728 * gcse.c: Likewise.
8729 * ggc-common.c: Likewise.
8730 * ggc.h: Likewise.
8731 * ggc-page.c: Likewise.
8732 * ggc-simple.c: Likewise.
8733 * global.c: Likewise.
8734 * graph.h: Likewise.
8735 * gthr-dce.h: Likewise.
8736 * gthr.h: Likewise.
8737 * gthr-posix.h: Likewise.
8738 * gthr-rtems.h: Likewise.
8739 * gthr-solaris.h: Likewise.
8740 * gthr-win32.h: Likewise.
8741
e2500fed
GK
87422002-06-03 Geoffrey Keating <geoffk@redhat.com>
8743
8744 Merge from pch-branch:
33005162 8745
e2500fed
GK
8746 * gengtype.h (UNION_OR_STRUCT_P): New macro.
8747 * gengtype.c (write_gc_structure_fields): Use it.
8748 (write_gc_root): Use it here too.
8749
8750 * gengtype.c (write_gc_structure_fields): Assume that lengths
8751 of typenames fit into an 'int'; don't pass a size_t to "%d" in
8752 printf.
8753 (write_gc_marker_routine_for_structure): Likewise.
8754 (write_gc_types): Likewise.
8755 (write_gc_root): Likewise.
8756
8757 * varray.h (VARRAY_CLEAR): New.
8758 (varray_clear): Prototype.
8759 * varray.c (varray_clear): New.
8760 * cselib.c (reg_values_old): New.
8761 (used_regs_old): New.
8762 (cselib_init): Use cached varrays if available to avoid
8763 generating large amounts of garbage.
8764 (cselib_finish): Don't throw away old varrays.
8765
8766 * final.c (insn_addresses_): Move out of ifdef.
8767
8768 * varray.c (uses_ggc): Make more varray kinds GCable.
8769 * varray.h (union varray_data_tag): Let gengtype see
8770 fields 'generic' and 'te'.
8771 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
8772 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
8773 (reg_to_stack): Don't call VARRAY_FREE.
8774 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
8775 (insn_addresses_): Use gengtype to mark.
8776 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
8777 pointers; handle generic pointers in unused union fields.
8778 (get_output_file_with_visibility): Include cselib.h,
8779 insn-addr.h in gtype-desc.c.
8780 * function.c (prologue): Use gengtype to mark.
8781 (epilogue): Likewise.
8782 (sibcall_epilogue): Likewise.
8783 * dependence.c: Include gt-dependence.h, ggc.h.
8784 (struct def_use): Use gengtype to mark.
8785 (struct loop): Likewise.
8786 (struct induction): Likewise.
8787 (struct dependence): Likewise.
8788 (def_use_chain): Likewise.
8789 (dep_chain): Likewise.
8790 (loop_chain): Likewise.
8791 (induction_chain): Likewise.
8792 (init_dependence_analysis): Don't free anything, just clear pointers.
8793 (build_def_use): Use GGC to allocate def_use.
8794 (add_loop): Use GGC to allocate loop.
8795 (find_induction_variable): Use GGC to allocate induction.
8796 (check_node_dependence): Use GGC to allocate induction, dependence.
8797 (dump_node_dependence): Don't free varrays.
8798 (end_dependence_analysis): Likewise.
8799 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
8800 (struct elt_loc_list): Likewise.
8801 (struct elt_list): Likewise.
8802 * cselib.c: Don't include obstack.h.
8803 (hash_table): Use gengtype to mark.
8804 (reg_values): Use gengtype to mark.
8805 (used_regs): Use gengtype to mark.
8806 (cselib_obstack): Delete.
8807 (cselib_startobj): Delete.
8808 (empty_vals): Mark as deletable.
8809 (empty_elt_lists): Mark as deletable.
8810 (empty_elt_loc_lists): Mark as deletable.
8811 (new_elt_list): Use GGC to allocate struct elt_list.
8812 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
8813 (clear_table): Don't delete obstack; don't unnecessarily clear
8814 deletable variables.
8815 (new_cselib_val): Use GGC to allocate struct cselib_val.
8816 (cselib_init): Don't set up obstacks. Use GGC to allocate
8817 hash table.
8818 (cselib_finish): Just clear variables, don't free anything.
8819 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
8820 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
8821 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
8822 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
8823 (gt-reg-stack.h): New rule.
8824 (gt-dependence.h): New rule.
8825 (gtype-desc.o): Add cselib.h, insn-addr.h.
8826
8827 * varray.c: Use only necessary headers.
8828 (element_size): New.
8829 (uses_ggc): New.
8830 (varray_init): Take type, not size. Use GGC if appropriate.
8831 (varray_grow): Update for change to struct varray_head_tag.
8832 Use GGC if appropriate.
8833 * varray.h (struct const_equiv_data): Use gengtype.
8834 (enum varray_data_enum): New.
8835 (union varray_data_tag): Use gengtype.
8836 (struct varray_head_tag): Use gengtype. Replace size field with
8837 enum varray_data_enum.
8838 (varray_init): Update prototype.
8839 (VARRAY_SCHED_INIT): Delete.
8840 (VARRAY_*_INIT): Update for change to varray_init.
8841 (VARRAY_SCHED): Delete.
8842 (VARRAY_PUSH_SCHED): Delete.
8843 (VARRAY_TOP_SCHED): Delete.
8844 * tree.h: Update for change to length specifier.
8845 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
8846 (clone_body): Likewise.
8847 * ssa.h (ssa_definition): Use gengtype to mark.
8848 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
8849 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
8850 * rtl.h (struct rtvec_def): Update for change to length specifier.
8851 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
8852 (struct initial_value_struct): Update for change to length specifier.
8853 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
8854 (ggc_add_tree_varray_root): Delete prototype.
8855 (ggc_mark_rtx_varray): Delete prototype.
8856 (ggc_mark_tree_varray): Delete prototype.
8857 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
8858 (ggc_add_tree_varray_root): Delete.
8859 (ggc_mark_rtx_varray): Delete.
8860 (ggc_mark_tree_varray): Delete.
8861 (ggc_mark_rtx_varray_ptr): Delete.
8862 (ggc_mark_tree_varray_ptr): Delete.
8863 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
8864 (create_varray): Delete prototype.
8865 * gengtype.c (varrays): Delete.
8866 (create_varray): Delete.
8867 (adjust_field_type): Detect array of string pointers.
8868 (process_gc_options): Remove code to handle varray_type option.
8869 (set_gc_used_type): Remove TYPE_VARRAY case.
8870 (output_escaped_param): New.
8871 (write_gc_structure_fields): Use output_escaped_param on all
8872 parameters. Handle 'skip' with 'use_param' option. Handle
8873 arrays of strings. Remove TYPE_VARRAY handling.
8874 (write_gc_roots): Use boolean to detect 'length' option.
8875 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
8876 (struct_fields): Call adjust_field_type on array fields.
8877 (type): Remove VARRAY_TYPE case.
8878 (type_option): Likewise.
8879 * gengtype-lex.l: Don't consider varray_type a keyword.
8880 * function.h: Update for change to length specifier.
8881 (free_eh_status): Delete prototype.
8882 * function.c (free_after_compilation): Don't call free_eh_status.
8883 (reorder_blocks): Don't use VARRAY_FREE.
8884 * except.c (struct eh_status): Update for change to length specifier.
8885 remove varray_type specifier.
8886 (free_eh_status): Delete.
8887 * dwarf2out.c: Include gt-dwarf2out.h.
8888 (used_rtx_varray): Use gengtype to mark, move
8889 outside ifdefs.
8890 (incomplete_types): Likewise.
8891 (decl_scope_table): Likewise.
33005162 8892 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
8893 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
8894 * c-tree.h (struct lang_type): Update for change to length specifier.
8895 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
8896 * c-objc-common.c: Include gt-c-objc-common.h.
8897 (deferred_fns): Mark for gengtype.
8898 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
8899 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
8900 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
8901 (gtype-desc.o): Update dependencies.
8902 (dwarf2out.o): Add gt-dwarf2out.h.
8903 (varray.o): Update dependencies.
8904 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
8905 (gt-c-objc-common.h): New rule.
8906 (gt-dwarf2out.h): New rule.
8907 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
8908
8909 * doc/gty.texi (GTY Options): Correct spelling.
8910 (GGC Roots): Likewise.
8911 * Makefile.in (TEXI_CPP_FILES): New.
8912 (TEXI_GCC_FILES): New.
8913 (TEXI_GCCINT_FILES): New.
8914 (TEXI_CPPINT_FILES): New.
8915 ($(docdir)/cpp.info): Use new macros.
8916 ($(docdir)/gcc.info): Likewise.
8917 ($(docdir)/gccint.info): Likewise.
8918 ($(docdir)/cppinternals.info): Likewise.
8919 (cpp.dvi): Likewise.
8920 (gcc.dvi): Likewise.
8921 (gccint.dvi): Likewise.
8922 (cppinternals.dvi): Likewise.
8923
8924 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
8925 * doc/gccint.texi (Top): Include gty.texi.
8926 * doc/gty.texi: New file.
8927
8928 * bitmap.c: Include ggc.h, gt-bitmap.h.
8929 (bitmap_ggc_free): New.
8930 (bitmap_elem_to_freelist): New.
8931 (bitmap_element_free): Use bitmap_elem_to_freelist.
8932 (bitmap_element_allocate): Allow use of GGC.
8933 (bitmap_clear): Use bitmap_elem_to_freelist.
8934 (bitmap_copy): Update for change to bitmap_element_allocate.
8935 (bitmap_set_bit): Likewise.
8936 (bitmap_operation): Update for changes elsewhere.
8937 (bitmap_initialize): Allow to create bitmaps that will use GGC.
8938 * bitmap.h (struct bitmap_element_def): Use gengtype.
8939 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
8940 (bitmap_initialize): Add extra parameter.
8941 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
8942 (BITMAP_ALLOCA): Delete.
8943 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
8944 (BITMAP_GGC_ALLOC): New.
8945 * Makefile.in (gtype-desc.o): Add bitmap.h.
8946 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
8947 (GTFILES): Add bitmap.c.
8948 (gt-bitmap.h): New rule.
8949 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
8950 * basic-block.h: Update for changes to bitmap_initialize.
8951 * except.c (exception_handler_label_map): Move into...
8952 (struct eh_status): Here.
8953 (struct eh_region): Make 'aka' GCable.
8954 (free_eh_status): Don't need to specially handle
8955 exception_handler_label_map.
8956 (add_ehl_entry): Update for changes to exception_handler_label_map.
8957 (find_exception_handler_labels): Likewise.
8958 (remove_exception_handler_label): Likewise.
8959 (maybe_remove_eh_handler): Likewise.
8960 (for_each_eh_label): Likewise.
8961 (remove_eh_handler): Allocate 'aka' using GGC.
8962 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
8963 to list of includes.
8964
8965 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 8966 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
8967 (write_gc_types): Arrange for the tests with NULL to be inlined.
8968 (write_gc_roots): Update uses of procedure pointers.
8969 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
8970
8971 * Makefile.in (explow.o): Add dependency on gt-explow.h.
8972 (sdbout.o): Add dependency on gt-sdbout.h.
8973
8974 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
8975 (mem_attrs_htab): Likewise.
8976 (init_emit_once): Don't call ggc_add_deletable_htab.
8977 * fold-const.c (size_htab): Use gengtype to clear unused entries.
8978 (size_int_type_wide): Don't call ggc_add_deletable_htab.
8979 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
8980 parameters, use them, change callers.
8981 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
8982 (write_gc_roots): Handle 'if_marked' option.
8983 (main): Don't need to call set_gc_used_type any more.
8984 * ggc.h (ggc_htab_marked_p): Delete.
8985 (ggc_htab_mark): Delete.
8986 (struct ggc_cache_tab): New.
8987 (gt_ggc_cache_rtab): New declaration.
8988 * ggc-common.c (struct d_htab_root): Delete.
8989 (d_htab_roots): Delete.
8990 (ggc_add_deletable_htab): Delete.
8991 (ggc_htab_delete): Handle new htab-deleting mechanism.
8992 (ggc_mark_roots): Use new htab-deleting mechanism.
8993 * tree.c (type_hash_table): Use gengtype to clear unused entries.
8994 Make static.
8995 (init_obstacks): Don't call ggc_add_deletable_htab.
8996
8997 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
8998 (struct hashed_entry): Likewise.
8999 (nst_method_hash_list): Likewise.
9000 (cls_method_hash_list): Likewise.
9001 (HASH_ALLOC_LIST_SIZE): Delete.
9002 (ATTR_ALLOC_LIST_SIZE): Delete.
9003 * objc/objc-act.c (hash_init): Use ggc to allocate
9004 nst_method_hash_list, cls_method_hash_list.
9005 (hash_enter): Use ggc to allocate; allocate one entry at a time.
9006 (hash_add_attr): Likewise.
9007 (ggc_mark_hash_table): Delete.
9008 (objc_act_parse_init): Delete.
9009 (objc_init): Delete reference to objc_act_parse_init.
9010 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
9011 obstack.h. Replace references to 'struct hash_table' with htab_t.
9012 (struct symbol_hash_entry): Replace hash header with key field.
9013 (struct file_hash_entry): Replace hash header with key field.
9014 (struct demangled_hash_entry): Replace hash header with key field.
9015 (hash_string_eq): New.
9016 (hash_string_hash): New.
9017 (symbol_hash_newfunc): Delete.
9018 (symbol_hash_lookup): Modify to use htab_t.
9019 (file_hash_newfunc): Delete.
9020 (file_hash_lookup): Modify to use htab_t.
9021 (demangled_hash_newfunc): Delete.
9022 (demangled_hash_lookup): Modify to use htab_t.
9023 (tlink_init): Modify to use htab_t.
9024 * hash.h: Delete.
9025 * hash.c: Delete.
9026 * ggc.h: Delete forward structure declarations.
9027 Delete prototypes for deleted functions.
9028 * ggc-common.c: Don't include hash.h.
9029 (ggc_add_tree_hash_table_root): Delete.
9030 (ggc_mark_tree_hash_table_entry): Delete.
9031 (ggc_mark_tree_hash_table): Delete.
9032 (ggc_mark_tree_hash_table_ptr): Delete.
9033 * gengtype.c (write_gc_structure_fields): Allow param_is option.
9034 (write_gc_marker_routine_for_structure): Use visibility of
9035 the parameter if there is one.
9036 * function.c: Replace hash.h with hashtab.h. Replace references
9037 to 'struct hash_table *' with htab_t.
9038 (struct insns_for_mem_entry): Include a plain key.
9039 (fixup_var_refs_insns_with_hash): Update to use htab_t.
9040 (insns_for_mem_newfunc): Delete.
9041 (insns_for_mem_hash): Update to use htab_t.
9042 (insns_for_mem_comp): Likewise.
9043 (insns_for_mem_walk): Likewise.
9044 * c-lang.c: Include ggc.h.
9045 * Makefile.in (OBJS): Remove hash.o.
9046 (c-lang.o): Add GGC_H.
9047 (COLLECT2_OBJS): Remove hash.o.
9048 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
9049 (ggc-common.o): Remove hash.h.
9050 (function.o): Remove hash.h, add HASHTAB_H.
9051 (genautomata.o): Remove hash.h, add HASHTAB_H.
9052
9053 * varasm.c (mark_const_str_htab_1): Delete.
9054 (mark_const_str_htab): Delete.
9055 (const_str_htab_del): Delete.
9056 (const_str_htab): Use gengtype to mark.
9057 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
9058 allocate them.
9059 * tree.c (mark_tree_hashtable_entry): Delete.
9060 (mark_tree_hashtable): Delete.
9061 * tree.h (mark_tree_hashtable): Delete prototype.
9062 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
9063 (ggc_mark): Likewise.
9064 (ggc_calloc): New.
9065 (htab_create_ggc): New.
9066 * ggc-common.c (ggc_calloc): New.
9067 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
9068 (struct type): Add param_struct structure.
9069 * gengtype.c (param_structs): New.
9070 (adjust_field_type): Handle param_is option.
9071 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
9072 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
9073 (write_gc_structure_fields): Add new PARAM parameter. Update
9074 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
9075 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
9076 Use it to generate function name. Update callers.
9077 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
9078 Process them.
9079 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
9080 option.
9081 (main): Define PTR as pointer-to-scalar. Don't specially
9082 mark deferred_string or ehl_map_entry.
9083 * gengtype-yacc.y (PARAM_IS): Add new token.
9084 (externstatic): Use adjust_field_type.
9085 (type_option): Add PARAM_IS.
9086 * gengtype-lex.l: Add rule for typedef of function pointers.
9087 Add rule for PARAM_IS.
9088 (IWORD): Add size_t.
9089 * except.c (exception_handler_label_map): Use gengtype to mark.
9090 (type_to_runtime_map): Likewise.
9091 (mark_ehl_map_entry): Delete.
9092 (mark_ehl_map): Delete.
9093 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
9094 (t2r_mark_1): Delete.
9095 (t2r_mark): Delete.
9096 * Makefile.in (gtype-desc.o): Correct dependencies.
9097 (GTFILES): Add hashtab.h.
9098 (genautomata.o): Actually uses hashtab.h.
9099
9100 * Makefile.in (stringpool.o): Add $(GGC_H).
9101 (dwarf2asm.o): Likewise.
9102 (GTFILES): Add hashtable.h.
9103 * c-common.h (struct c_common_identifier): Use gengtype.
9104 * c-decl.h (c_mark_tree): Delete.
9105 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
9106 * c-tree.h (struct lang_identifier): Use gengtype.
9107 (union lang_tree_node): New.
9108 (c_mark_tree): Delete prototype.
33005162 9109 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
9110 dwarf2_debug_hooks.
9111 * gengtype-lex.l (IWORD): Allow 'bool'.
9112 (ptr_alias): Match.
9113 * gengtype-yacc.y (ALIAS): New token.
9114 (type_option): New rule.
9115 (option): Use type_option.
9116 * gengtype.c (process_gc_options): New.
9117 (set_gc_used_type): Use it.
9118 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
9119 Add new variable 't' to hold the type of the field being processed.
9120 Add more error checking. Use UNION_P when looking at 'desc' option.
9121 Handle language-specific structures containing other
9122 language-specific structures.
9123 (write_gc_types): Handle 'ptr_alias' option.
9124 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
9125 * ggc-common.c (ggc_pending_trees): Delete.
9126 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
9127 (ggc_mark_trees): Delete.
9128 (gt_ggc_m_tree_node): Delete.
9129 * ggc.h (ggc_pending_trees): Delete.
9130 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
9131 * hashtable.h (ht_identifier): Use gengtype.
9132 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
9133 * langhooks.h (struct lang_hooks): Delete mark_tree.
9134 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
9135 anyway.
9136 * system.h: Poison LANG_HOOKS_MARK_TREE.
9137 * tree.c (tree_node_structure): New.
9138 * tree.h (struct tree_common): Use gengtype.
9139 (struct tree_int_cst): Likewise.
9140 (struct tree_real_cst): Likewise.
9141 (struct tree_string): Likewise.
9142 (struct tree_complex): Likewise.
9143 (struct tree_vector): Likewise.
9144 (struct tree_identifier): Likewise.
9145 (struct tree_list): Likewise.
9146 (struct tree_vec): Likewise.
9147 (struct tree_exp): Likewise.
9148 (struct tree_block): Likewise.
9149 (struct tree_type): Likewise.
9150 (struct tree_decl): Likewise.
9151 (enum tree_structure_enum): New.
9152 (union tree_node): Use gengtype, with an alias.
9153 (tree_node_structure): Prototype.
9154 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
9155
9156 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
9157 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
9158 to LANG_HOOKS_FUNCTION_FINAL.
9159 * Makefile.in (GTFILES): Add bitmap.h.
9160 * except.c (struct eh_region): Mark field 'aka' to be skipped.
9161
9162 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
9163 (alpha_init_machine_status): Give proper type.
9164 * Makefile.in (c-lang.o): Depend on gtype-c.h.
9165 (optabs.o): Depend on gt-optabs.h.
9166 (GTFILES): Add optabs.o.
9167 (gt-optabs.h): Add rule.
9168 * optabs.c: Include gt-optabs.h.
9169
9170 * gengtype.c (set_gc_used_type): Correct some errors in last change.
9171 (write_gc_structure_fields): If a field which should be NULL is
9172 not, abort.
9173 * c-pragma.c: Move struct align_stack and variable alignment_stack
9174 out from the ifdef.
9175
9176 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
9177 * config/xtensa/xtensa.c: Include gt-cris.h.
9178 (struct machine_function): Use gengtype to mark.
9179 * config/mmix/mmix.h (struct machine_function): Use gengtype
9180 to mark.
9181 * config/cris/t-cris: Add dependencies for gt-cris.h.
9182 * config/cris/cris.c: Include gt-cris.h.
9183 (struct machine_function): Use gengtype to mark.
9184 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
9185 to mark.
9186 * doc/tm.texi (Per-Function Data): Delete references to
9187 mark_machine_status.
9188 * config/ia64/ia64.c (ia64_override_options): Don't set
9189 mark_machine_status.
9190 * config/i386/i386.c (override_options): Likewise.
9191 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
9192 * config/arm/arm.c (arm_init_expanders): Likewise.
9193 * config/alpha/alpha.c (override_options): Likewise.
33005162 9194 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
9195 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
9196 (write_gc_structure_fields): Don't handle 'really' option.
9197 Handle 'maybe_null' option.
9198 (write_gc_types): Handle 'maybe_null' option.
9199 * function.h (struct function): Don't use "really".
9200 (mark_machine_status): Delete declaration.
9201 (mark_lang_status): Delete declaration.
9202 (gt_ggc_mr_machine_function): Delete prototype.
9203 (gt_ggc_mr_language_function): Delete prototype.
9204 * function.c (mark_machine_status): Delete.
9205 (mark_lang_status): Delete.
9206 (gt_ggc_mr_machine_function): Delete.
9207 (gt_ggc_mr_language_function): Delete.
9208 * c-tree.h (mark_c_function_context): Delete prototype.
9209 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
9210 * c-decl.c (struct language_function): Rename from struct
9211 c_language_function. Update uses. Use gengtype to mark.
9212 (mark_c_function_context): Delete.
9213 * c-common.h (struct c_language_function): Rename from struct
9214 language_function.
9215 (mark_stmt_tree): Delete prototype.
9216 (c_mark_lang_decl): Delete prototype.
9217 (mark_c_language_function): Delete prototype.
9218 * c-common.c (mark_stmt_tree): Delete.
9219 (c_mark_lang_decl): Delete.
9220 (mark_c_language_function): Delete.
9221
9222 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
9223 (lang_bitmap): New typedef. Use where appropriate.
9224 (struct type): Add gc_used field, lang_struct field.
9225 (UNION_P): New macro.
9226 (new_structure): New prototype.
9227 (find_structure): Remove 'pos' parameter. Change all callers.
9228 * gengtype-lex.l: Update for changes to find_structure.
9229 * gengtype-yacc.y (typedef_struct): Use new_structure.
9230 (yacc_ids): Suppress warning.
9231 (type): Use new_structure.
9232 * gengtype.c (string_type): Update for changes to struct type.
9233 (find_structure): Just find a structure, don't worry about
9234 creating one.
9235 (new_structure): New.
9236 (note_yacc_type): Use new_structure.
9237 (set_gc_used_type): New.
9238 (set_gc_used): New.
9239 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
9240 (write_gc_types): Handle TYPE_LANG_STRUCT.
9241 (write_gc_marker_routine_for_structure): New.
9242 (main): Call set_gc_used. Add some calls to set_gc_used_type
9243 for places where GCC doesn't use gengtype properly yet.
9244 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
9245 (gt_ggc_m_tree_node): Likewise.
9246
9247 * varasm.c (copy_constant): Call expand_constant if we hit
9248 something we can't recognise.
9249
9250 * ggc-common.c (ggc_mark_rtvec_children): Delete.
9251 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
9252 (lang_mark_false_label_stack): Delete.
9253 * rtl.h (struct rtvec_def): Use gengtype to mark.
9254 * ggc.h (ggc_mark_rtvec): Delete.
9255 (gt_ggc_m_rtvec_def): Delete.
9256 (ggc_mark_nonnull_tree): Delete.
9257 (ggc_mark_rtvec_children): Delete prototype.
9258 (lang_mark_false_label_stack): Delete declaration.
9259
9260 * gengtype.h (note_yacc_type): Add prototype.
9261 * gengtype.c (note_yacc_type): New function.
9262 * gengtype-lex.l: Add lexer support for yacc files.
9263 * gengtype-yacc.y (start): Extract union from yacc files.
9264 (yacc_union): New rule.
9265 (yacc_typematch): New rule.
9266 (yacc_ids): New rule.
9267 (enum_items): Tweak for efficiency.
9268 (optionseq): Likewise.
9269
9270 * c-common.h (struct language_function): Use gengtype.
9271 (struct c_lang_decl): Likewise.
9272 * c-tree.h (struct lang_decl): Likewise.
9273 (struct lang_type): Likewise.
9274 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
9275 tree language substructures.
9276
9277 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
9278 ggc_mark_tree.
9279 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
9280
9281 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
9282
9283 * stmt.c (struct nesting): Add discriminator. Use gengtype to
9284 mark. Remove 'data.block.cleanup_ptr' field.
9285 (struct stmt_status): Use usual technique to mark struct nesting.
9286 (gt_ggc_mr_nesting_cond): Delete.
9287 (gt_ggc_mr_nesting_loop): Delete.
9288 (gt_ggc_mr_nesting_block): Delete.
9289 (gt_ggc_mr_nesting_case_stmt): Delete.
9290 (expand_start_cond): Set discriminator.
9291 (expand_start_loop): Likewise.
9292 (expand_start_null_loop): Likewise.
9293 (expand_start_bindings_and_block): Set discriminator. Don't set
9294 deleted fields.
9295 (expand_decl_cleanup): Replace 'cleanup_ptr' with
9296 &thisblock->data.block.cleanups.
9297 (expand_start_case): Set discriminator.
9298 (expand_start_case_dummy): Set discriminator.
9299
9300 * ggc-callbacks.c: Remove.
9301
9302 * gengtype.h (struct type): Add 'u.s.bitmap' field.
9303 (find_structure): Add 'pos' parameter.
9304 * gengtype-lex.l: Update callers to find_structure.
9305 * gengtype-yacc.y: Likewise.
9306 * gengtype.c (find_structure): Allow for structures to be defined
9307 in multiple language backends.
9308 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
9309 (counter): Rename to gc_counter.
9310 (write_gc_structure_fields): Fail when writing out fields for
9311 an incomplete structure. Ignore arrays of scalars. Handle
9312 'tree_vec' special.
9313 (write_gc_types): Reset counter for each procedure written.
9314
9315 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
9316 (free_case_nodes): Delete.
9317 (expand_end_case_type): Delete call to free_case_nodes.
9318
9319 * Makefile.in (cselib.o): Include gt-<filename>.h.
9320 (gcse.o): Likewise.
9321 (profile.o): Likewise.
9322 (alias.o): Likewise.
9323 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
9324 alphabetize backend files.
9325 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
9326 * alias.c: Use gengtype for roots.
9327 * c-common.h (struct stmt_tree_s): Use gengtype.
9328 * c-decl.c: Use gengtype for roots.
9329 * cselib.c: Use gengtype for roots.
9330 * expr.c: Use gengtype for roots.
9331 * fold-const.c: Use gengtype for roots.
9332 * gcse.c: Use gengtype for roots.
9333 * gengtype-lex.l: Handle typedefs of function types.
9334 Allow for empty array bounds.
9335 Allow processing to stop on initialisers.
9336 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
9337 (semiequal): New rule.
9338 * gengtype.c (create_file): Tidy output files.
9339 (get_output_file_with_visibility): Fix paren warning. Fix bug
9340 involving multiple input files mapping to one output file.
9341 (write_gc_structure_fields): Skip arrays of scalars.
9342 (write_gc_types): Tidy output files.
9343 (write_gc_root): New function.
9344 (write_gc_roots): Fix bugs, add support for roots that are
9345 structures.
9346 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
9347 (ggc_mark_tree_ptr): Delete.
9348 (ggc_add_rtx_root): Delete.
9349 (ggc_add_tree_root): Delete.
9350 (ggc_del_root): Delete.
9351 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
9352 allocate struct initial_value_struct.
9353 * profile.c: Use gengtype for roots.
9354 * sdbout.c: Use gengtype for roots.
9355 * varasm.c (mark_weak_decls): Delete unused prototype.
9356 (mark_const_hash_entry): Delete unused function.
9357 * config/darwin-protos.h: Use gengtype for roots.
9358 (machopic_add_gc_roots): Delete.
9359 * config/arm/arm.c: Use gengtype for roots.
9360 * config/arm/arm.h: Use gengtype for roots.
9361 * config/c4x/c4x-protos.h: Use gengtype for roots.
9362 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
9363 * config/d30v/d30v-protos.h: Use gengtype for roots.
9364 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
9365 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
9366 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
9367 * config/ia64/ia64-protos.h: Use gengtype for roots.
9368 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
9369 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
9370 * config/m68hc11/m68hc11.c (z_reg): Make global.
9371 (z_reg_qi): Make global.
9372 (m68hc11_add_gc_roots): Delete.
9373 * config/mcore/mcore-protos.h: Use gengtype for roots.
9374 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
9375 * config/mips/mips.c (mips_add_gc_roots): Delete.
9376 * config/mips/mips.h: Use gengtype for roots.
9377 * config/mmix/mmix.c (override_options): Use gengtype for roots.
9378 * config/mmix/mmix.h: Use gengtype for roots.
9379 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
9380 * config/mn10200/mn10200.h: Use gengtype for roots.
9381 * config/pa/pa.c: Use gengtype for roots, marking.
9382 (struct deferred_plabel): Use GGC, gengtype.
9383 (pa_add_gc_roots): Delete.
9384 (mark_deferred_plabels): Delete.
9385 * config/pj/pj-protos.h: Use gengtype for roots.
9386 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
9387 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
9388 machopic_add_gc_roots.
9389 * config/rs6000/rs6000.h: Use gengtype for roots.
9390 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
9391 (gt-darwin.h): Add rule.
9392 * config/sh/sh.c: Use gengtype for roots.
9393 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
9394 (gt-sh.h): Add rule.
9395 * config/sparc/sparc.c: Use gengtype for roots.
9396 (sparc_add_gc_roots): Delete.
9397 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
9398 (mark_ultrasparc_pipeline_state): Delete.
9399 * config/sparc/sparc.h: Use gengtype for roots.
9400
9401 * Makefile.in (c-parse.o): Update dependencies.
9402 (c-common.o): Likewise.
9403 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
9404 Add dependencies for the files they generate.
9405 * c-common.c: Replace ggc_add_* uses with GTY annotations.
9406 * c-common.h: Likewise.
9407 * c-decl.c: Likewise.
9408 (gt_ggc_mp_binding_level): Delete.
9409 * c-lang.c: Include gtype-c.h.
9410 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
9411 gt-c-parse.h.
9412 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
9413 (gt_ggc_mp_align_stack): Delete.
9414 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
9415 * function.c: Replace ggc_add_* uses with GTY annotations.
9416 (gt_ggc_mp_function): Delete.
9417 * function.h: Replace ggc_add_* uses with GTY annotations.
9418 * gengtype.c (lang_names): New.
9419 (NUM_BASE_FILES): New.
9420 (open_base_files): Create language base files.
9421 (startswith): New.
9422 (get_file_basename): New.
9423 (get_base_file_bitmap): New.
9424 (get_output_file_with_visibility): Rename from get_output_file.
9425 Add more mappings for various C/Objc filenames.
9426 (finish_root_table): New.
9427 (write_gc_roots): Handle dependencies and scoping properly.
9428 * gengtype.h: Add prototypes for new functions.
9429 * ggc-common.c (struct deletable_root): Delete.
9430 (deletables): Delete.
9431 (ggc_add_deletable_root): Delete.
9432 (ggc_mark_roots): No need to deal with deleted functionality.
9433 * ggc.h (ggc_add_deletable_root): Delete prototype.
9434 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
9435 (gtype-objc.h): Add rule to create.
9436 * objc/config-lang.in (gtfiles): New.
9437 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
9438 ggc_add_* with GTY markers. Include gtype-objc.h.
9439 (ggc_mark_imp_list): Delete.
9440 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
9441 * objc/objc-lang.c: Random Whitespace Change.
9442
9443 * except.h (exception_handler_labels): Delete.
9444 (get_exception_handler_labels): New.
9445 * except.c (exception_handler_labels): Delete.
9446 (struct eh_status): Add exception_handler_labels field.
9447 (doing_eh): Don't add exception_handler_labels as root.
9448 (free_eh_status): Don't need to free exception_handler_labels.
9449 (get_exception_handler_labels): New.
9450 (find_exception_handler_labels): Update for move of
9451 exception_handler_labels.
9452 (remove_exception_handler_label): Likewise.
9453 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
9454 * jump.c (rebuild_jump_labels): Likewise.
9455 * loop.c (find_and_verify_loops): Likewise.
9456 * sched-rgn.c (is_cfg_nonregular): Likewise.
9457
9458 * gengtype.c (write_gc_structure_fields): Handle variable-length
9459 TYPE_ARRAYs.
9460
9461 * varasm.c (struct weak_syms): Use GGC, gengtype.
9462 (mark_weak_decls): Delete.
9463 (weak_decls): Likewise.
9464 (add_weak): Likewise.
9465 (remove_from_pending_weak_list): Likewise.
9466 (init_varasm_once): Likewise.
9467
9468 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
9469 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
9470 stor-layout.c, regclass.c, and lists.c.
9471 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
9472 gt-regclass.h and gt-lists.h on s-gtype.
9473 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
9474 * except.c: Use gengtype for roots.
9475 * explow.c: Use gengtype for roots. Include gt-explow.h.
9476 * expr.h (init_stor_layout_once): Delete prototype.
9477 * function.c: Use gengtype for roots.
9478 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
9479 * gengtype-yacc.y (start): Can also be an externstatic.
9480 (externstatic): New production.
9481 (struct_fields): Correct array bounds inversion for 2-d arrays.
9482 * gengtype.c (variables): New variable.
9483 (note_variable): New function.
9484 (get_output_file): Include libfuncs.h into gtype-desc.c.
9485 (get_output_file_name): New function.
9486 (write_gc_structure_fields): Suppress warnings.
9487 (write_gc_types): Make static.
9488 (put_mangled_filename): New function.
9489 (write_gc_roots): New function.
9490 (main): Call write_gc_roots.
9491 * gengtype.h (note_variable): Prototype.
9492 (get_output_file_name): Prototype.
9493 (write_gc_types): Delete prototype.
9494 * ggc.h: Clean up unnecessary structure predefinitions.
9495 (struct ggc_root_tab): Define.
9496 (gt_ggc_m_rtx_def): Make function, not macro.
9497 (gt_ggc_m_tree_node): Likewise.
9498 * libfuncs.h: Use gengtype for roots.
9499 * lists.c: Use gengtype for roots. Include gt-lists.h.
9500 (init_EXPR_INSN_LIST_cache): Delete.
9501 * optabs.c: Use gengtype for roots.
9502 (gt_ggc_mp_optab): Delete.
9503 * optabs.h: Use gengtype for roots.
9504 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
9505 * rtl.h: Use gengtype for roots.
9506 (init_EXPR_INSN_LIST_cache): Delete prototype.
9507 * stor-layout.c: Use gengtype for roots.
9508 Include gt-stor-layout.h.
9509 (init_stor_layout_once): Delete.
9510 * toplev.c: Use gengtype for roots. Delete calls to deleted
9511 routines.
9512 * tree.c: Use gengtype for roots.
9513 * tree.h: Use gengtype for roots.
9514 * varasm.c: Use gengtype for roots.
33005162 9515
e2500fed
GK
9516 * Makefile.in (GTFILES): Add @all_gtfiles@.
9517 * configure: Regenerate.
9518 * configure.in: Construct all_gtfiles from the gtfiles definitions
9519 in config-lang.in.
9520 * gengtype-yacc.y (type): Warn about duplicate structure names.
9521 * gengtype.c (get_output_file): Handle .c files in language
9522 subdirectories.
9523
9524 * Makefile.in (GTFILES): Run gengtype on all the config files
9525 and on the target .c file.
9526 * except.c (mark_eh_region): Delete.
9527 (init_eh_for_function): Use GGC on struct eh_status.
9528 (mark_eh_status): Delete.
9529 (free_eh_status): Use GGC.
9530 (expand_eh_region_start): Use GGC to
9531 (collect_eh_region_array): Allocate last_region_number using GGC.
9532 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
9533 (remove_eh_handler): Let GGC free struct eh_region.
9534 (add_call_site): Use GGC to reallocate call_site_record array.
9535 * function.c (init_machine_status): Update calling sequence.
9536 (mark_machine_status): Likewise.
9537 (mark_lang_status): Likewise.
9538 (prepare_function_start): Update init_machine_status call.
9539 (mark_function_status): Delete.
9540 (maybe_mark_struct_function): Delete.
9541 (ggc_mark_struct_function): Delete.
9542 (gt_ggc_mp_function): New.
9543 (gt_ggc_mr_machine_function): New.
9544 (gt_ggc_mr_language_function): New.
9545 (init_function_once): Use canonical names.
9546 * function.h (struct function): Use gengtype.
9547 (init_machine_status): Return the structure.
9548 (mark_machine_status): Take a 'void *'.
9549 (mark_lang_status): Likewise.
9550 * ggc-common.c (ggc_mark_trees): Use canonical name for
9551 ggc_mark_struct_function.
9552 * tree.h (ggc_mark_struct_function): Delete prototype.
9553 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
9554 (alpha_init_machine_status): Likewise.
9555 (override_options): Use canonical name for alpha_mark_machine_status.
9556 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
9557 * config/arm/arm.h (struct machine_function): Use gengtype.
9558 * config/arm/arm.c (arm_mark_machine_status): Delete.
9559 (arm_init_machine_status): Update calling sequence.
9560 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 9561 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
9562 calling sequence.
9563 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 9564 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
9565 calling sequence.
9566 (d30v_mark_machine_status): Delete.
9567 * config/i386/i386.c: Include gt-i386.h.
9568 (struct machine_function): Use gengtype.
9569 (ix86_init_machine_status): Update calling sequence.
9570 (ix86_mark_machine_status): Delete.
9571 (override_options): Use canonical namke for ix86_mark_machine_status.
9572 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 9573 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
9574 sequence.
9575 (ia64_mark_machine_status): Delete.
33005162 9576 (ia64_override_options): Use canonical name for
e2500fed 9577 ia64_mark_machine_status.
33005162 9578 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
9579 sequence.
9580 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
9581 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
9582 * gengtype.c (get_output_file): Fix warning.
9583 (main): Add prototype to suppress warning.
9584 * tree.c: Remove tree_hash_mark prototype.
9585
9586 * tree.h (init_stmt): Delete prototype.
9587 * toplev.c (lang_independent_init): Don't call init_stmt.
9588 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
9589 (stmt_obstack): Delete.
9590 (POPSTACK): No need to free 'struct nesting'.
9591 (gt_ggc_mr_nesting_cond): Use canonical names.
9592 (gt_ggc_mr_nesting_loop): Use canonical names.
9593 (gt_ggc_mr_nesting_block): Use canonical names.
9594 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
9595 (mark_stmt_status): Delete.
9596 (init_stmt): Delete.
9597 (clear_last_expr): Clear both last_expr_type and last_expr_value.
9598 Use it everywhere that last_expr_type was cleared.
9599 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
9600 (zap_lists): Delete.
9601 * ggc.h (ggc_add_deletable_root): Prototype.
9602 (mark_stmt_status): Remove prototype.
9603 * ggc-common.c (ggc_add_deletable_root): New.
9604 (ggc_mark_roots): Handle deletable roots.
9605 * function.c (ggc_mark_struct_function): Use canonical name
9606 for mark_stmt_status.
9607 * emit-rtl.c (free_sequence_stack): New.
9608 (start_sequence): Use a freelist for sequences.
9609 (end_sequence): Likewise.
9610 (init_emit_once): Add free_sequence_stack as a deleteable root.
9611 * c-pragma.c Include gt-c-pragma.h.
9612 (struct align_stack): Use gengtype.
9613 (push_alignment): Use GGC for struct align_stack.
9614 (mark_align_stack): Delete.
9615 (gt_ggc_mp_align_stack): New.
9616 (init_pragma): Use canonical name for mark_align_stack.
9617 * c-decl.c: Include gt-c-decl.h.
9618 (struct binding_level): Use gengtype.
9619 (make_binding_level): Use GGC; handle the freelist here.
9620 (pop_binding_level): New.
9621 (pushlevel): Move code into make_binding_level.
9622 (push_label_level): Likewise.
9623 (poplevel): Move code into pop_binding_level.
9624 (pop_label_level): Likewise.
9625 (mark_binding_level): Delete.
9626 (gt_ggc_mp_binding_level): New.
9627 (c_init_decl_processing): Use canonical name for mark_binding_level.
9628 Add free_binding_level as deletable root.
9629 (mark_c_function_context): Use canonical name for mark_binding_level.
9630 * Makefile.in (c-decl.o): Add gt-c-decl.h.
9631 (c-pragma.o): Add gt-c-pragma.h.
9632 (GTFILES): Add c-decl.c and c-pragma.c.
9633 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
9634
9635 * tree.c (struct type_hash): Use gengtype.
9636 (init_obstacks): Use canonical name for type_hash_mark.
9637 (type_hash_mark): Delete.
9638 Include gt-tree.h.
9639 * rtl.h (struct mem_attrs): Use gengtype.
9640 * optabs.h (struct optab): Use gengtype.
9641 * optabs.c (expand_binop): Squish signed/unsigned warning.
9642 (mark_optab): Make local, use canonical name, use autogenerated
9643 marker procedure.
9644 (init_optabs): Use canonical name for mark_optab.
9645 (new_optab): Use GGC to allocate optabs.
9646 * ggc.h: Delete mark_optab prototype.
9647 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
9648 mem_attrs marker procedure.
9649 * gengtype.c (get_output_file): Include headers in gtype-desc.c
9650 explicitly rather than deducing them from file names.
9651 (write_gc_structure_fields): Handle arrays of structures.
9652 (main): Return non-zero exit code if errors occur during output.
9653 * emit-rtl.c (mem_attrs_mark): Delete.
9654 (init_emit_once): Use canonical name for mem_attrs marker procedure.
9655 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
9656 (tree.o): Depend on gt-tree.h.
9657 (GTFILES): Add rtl.h, optabs.h, tree.c.
9658 (gt-tree.h): Add it to s-gtype rule.
9659
9660 * .cvsignore: Ignore gengtype flex/bison generated files.
9661 * Makefile.in (GGC_H): Add gtype-desc.h.
9662 (OBJS): Add gtype-desc.o.
9663 (GEN): Add gengtype.
9664 (STAGESTUFF): Add gengtype.
9665 (varasm.o): Add gt-varasm.h.
9666 (stmt.o): Add gt-stmt.h.
9667 (except.o): Add gt-except.h.
9668 (integrate.o): Add gt-integrate.h.
9669 (GTFILES): New.
9670 Add new rules for new files.
9671 * configure: Regenerate.
9672 * configure.in: Correct defaults.h paths.
9673 * emit-rtl.c (mark_sequence_stack): Delete.
9674 (mark_emit_status): Delete.
9675 (start_sequence): Allocate sequence structures using GGC.
9676 (end_sequence): Allocate sequence structures using GGC.
9677 * except.c: Use gengtype for various structures. Include
9678 gt-except.h.
9679 * expr.c (mark_expr_status): Delete.
9680 * function.c: Use gengtype for various structures. Include
9681 gt-function.h.
9682 (mark_function_status): Use standard gt_ggc names for marker functions.
9683 (ggc_mark_struct_function): Likewise.
9684 * function.h: Use gengtype for various structures.
9685 * gengtype-lex.l: New file.
9686 * gengtype-yacc.y: New file.
9687 * gengtype.c: New file.
9688 * gengtype.h: New file.
9689 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
9690 the standard names. Remove some now-unnecessary prototypes.
9691 * integrate.c: Use gengtype for various structures. Include
9692 gt-integrate.h.
9693 (mark_hard_reg_initial_vals): Delete.
9694 * integrate.h (mark_hard_reg_initial_vals): Delete.
9695 * stmt.c: Use gengtype for various structures. Include
9696 gt-stmt.h.
9697 (mark_case_node): Delete.
9698 (mark_goto_fixup): Delete.
9699 (mark_stmt_status): Use standard gt_ggc names for marker functions.
9700 * system.h: Define GTY to empty. In flex/bison files,
9701 don't poison malloc or realloc, instead just define them to
9702 xmalloc and xrealloc.
9703 * varasm.c: Use gengtype for various structures. Include
9704 gt-varasm.h. Use standard gt_ggc names for marker functions.
9705 (mark_pool_constant): Delete.
9706 (mark_varasm_status): Delete.
9707 (decode_rtx_const): #if 0 out non-typesafe hack.
9708
9709 * function.h (free_lang_status): Mark as obsolete.
9710 * function.c (free_lang_status): Mark as obsolete.
9711 * c-decl.c (push_c_function_context): Use GC to allocate and free
9712 struct language_function.
9713 (pop_c_function_context): Likewise.
9714 * c-common.c (mark_c_language_function): Mark struct
9715 language_function.
9716
9717 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
9718 Document that the machine_function structures must be allocated
9719 using GC. Update mark_machine_status documentation.
9720 * function.h: Don't declare free_machine_status.
33005162 9721 * function.c (free_machine_status): Don't define.
e2500fed
GK
9722 (free_after_compilation): Don't call free_machine_status.
9723 (ggc_mark_struct_function): Mark f->machine. Call
9724 mark_machine_status only on non-NULL pointers.
9725 * system.h: Poison free_machine_status.
9726 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
9727 struct machine_function.
9728 (xtensa_free_machine_status): Delete.
9729 (override_options): Don't set free_machine_status.
9730 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
9731 free_machine_status.
9732 (rs6000_init_machine_status): Use GC on struct machine_function.
9733 (rs6000_free_machine_status): Delete.
9734 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
9735 machine_function.
9736 (ia64_mark_machine_status): Likewise.
9737 (ia64_free_machine_status): Delete.
9738 (ia64_override_options): Don't set free_machine_status.
9739 * config/i386/i386.c (override_options): Don't set
9740 free_machine_status.
9741 (ix86_init_machine_status): Use GC on struct machine_function.
9742 (ix86_mark_machine_status): Likewise.
9743 (ix86_free_machine_status): Delete.
9744 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
9745 machine_function.
9746 (d30v_mark_machine_status): Likewise.
9747 (d30v_free_machine_status): Delete.
9748 (d30v_init_expanders): Don't set free_machine_status.
9749 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
9750 machine_function.
9751 (arm_init_machine_status): Likewise.
9752 (arm_free_machine_status): Delete.
9753 (arm_init_expanders): Don't set free_machine_status.
9754 * config/alpha/alpha.c (override_options): Don't set
9755 free_machine_status.
9756 (alpha_init_machine_status): Use GC on struct machine_function.
9757 (alpha_mark_machine_status): Likewise.
9758 (alpha_free_machine_status): Delete.
9759
9760 * varasm.c (compare_constant): Fix typo.
9761
9762 * varasm.c: Don't include obstack.h.
9763 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
9764 (struct rtx_const): Give substructures names, improve formatting.
9765 (struct constant_descriptor): Delete.
9766 (struct constant_descriptor_tree): New, based on constant_descriptor.
9767 (const_hash_table): Is a hash table of trees.
9768 (mark_const_hash_entry): Is used for hashes of trees. Mark
9769 constant_descriptor_tree structure.
9770 (mark_const_str_htab_1): Mark deferred_string structure.
9771 (compare_constant): Rewrite to compare trees.
9772 (compare_constant_1): Delete.
9773 (record_constant): Delete.
9774 (record_constant_1): Delete.
9775 (output_constant_def): Use struct constant_descriptor_tree.
9776 Don't duplicate trees twice.
9777 (struct constant_descriptor_rtx): New.
9778 (struct pool_constant): Used for rtx constants.
9779 (init_varasm_status): Update for change to struct varasm_status.
9780 (mark_varasm_status): Likewise.
9781 (free_varasm_status): Delete.
9782 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
9783 (record_constant_rtx): Likewise.
9784 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
9785 (force_const_mem): Likewise.
9786 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
9787 * function.c (free_after_compilation): Don't use free_varasm_status.
9788 * function.h: Don't prototype free_varasm_status.
9789
9790 * ggc-common.c (ggc_realloc): Handle X being NULL.
9791
9792 * ggc-common.c (ggc_realloc): New function.
9793 * ggc.h: Prototype it.
9794 * emit-rtl.c (free_emit_status): Delete.
9795 (init_emit): Allocate emit subarrays using GC.
9796 (gen_reg_rtx): Reallocate subarrays using GC.
9797 (init_emit): Use GC to allocate 'struct emit_status' and its
9798 subarrays.
9799 (mark_emit_status): Mark structure and its subarrays.
9800 * stmt.c (free_stmt_status): Delete.
9801 * expr.c (free_expr_status): Delete.
9802 * function.h: Remove prototypes for deleted functions.
9803 * function.c (free_after_compilation): Don't use deleted functions.
9804 Don't call free() on x_parm_reg_stack_loc.
9805 (free_after_parsing): Don't use free_stmt_status.
9806 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
9807 (mark_function_status): Mark x_parm_reg_stack_loc.
9808
9809 * varasm.c (init_varasm_status): Use GC to allocate
9810 'struct varasm_status' and its fields x_const_rtx_hash_table
9811 and x_const_rtx_sym_hash_table.
9812 (mark_varasm_status): Mark them.
9813 (free_varasm_status): Use GC to free them.
9814 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
9815 (mark_expr_status): Mark the structure itself.
9816 (free_expr_status): Use GC to free the structure.
9817 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
9818 (mark_stmt_status): Mark the 'struct stmt_status' itself.
9819 (init_stmt_for_function): Allocate the structure for GC.
9820
9821 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
9822 (equate_type_number_to_die): Likewise.
9823 * tree.h (TYPE_SYMTAB_DIE): New macro.
9824 (struct die_struct): Predeclare.
9825 (struct tree_type): Add field symtab.die. Add a tag
9826 to the union type of field symtab.
9827
9828 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
9829 'struct rtvec_def *', not 'struct rtvec_def'.
9830
9831 * function.h (original_arg_vector): Make a real rtvec.
9832 * function.c (ggc_mark_struct_function): Adjust.
9833 * integrate.c (expand_inline_function): Adjust.
9834
b655555e
JT
98352002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
9836
9837 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
9838 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
9839 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
9840 (TARGET_VERSION_CPU): Define according to the
9841 default target.
9842 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
9843 TARGET_VERSION_CPU.
9844 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
9845 if TARGET_SHMEDIA64.
9846 (LINK_DEFAULT_CPU_EMUL): Define according to the
9847 default target.
9848 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
9849 (SUBTARGET_LINK_SPEC): Define.
9850 (LINK_SPEC): Use SH_LINK_SPEC.
9851 (ASM_SPEC): Remove.
9852 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
9853 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
9854 and TARGET_SHMEDIA64 which abort, for now.
9855 * config/sh/t-netbsd-sh5: New file.
9856 * config/sh/t-netbsd-sh5-32: New file.
9857 * config/sh/t-netbsd-sh5-64: New file.
9858
6d8fd7bb
RH
98592002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9860 Richard Henderson <rth@redhat.com>
9861
9862 * config/alpha/alpha.c (reg_or_const_int_operand): New.
9863 (some_operand, input_operand): Accept CONST_VECTOR.
9864 (alpha_extra_constraint): Add 'W'.
9865 (alpha_expand_zap_mask): New.
9866 (alpha_expand_builtin_vector_binop): New.
9867 (enum alpha_builtin): New.
9868 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
9869 (alpha_init_builtins, alpha_expand_builtin): New.
9870 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
9871 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
9872 (PREDICATE_CODES): Update.
9873 * config/alpha/alpha-protos.h: Update.
9874 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
9875 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
9876 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
9877 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
9878 (movv2si, movv2si_fix, movv2si_nofix): New.
9879 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
9880 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
9881 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
9882 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
9883 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
9884 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
9885 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
9886 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
9887 builtin_unpkbw, unpkbw): New.
9888 * doc/extend.texi (Alpha Built-in Functions): New.
9889
618939de
RH
98902002-06-03 Richard Henderson <rth@redhat.com>
9891
9892 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
9893 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
9894
73db7137
RH
98952002-06-03 Richard Henderson <rth@redhat.com>
9896
6933647a
RH
9897 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
9898
73db7137
RH
9899 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
9900 (const0_operand): New.
9901 (reg_or_fp0_operand, fp0_operand): Remove.
9902 * config/alpha/alpha.h (PREDICATE_CODES): Update.
9903 * config/alpha/alpha-protos.h: Update.
9904 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
9905 and fp0_operand with reg_or_0_operand and const0_operand.
9906
a6f7c915
DN
99072002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
9908
9909 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
9910
b2f02503
RS
99112002-06-03 Roger Sayle <roger@eyesopen.com>
9912
9913 * gcse.c (cprop_jump): Use single_set to get the pattern
9914 from the setcc argument.
9915
4fcc2065
GDR
99162002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
9917
33005162 9918 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
9919 diagnostic_context.
9920 (diagnostic_kind_count): Adjust definition.
9921
5204d665
JH
9922Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
9923
9924 * except.c (except.c): Do not rebuild CFG.
9925 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
9926 optimization.
9927
0478a14c
JH
9928Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
9929
9930 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
9931 * toplev.c: Include cfglahout.h
9932 * Makefile.in (toplev.c): Add dependnecy.
9933
30efe578
NB
99342002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
9935
9936 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
9937 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
9938 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
9939
a782515b
JT
99402002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
9941
9942 * config/ns32k/netbsd.h: Update copyright years.
9943 (TARGET_OS_CPP_BUILTINS): Define.
9944 (CPP_PREDEFINES): Remove.
9945 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
9946 (TARGET_CPU_CPP_BUILTINS): Define.
9947
0fb7aeda
KH
99482002-06-02 Kazu Hirata <kazu@cs.umass.edu>
9949
589005ff 9950 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
9951 * errors.h: Likewise.
9952 * except.c: Likewise.
9953 * explow.c: Likewise.
9954 * expmed.c: Likewise.
9955 * expr.c: Likewise.
9956 * expr.h: Likewise.
9957
1c8ec18b
KH
99582002-06-02 Kazu Hirata <kazu@cs.umass.edu>
9959
9960 * config/h8300/elf.h: Fix formatting.
9961 * config/h8300/rtems.h: Likewise.
9962
86cb04f6
JT
99632002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
9964
9965 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
9966
5d83269d
TT
99672002-06-02 Tom Tromey <tromey@redhat.com>
9968
9969 * fixinc/fixincl.x: Rebuilt.
9970 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
9971
62f6a494
NB
99722002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9973
9974config/i370:
9975 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
9976 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
9977 * mvs.h: Similarly.
9978 * oe.h: Similarly.
9979
0acb0203
JH
9980Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
9981
9982 * final.c (final): Allow notes to not have computed addresses;
9983 kill no longer needed STACK_REGS ifdef.
9984
ada8d98a
RH
99852002-06-02 Richard Henderson <rth@redhat.com>
9986
9987 * gcse.c (bypass_conditional_jumps): Fix typo last change.
9988
ba4f7968
JH
9989Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
9990
ada8d98a
RH
9991 * loop.c (emit_prefetch_instructions): Properly place the address
9992 computation.
ba4f7968
JH
9993
9994Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
9995
9996 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
9997 (set_block_for_insn): Turn into macro.
9998 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
9999 * cfglayout.c (insn_scopes): Kill.
10000 (scope_to_insns_initialize): Do not use insn_scopes.
10001 (scope_to_insns_finalize): Likewise.
10002 (duplicate_insn_chain): Likewise.
10003 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
10004 * cfgrtl.c (basic_block_for_insn): Kill.
10005 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
10006 (create_basic_block_structure): Use reorder_insns.
10007 (compute_bb_for_insn): Do not use basic_block_for_insn.
10008 (merge_blocks_nomove): Likewise.
10009 (update_bb_for_insn): Likewise.
10010 (verify_flow_info): Likewise.
10011 (set_block_for_insn): Kill.
10012 * combine.c (try_combine): Update gen_rtx_INSN call.
10013 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
10014 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
10015 scopes and BBs.
10016 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
10017 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
10018 Clear BB.
10019 (emit_insns_after): Simplify.
10020 (emit_copy_of_insn_after): Copy scope.
10021 * final.c (final_start_function): Lower scopes.
10022 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
10023 * integrate.c (copy_insn_list): Cope scopes.
10024 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
10025 * loop.c (loop_optimize): Do not care block notes.
10026 * print-rtl.c (print_rtx): Print BB.
10027 * recog.c (apply_change_group): Simplify.
10028 * rtl.c (copy_rtx): Handle 'B'.
10029 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
10030 * rtl.h (Field accessors): Update indexes.
10031 * sched-ebb.c (schedule_ebbs): Do not lower notes.
10032 * sched-rgn.c (schedule_insns): Likewise.
10033 * toplev.c (rest_of_compilation): Lower notes.
10034 * unroll.c (unroll_loop): Do not care scoping notes.
10035 (copy_loop_body): Copy scopes.
10036
537fc532
NB
100372002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10038
10039config/h8300:
10040 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
10041 SUBTARGET_SPEC.
10042 * rtems.h: Similarly.
10043 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
10044 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
10045 (TARGET_CPU_CPP_BUILTINS): Use.
10046
ab780373
RH
100472002-06-02 Richard Henderson <rth@redhat.com>
10048
10049 * alias.c: Include target.h.
10050 (mark_constant_function): Use targetm.binds_local_p instead
10051 of checking TREE_PUBLIC ourselves.
10052 * Makefile.in (alias.o): Add TARGET_H.
10053
b9305c66
NB
100542002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10055
10056 * c-lex.c: Update copyright and file description.
10057
0ac3e0c4
NB
100582002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10059
10060 * config/fr30/fr30.h: Update to new CPP macros.
10061
be3a1d46
NB
100622002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10063
10064 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
10065
ceeedfc1 100662002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 10067 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
10068
10069 * c-common.c (c_common_init): Override cpplib's default
10070 warn_long_long setting.
10071 * c-lex.c (lex_number): Replace with interpret_integer,
10072 interpret_float, narrowest_unsigned_type and
10073 narrowest_signed_type, taking advantage of the new
10074 cpplib functionality.
10075 * cpperror.c (_cpp_begin_message): If a warning is turned
10076 into an error, avoid printing "warning:".
10077 * cppexp.c (cpp_num_sign_extend): New.
10078 * cppinit.c: Update comment.
10079 * cpplib.h (cpp_num_sign_extend): New.
10080 * tree.h: Update comment.
10081
27e511e0
GDR
100822002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
10083
10084 * diagnostic.h (struct diagnostic_context): Add new member
33005162 10085 internal_error.
27e511e0
GDR
10086 (internal_error_function): Remove declaration.
10087 * diagnostic.c (internal_error_function): Remove definition..
10088 (internal_error): Adjust use.
10089
818b6b7f
RH
100902002-06-02 Richard Henderson <rth@redhat.com>
10091
10092 * rtl.h (CC0_P): New.
10093 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
10094 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
10095 (bypass_block): Save old dest block for dump text.
10096 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
10097 Allow only true SET insns, not single_set.
10098
167143a0
GDR
100992002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
10100
10101 * diagnostic.c (diagnostic_finish): Rename to output_flush.
10102 (clear_disgnostic_info): Rename to output_clear_data. Use false
10103 instead of 0 for boolean value.
10104 Adjust function call throughout.
10105
eae4bc56
JH
10106Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
10107
10108 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
10109 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
10110
9eb404a0
NB
101112002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10112
10113 * d30v.h (CPP_PREDEFINES): Replace with
10114 (TARGET_CPU_CPP_BUILTINS): New.
10115
53e8b0b8
RS
101162002-06-02 Roger Sayle <roger@eyesopen.com>
10117
10118 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
10119
92e34b67
JH
10120Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
10121
10122 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
10123
e7e9d242
RH
101242002-06-02 Richard Henderson <rth@redhat.com>
10125
10126 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
10127
9af145ae
MM
101282002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
10129
10130 Support for C++ constructors/destructors.
10131 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
10132 instead of looping if main() returns.
10133 (asm_file_start): Output global symbols that cause .data and .bss
10134 initialization code to be linked in, unconditionally for now.
10135 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
10136 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
10137 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10138 (LIBSTDCXX): New.
10139 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
10140 (__tablejump__): New.
10141 (__do_copy_data, __do_clear_bss): New.
10142 (__do_global_ctors, __do_global_dtors): New.
10143 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
10144 _ctors, _dtors.
10145
0d66ad57
NB
101462002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10147
10148 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
10149 (CPP_SPEC, CPP_PREDEFINES): Kill.
10150 * c4x/rtems.h (CPP_PREDEFINES): Kill.
10151 (TARGET_OS_CPP_BUILTINS): New.
10152
5c856b23
JH
10153Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
10154
10155 * Makefile.in (tracer.o): New.
10156 * params.def (TRACER_*): New options.
10157 * rtl.h (tracer): Declare.
10158 * timevar.def (TV_TRACER): New.
10159 * toplev.c (dump_file_index): Add DFI_tracer.
10160 (dump_file_info): Add tracer.
10161 (flag_tracer): New.
10162 (lang_indepdenent_options): Add tracer.
10163 (rest_of_compilation): Call tracer.
10164 * tracer.c: New file.
10165 * invoke.texi (-ftracer): Document.
10166 (--param tracer-*): Document.
10167
e2405951
DB
101682002-06-01 Daniel Berlin <dberlin@dberlin.org>
10169
10170 * tree-inline.c (expand_call_inline): Make the statement
33005162 10171 expression we generate have a COMPOUND_STMT.
e2405951 10172
0e3f0221
RS
101732002-06-01 Roger Sayle <roger@eyesopen.com>
10174
10175 * gcse.c (cprop_cc0_jump): Function deleted.
10176 (cprop_jump): Take an additional argument which is the possibly
10177 NULL cc setting insn immediately before the conditional jump.
10178 When a MODE_CC set is present, substitute it into the JUMP_INSN
10179 before attempting the constant propagation.
10180 (cprop_insn): Recognize cc setters followed by conditional jumps
10181 as a special case. Use cprop_jump instead of cprop_cc0_jump.
10182 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
10183 (find_bypass_set): New function based upon find_avail_set used by
10184 cprop, but finds constant expressions available at the end of
10185 basic blocks.
10186 (bypass_block): New function. Given a basic block that begins
10187 with a conditional jump and multiple incoming edges, perform
10188 the jump bypass optimization.
10189 (bypass_conditional_jumps): New function. Call bypass_block with
10190 each suitable basic block in the CFG using a simple single pass.
10191
378393da
RS
101922002-06-01 Roger Sayle <roger@eyesopen.com>
10193
10194 * tree.c (real_minus_onep): New function to test for -1.0.
10195 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
10196
01c58f26
RS
101972002-06-01 Roger Sayle <roger@eyesopen.com>
10198
10199 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
10200 and "!p && !q" into "(p|q) == 0" under suitable conditions.
10201
91b12472
AJ
102022002-06-01 Andreas Jaeger <aj@suse.de>
10203
10204 * cppexp.c (cpp_classify_number): Cast precission to int for
10205 correct printf format.
10206
01e9ae86
MM
102072002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
10208
10209 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
10210 expected, but don't really exist: atmega83, atmega85, attiny10.
10211 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
10212 emulations for all devices.
10213 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
10214 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
10215
be1e06df
KH
102162002-06-01 Kazu Hirata <kazu@cs.umass.edu>
10217
10218 * config/h8300/h8300-protos.h: Add a prototype for
10219 h8300_shift_needs_scratch_p.
10220 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
10221 * config/h8300/h8300.h (OK_FOR_R): New.
10222 (OK_FOR_S): Likewise.
10223 (OK_FOR_T): Likewise.
10224 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
10225 * config/h8300/h8300.md (anonymous shift patterns): Use
10226 constraints R, S, and T.
10227
2ecfd709
ZD
10228Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10229
10230 * basic-block.h (struct basic_block_def): New field loop_father.
10231 (BB_VISITED): New flag.
10232 (struct loop): New field pred, removed field shared.
10233 (struct loops): New field parray.
10234 (LOOP_EXITS_DOMS): Removed.
10235 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
10236 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
10237 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
10238 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
10239 verify_loop_structure): Declare.
10240 * cfg.c (entry_exit_blocks): Initialize loop_father field.
10241 * cfganal.c (dfs_enumerate_from): New function.
10242 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
10243 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
10244 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
10245 flow_loop_dump, flow_loops_dump, flow_loops_free,
10246 flow_loop_tree_node_add, flow_loop_level_compute,
10247 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
10248 flow_loop_outside_edge_p): Modified for new infrastructure.
10249 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
10250 redirect_edge_with_latch_update, flow_loop_free): New static functions.
10251 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
10252 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
10253 find_common_loop, verify_loop_structure, loop_latch_edge,
10254 loop_preheader_edge): New functions.
10255 (flow_loops_cfg_dump): Do not show dominators, as this information
10256 does not remain up to date long.
10257 (flow_loops_find): Store results in new format.
10258 * predict.c (propagate_freq, estimate_probability,
10259 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
10260 infrastructure.
10261
d9763749 102622002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 10263
d9763749
AL
10264 * except.c (nothrow_function_p): Walk epilogue delay list
10265 checking the insn, not the chain for potential throws.
91b12472 10266
1e730c5c
ZW
102672002-05-31 Zack Weinberg <zack@codesourcery.com>
10268
10269 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
10270 (install): Refer to install-cpp directly.
10271 (uninstall-cpp): Folded into uninstall rule.
10272 * configure.in: Delete all code relating to --disable-cpp.
10273 * configure: Regenerate.
10274 * config/t-install-cpp: Delete.
10275
6f9b006d
RH
102762002-05-31 Richard Henderson <rth@redhat.com>
10277
10278 * configure.in (HAVE_AS_TLS): Add alpha tests.
10279 * configure: Rebuild.
10280 * config/alpha/alpha.c (TARGET_AS_TLS): New.
10281 (alpha_tls_size, alpha_tls_size_string): New.
10282 (overide_options): Set it. Always install machine_status hooks.
10283 (input_operand): Accept got tls predicates.
10284 (local_symbol_p): Merge into ...
10285 (local_symbolic_operand): ... here. Reject tls symbols.
10286 (global_symbolic_operand): Likewise.
10287 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
10288 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
10289 (tp16_symbolic_operand, tp32_symbolic_operand): New.
10290 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
10291 (alpha_encode_section_info): Handle TLS symbols.
10292 (alpha_strip_name_encoding): Likewise.
10293 (alpha_legitimate_address_p): Likewise.
10294 (alpha_legitimize_address): Likewise.
10295 (alpha_expand_mov): Early exit to avoid nop moves.
10296 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
10297 (alpha_init_machine_status, alpha_mark_machine_status,
10298 alpha_free_machine_status): Always define.
10299 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
10300 (print_operand, print_operand_address): Add TLS relocs.
10301 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
10302 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
10303 (TARGET_SWITCHES): Add -mtls-kernel.
10304 (alpha_tls_size, alpha_tls_size_string): New.
10305 (TARGET_OPTIONS): Add -mtls-size=.
10306 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
10307 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
10308 (ASM_OUTPUT_LABELREF): Skip %.
10309 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
10310 (PREDICATE_CODES): Update.
10311 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
10312 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
10313 UNSPEC_TP, UNSPECV_SET_TP): New.
10314 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
10315 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
10316 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
10317 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
10318 (call_value_osf_2_er): Accept anything as op4.
10319 * config/alpha/alpha-protos.h: Update.
10320 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
10321
39e5db1a
ZW
103222002-05-31 Zack Weinberg <zack@codesourcery.com>
10323
10324 * cppinit.c (append_include_chain): Always pay attention to
10325 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
10326 marker on argument.
10327
41077ce4
KH
103282002-05-31 Kazu Hirata <kazu@cs.umass.edu>
10329
10330 * target.h: Fix formatting.
10331 * timevar.h: Likewise.
10332 * tlink.c: Likewise.
10333 * toplev.c: Likewise.
10334 * toplev.h: Likewise.
10335 * tree.c: Likewise.
10336 * tree-dump.h: Likewise.
10337 * tree.h: Likewise.
10338 * tree-inline.h: Likewise.
10339 * unroll.c: Likewise.
10340 * unwind-dw2.c: Likewise.
10341 * unwind-dw2-fde.c: Likewise.
10342 * unwind-dw2-fde-glibc.c: Likewise.
10343 * unwind-dw2-fde.h: Likewise.
10344 * unwind.h: Likewise.
10345 * unwind-sjlj.c: Likewise.
10346 * varasm.c: Likewise.
10347 * varray.h: Likewise.
10348 * vmsdbg.h: Likewise.
10349 * vmsdbgout.c: Likewise.
10350 * xcoffout.h: Likewise.
10351
b2e426a0
IS
103522002-05-31 Igor Shevlyakov <igor@microunity.com>
10353
1e730c5c 10354 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
10355 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
10356
8b968bd1
MW
103572002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
10358
10359 * gcc.c (cpp_unique_options): Remove "-d" options.
10360 (cpp_debug_options): New spec string.
10361 (default_compilers): Use it.
10362 * objc/lang-specs.h: Likewise.
10363
5c35940c
NN
103642002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
10365
1e730c5c 10366 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
10367 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
10368 * gcc/mklibgcc.in: Likewise.
10369 * gcc/config/arc/t-arc: Likewise.
10370 * gcc/configure.in: Likewise.
10371 * gcc/configure: Regenerate.
10372
8b496ceb
SS
103732002-05-31 Stan Shebs <shebs@apple.com>
10374 Turly O'Connor <turly@apple.com>
10375
10376 * c-decl.c (struct binding_level): Change int field n_incomplete
10377 to tree list incomplete_list.
10378 (clear_binding_level): Init field with NULL.
10379 (pushdecl): Add incomplete type to list.
10380 (mark_binding_level): Mark the incomplete list.
10381 (finish_struct): Scan the incomplete list for types instead
10382 of all decls in the current binding level.
10383
4722213d
JDA
103842002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10385
10386 * pa.c (output_millicode_call): Add missing '%' characters.
10387 (output_call): Likewise.
10388
1086fcb1
DE
103892002-05-31 David Edelsohn <edelsohn@gnu.org>
10390
10391 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
10392 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
10393
afdfb380 103942002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 10395
afdfb380
AL
10396 * varasm.c (mark_constant_pool): Walk epilogue delay list
10397 checking the insn, not the chain for potential constants.
1e730c5c 10398
f2df45f6
R
10399Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
10400
10401 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
10402
91ea38f9
JH
10403Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
10404
10405 * i386.c (classify_argument): Properly handle base types.
10406
10407 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
10408 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
10409 registers.
10410
10d1bb36
JH
10411Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
10412
10413 * gcse.c (gcse_emit_move_after): New.
10414 (pre_delete, hoist_store): Use it.
10415
10416 * reload1.c (emit_input_reload_insns): Use constrain_operands
10417 instead of constraint_accepts_reg_p to verify optimization.
10418 (constraint_accepts_reg_p): Kill
10419
10420 * reload1.c (reload_cse_delete_noop_set): Kill.
10421 (reload_cse_simplify): use delte_insn_and_edges.
10422
8a72fb76
ZD
104232002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10424
10425 * cfgloop.c (flow_loops_find): Initialize first and last fields
10426 correctly.
10427
a9da2e5b
NB
104282002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
10429
10430 * c-common.c (builtin_define_std): Correct logic.
10431
6248c4dd
JDA
104322002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10433
10434 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
10435 (output_call): Likewise.
10436
d499455b
JDA
104372002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10438
10439 * pa.c: Move output.h include after tree.h include.
10440 (pa_asm_output_mi_thunk): Constify identifier lab.
10441
2eb2901a
JT
104422002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10443
10444 * config/ns32k/ns32k.h: Define named constants for the
10445 bits in target_flags and use them.
10446 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
10447
806bf413
JDA
104482002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10449
10450 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
10451 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
10452 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
10453 default scheduling model.
10454 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
10455 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
10456 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
10457 * doc/install.texi (hppa*-*-*): Document default scheduling.
10458
6d8d2bbc
JDA
104592002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10460
10461 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
10462
c8eb9785
JT
104632002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10464
10465 * config.gcc (ns32k-*-netbsd*): Set tm_file to
10466 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
10467 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
10468 netbsd.h, or netbsd-aout.h.
10469
6e2e5b6a
JT
104702002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10471
10472 * longlong.h (count_trailing_zeros): Add missing \, and clean up
10473 whitespace in __ns32000__ case.
10474
00182e1e
AH
104752002-05-31 Aldy Hernandez <aldyh@redhat.com>
10476
1e730c5c
ZW
10477 * expr.c (expand_expr): Output partially zeroed out vectors with
10478 output_constant_def.
00182e1e 10479
b4eb03fe
JT
104802002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10481
10482 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
10483 (sh-*-netbsdelf*)
10484 (shl*-*-netbsdelf*): New targets.
10485 * config/sh/netbsd-elf.h: New file.
8fd0df91 10486 * config/sh/t-netbsd: New file.
b4eb03fe 10487
261376e7
RH
104882002-05-30 Richard Henderson <rth@redhat.com>
10489 Eric Botcazou <ebotcazou@multimania.com>
10490
10491 PR optimization/6822
10492 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
10493 to unsigned int for op1 comparisons. Use gen_int_mode.
10494
ce60bf25
EB
104952002-05-30 Eric Botcazou <ebotcazou@multimania.com>
10496
10497 * expmed.c (const_mult_add_overflow_p): New.
10498 * expr.h: Declare it.
10499 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
10500 Don't eliminate the biv if the giv has a constant multiplier and
10501 the rhs argument of the comparison does satisfy the predicate.
10502 Use expand_mult_add to compute the replacement constant.
10503
d18b1ed8
OS
105042002-05-30 Osku Salerma <osku@iki.fi>
10505
10506 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
10507 (c_common_get_alias_set): Handle it.
10508 * doc/extend.texi: Document it.
10509
a7943381
RH
105102002-05-30 Richard Henderson <rth@redhat.com>
10511
10512 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10513 * toplev.c (process_options): Don't check it.
10514 * doc/tm.texi: Don't document it.
10515 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
10516 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10517 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
10518 frame pointer optimization if current_function_profile.
10519
e11e816e
KH
105202002-05-30 Kazu Hirata <kazu@cs.umass.edu>
10521
10522 * langhooks.c: Fix formatting.
10523 * langhooks.h: Likewise.
10524 * lcm.c: Likewise.
10525 * libgcc2.c: Likewise.
10526 * lists.c: Likewise.
10527 * local-alloc.c: Likewise.
10528 * loop.c: Likewise.
10529 * loop.h: Likewise.
10530
105312002-05-30 Marc Espie <espie@openbsd.org>
10532
10533 * config.gcc (sparc64-*-openbsd*): New.
10534 * config/sparc/openbsd1-64.h: New.
10535 * config/sparc/openbsd64.h: New.
91f0fcee 10536
d35dfca9
JL
105372002-05-30 Jeff Law <law@redhat.com>
10538
10539 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
10540 a dead insn with a REG_RETVAL note when the entire libcall is not
10541 dead and remove the associated REG_LIBCALL note at the same time.
10542
81b40b72
R
10543Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
10544
10545 * lcm.c (output.h): #include.
10546 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
10547 as an ordinary block.
10548 (optimize_mode_switching): Don't pretend that the exit block is
10549 an ordinary block, or handle sucessors of entry block specially.
10550 Instead, split edges from entry block and to exit block, and
10551 put a computing definition on the thus gained post-entry-block,
10552 and a need on the pre-exit-block.
10553
c8ea9a0f
JH
10554Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
10555
10556 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
10557 * rtl.texi: Document 'B'
10558
348f0869
JT
105592002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10560
10561 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
10562 at run-time.
10563 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
10564
9a171fcd
AH
105652002-05-30 Aldy Hernandez <aldyh@redhat.com>
10566
1e730c5c
ZW
10567 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
10568 const0_rtx instead of NULL_RTX when in error.
10569 (altivec_expand_abs_builtin): Same.
10570 (rs6000_expand_binop_builtin): Same.
10571 (altivec_expand_predicate_builtin): Same.
10572 (altivec_expand_stv_builtin): Same.
10573 (rs6000_expand_ternop_builtin): Same.
10574 (altivec_expand_builtin): Same.
9a171fcd 10575
62a35e60
DM
105762002-05-29 David S. Miller <davem@redhat.com>
10577
10578 * rtl.h (clear_emit_caches): Delete.
10579 * integrate.c (output_inline_function): Don't call it.
10580 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
10581 (clear_emit_caches): Delete definition.
10582 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
10583
cbc39da8
HPN
105842002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
10585
10586 * config/mmix/mmix.c: Include real.h.
10587 (mmix_constant_address_p): Remove redundant test before switch.
10588
50efa737
JT
105892002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10590
10591 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
10592 only if not already defined.
10593
2e760b15
KH
105942002-05-29 Kazu Hirata <kazu@cs.umass.edu>
10595
10596 * config/h8300/h8300-protos.h: Remove prototypes for
10597 ok_for_bclr and small_power_of_two.
10598 * config/h8300/h8300.c (small_power_of_two): Remove.
10599 (ok_for_blcr): Likewise.
10600 (fix_bit_operand): Make WHAT deal with an integer instead of a
10601 constraint character.
10602 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
10603 (CONST_OK_FOR_P): Likewise.
10604 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
10605 CONST_OK_FOR_P any more.
10606 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
10607 of fix_bit_operand.
10608 (iorqi3): Likewise.
10609 (xorqi3): Likewise.
10610
e1c293ae
JT
106112002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10612
10613 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10614 (CPP_PREDEFINES): Make sure this is undefined.
10615 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
10616 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
10617 or -U__MIPSEB__ before defining one or the other. Instead,
10618 use %(subtarget_endian_default) if neither -EB nor -EL are
10619 specified.
10620 (SUBTARGET_EXTRA_SPECS): Define.
10621 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
10622 %(netbsd_cpp_spec).
10623
fde6d81f
HPN
106242002-05-29 Hans-Peter Nilsson <hp@axis.com>
10625
10626 * doc/md.texi (Patterns): Note pattern condition pitfall
10627 for unnamed insn.
10628
92898235
AH
106292002-05-29 Aldy Hernandez <aldyh@redhat.com>
10630
1e730c5c
ZW
10631 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
10632 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
10633 ternary operations from here...
10634 (rs6000_expand_builtin): ...to here.
10635 New argument expandedp.
10636 Change all instances of altivec_expand_binop_builtin to
10637 rs6000_expand_binop_builtin.
10638 (altivec_expand_unop_builtin): Rename to
10639 rs6000_expand_unop_builtin.
10640 (altivec_expand_binop_builtin): Rename to
10641 rs6000_expand_binop_builtin.
10642 (altivec_expand_ternop_builtin): Rename to
10643 rs6000_expand_ternop_builtin.
92898235 10644
67adf6a9
RH
106452002-05-29 Richard Henderson <rth@redhat.com>
10646
10647 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
10648 (TARGET_BI_ARCH): Likewise.
10649 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
10650 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
10651 (TARGET_64BIT_DEFAULT): Default to 0.
10652 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
10653
145aacc2
RH
106542002-05-29 Richard Henderson <rth@redhat.com>
10655
10656 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
10657 (get_pc_thunk_name): New.
10658 (output_set_got): Use it.
10659 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
10660 into linkonce sections.
10661
a5b49bbc
JT
106622002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10663
10664 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10665 (CPP_PREDEFINES): Make sure this is undefined.
10666 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
10667 (CPP_SUBTARGET_SPEC): Don't provide different versions for
10668 default-32 and default-64. Just always use %(netbsd_cpp_spec).
10669 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
10670 cpp_subtarget_spec64. Add netbsd_cpp_spec.
10671 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10672 (CPP_PREDEFINES): Make sure this is undefined.
10673 (SUBTARGET_EXTRA_SPECS): Define.
10674 (CPP_SPEC): Use %(netbsd_cpp_spec).
10675
54374491
JL
106762002-05-29 Jeff Law <law@redhat.com>
10677
ae02eae8
JL
10678 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
10679
b862c2aa
JL
10680 * flow.c (propagate_one_insn): Do not remove a dead insn if it
10681 contains a REG_RETVAL note.
10682
d10791ba
JL
10683 * haifa-sched (sched_analyze): Remove another useless clearing
10684 of SCHED_GROUP_P I missed yesterday.
10685
54374491
JL
10686 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
10687 * pa.c (pa_asm_output_mi_thunk): New function.
10688 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
10689
92c392e6
NB
106902002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10691 Marek Michalkiewicz <marekm@amelek.gda.pl>
10692
10693 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
10694 (avr_asm_only_p): Make non-static.
10695 (enum avr_arch): Remove.
10696 (avr_arch_types): New.
10697 (avr_mcu_types): Update.
10698 (avr_override_options): Use avr_arch_types table instead of switch.
10699 * avr.h (CPP_PREDEFINES): Die.
10700 (avr_base_arch_macro, avr_extra_arch_macro): New.
10701 (TARGET_CPU_CPP_BUILTINS): New.
10702 (CPP_SPEC, EXTRA_SPECS): Simplify.
10703 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
10704 CPP_AVR5_SPEC): Die.
10705
4528173e
JT
107062002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10707
10708 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
10709 NETBSD_OS_CPP_BUILTINS_AOUT.
10710 (SUBTARGET_EXTRA_SPECS): Define.
10711 (CPP_SPEC): Use %(netbsd_cpp_spec).
10712
bd09bdeb
RH
107132002-05-29 Richard Henderson <rth@redhat.com>
10714
10715 * config/i386/i386.c (ix86_output_function_epilogue): New.
10716 (TARGET_ASM_FUNCTION_EPILOGUE): New.
10717 (pic_label_name): Remove.
10718 (pic_labels_used): New.
10719 (ix86_asm_file_end): Emit one pc load stub for each register used.
10720 (output_set_got): Generate deep pc load to any register.
10721 (ix86_select_alt_pic_regnum): New.
10722 (ix86_save_reg): Don't save pic register if we can find a valid
10723 call-clobbered replacement.
10724 (ix86_expand_prologue): If we found a valid replacement, renumber
10725 pic_offset_table_rtx.
10726 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
10727 pic_offset_table_rtx after reload.
10728 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
10729 * config/i386/i386.md (set_got): Make insn, not expander.
10730 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
10731
002ff5bc
RH
107322002-05-29 Richard Henderson <rth@redhat.com>
10733
10734 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
10735 alignment for alloca.
10736
edfe8595
RH
107372002-05-29 Richard Henderson <rth@redhat.com>
10738
10739 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
10740 (print_operand_address): Only add rip for symbolic addresses
10741 for which we do not have another relocation type.
10742
cd7714ee
JT
107432002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10744
10745 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10746 (EXTRA_SPECS): Add netbsd_cpp_spec.
10747 (CPP_SPEC): Use %(netbsd_cpp_spec).
10748 (CPP_PREDEFINES): Remove.
10749 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10750 (EXTRA_SPECS): Define.
10751 (CPP_SPEC): Use %(netbsd_cpp_spec).
10752 (CPP_PREDEFINES): Remove.
10753
8dc901de
NB
107542002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10755
10756 PR preprocessor/6844
10757 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
10758 NUL.
10759
2274b31a
EC
107602002-05-29 Eric Christopher <echristo@redhat.com>
10761
10762 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
10763 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
10764
5c7666c1
NC
107652002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
10766
10767 * config/fr30/fr30.md: Remove previous restriction on splits.
10768 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 10769 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
10770 as the assembler does not support ".bss".
10771
45beef47
JT
107722002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10773
10774 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10775 (CPP_PREDEFINES): Remove.
10776 (SUBTARGET_EXTRA_SPECS): Define.
10777 (CPP_SPEC): Use %(netbsd_cpp_spec).
10778 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10779 (CPP_PREDEFINES): Remove.
10780 (SUBTARGET_EXTRA_SPECS): Define.
10781 (CPP_SPEC): Use %(netbsd_cpp_spec).
10782 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
10783 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
10784 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
10785 Add netbsd_cpp_spec.
10786 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
10787
cd7ab83f
NB
107882002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10789 Zack Weinberg <zack@codesourcery.com>
10790
10791 * cppexp.c (cpp_num): Move to cpplib.h.
10792 (CPP_ERROR): Remove.
10793 (interpret_float_suffix, interpret_int_suffix): New.
10794 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
10795 (cpp_classify_number, cpp_interpret_integer): New.
10796 (interpret_number): Remove.
10797 (eval_token): Update to use new routines.
10798 * cpphash.h (cpp_num_part): Move to cpplib.h.
10799 * cppinit.c (cpp_post_options): Set warn_long_long.
10800 * cpplib.h (struct cpp_options): Add warn_long_long.
10801 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
10802 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
10803 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
10804 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
10805 cpp_interpret_integer): New.
10806
61a8515c
JS
108072002-05-29 Joel Sherrill <joel@OARcorp.com>
10808
10809 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
10810
53a428b5
JT
108112002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10812
10813 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
10814 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
10815 (CPP_SUBTARGET_SPEC): Define.
10816 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
10817 (CPP_SPEC): Remove.
10818
45b1f7c7
CL
108192002-05-29 Chris Lattner <sabre@nondot.org>
10820
1e730c5c
ZW
10821 * ssa.c (rename_insn_1): Rename uses of undefined registers to
10822 prevent confusion if/when the register is defined.
45b1f7c7 10823
049746c2
HPN
108242002-05-29 Hans-Peter Nilsson <hp@axis.com>
10825
10826 PR target/6838
10827 * config/cris/cris.md: Fix typos and thinkos in comments.
10828 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
10829 second alternative.
10830 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
10831 ("*mov_sideqi_mem"): Similar, but for operand 3.
10832 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
10833 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
10834 Remove spurious mode specifier on operand 2.
10835
4d4d89e2
KH
108362002-05-29 Kazu Hirata <kazu@cs.umass.edu>
10837
10838 * config/h8300/h8300-protos.h: Remove the prototype for
10839 o_operand.
10840 Add prototypes for single_one_operand and single_zero_operand.
10841 * config/h8300/h8300.c (o_operand): Remove.
10842 (single_one_operand): New.
10843 (single_zero_operand): Likewise.
10844 (print_operand): For 'V' operand, and the operand with 0xff.
10845 For 'V' and 'W' operands, do not and the bit position with 7.
10846 * config/h8300/h8300.md (various anonymous patterns): Replace
10847 use of exact_log2 with single_one_operand/single_zero_operand.
10848
abd6ddec
UW
108492002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
10850
10851 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
10852
da06d85a
UW
108532002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
10854
10855 * config/s390/s390.c (legitimate_pic_operand_p): Do not
10856 accept symbolic LARL operands.
2274b31a 10857 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 10858 epilogue insns.
2274b31a 10859
f8766020
HP
108602002-05-29 Hartmut Penner <hpenner@de.ibm.com>
10861
10862 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 10863 input registers as used.
f8766020 10864
66edd3b4
RH
108652002-05-28 Richard Henderson <rth@redhat.com>
10866
10867 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
10868 not current_function_uses_pic_offset_table and
10869 current_function_uses_const_pool; examine current_function_profile.
10870 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
10871 input to blockage if needed.
10872 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
10873 (legitimize_pic_address): Likewise. Set regs_ever_live for
10874 pic_offset_table_rtx when invoked during reload.
10875 * config/i386/i386.h (FINALIZE_PIC): Remove.
10876 * config/i386/i386.md (tablejump): Reformat. Do not set
10877 current_function_uses_pic_offset_table.
10878 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
10879 (blockage): Accept anything as operand 0.
10880
52f4fff6
JT
108812002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
10882
10883 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
10884 common CPP built-ins for all NetBSD a.out targets.
10885 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
10886 common CPP built-ins for all NetBSD ELF targets.
10887 * config/netbsd.h: Add missing notice.
10888 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
10889 for all NetBSD targets.
10890 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
10891 for all NetBSD targets using an LP64 code model.
10892 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
10893 NetBSD targets.
10894
e0e577a2
RH
108952002-05-28 Richard Henderson <rth@redhat.com>
10896
10897 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
10898 update if UPDATE_LIFE_LOCAL.
10899
109002002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
10901
10902 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
10903
f1a58d92 10904Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 10905 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
10906
10907 config/sh reorganization to factor out endianness and coff:
10908
10909 * config/sh/little.h: New file.
1e730c5c
ZW
10910 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
10911 defined, define to 0 to select big-endian.
f1a58d92 10912 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
10913 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10914 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10915 * config/sh/t-be: New file.
10916 * config/sh/t-le: New file.
f1a58d92
R
10917
10918 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
10919 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
10920 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
10921 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
10922 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10923 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10924 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
10925 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
10926 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
10927 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
10928 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
10929 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
10930 (LINK_SPEC): Define to SH_LINK_SPEC.
10931 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
10932 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
10933 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
10934 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
10935 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
10936 * config/sh/coff.h: New file.
10937 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
10938 (TARGET_OBJFMT_CPP_BUILTINS): Define.
10939 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
10940 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
10941 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
10942 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
10943 (PTRDIFF_TYPE): Likewise.
10944 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
10945 (CPP_PREDEFINES): Don't define.
10946 (TARGET_OBJFMT_CPP_BUILTINS): Define.
10947 (LINK_SPEC): Define to SH_LINK_SPEC.
10948 (LINK_EMUL_PREFIX): Redefine.
10949 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
10950 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
10951 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
10952 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
10953 (TARGET_OS_CPP_BUILTINS): Define.
10954 (TARGET_DEFAULT): Redefine.
10955 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
10956 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
10957 (LINK_SPEC): Don't redefine.
10958 (LINK_DEFAULT_CPU_EMUL): Redefine.
10959 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10960 * sh.c (sh_asm_named_section): Don't declare / define.
10961 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
10962 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
10963 (sh64-*-elf* tm_file): Likewise.
10964 (sh-*-rtemself* tm_file): Likewise.
10965 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
10966 (sh-*-linux* tmake_file): Add sh/t-le.
10967 (sh-*-rtems* tm_file): Add sh/coff.h
10968 (sh-*-* tm_file): Likewise.
10969
10970Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
10971
10972 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
10973 CONSTANT_POOL_ADDRESS_P.
10974
10975 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
10976
d10791ba 109772002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
10978 Jeff Law <law@redhat.com>
10979
64de6c0a
DE
10980 * optabs.c (expand_binop): Fix nwords sign warnings.
10981 generate pseudo for add_optab.
10982
33a3dfc4
DE
10983 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
10984 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
10985
972957ba 109862002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 10987
2274b31a 10988 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
10989 inherited from gas.h.
10990 (ASM_QUAD): Undef. OpenBSD does not support it.
10991
cc92b8ab
DS
109922002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
10993
10994 * doc/install.texi (binaries): Change mingw binaries
10995 link to www.mingw.org.
10996
f8088d55
ZD
109972002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10998
10999 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
11000
0b7ae565
RH
110012002-05-28 Richard Henderson <rth@redhat.com>
11002
11003 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
11004 bottom alignment for leaf functions.
11005
16069d69
ZW
110062002-05-28 Zack Weinberg <zack@codesourcery.com>
11007
11008 * config/pa/milli32.S, config/pa/lib1funcs.asm,
11009 config/sparc/sol2-g1.asm: Delete unused files.
11010
04653686
RH
110112002-05-28 Richard Henderson <rth@redhat.com>
11012
11013 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
11014
f3ea5f6a
RH
11015 * flow.c (calculate_global_regs_live): Rename call_used to
11016 invalidated_by_call. Initialize from regs_invalidated_by_call
11017 instead of call_used_regs.
11018
923c7cdf
RH
11019 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
11020 DECL_EXTERNAL.
11021
11ad4784
ZW
110222002-05-28 Zack Weinberg <zack@codesourcery.com>
11023
8abbd76a
ZW
11024 * tree.h: Don't include real.h.
11025 Forward-declare struct realvaluetype.
11ad4784
ZW
11026 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
11027 contain it.
11028 (TREE_REAL_CST_PTR): New accessor.
11029 (TREE_REAL_CST): Update.
11030 * real.h: Include machmode.h.
2274b31a 11031 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
11032 (build_real): Prototype here.
11033
11034 * tree.c: Include real.h.
2274b31a
EC
11035 (build_real): Allocate the REAL_VALUE_TYPE as a separate
11036 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
11037 (build_real_from_int_cst): Use build_real.
11038 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
11039 REAL_CST.
11040
11041 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
11042 fold-const.c, print-tree.c, real.c: Include real.h.
11043 * Makefile.in: Update dependency lists.
11044
bf77398c
ZD
110452002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11046
11047 * basic-block.h (last_basic_block): Declare.
11048 (expunge_block_nocompact): Declaration removed.
11049 (compact_blocks): Declare.
11050 * cfg.c (last_basic_block): New variable.
11051 (expunge_block_nocompact): Removed.
11052 (expunge_block): Do not compact basic blocks.
11053 (compact_blocks): New.
11054 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
11055 longer change.
11056 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
11057 last_basic_block.
11058 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
11059 real positions of blocks.
11060 (delete_unreachable_blocks): Simplified -- quadratic behavior now
11061 cannot occur.
11062 (cleanup_cfg): Compact blocks.
11063 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
11064 basic_block_info varray.
11065 (flow_delete_block): Comment update.
11066 (back_edge_of_syntactic_loop_p): Modify position check code.
11067 (verify_flow_info): Update checking.
11068 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
11069 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
11070 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
11071 indices no longer change.
11072 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
11073 last_basic_block.
11074 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
11075 * profile.c (branch_prob): Compact blocks.
11076 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
11077 last_basic_block.
11078
ae12a094
KH
110792002-05-28 Kazu Hirata <kazu@cs.umass.edu>
11080
11081 * config/h8300/h8300.md (two anonymous patterns): New.
11082
c6172f14
DM
110832002-05-28 David S. Miller <davem@redhat.com>
11084
11085 * config/sparc/sparc.md (cpu): Tidy.
11086 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
11087 'trap'.
11088 (in_call_delay): Delete reference to 'return' type.
11089 (eligible_for_return_delay, in_return_delay, define_delay
11090 referencing those): Delete.
11091 (rest of file): Use new type attributes as appropriate.
11092 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
11093 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
11094 * config/sparc/ultra1_2.md (us1_single): New reservation.
11095 (us1_ialuX): Likewise.
11096 * config/sparc/ultra3.md (us3_single): Likewise.
11097 (us3_ialuX): Likewise.
11098 (us3_imul, us3_idiv): Tweak.
2274b31a 11099
34a6c2ec
RH
111002002-05-28 Richard Henderson <rth@redhat.com>
11101
11102 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
11103 STRING_CST.
11104
9c075570
RH
111052002-05-28 Richard Henderson <rth@redhat.com>
11106
11107 * config.gcc: Obsolete mn10200.
11108
359b0bec
NB
111092002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
11110
11111 * cppexp.c (interpret_number): Optimize for single-digit
11112 and less-than-half-precision cases.
11113 (num_trim, num_positive, num_div_op): Cast constants.
11114
4075db8f
BT
111152002-05-27 Bo Thorsen <bo@suse.de>
11116
11117 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
11118 3.1 branch. The file was made by Jakub Jelinek.
11119 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
11120 support so multilib doesn't break. And don't define this at all
11121 when -Dinhibit_libc is used.
11122 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
11123 * config/i386/t-linux64: Implement full multilib support. Patch
11124 originally done by Andreas Jaeger and Jakub Jelinek.
11125
39f2f3c8
RS
111262002-05-27 Roger Sayle <roger@eyesopen.com>
11127
11128 * c-common.c: Add support for __attribute__((nothrow)) to specify
11129 that a function cannot throw an exception (using TREE_NOTHROW).
11130 (handle_nothrow_attribute): New function to process this attribute.
11131
11132 * doc/extend.texi: Document the new nothrow function attribute.
11133
d51b0053
L
111342002-05-27 H.J. Lu (hjl@gnu.org)
11135
11136 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
11137 (num_positive): Likewise.
11138 (num_div_op): Likewise.
11139
630363b4
NB
111402002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
11141
11142 * c-common.c (c_common_init): Always use intmax_t.
11143
d94cde01
NB
111442002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
11145
11146 * c-common.c (c_common_init): Use intmax_t for now.
11147
57f851a3
AH
111482002-05-24 Andrew Haley <aph@redhat.com>
11149
11150 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
11151 if T is a boolean type.
11152
d55bc081
ZD
111532002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11154
11155 * basic-block.h (last_basic_block): Defined as synonym for
11156 n_basic_blocks.
11157 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
11158 flow_depth_first_order_compute, flow_preorder_transversal_compute,
11159 flow_dfs_compute_reverse_init): Replaced relevant occurences of
11160 n_basic_blocks with last_basic_block.
11161 * cfgbuild.c (make_edges): Likewise.
11162 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
11163 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
11164 * combine.c (combine_instructions): Likewise.
11165 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
11166 iterative_dataflow_bitmap): Likewise.
11167 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
11168 calc_idoms, idoms_to_doms): Likewise.
11169 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
11170 Likewise.
11171 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
11172 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
11173 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
11174 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
11175 delete_null_pointer_checks, compute_code_hoist_vbeinout,
11176 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
11177 compute_store_table, build_store_vectors): Likewise.
11178 * haifa-sched.c (sched_init): Likewise.
11179 * ifcvt.c (if_convert): Likewise.
11180 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
11181 pre_edge_lcm, compute_available, compute_nearerout,
11182 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
11183 Likewise.
11184 * predict.c (estimate_probability, process_note_prediction,
11185 note_prediction_to_br_prob): Likewise.
11186 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
11187 * recog.c (split_all_insns, peephole2_optimize): Likewise.
11188 * regrename.c (copyprop_hardreg_forward): Likewise.
11189 * resource.c (init_resource_info): Likewise.
11190 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
11191 init_regions, schedule_insns): Likewise.
11192 * ssa-ccp.c (ssa_const_prop): Likewise.
11193 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11194 * ssa.c (compute_dominance_frontiers,
11195 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
11196
11197 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
11198 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
11199 sizes consistently.
11200
71d2c5bd
JH
11201Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
11202
11203 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
11204 new.
11205 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
11206 hoist_insn_after, hoist_insn_to_edge): New.
11207
5149f070
JH
11208Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
11209
11210 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
11211 (PROP_FINAL): Include.
11212 * flow.c (life_analysis, update_life_info,
11213 init_propagate_block_info, mark_set_1, mark_used_rgs):
11214 Support SCAN_DEAD_STORE.
11215
c9220e3a
NB
112162002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
11217
11218 * c-common.c (c_common_init): Set CPP arithmetic precision.
11219 * cppexp.c (cpp_num_part): Move typedef ...
11220 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
11221 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
11222 (sanity_checks): Update.
11223
e34a3d31
GK
112242002-05-26 Geoffrey Keating <geoffk@redhat.com>
11225
11226 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
11227 (mkheaders): New rule.
11228 (install-mkheaders): New rule.
11229 * configure.in (all_outputs): Add mkheaders.
11230 * configure: Regenerate.
11231 * mkheaders.in: New file.
11232
9059e33c
JJ
112332002-05-26 Jakub Jelinek <jakub@redhat.com>
11234
11235 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
11236
291cc0fe
AJ
112372002-05-26 Andreas Jaeger <aj@suse.de>
11238
11239 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
11240
91318908
NB
112412002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
11242
11243 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
11244 right_shift): Remove.
11245 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
11246 HIGH_PART): New.
11247 (struct op): Use cpp_num.
11248 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
11249 num_part_mul, num_unary_op, num_binary_op, num_negate,
11250 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
11251 num_div_op, num_lshift, num_rshift, append_digit): New.
11252 (interpret_number, parse_defined, eval_token, reduce): Update
11253 for two-integer arithmetic.
11254 (binary_handler): New typedef.
11255 (optab): Update.
11256 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
11257 (_cpp_parse_expr, reduce): Update to handle two-integers.
11258 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
11259
331ca350
MM
112602002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
11261
11262 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
11263 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
11264 branch insn into account, do not assume 1.
11265 (avr_out_sbxx_branch): New function. Optimize cases of skipping
11266 over single word insn. Handle upper half of I/O space too.
11267 * config/avr/avr.md (*sbrx_branch): Use it.
11268 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
11269 (*sbix_branch, *sbix_branch_bit7): Likewise.
11270 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
11271 Use RTL peepholes to optimize register operand sign tests.
11272
bcb6a2be
MM
112732002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
11274
11275 * config/avr/avr.c (avr_asm_only_p): New variable.
11276 (avr_override_options): Set it here if AVR1.
11277 (asm_file_start): Test it here, report an error if set.
11278
ca7fd9cd
KH
112792002-05-26 Kazu Hirata <kazu@cs.umass.edu>
11280
11281 * alias.c: Fix formatting.
11282 * attribs.c: Likewise.
11283 * bb-reorder.c: Likewise.
11284 * bitmap.c: Likewise.
11285 * bitmap.h: Likewise.
11286 * builtins.c: Likewise.
11287
a65dc37d
JH
11288Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
11289
11290 * reload.c (find_valid_class): Accept new argument DEST,
11291 choose class accordingly.
11292 (push_reload): Update callers.
11293
9b89393b
AJ
112942002-05-26 Andreas Jaeger <aj@suse.de>
11295
11296 * combine.c (combine_instructions): Do not indent #if for
11297 traditional C.
11298
b53bb376
RH
112992002-05-25 Richard Henderson <rth@redhat.com>
11300
11301 * c-pragma.c (apply_pragma_weak): Convert value identifier to
11302 string for decl_attributes.
11303 (handle_pragma_weak): Call assemble_alias if we're modifying
11304 an existing decl.
11305
e133041b
RH
113062002-05-25 Richard Henderson <rth@redhat.com>
11307
11308 PR target/6788
11309 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
11310 using rtl instead of fprintf.
11311 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
11312 * config/sparc/sparc-protos.h: Update.
11313
81a75f0f
NB
113142002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
11315
11316 * Makefile.in (C_COMMON_H): Fix.
11317 Update other targets.
11318 * c-common.c: Don't include c-lex.h.
11319 (builtin_define_with_value): Make static and prototype.
11320 (builtin_define_std): Move from c-lex.h.
11321 * c-common.h (init_c_lex): Move from c-lex.h.
11322 * c-decl.c: Don't include c-lex.h.
11323 (make_pointer_declarator): Move from c-parse.in.
11324 * c-lex.c: Don't include c-lex.h.
11325 * c-lex.h: Remove.
11326 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
11327 (make_pointer_declarator): Move to c-decl.c.
11328 * c-pragma.c: Don't include c-lex.h.
11329 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
11330 * c-tree.h (make_pointer_declarator): New.
11331doc:
11332 * passes.texi, tm.texi: Update.
11333objc:
11334 * Make-lang.in: Update and correct.
11335 * objc-act.c: Don't include c-lex.h or cpplib.h.
11336treelang:
11337 * treetree.c: Don't include c-lex.h.
11338config:
11339 * darwin-c.c: Don't include c-lex.h.
11340 * c4x/c4x-c.c: Don't include c-lex.h.
11341 * c4x/t-c4x: Update.
11342 * i370/i370-c.c: Don't include c-lex.h.
11343 * i370/t-i370: Update.
11344 * i960/i960-c.c: Don't include c-lex.h.
11345 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
11346 * i960/t-960bare: Update.
11347 * i960/t-vxworks: Update.
11348 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
11349 * rs6000/t-darwin: Update.
11350 * rs6000/t-rs6000-c-rule: Update.
11351 * v850/v850-c.c: Don't include c-lex.h.
11352 * v850/v850.c: Don't include c-lex.h or cpplib.h.
11353
11354
04d2be8e
KH
113552002-05-25 Kazu Hirata <kazu@cs.umass.edu>
11356
11357 * tree.def: Fix typos.
11358 * doc/install.texi: Likewise.
11359
7b6e506e
RH
113602002-05-25 Richard Henderson <rth@redhat.com>
11361
11362 * configure.in (HAVE_AS_TLS): Add ia64 test.
11363 * configure: Rebuild.
11364 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
11365 (override_options): Set it.
11366 (TARGET_HAVE_TLS): New.
11367 (sdata_symbolic_operand): Look for 's'.
11368 (tls_symbolic_operand): New.
11369 (ia64_expand_load_address): Abort for tls symbols.
11370 (gen_tls_get_addr): New.
11371 (gen_thread_pointer): New.
11372 (ia64_expand_move): Split out from movdi. Handle tls symbols.
11373 (rtx_needs_barrier): Add new unspecs.
11374 (ia64_encode_section_info): Handle tls symbols.
11375 (ia64_strip_name_encoding): Strip two encoding chars.
11376 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
11377 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
11378 (TARGET_OPTIONS): Add tls-size.
11379 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
11380 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
11381 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
11382 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
11383 (movsf, movdf): Likewise.
11384 (movdi_symbolic): Use match_scratch. Don't split if we won't
11385 have a scratch availiable.
11386 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
11387 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
11388 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
11389 * config/ia64/ia64-protos.h: Update.
11390 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
11391 sdata_symbolic_operand.
11392 (ASM_OUTPUT_LABELREF): Strip two characters.
11393
8c1d52a3
KH
113942002-05-25 Kazu Hirata <kazu@cs.umass.edu>
11395
11396 * combine.c (simplify_set): Remove an unnecessary subreg.
11397
b47cae3d
MM
113982002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
11399
11400 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
11401
11402 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
11403
ce9e3a6d
GDR
114042002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
11405
11406 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
11407
fb2c6841
RS
114082002-05-25 Roger Sayle <roger@eyesopen.com>
11409
11410 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
11411 (cond (compare x y) 0) into the equivalent (cond x y).
11412
da7ac8f1
GDR
114132002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
11414
11415 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
11416
c7bdf0a6
ZW
114172002-05-24 Zack Weinberg <zack@codesourcery.com>
11418
11419 * config.gcc: Remove all stanzas for previously obsoleted
11420 systems. Where necessary, add explicit error stanzas to
11421 prevent removed systems from being misidentified as something
11422 else. Begin a fresh obsoletions list, with the systems that
11423 were reprieved last round.
11424 * doc/install.texi: Remove all mention of dead targets.
11425 * fixinc/mkfixinc.sh: Likewise.
11426
11427 * config/arm/arm.h: Bit 31 of target_flags is no longer
11428 reserved.
11429
11430 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
11431 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
11432 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
11433 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
11434 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
11435 config/alpha/osf12.h, config/alpha/osf2or3.h,
11436 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
11437 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
11438 config/clipper/clipper-protos.h, config/clipper/clipper.c,
11439 config/clipper/clipper.h, config/clipper/clipper.md,
11440 config/clipper/clix.h, config/convex/convex-protos.h,
11441 config/convex/convex.c, config/convex/convex.h,
11442 config/convex/convex.md, config/convex/fixinc.convex,
11443 config/convex/proto.h, config/elxsi/elxsi-protos.h,
11444 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
11445 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
11446 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
11447 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
11448 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
11449 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
11450 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
11451 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
11452 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
11453 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
11454 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
11455 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
11456 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
11457 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
11458 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
11459 config/m68k/altos3068.h, config/m68k/apollo68.h,
11460 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
11461 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
11462 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
11463 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
11464 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
11465 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
11466 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
11467 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
11468 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
11469 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
11470 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
11471 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
11472 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
11473 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
11474 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
11475 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
11476 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
11477 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
11478 config/mips/dec-osf1.h, config/mips/elflorion.h,
11479 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
11480 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
11481 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
11482 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
11483 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
11484 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
11485 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
11486 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
11487 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
11488 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
11489 config/ns32k/sequent.h, config/ns32k/tek6000.h,
11490 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
11491 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
11492 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
11493 config/sparc/rtems.h, config/we32k/we32k-protos.h,
11494 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
11495 Delete file.
11496
755ac5d4
RH
114972002-05-24 Richard Henderson <rth@redhat.com>
11498
11499 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
11500 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
11501 * config/i386/i386.c (tls_model_chars): Add leading space.
11502 (tls_symbolic_operand): Don't bias by 1.
11503 (legitimize_address): Don't unbias by 1.
11504
c429f12e
TM
115052002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
11506
11507 * lcm.c (optimize_mode_switching): Change bb used as indices
11508 to bb->index.
11509
8beda321
RH
115102002-05-24 Richard Henderson <rth@redhat.com>
11511
11512 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
11513 of update_life_info_in_dirty_blocks.
11514
90442291
JJ
115152002-05-24 Jakub Jelinek <jakub@redhat.com>
11516
11517 PR other/6782
11518 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
11519
3620711b
NB
115202002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
11521
11522 PR preprocessor/6780
11523 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
11524
2f8d482e
JB
115252002-05-24 Jim Blandy <jimb@redhat.com>
11526
11527 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
11528 entry with a type code of zero, marking the end of the compilation
11529 unit's macro info.
11530
95bfe95f
RH
115312002-05-24 Richard Henderson <rth@redhat.com>
11532
c7bdf0a6
ZW
11533 * varasm.c (asm_output_bss): Always output one byte.
11534 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 11535
7efda054
BM
115362002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
11537
11538 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
11539 namespace.
11540
8a951190
AJ
115412002-05-24 Andreas Jaeger <aj@suse.de>
11542
11543 * ggc-page.c (alloc_page): Cast variables of type size_t to
11544 unsigned long, adjust printf format string.
11545 (ggc_alloc): Likewise.
11546 (ggc_print_statistics): Likewise.
11547 (ggc_print_statistics): Correct printf format string for SCALE to
11548 use unsigned long.
11549
f29e2ec0
DS
115502002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
11551
11552 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
11553
211a0cbe 115542002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 11555 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
11556
11557 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
11558 quoted strings.
11559 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 11560 directive in assembly file.
211a0cbe
GDR
11561 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11562 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11563 * config/pj/pj.h (ASM_FILE_START): Likewise.
11564 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
11565 * config/avr/avr.c (asm_file_end): Likewise.
11566 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 11567 char.
211a0cbe
GDR
11568 * toplev.h (output_clean_symbol_name): Declare
11569 * toplev.c (output_clean_symbol_name): Define.
11570 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
11571 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
11572
2f0552b6
AM
115732002-05-24 Alan Modra <amodra@bigpond.net.au>
11574
11575 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
11576
b326b2c1
VM
115772002-05-23 Vladimir Makarov <vmakarov@redhat.com>
11578
11579 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
11580 of size of unsigned.
11581
f996902d
RH
115822002-05-23 Richard Henderson <rth@redhat.com>
11583
11584 * configure.in (HAVE_AS_TLS): New test.
11585 * config.in, configure: Rebuild.
11586 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
11587 (ix86_tls_dialect_string, ix86_tls_dialect): New.
11588 (override_options): Set it.
11589 (tls_model_chars, tls_symbolic_operand): New.
11590 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
11591 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
11592 (local_exec_symbolic_operand): New.
11593 (get_pic_label_name): Merge into output_set_got.
11594 (ix86_asm_file_end): Emit pic_label_name if defined.
11595 (legitimate_constant_p, constant_address_p): New.
11596 (legitimate_pic_operand_p): New.
11597 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
11598 (legitimate_address_p): Likewise.
11599 (ix86_encode_section_info): Rename from i386_; handle tls decls.
11600 (ix86_strip_name_encoding): New.
11601 (get_thread_pointer): New.
11602 (legitimize_address): Handle tls symbols.
11603 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
11604 Remove UNSPEC_PLT.
11605 (struct machine_function): Add some_ld_name.
11606 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
11607 (print_operand) [&]: Use it. Handle UNSPEC_TP.
11608 (output_addr_const_extra): New.
11609 (maybe_get_pool_constant): New.
11610 (ix86_split_to_parts): Use it.
11611 (ix86_expand_move): Handle tls symbols.
11612 (ix86_tls_get_addr): New.
11613 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
11614 (TARGET_OPTIONS): Add tls-dialect.
11615 (CONSTANT_ADDRESS_P): Use new out-of-line function.
11616 (LEGITIMATE_CONSTANT_P): Likewise.
11617 (LEGITIMATE_PIC_OPERAND_P): Likewise.
11618 (TARGET_STRIP_NAME_ENCODING): New.
11619 (ASM_OUTPUT_LABELREF): New.
11620 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
11621 (OUTPUT_ADDR_CONST_EXTRA): New.
11622 (PREDICATE_CODES): Update.
11623 (ix86_tls_dialect, ix86_tls_dialect_string): New.
11624 * config/i386/i386.md: Regroup and renumber unspec constants.
11625 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
11626 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
11627 (tls_global_dynamic, tls_local_dynamic_base): New.
11628 (tls_local_dynamic_once): New.
11629 * config/i386/i386-protos.h: Update.
11630
821e35ba
RH
116312002-05-23 Richard Henderson <rth@redhat.com>
11632
11633 * genemit.c (gen_insn): Print file:lineno comment before function.
11634 (main): likewise.
11635 * gensupport.c (struct queue_elem): Add filename member.
11636 (queue_pattern): Initialize it; update all callers.
11637 (process_include): Don't free filename.
11638 (read_md_rtx): Set read_rtx_filename.
11639
0f1ffa23 116402002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
11641
11642 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 11643
8e9fadc3
RH
116442002-05-23 Richard Henderson <rth@redhat.com>
11645
11646 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
11647
244c2241
RH
116482002-05-23 Richard Henderson <rth@redhat.com>
11649
11650 * doc/extend.texi (C++98 Thread-Local Edits): Update with
11651 commentary from Mark.
11652
e0082a72
ZD
116532002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11654
11655 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
11656 Use FOR_EACH_BB macros to iterate over basic block chain.
11657 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
11658 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
11659 Likewise.
11660 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
11661 find_unreachable_blocks, create_edge_list, verify_edge_list,
11662 remove_fake_edges, add_noreturn_fake_exit_edges,
11663 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
11664 Likewise.
11665 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
11666 find_sub_basic_blocks): Likewise.
11667 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
11668 Likewise.
11669 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
11670 Likewise.
11671 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
11672 Likewise.
11673 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
11674 commit_edge_insertions, commit_edge_insertions_watch_calls,
11675 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
11676 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
11677 * conflict.c (conflict_graph_compute): Likewise.
11678 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
11679 df_modified_p, df_refs_unlink, df_dump): Likewise.
11680 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
11681 * final.c (compute_alignments): Likewise.
11682 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
11683 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
11684 count_or_remove_death_notes): Likewise.
11685 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
11686 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
11687 classic_gcse, compute_transp, cprop, compute_pre_data,
11688 compute_transpout, invalidate_nonnull_info,
11689 delete_null_pointer_checks_1, delete_null_pointer_checks,
11690 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
11691 compute_store_table, build_store_vectors, store_motion): Likewise.
11692 * global.c (global_conflicts, mark_elimination): Likewise.
11693 * graph.c (print_rtl_graph_with_bb): Likewise.
11694 * haifa-sched.c (sched_init): Likewise.
11695 * ifcvt.c (if_convert): Likewise.
11696 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
11697 compute_available, compute_nearerout, compute_rev_insert_delete,
11698 optimize_mode_switching): Likewise.
11699 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
11700 * predict.c (estimate_probability, note_prediction_to_br_prob,
11701 propagate_freq, counts_to_freqs, expensive_function_p,
11702 estimate_bb_frequencies): Likewise.
11703 * profile.c (instrument_edges, get_exec_counts,
11704 compute_branch_probabilities, compute_checksum, branch_prob,
11705 find_spanning_tree): Likewise.
11706 * recog.c (split_all_insns, peephole2_optimize): Likewise.
11707 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
11708 Likewise.
11709 * regclass.c (scan_one_insn, regclass): Likewise.
11710 * regmove.c (mark_flags_life_zones, regmove_optimize,
11711 record_stack_memrefs): Likewise.
11712 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
11713 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
11714 * resource.c (find_basic_block): Likewise.
11715 * sched-ebb.c (schedule_ebbs): Likewise.
11716 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
11717 find_single_block_region, find_rgns, schedule_insns)
11718 * sibcall.c (optimize_sibling_and_tail_recursive_call)
11719 * ssa-ccp.c (optimize_unexecutable_edges,
11720 ssa_ccp_df_delete_unreachable_insns): Likewise.
11721 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11722 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
11723 rename_block, convert_to_ssa, compute_conservative_reg_partition,
11724 compute_coalesced_reg_partition, rename_equivalent_regs,
11725 convert_from_ssa): Likewise.
11726 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
11727 process_for_unwind_directive): Likewise.
11728
11729 * df.c (FOR_ALL_BBS): Removed.
11730 * gcse.c (struct null_pointer_info): Type of current_block field
11731 changed.
11732 (struct reg_avail_info): Type of last_bb field changed.
11733 * config/ia64/ia64.c (block_num): Removed.
11734 (need_copy_state): Type changed.
11735 (last_block): New.
11736
17645b15
NB
117372002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11738
11739 * cppinit.c (mark_named_operators): Split out from init_builtins.
11740 (cpp_finish_options): Call it from here instead.
11741
79ed7328
JT
117422002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
11743
11744 * builtin-attrs.def: Update copyright years.
11745 (ATTR_NONNULL): New attribute identifier.
11746 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
11747 attribute tree lists.
11748 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
11749 format operand.
11750 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
11751 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
11752 attribute lists. Chain the appropriate nonnull attribute.
11753 * c-format.c (check_format_arg): Remove null format string
11754 warning.
11755 * testsuite/gcc.dg/format/null-1.c: New test.
11756
7d600178
RO
117572002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11758
11759 * Makefile.in (ADAC): Define.
11760 (SYSLIBS): Define.
11761 (.SUFFIXES): Move before language makefile fragments.
11762 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
11763
5ff225fc
MM
117642002-05-23 Mark Mitchell <mark@codesourcery.com>
11765
11766 * varasm.c (make_decl_rtl): Don't allow weak variables to be
11767 placed in common.
11768
0f72964f
JH
11769Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
11770
11771 * cfg.c (dump_flow_info): Print results of
11772 maybe_hot/probably_never_executed predicates.
11773 * toplev.c (open_dump_file): Print function frequency.
11774
c863f8c2
DM
117752002-05-23 David S. Miller <davem@redhat.com>
11776
11777 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
11778 regsets.
11779
b34c7881
JT
117802002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
11781
11782 * c-common.c (warn_nonnull): Declare.
11783 (c_common_attribute_table): Add "nonnull" attribute.
11784 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
11785 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
11786 check_function_arguments_recurse): New functions.
11787 * c-common.h (warn_nonnull): Declare extern.
11788 (check_function_arguments, check_function_arguments_recurse): New
11789 prototypes.
11790 * c-decl.c (c_decode_option): Add -Wnonnull option.
11791 * c-format.c (set_Wformat): Set warn_nonnull if enabling
11792 format checking.
11793 (format_check_context): New structure.
11794 (check_format_info_recurse): Remove recursion and rename to...
11795 (check_format_arg): ...this. Update comment.
11796 (check_format_info): Use check_function_arguments_recurse.
11797 * c-typeck.c (build_function_call): Call check_function_arguments
11798 instead of check_function_format.
11799 * doc/extend.texi: Document "nonnull" attribute.
11800 * doc/invoke.texi: Docuemnt -Wnonnull option.
11801 * testsuite/gcc.dg/nonnull-1.c: New test.
11802 * testsuite/gcc.dg/nonnull-2.c: New test.
11803
95479831
DM
118042002-05-23 David S. Miller <davem@redhat.com>
11805
11806 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
11807 * cfgcleanup.c (cleanup_cfg): If it is set do not
11808 attempt to delete trivially dead insns.
11809 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
11810 * toplev.c (rest_of_compilation): Document non-trivial aspect
11811 the RTL before optimize_save_area_alloca is run.
11812
a97d1398
NB
118132002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11814
11815 * c-lex.c (indent_level): Remove.
11816 (cb_file_change, c_lex): Remove indent level handling.
11817 * c-lex.h (indent_level): Remove.
11818 * input.h (struct file_stack): Remove indent_level.
11819 * toplev.c (push_srcloc): Remove indent_level handling.
11820
66b408f2
JJ
118212002-05-23 Jakub Jelinek <jakub@redhat.com>
11822
11823 PR target/6753
11824 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
11825 of x in constraints for clarity.
11826 (sse_mov?fcc split): abort if op2 == op3.
11827 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
11828 sse_movsfcc_const0_4): Add earlyclobber.
11829 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
11830 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
11831 Use Y instead of x in constraints.
11832
5bf0ebab
RH
118332002-05-23 Richard Henderson <rth@redhat.com>
11834
9217ef40
RH
11835 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
11836 (C++98 Thread-Local Edits): New subsection.
11837
5bf0ebab
RH
11838 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
11839 (ix86_arch): Set type to enum processor_type.
11840
8a951190 11841 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
11842 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
11843
4832c9e1
JJ
118442002-05-23 Jakub Jelinek <jakub@redhat.com>
11845
11846 * configure.in: Fix as version test for binutils 2.12.1 releases
11847 (without dates).
11848 * configure: Rebuilt.
11849
c8c03509
RH
118502002-05-23 Richard Henderson <rth@redhat.com>
11851
11852 * config/i386/i386.c (get_pic_label_name): New.
11853 (load_pic_register): Remove.
11854 (output_set_got): New.
11855 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
11856 * config/i386/i386.md (UNSPEC_SET_GOT): New.
11857 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
11858 (prologue_set_got, prologue_get_pc): Remove.
11859 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
11860 (builtin_setjmp_receiver): Use gen_set_got.
11861 * config/i386/i386-protos.h: Update.
11862
d51f3632
JH
11863Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
11864
11865 * gcse.c (hash_expr): Do not use alias set for hashing.
11866
b0a93386
KB
118672002-05-22 Kevin Buettner <kevinb@redhat.com>
11868
11869 * dbxout.c (dbxout_class_name_qualifiers): New function.
11870 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
11871
bdee42b1
NB
118722002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11873
11874 * cpperror.c (_cpp_begin_message): No special casing
11875 of CPP_FATAL_LIMIT.
11876 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
11877 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
11878 * cpplib.c (do_include_common): Use DL_ERROR.
11879 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
11880 (DL_ICE): Renumber.
11881 * fix-header.c (read_scan_file): Update.
11882
0e07aff3
RH
118832002-05-22 Richard Henderson <rth@redhat.com>
11884
11885 * config/i386/i386.c (ix86_expand_call): New function, extracted
11886 from md call patterns. Add pic_offset_table_rtx to
11887 CALL_INSN_FUNCTION_USAGE when needed.
11888 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
11889 (call_value_pop, call_value, untyped_call): Likewise.
11890 (call_exp, call_value_exp): Remove.
11891 * config/i386/i386-protos.h: Update.
11892
6f001fdf
RH
118932002-05-22 Richard Henderson <rth@redhat.com>
11894
11895 * varasm.c (default_section_type_flags): Check for VAR_DECL
11896 before using DECL_THREAD_LOCAL.
11897
cbaaba19
DE
118982002-05-22 David Edelsohn <edelsohn@gnu.org>
11899
11900 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
11901 (STARTFILE_SPEC): Delete PE crt0.o.
11902 * config/rs6000/aix51.h: Same.
11903 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
11904 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
11905 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
11906 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
11907 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
11908
c711ba8e
RH
119092002-05-22 Richard Henderson <rth@redhat.com>
11910
11911 * varasm.c (default_section_type_flags): Handle tls data and
11912 default sections.
11913 (default_unique_section): Handle tls sections.
11914
343f59d9
AM
119152002-05-23 Alan Modra <amodra@bigpond.net.au>
11916
11917 * configure.in (CROSS): Define NATIVE_CROSS.
11918 * configure: Regenerate.
11919 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
11920 (startfile_prefix_spec): New var.
11921 (static_specs): Add startfile_prefix_spec.
11922 (do_spec_2): Split out from..
11923 (do_spec): ..here.
11924 (main): Process startfile_prefix_spec.
11925 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
11926 dynamic linker.
11927 (STARTFILE_PREFIX_SPEC): Define.
11928 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 11929 absolute paths.
343f59d9 11930
df383483
KH
119312002-05-22 Kazu Hirata <kazu@cs.umass.edu>
11932
11933 * cpperror.c: Fix formatting.
11934 * cppexp.c: Likewise.
11935 * cppfiles.c: Likewise.
11936 * cpphash.c: Likewise.
11937 * cpphash.h: Likewise.
11938 * cppinit.c: Likewise.
11939 * cpplex.c: Likewise.
11940 * cpplib.c: Likewise.
11941 * cppmacro.c: Likewise.
11942 * cppmain.c: Likewise.
11943 * cppspec.c: Likewise.
11944
2dd36f90
JJ
119452002-05-22 Jakub Jelinek <jakub@redhat.com>
11946
11947 * combine.c (force_to_mode): Use gen_int_mode.
11948 Don't clear CONST_INT bits outside of mode.
11949
8dc02d7f
RH
119502002-05-22 Richard Henderson <rth@redhat.com>
11951
11952 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
11953 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
11954
45f79783
JJ
119552002-05-22 Jakub Jelinek <jakub@redhat.com>
11956
11957 PR c/6643
11958 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
11959 if DECL_SIZE_UNIT is INTEGER_CST.
11960
19f71cd7
RH
119612002-05-22 Richard Henderson <rth@redhat.com>
11962
11963 * flow.c (life_analysis): Delete broken reg_label check.
11964
d5bcfcce
RH
119652002-05-22 Richard Henderson <rth@redhat.com>
11966
11967 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
11968 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
11969
985d311b 11970Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
11971
11972 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
11973 (embed-bb.c): New rule.
985d311b 11974 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
11975 * config/sh/embed_bb.c: Delete.
11976
985d311b
R
11977Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
11978
11979 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
11980
f6d45746
KH
119812002-05-22 Kazu Hirata <kazu@cs.umass.edu>
11982
11983 * config/h8300/h8300.md (*andorqi3): New.
11984
e5f3b786
NB
119852002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
11986
11987 PR preprocessor/6517
11988 * Makefile.in: Update.
11989 * c-common.c (c_common_post_options): Add preprocessor
11990 errors to the error count.
11991 * c-lang.c (c_post_options): Kill.
11992 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
11993 * hooks.h: Add header guards.
11994 * langhooks-def.h: Include hooks.h.
11995 (LANG_HOOKS_POST_OPTIONS): Update.
11996 * langhooks.h (struct lang_hooks): Update post_options.
11997 * toplev.c (parse_options_and_default_flags): Update.
11998objc:
11999 * objc-lang.c (objc_post_options): Kill.
12000 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
12001
4c526be3
BK
120022002-05-21 Bruce Korb <bkorb@gnu.org>
12003
12004 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
12005 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
12006 * fixinc/fixincl.x: regen.
4c526be3 12007
f87c27b4
KH
120082002-05-21 Kazu Hirata <kazu@cs.umass.edu>
12009
12010 * cfgbuild.c: Fix formatting.
12011 * cfg.c: Likewise.
12012 * cfgcleanup.c: Likewise.
12013 * cfglayout.c: Likewise.
12014 * cfgloop.c: Likewise.
12015 * cfgrtl.c: Likewise.
12016
3d78f2e9
RH
120172002-05-21 Richard Henderson <rth@redhat.com>
12018
12019 * c-common.h (enum rid): Add RID_THREAD.
12020 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
12021 (grokdeclarator): Grok __thread.
12022 * c-parse.in (reswords): Add __thread.
12023 (rid_to_yy): Add RID_THREAD.
12024
12025 * tree.h (DECL_THREAD_LOCAL): New.
12026 (struct tree_decl): Add thread_local_flag.
12027 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
12028 * tree.c (staticp): TLS variables are not static.
12029
12030 * target-def.h (TARGET_HAVE_TLS): New.
12031 * target.h (have_tls): New.
12032 * output.h (SECTION_TLS): New.
12033 * varasm.c (assemble_variable): TLS variables can't be common for now.
12034 (default_section_type_flags): Handle .tdata and .tbss.
12035 (default_elf_asm_named_section): Handle SECTION_TLS.
12036 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
12037
12038 * flags.h (flag_tls_default): Declare.
12039 * toplev.c (flag_tls_default): Define.
12040 (display_help): Display help for it.
12041 (decode_f_option): Set it.
12042
12043 * doc/extend.texi (Thread-Local): New node describing language-level
12044 thread-local storage.
12045 * doc/invoke.texi (-ftls-model): Document.
12046
12047 * fixinc/inclhack.def (thread_keyword): New.
12048 * fixinc/fixincl.x: Rebuild.
12049
a151daf0
JL
120502002-05-21 Jeffrey A Law <law@redhat.com>
12051
8a951190 12052 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
12053 do not compute intermediate results into something that is
12054 not a register (such as a SUBREG or MEM).
12055
a151daf0
JL
12056 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
12057 (ix86_sched_reorder): Make sure to initialize scheduling
12058 data even when there's only one insn in the ready queue.
12059
96b1f73b
VM
120602002-05-21 Vladimir Makarov <vmakarov@redhat.com>
12061
12062 * genautomata.c (reserv_sets_hash_value): Fix a typo.
12063
dceb2b75
VM
120642002-05-21 Vladimir Makarov <vmakarov@redhat.com>
12065
12066 * genautomata.c (reserv_sets_hash_value): Define hash_value as
12067 set_el_t. Transform the hash value into unsigned.
12068 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
12069 (transform_3): Add code to process `(A,B)+(D,E)'.
12070
159d5964
NY
120712002-05-21 NIIBE Yutaka <gniibe@m17n.org>
12072
12073 * reload1.c (do_output_reload): Run delete_output_reload
12074 only if optimizing.
12075
cf5124f6
RS
120762002-05-21 Roger Sayle <roger@eyesopen.com>
12077
12078 PR middle-end/6600
12079 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
12080 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
12081 (can_store_by_pieces): ... and here to limit the largest mode used.
12082 Add a comment to document this function.
12083
380e6ade
RH
120842002-05-21 Richard Henderson <rth@redhat.com>
12085
12086 * flow.c (life_analysis): Fix test for deleted label.
12087
1f95326c
NB
120882002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
12089
12090 * doc/tm.texi: Fix typo.
12091
2a1dc0d8
ZW
120922002-05-21 Zack Weinberg <zack@codesourcery.com>
12093
12094 * c-common.c (c_common_init): Set options->unsigned_char from
12095 flag_signed_char.
12096 (cb_register_builtins): Define __STRICT_ANSI__ and
12097 __CHAR_UNSIGNED__ here...
12098 * cppinit.c (init_builtins): Not here.
12099 (cpp_create_reader): unsigned_char option defaults to 0, not
12100 !DEFAULT_SIGNED_CHAR.
12101 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
12102 and -funsigned-char.
12103
12104 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
12105 * cpphash.c (_cpp_init_hashtable): Don't set it.
12106 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
12107 directly. Clarify comment.
12108
d29146f2 121092002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 12110
f5eb2fc8
ZD
12111 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
12112 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
12113 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
12114 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 12115 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 12116 flow_preorder_transversal_compute): Too.
d29146f2 12117 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
12118 find_sub_basic_blocks): Too.
12119 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 12120 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
12121 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
12122 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
12123 * combine.c (this_basic_block): Type changed to basic_block.
12124 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
12125 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
12126 get_last_value, distribute_notes, distribute_links): Too.
12127 * final.c (compute_alignments): Too.
12128 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
12129 * function.c (thread_prologue_and_epilogue_insns): Too.
12130 * gcse.c (compute_code_hoist_vbeinout): Too.
12131 * global.c (build_insn_chain): Too.
12132 * ifcvt.c (find_if_block, find_cond_trap): Too.
12133 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
12134 * regmove.c (regmove_optimize): Too.
12135 * resource.c (find_basic_block): Too.
12136 * sched-ebb.c (schedule_ebbs): Too.
12137 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 12138
68bd6dd6
AJ
121392002-05-21 Andreas Jaeger <aj@suse.de>
12140
12141 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
12142
35a76aac
RH
121432002-05-21 Richard Henderson <rth@redhat.com>
12144
12145 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
12146 unspec names, not numbers.
12147
2870428f
JM
121482002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
12149
12150 * doc/sourcebuild.texi: Mention snapshot-README and
12151 snapshot-index.html as needing updating for new front ends.
12152
b0ad77d5
KG
121532002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12154
12155 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
12156 disabling checking, and avoid multiple evaluation of RTX.
12157
279be7c8
RE
121582002-05-21 Richard Earnshaw <rearnsha@arm.com>
12159
12160 * bitmap.c (bitmap_find_bit): Return early if we have the correct
12161 element cached.
12162
193a563a
JH
12163Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
12164
12165 * profile.c (gen_edge_profiler): Set alias set before the memory is
12166 used.
12167
31825e57
DM
121682002-05-20 David S. Miller <davem@redhat.com>
12169
12170 * cselib.c (max_value_regs): New.
12171 (cselib_lookup, cselib_invalidate_regno): Initialize it when
12172 adding new entries to the REG_VALUES table and we are dealing with
12173 a hard register.
12174 (clear_table): Initialize it.
12175 (cselib_invalidate_regno): Use it to determine which hard
12176 registers to scan when mode is not VOIDmode.
12177
68bd6dd6 121782002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
12179
12180 * tradcpp.c (fixup_newlines): Use old-style function header.
12181
e0a09fda
KW
121822002-05-20 Krister Walfridsson <cato@df.lth.se>
12183
12184 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
12185
e0c13c70
L
121862002-05-20 H.J. Lu (hjl@gnu.org)
12187
12188 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
12189
12190 * config/mips/mips.h (DFMODE_NAN): Defined.
12191 (SFMODE_NAN): Likewise.
12192
4c11675d 121932002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 12194
2a1dc0d8
ZW
12195 * combine.c (cant_combine_insn_p): Back out my
12196 previous patch.
4c11675d 12197
6a4d6760
KH
121982002-05-20 Kazu Hirata <kazu@cs.umass.edu>
12199
12200 * params.c: Fix formatting.
12201 * params.h: Likewise.
12202 * predict.c: Likewise.
12203 * prefix.c: Likewise.
12204 * print-rtl.c: Likewise.
12205 * print-tree.c: Likewise.
12206 * profile.c: Likewise.
12207
5715ca64
L
122082002-05-20 H.J. Lu (hjl@gnu.org)
12209
12210 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
12211
00b89f01
NC
122122002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
12213
12214 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
12215 switches straight on to the assembler, do not abbreviate them.
12216 * config/arm/elf.h (ASM_SPEC): As above.
12217 * config/arm/semi.h (ASM_SPEC): As above.
12218 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
12219 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
12220 -mcpu=xscale on to the assembler by default.
12221 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
12222
1441374b
RH
122232002-05-20 Richard Henderson <rth@redhat.com>
12224
12225 * cse.c (canon_hash): Reorder do_not_record test. Always
12226 allow pic_offset_table_rtx.
12227
c0fe508e
TM
122282002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
12229
12230 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
12231 (expand_binop): Ditto (3 times).
12232
f362c762
MM
122332002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
12234
12235 * Makefile.in (distclean): Remove QMTest stuff.
12236 (QMTEST_PATH): New variable.
12237 (QMTESTFLAGS): Likewise.
12238 (QMTESTRUNFLAGS): Likewise.
12239 (QMTEST): Likewise.
12240 (QMTEST_GPP_TESTS): Likewise.
12241 (QMTEST_DIR): Likewise.
12242 (QMTEST_DIR/context): New target.
12243 (qmtest-g++): Likeise.
12244 (qmtest-gui): Likewise.
12245 (QMTEST_DIR/gpp-expected.qmr): Likewise.
12246
16861f33
AH
122472002-05-19 Aldy Hernandez <aldyh@redhat.com>
12248
2a1dc0d8
ZW
12249 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
12250 an altivec register if TARGET_ALTIVEC.
16861f33 12251
2a1dc0d8
ZW
12252 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
12253 to ALTIVEC_VECTOR_MODE.
12254 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
12255 (rs6000_va_arg): Vectors may go in registers if they are not
12256 altivec vectors.
16861f33 12257
23459e15
KH
122582002-05-19 Kazu Hirata <kazu@cs.umass.edu>
12259
12260 * protoize.c: Fix formatting.
12261
174cc7d1
RH
122622002-05-19 Richard Henderson <rth@redhat.com>
12263
12264 * gensupport.c (init_include_reader): Merge into ...
12265 (process_include): ... here. Simplify composite path creation.
12266 Plug memory leaks. Fix file/line number tracking. Do not
12267 process_define_cond_exec. Return void.
12268 (process_rtx): Don't check process_include return value.
12269
918ed612
ZD
122702002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12271
12272 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
12273 fields.
12274 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
12275 traversing basic block chain.
12276 (create_basic_block_structure, create_basic_block): Declaration changed.
12277 (link_block, unlink_block): Declare.
12278 * cfg.c (entry_exit_blocks): Initialize new fields.
12279 (link_block, unlink_block): New.
12280 (expunge_block_nocompact): Unlink basic block.
12281 (dump_flow_info): Print prev_bb/next_bb fields.
12282 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
12283 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
12284 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
12285 * cfgrtl.c (create_basic_block_structure, create_basic_block,
12286 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
12287 (verify_flow_info): Check that list agrees with numbering.
12288
e0322d5c
NB
122892002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
12290
12291 * c-common.c (preprocessing_asm): New macro.
12292 * c-lex.h (builtin_define, builtin_assert): Use pfile.
12293doc:
12294 * tm.texi: Update.
12295config/alpha:
12296 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
12297 (CPP_SPEC): Simplify.
12298 (TARGET_CPU_CPP_BUILTINS): Update.
12299 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
12300 (CPP_SPEC): Simplify.
12301 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
12302 (TARGET_OS_CPP_BUILTINS): Update.
12303 * osf.h (CPP_XFLOAT_SPEC): Kill.
12304 (TARGET_OS_CPP_BUILTINS): Update.
12305 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
12306 * osf5.h (CPP_XFLOAT_SPEC): Kill.
12307 * vms.h (CPP_SUBTARGET_SPEC): Kill.
12308 (TARGET_OS_CPP_BUILTINS): Update.
12309
121f5c2c
RH
123102002-05-19 Richard Henderson <rth@redhat.com>
12311
12312 * varasm.c (default_binds_local_p): Fix typo.
12313
651c5ed9
MM
123142002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
12315
12316 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
12317 CONST_INT operand to the correct mode after adding 1 to it.
12318
bce0deb2
MM
123192002-05-19 Mark Mitchell <mark@codesourcery.com>
12320
12321 * config.gcc (powerpc-wrs-windiss*): New target.
12322
4aa74a4f
FS
123232002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12324
12325 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
12326 (ashrdi3): Use it.
12327
a15135c9
MM
123282002-05-18 Mark Mitchell <mark@codesourcery.com>
12329
12330 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
12331 alphasort.
12332 * config.in: Regenerated.
12333 * configure: Regenerated.
12334
47754fd5
RH
123352002-05-19 Richard Henderson <rth@redhat.com>
12336
12337 * target-def.h (TARGET_BINDS_LOCAL_P): New.
12338 * target.h (struct gcc_target): Move boolean fields to the end.
12339 Add binds_local_p.
12340 * varasm.c (default_binds_local_p): New.
12341 * output.h: Declare it.
12342
12343 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
12344 * config/cris/cris.c (cris_encode_section_info): Likewise.
12345 * config/i386/i386.c (i386_encode_section_info): Likewise.
12346 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
12347 * config/sh/sh.c (sh_encode_section_info): Likewise.
12348
12349 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
12350 (TARGET_BINDS_LOCAL_P): New.
12351
fc881338
RH
123522002-05-19 Richard Henderson <rth@redhat.com>
12353
12354 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
12355 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
12356 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
12357
12358 * toplev.c (display_help): Kill -a -ax help.
12359
68bd6dd6 12360 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
12361 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
12362 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
12363 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
12364 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
12365
12366 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
12367 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
12368
12369 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
12370 (ix86_output_function_block_profiler): Kill.
12371 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
12372 (m68hc11_function_block_profiler): Kill.
12373 * config/m68hc11/m68hc11-protos.h: Update.
12374 * config/m88k/m88k.c (output_block_profiler): Kill.
12375 (output_function_block_profiler): Kill.
12376 * config/m88k/m88k-protos.h: Update.
12377
772c5265
RH
123782002-05-19 Richard Henderson <rth@redhat.com>
12379
12380 * system.h (STRIP_NAME_ENCODING): Poison it.
12381 * output.h (STRIP_NAME_ENCODING): Remove.
12382 (default_strip_name_encoding): Declare.
12383 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
12384 * target.h (strip_name_encoding): New.
12385 * varasm.c (default_strip_name_encoding): New.
12386
12387 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
12388 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
12389 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
12390 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
12391 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
12392 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
12393 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
12394 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
12395 config/v850/v850.h: Use the hook, not the macro.
12396
12397 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
12398 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
12399 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
12400 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
12401 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
12402 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 12403 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
12404 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
12405 config/v850/v850.c, config/v850/v850.h:
12406 Move STRIP_NAME_ENCODING to out-of-line function and add
12407 TARGET_STRIP_NAME_ENCODING.
12408
12409 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
12410 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
12411 with TARGET_STRIP_NAME_ENCODING referencing existing function;
12412 make function static.
12413
12414 * xcoffout.c: Include target.h
12415 * Makefile.in (xcoffout.o): Update.
12416
12417 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
12418 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
12419 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
12420 reloc argument unused.
12421 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
12422
12423 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
12424 STRIP_NAME_ENCODING docs.
12425
8f9eb495
AJ
124262002-05-19 Andreas Jaeger <aj@suse.de>
12427
12428 * gengenrtl.c: Add prototype for excluded_rtx.
12429
12430 * real.h: Add prototype for exact_real_truncate.
12431
fb49053f
RH
124322002-05-18 Richard Henderson <rth@redhat.com>
12433
12434 * system.h (ENCODE_SECTION_INFO): Poison it.
12435 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
12436 * target.h (encode_section_info): New.
12437 * varasm.c (make_decl_rtl, output_constant_def): Use it.
12438 * hooks.c (hook_tree_int_void): New.
12439 * hooks.h: Declare it.
12440
12441 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
12442 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
12443 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
12444 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
12445 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
12446 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
12447 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
12448 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
12449 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
12450 config/mcore/mcore-protos.h, config/mcore/mcore.c,
12451 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
12452 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
12453 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
12454 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
12455 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
12456 referencing existing function. Make function static.
12457
12458 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 12459 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
12460 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
12461 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
12462 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 12463 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
12464 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
12465 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
12466 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
12467 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 12468 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
12469 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
12470 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
12471 Move ENCODE_SECTION_INFO to out-of-line function and add
12472 TARGET_ENCODE_SECTION_INFO.
12473
12474 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
12475 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
12476
12477 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
12478 from SUBTARGET_*
12479 (switch_to_section): Replace in_rdata case with in_readonly_data.
12480
12481 * config/h8300/h8300.c (h8300_encode_label): Make static.
12482 * config/h8300/h8300-protos.h: Update.
12483
12484 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
12485 from rs6000_encode_section_info; make static.
12486 (rs6000_xcoff_encode_section_info): New.
12487
12488 * config/v850/v850.c (v850_encode_data_area): Make static.
12489 * config/v850/v850-protos.h: Update.
12490
12491 * config/vax/vax.c: Include flags.h.
12492 (vms_select_section): Fix typo.
12493
12494 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
12495 ENCODE_SECTION_INFO docs.
12496
9fe08fd0
RH
124972002-05-18 Richard Henderson <rth@redhat.com>
12498
12499 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
12500 REGISTER_TARGET_PRAGMAS.
12501 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
12502
410b770f
RH
12503 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
12504
b64a1b53
RH
125052002-05-18 Richard Henderson <rth@redhat.com>
12506
12507 * system.h (SELECT_RTX_SECTION): Poison.
12508 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
12509 * target.h (select_rtx_section): New.
12510 * varasm.c (output_constant_pool): Use it.
12511 (default_select_rtx_section, default_elf_select_rtx_section): New.
12512 * output.h: Declare them.
12513
12514 * config/darwin.h (SELECT_RTX_SECTION): Move ...
12515 * config/darwin.c (machopic_select_rtx_section): ... here.
12516 * config/darwin-protos.h: Update.
12517
12518 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
12519 * config/nextstep.c (machopic_select_rtx_section): ... here.
12520 (nextstep_select_section): Rename variable to avoid macro clash.
12521 * config/nextstep-protos.h: Update.
12522
12523 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
12524 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
12525 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 12526 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
12527 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
12528 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 12529 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
12530 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
12531 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
12532 (SELECT_RTX_SECTION): Remove.
12533
12534 * config/darwin.h, config/elfos.h, config/nextstep.h,
12535 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
12536 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
12537 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
12538 config/sparc/lynx.h, config/xtensa/xtensa.c
12539 (TARGET_ASM_SELECT_RTX_SECTION): New.
12540
12541 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
12542 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
12543 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
12544 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
12545 (ia64_aix_select_rtx_section): New.
12546 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
12547 redefining.
12548 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 12549 Support ELF SHF_MERGE features.
b64a1b53
RH
12550 * config/mips/mips-protos.h: Update.
12551 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
12552 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
12553 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
12554 make static, fall back to default_elf_select_rtx_section.
12555 * config/rs6000/rs6000-protos.h: Update.
12556 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
12557 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
12558 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
12559 * config/romp/romp.c (romp_select_rtx_section): New.
12560 * config/s390/s390.c (s390_select_rtx_section): New.
12561 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
12562 declarations before target macro definition.
12563 (xtensa_emit_call): Use static buffer.
12564 (xtensa_select_rtx_section): New.
12565 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
12566 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
12567 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
12568
12569 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
12570 SELECT_RTX_SECTION docs.
12571
12572Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
12573
12574 * i386.md (movsi/movdi): Fix template.
12575 (sse2 patterns): Set attributes consistently.
12576
12577 * i386.md (pushqi2, ashrqi_*): Fix constraint.
12578
6835a09c
TM
125792002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
12580
12581 * optabs.c (complex_part_zero_p): New.
12582 * (expand_cmplxdiv_straight): Use it.
12583 * (expand_cmplxdiv_wide): Ditto.
12584 * (expand_binop): Ditto.
12585
d48bc59a
RH
125862002-05-18 Richard Henderson <rth@redhat.com>
12587
12588 * final.c (HAVE_READONLY_DATA_SECTION): New.
12589 (shorten_branches): Use it instead of ifdefs.
12590 * varasm.c (enum in_section): Add in_readonly_data.
12591 (text_section, data_section): Tidy.
12592 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
12593
12594 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
12595 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
12596 (READONLY_DATA_SECTION): Don't undef.
12597
12598 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
12599 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
12600 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
12601
12602 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
12603 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
12604 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
12605 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
12606
12607 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
12608 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
12609 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
12610 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
12611 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
12612 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
12613 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
12614 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
12615 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
12616
12617 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
12618 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
12619 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
12620 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
12621 config/pa/pa64-hpux.h, config/sparc/litecoff.h
12622 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
12623
12624 * config/elfos.h, config/netware.h, config/svr3.h,
12625 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
12626 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
12627 config/h8300/h8300.h, config/i386/i386-interix.h,
12628 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
12629 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
12630
12631 * config/elfos.h, config/netware.h, config/svr3.h,
12632 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
12633 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
12634 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
12635 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
12636
12637 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
12638 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
12639 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
12640 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
12641 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
12642 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
12643 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
12644 config/rs6000/sysv4.h, config/v850/v850.h
12645 (EXTRA_SECTIONS): Remove in_const/in_rdata.
12646 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
12647
12648 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
12649 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
12650 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
12651 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
12652 * config/alpha/alpha.c (alpha_start_function): Likewise.
12653 (alpha_write_linkage): Likewise.
12654 * config/m32r/m32r.c (m32r_select_section): Likewise.
12655 * config/m88k/m88k.c (m88k_select_section): Likewise.
12656 * config/mips/mips.c (mips_select_rtx_section): Likewise.
12657 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
12658 (rs6000_elf_select_section): Likewise.
12659 * config/v850/v850.c (v850_select_section): Likewise.
12660
12661 * config/1750a/1750a.h, config/i860/sysv3.h
12662 (READONLY_DATA_SECTION_ASM_OP): New.
12663 READONLY_DATA_SECTION_ASM_OP.
12664 * config/i386/interix.c, config/i386/winnt.c
12665 (i386_pe_unique_section): Always use .rdata prefix.
12666 * config/pa/som.h (readonly_data): Always switch to read-only section.
12667 (READONLY_DATA_SECTION): Predicate on flag_pic.
12668 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
12669 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
12670 (READONLY_DATA_SECTION): Update.
12671
e964a556
JT
126722002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
12673
12674 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 12675 is used without -Wformat.
e964a556
JT
12676 * c-common.h (warn_format_zero_length): Declare extern.
12677 * c-decl.c (warn_options): Add "format-zero-length".
12678 * c-format.c (warn_format_zero_length): Declare.
12679 (set_Wformat): Set warn_format_zero_length for -Wformat.
12680 (check_format_info): Only warn about zero-length formats if
12681 warn_format_zero_length is true. Include the format type
12682 name in the warning message.
12683 * doc/invoke.texi: Document -Wformat-zero-length.
12684 * testsuite/gcc.dg/format/zero-length-1.c: New test.
12685
d92b4486
KH
126862002-05-18 Kazu Hirata <kazu@cs.umass.edu>
12687
12688 * timevar.c: Fix formatting.
12689 * tlink.c: Likewise.
12690 * toplev.c: Likewise.
12691 * tree-dump.c: Likewise.
12692 * tree-inline.c: Likewise.
12693
43612ffb
NB
126942002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
12695
12696 * cppinit.c (cpp_post_options): If preprocessed, turn off
12697 traditional. If traditional, turn off column numbers.
12698 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
12699 * cpptrad.c (handle_newline): Update line_base.
12700 (skip_comment): Handle -Wcomment.
12701
f24a153a
ZW
127022002-05-17 Zack Weinberg <zack@codesourcery.com>
12703
12704 * cppinit.c (struct builtin): Remove unused fields.
12705 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
12706 (operator_array): New - was second half of builtin_array.
12707 (init_builtins): Simplify loop over builtin_array/operator_array.
12708
12403335
NB
127092002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
12710
12711 * defaults.h (UNIQUE_SECTION): Remove.
12712 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
12713
1f8c3c5b
RH
127142002-05-17 Richard Henderson <rth@redhat.com>
12715
12716 * expr.c (init_expr_once): Don't use start/end_sequence.
12717 Use rtx_alloc instead of emit_insn.
12718 * toplev.c (lang_dependent_init): Run init_expr_once here ...
12719 (lang_independent_init): ... not here.
12720
4664f4c4
JT
127212002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
12722
12723 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
12724
93febe68
MM
127252002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
12726
12727 * config/avr/avr.c (avr_regs_to_save): New function. Also check
12728 for fixed registers, possibly used for global register variables.
12729 (initial_elimination_offset, avr_output_function_prologue,
12730 avr_output_function_epilogue): Move common code to avr_regs_to_save.
12731
004cb263
NB
127322002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
12733
12734 * Makefile.in: Update for cpptrad.c.
12735 * cpphash.h (struct cpp_buffer): New members for buffer
12736 overlays.
12737 (struct cpp_reader): New members for traditional output.
12738 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
12739 * cppinit.c (cpp_create_reader): Set trad_line.
12740 (cpp_destroy): Free trad_out_base if used.
12741 (cpp_read_main_file): Overlay an empty buffer if traditional.
12742 (cpp_finish_options): Don't do builtins.
12743 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
12744 (cpp_handle_option): Handle it.
12745 * cpplex.c (continue_after_nul): New.
12746 (_cpp_lex_direct): Use handle_nul.
12747 * cpplib.h (struct cpp_options): New traditional option.
12748 * cpptrad.c: New file.
12749
bdcae02b
NB
127502002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
12751
12752 * c-common.c (c_common_init_options): Use C89 for Objective-C,
12753 and set the options flag.
12754 * cppinit.c (lang_flags): Remove objc.
12755 (lang_defaults): Remove OBJC and OBJCXX.
12756 (set_lang): Update.
12757 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
12758 (cpp_handle_option): Remove -+ and -lang-objc++.
12759 For ObjC, just set a flag.
12760 (print_help): Update.
12761 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
12762
0fca60ab
RO
127632002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12764
12765 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
12766 bootstrap with -mips3.
12767
dd3f0101
KH
127682002-05-17 Kazu Hirata <kazu@cs.umass.edu>
12769
12770 * final.c: Fix formatting.
12771 * fix-header.c: Likewise.
12772 * flow.c: Likewise.
12773 * fold-const.c: Likewise.
12774 * function.c: Likewise.
12775
5ca9299f
DM
127762002-05-17 David S. Miller <davem@redhat.com>
12777
12778 PR c/6689, PR optimization/6615
12779 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
12780 and make it a pointer to rtx. Update comments.
12781 (update_equiv_regs): When scanning for equivalences, record
12782 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
12783 it while making the equiv replacements.
12784
508bc172
RO
127852002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12786
12787 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
12788
5cd983a6
KK
127892002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
12790
12791 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
12792 when encoding visibility into SYMBOL_REF_FLAG.
12793
ce0f3925
RS
127942002-05-17 Richard Sandiford <rsandifo@redhat.com>
12795
12796 * expr.c (force_operand): Fix reversed move.
12797
06809951
GP
127982002-05-17 Kurt Wall <kwall@kurtwerks.com>
12799
12800 * doc/install.texi (Testing): Mention two common DejaGnu warnings
12801 that can be ignored.
12802
128032002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12804
12805 * doc/install.texi (Final install): Recommend to install into a
12806 "clean" target directory.
12807
1d5d7a21
RH
128082002-05-17 Richard Henderson <rth@redhat.com>
12809
12810 * config/ia64/ia64.md: Use braced strings instead of quoted strings
12811 for code blocks. Tidy whitespace.
12812
ae46c4e0
RH
128132002-05-17 Richard Henderson <rth@redhat.com>
12814
12815 * hooks.c (hook_tree_bool_false): New.
12816 * hooks.h: Declare it.
12817 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
12818 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
12819 * target.h (select_section, unique_section): New.
12820 (in_small_data_p): New.
12821 * varasm.c (resolve_unique_section): Use hooks instead of macros.
12822 (variable_section, output_constant_def_contents): Likewise.
12823 (default_select_section, default_unique_section): New.
12824 (categorize_decl_for_section, default_elf_select_section): New.
12825 * output.h: Declare them.
12826
12827 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
12828 (TARGET_ASM_SELECT_SECTION): New.
12829 (SELECT_SECTION): Move ...
12830 * config/darwin.c (machopic_select_section): ... here.
12831 * config/darwin-protos.h: Update.
12832
12833 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
12834 (SELECT_SECTION): Move ...
12835 * config/nextstep.c (nextstep_select_section): ... here.
12836 * config/nextstep-protos.h: Update.
12837
12838 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
12839 (TARGET_ASM_SELECT_SECTION): New.
12840 * config/svr3.h (SELECT_SECTION): Remove.
12841
12842 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
12843 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
12844 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
12845 (alpha_encode_section_info): Use it.
12846 * config/alpha/alpha-protos.h: Update.
12847 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
12848 (SELECT_SECTION, UNIQUE_SECTION): Remove.
12849 (TARGET_ASM_SELECT_SECTION): New.
12850 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
12851
12852 * config/arm/pe.h (UNIQUE_SECTION): Remove.
12853 (TARGET_ASM_UNIQUE_SECTION): New.
12854
12855 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
12856 (avr_unique_section): Rename from unique_section; make static.
12857 * config/avr/avr-protos.h: Update.
12858 * config/avr/avr.h (UNIQUE_SECTION): Remove.
12859
12860 * config/c4x/c4x.h (SELECT_SECTION): Remove.
12861
12862 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
12863 (TARGET_ASM_UNIQUE_SECTION): New.
12864 * config/i386/i386-interix.h: Likewise.
12865 * config/i386/win32.h: Likewise.
12866 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
12867 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
12868 * config/i386/sco5.h (SELECT_SECTION): Remove.
12869 (TARGET_ASM_SELECT_SECTION): New.
12870 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
12871
12872 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
12873 instead of SELECT_SECTION.
12874 * config/m68k/dpx2.h: Likewise.
12875 * config/rs6000/lynx.h: Likewise.
12876
12877 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12878 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
12879 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
12880 (ia64_in_small_data_p): New.
12881 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
12882 (ia64_aix_select_section, ia64_aix_unique_section): New.
12883 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
12884 (SELECT_SECTION, UNIQUE_SECTION): Remove.
12885
12886 * config/m32r/m32r.h (SELECT_SECTION): Remove.
12887 (TARGET_ASM_SELECT_SECTION): New.
12888 * config/m32r/m32r.c (m32r_select_section): Take align argument.
12889 * config/m32r/m32r-protos.h: Update.
12890
12891 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
12892 (SELECT_SECTION): Move ...
12893 * config/m88k/m88k.c (m88k_select_section): ... here.
12894
12895 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
12896 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
12897 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
12898 (mcore_unique_section): Make static.
12899 * config/mcore/mcore-protos.h: Update.
12900
12901 * config/mips/elf.h (UNIQUE_SECTION): Remove.
12902 (TARGET_ASM_UNIQUE_SECTION): New.
12903 * config/mips/elf64.h: Likewise.
12904 * config/mips/iris6gld.h: Likewise.
12905 * config/mips/linux.h: Likewise.
12906 * config/mips/mips-protos.h: Update.
12907 * config/mips/mips.c (mips_select_section): Add align argument.
12908 * config/mips/mips.h (SELECT_SECTION): Remove.
12909 (TARGET_ASM_SELECT_SECTION): New.
12910
12911 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12912 * config/mmix/mmix.c (mmix_select_section): Remove.
12913 (mmix_unique_section): Remove.
12914 * config/mmix/mmix-protos.h: Update.
12915
12916 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
12917 (SELECT_SECTION): Move ...
12918 * config/pa/pa.c (pa_select_section): ... here.
12919 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
12920
12921 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
12922 from rs6000_select_section and make static.
12923 (rs6000_elf_unique_section): Similarly.
12924 (rs6000_xcoff_select_section): From xcoff.h.
12925 (rs6000_xcoff_unique_section): Likewise.
12926 * config/rs6000/rs6000-protos.h: Update.
12927 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12928 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
12929 * config/rs6000/xcoff.h: Likewise.
12930
12931 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
12932 (SELECT_SECTION): Move ...
12933 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
12934
12935 * config/v850/v850.h (SELECT_SECTION): Move ...
12936 * config/v850/v850.c (v850_select_section): ... here.
12937 (TARGET_ASM_SELECT_SECTION): New.
12938
12939 * config/vax/vms.h (SELECT_SECTION): Move ...
12940 * config/vax/vax.c (vms_select_section): ... here.
12941 (TARGET_ASM_SELECT_SECTION): New.
12942
12943 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
12944 for the target hooks.
12945
eaeb23a7
NC
129462002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
12947
12948 * config/arm/arm.c (emit_multi_reg_push): Do not set
12949 RTX_FRAME_RELATED_P on the SEQUENCE.
12950
a00fe19f
RH
129512002-05-16 Richard Henderson <rth@redhat.com>
12952
12953 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
12954 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
12955
5ccff482
RH
129562002-05-16 Richard Henderson <rth@redhat.com>
12957
12958 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
12959
068d7739
RH
12960 * config/ia64/ia64.c (saveable_obstack): Do not declare.
12961
0b17ab2f
RH
129622002-05-16 Richard Henderson <rth@redhat.com>
12963
12964 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
12965 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
12966 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
12967 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
12968 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
12969 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
12970 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
12971 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
12972 Revert "Basic block renumbering removal", and two followup patches.
12973
8ae86b3c
JT
129742002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
12975
12976 * lcm.c (optimize_mode_switching): Revert previous change.
12977
4e9f27af
ZD
129782002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12979
12980 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
12981 with only extant block numbers.
12982
3cdc1dbc
JT
129832002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
12984
12985 * lcm.c (optimize_mode_switching): Fix typo.
12986
fbfb3b09
ZD
129872002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12988
12989 * flow.c (calculate_global_regs_live): Queue blocks in program order.
12990
b4b0fb02
RO
129912002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12992
12993 * doc/install.texi (Configuration): Document PWDCMD.
12994
63b827c5
DJ
129952002-05-16 Dale Johannesen <dalej@apple.com>
12996
12997 * combine.c (cant_combine_insn_p): Reenable combinations
12998 involving hard regs unless CLASS_LIKELY_SPILLED_P.
12999
748d29c1
NB
130002002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
13001
13002 * c-common.c (cb_register_builtins): Handle more built-ins
13003 here rather than in gcc.c specs.
13004 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
13005 (cpp_options): Pass -O flags even when only preprocessing.
13006 * toplev.c (set_fast_math_flags): New prototype.
13007 (fast_math_flags_set_p): New.
13008 (set_no_fast_math_flags): Remove.
13009 (decode_f_option): Update.
13010 * toplev.h (set_fast_math_flags): Update.
13011 (fast_math_flags_set_p): New.
13012 (set_no_fast_math_flags): Remove.
13013config:
13014 * c4x/c4x.c (c4x_override_options): Update.
13015
5279d739
ZW
130162002-05-16 Zack Weinberg <zack@codesourcery.com>
13017
13018 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
13019 Default-define here.
13020 (builtin_define_with_value): Can now wrap the expansion in
13021 quotation marks if such is wanted.
a00fe19f 13022 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
13023 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
13024 here.
13025 (c_common_init): Set options->stdc_0_in_system_headers.
13026 * c-lex.h: Update prototype of builtin_define_with_value.
13027 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
13028 and REGISTER_PREFIX.
13029
13030 * cppinit.c (VERS, ULP, C, X): Kill.
13031 (builtin_array): Remove entries for __VERSION__,
13032 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
13033 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
13034 a constant.
13035 (init_builtins): Kill off a bunch of now-dead code.
13036 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
13037 -fno-leading-underscore.
13038 (cpp_handle_option): Remove code to set user_label_prefix.
13039 (cpp_post_options): Likewise.
13040
13041 * cpplib.h (struct cpp_options): Remove user_label_prefix.
13042 (stdc_0_in_system_headers): New.
13043 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
13044 stdc_0_in_system_headers) too to decide the value of __STDC__.
13045
13046 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 13047 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
13048 (initialize_builtins): Don't define __REGISTER_PREFIX__
13049 or __USER_LABEL_PREFIX__.
13050 (install_value): Wrap compound statement in dummy loop so the
13051 macro works properly in an if statement.
13052
13053
62e6ca55
JJ
130542002-05-16 Janis Johnson <janis187@us.ibm.com>
13055
13056 * loop.h (struct loop_info): Add member has_prefetch.
13057 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
13058 (prescan_loop): Initialize has_prefetch.
13059 (struct prefetch_info): Change prefetch_in_loop and
13060 prefetch_before_loop from bit fields to ints.
13061 (emit_prefetch_instructions): Several small fixes.
13062 (check_dbra_loop): Don't reverse loop that uses prefetch.
13063
1e6347d8
RO
130642002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13065
13066 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
13067 * configure.in: Likewise.
13068 * fixinc/check.tpl: Likewise.
13069 * fixinc/fixinc.dgux: Likewise.
13070 * fixinc/fixinc.svr4: Likewise.
13071 * fixinc/fixinc.winnt: Likewise.
13072 * fixinc/fixincl.sh: Likewise.
13073 * fixproto: Likewise.
13074 * configure: Regenerate.
13075
355e4ec4
ZD
130762002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13077
13078 Basic block renumbering removal:
13079 * basic_block.h (struct basic_block_def): Renamed index to sindex,
13080 added prev_bb and next_bb fields.
13081 (n_basic_blocks): Renamed to num_basic_blocks.
13082 (last_basic_block): New, index of last basic block.
13083 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
13084 traversing basic block chain.
13085 (BLOCK_NUM): index -> sindex.
13086 (create_basic_block_structure, create_basic_block): Declaration changed.
13087 (debug_num2bb): Declare.
13088 (expunge_block_nocompact): Declaration removed.
13089 (link_block, unlink_block, compact_blocks): Declare.
13090 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
13091 * cfg.c (entry_exit_blocks): Initialize new fields.
13092 (clear_edges, alloc_block, expunge_block, cached_make_edge,
13093 redirect_edge_pred, dump_flow_info, dump_edge_info,
13094 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
13095 free_aux_for_edges): Modified.
13096 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
13097 (expunge_block_nocompact): Removed.
13098 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
13099 find_unreachable_blocks, create_edge_list, print_edge_list,
13100 verify_edge_list, flow_edge_list_print, remove_fake_successors,
13101 remove_fake_edges, flow_reverse_top_sort_order_compute,
13102 flow_depth_first_order_compute, flow_preorder_transversal_compute,
13103 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
13104 flow_dfs_compute_reverse_execute): Modified.
13105 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
13106 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
13107 Modified.
13108 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
13109 merge_blocks_move_predecessor_nojumps,
13110 merge_blocks_move_successor_nojumps, merge_blocks,
13111 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
13112 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
13113 * cfglayout.c (skip_insns_after_block, label_for_bb,
13114 record_effective_endpoints, scope_to_insns_finalize,
13115 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
13116 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
13117 cfg_layout_duplicate_bb): Modified.
13118 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
13119 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
13120 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
13121 flow_loops_find, flow_loop_outside_edge_p): Modified.
13122 * cfgrtl.c (create_basic_block_structure, create_basic_block,
13123 flow_delete_block, compute_bb_for_insn, split_block,
13124 try_redirect_by_replacing_jump, redirect_edge_and_branch,
13125 force_nonfallthru_and_redirect, tidy_fallthru_edge,
13126 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
13127 commit_edge_insertions, commit_edge_insertions_watch_calls,
13128 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
13129 purge_all_dead_edges): Modified.
13130 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
13131 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
13132 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
13133 Modified.
13134 * conflict.c (conflict_graph_compute): Modified.
13135 * df.c (FOR_ALL_BBS): Removed.
13136 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
13137 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
13138 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
13139 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
13140 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
13141 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
13142 * final.c (compute_alignments, final_scan_insn): Modified.
13143 * flow.c (verify_local_live_at_start, update_life_info,
13144 update_life_info_in_dirty_blocks, free_basic_block_vars,
13145 delete_noop_moves, calculate_global_regs_live,
13146 initialize_uninitialized_subregs, allocate_bb_life_data,
13147 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
13148 mark_used_reg, count_or_remove_death_notes): Modified.
13149 * function.c (thread_prologue_and_epilogue_insns): Modified.
13150 * gcse.c (struct null_pointer_info): Change typo of current_block
13151 to basic_block.
13152 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
13153 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
13154 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
13155 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
13156 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
13157 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
13158 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
13159 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
13160 pre_delete, one_pre_gcse_pass, compute_transpout,
13161 invalidate_nonnull_info, delete_null_pointer_checks_1,
13162 free_code_hoist_mem, compute_code_hoist_vbeinout,
13163 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
13164 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
13165 compute_store_table, build_store_vectors, insert_insn_start_bb,
13166 insert_store, replace_store_insn, free_store_memory, store_motion):
13167 Modified.
13168 * global.c (global_alloc, global_conflicts, mark_elimination,
13169 build_insn_chain): Modified.
13170 * graph.c (print_rtl_graph_with_bb): Modified.
13171 * haifa-sched.c (sched_init): Modified.
13172 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
13173 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
13174 if_convert): Modified.
13175 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
13176 compute_insert_delete, pre_edge_lcm, compute_available,
13177 compute_farthest, compute_nearerout, compute_rev_insert_delete,
13178 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
13179 Modified.
13180 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
13181 * loop.c (loop_dump_aux): Modified.
13182 * predict.c (combine_predictions_for_insn, estimate_probability,
13183 last_basic_block_p, process_note_prediction, process_note_predictions,
13184 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
13185 expensive_function_p, estimate_bb_frequencies,
13186 compute_function_frequency): Modified.
13187 * print-rtl.c (print_rtx): Modified.
13188 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
13189 get_exec_counts, compute_branch_probabilities, compute_checksum,
13190 branch_prob, find_spanning_tree): Modified.
13191 * recog.c (split_all_insns, peephole2_optimize): Modified.
13192 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
13193 convert_regs_1, convert_regs_2, convert_regs): Modified.
13194 * regclass.c (scan_one_insn, regclass): Modified.
13195 * regmove.c (mark_flags_life_zones, regmove_optimize,
13196 combine_stack_adjustments): Modified.
13197 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
13198 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
13199 * reorg.c (dbr_schedule): Modified.
13200 * resource.c (find_basic_block, init_resource_info): Modified.
13201 * sbitmap.c (sbitmap_intersection_of_succs,
13202 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
13203 sbitmap_union_of_preds): Modified.
13204 * sched-deps.c (init_dependency_caches): Modified.
13205 * sched-ebb.c (schedule_ebbs): Modified.
13206 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
13207 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
13208 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
13209 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
13210 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
13211 ssa_const_prop): Modified.
13212 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
13213 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
13214 * ssa.c (remove_phi_alternative, find_evaluations,
13215 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
13216 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
13217 make_regs_equivalent_over_bad_edges,
13218 make_equivalent_phi_alternatives_equival,
13219 compute_conservative_reg_partition,
13220 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
13221 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
13222 Modified.
13223
5a566bed
MM
132242002-05-16 Mark Mitchell <mark@codesourcery.com>
13225
13226 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
13227
48f6efae
NC
132282002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
13229
13230 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
13231 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
13232 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
13233 calling CONSTANT_POOL_ADDRESS_P.
13234 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
13235 to decide whether to define __arm__ or __thumb.
355e4ec4 13236 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
13237 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
13238
b166fadd
NB
132392002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
13240
13241 * config/arc/arc.h (CPP_PREDEFINES): Remove.
13242 (CPP_SPEC): Update.
13243 (TARGET_CPU_CPP_BUILTINS): New.
13244
601328bb
NB
132452002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
13246
13247 * cpphash.h (cpp_macro): Move here, and make expansion a union.
13248 * cppmacro.c (cpp_macro): Remove.
13249 (enter_macro_context, replace_args, warn_of_redefinition,
13250 _cpp_create_definition, cpp_macro_definition): Update.
13251
ff48be5c
JM
132522002-05-16 Jason Merrill <jason@redhat.com>
13253
13254 * config/mips/mips.c (mips_output_external): Don't do sdata
13255 optimization for a variable with DECL_COMDAT set.
13256
805c42ba
AH
132572002-05-15 Aldy Hernandez <aldyh@redhat.com>
13258
355e4ec4
ZD
13259 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
13260 Cleanups for accepting modifiers on pointers.
13261 Fix predicate typos.
13262 Allow long pointers as well as int pointers.
805c42ba 13263
34fb9ba5
RH
132642002-05-15 Richard Henderson <rth@redhat.com>
13265
13266 * varasm.c (merge_weak): Remove special case for extern and common.
13267
62e118f5
MH
132682002-05-15 Matt Hiller <hiller@redhat.com>
13269
13270 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 13271 XFAILing.
62e118f5
MH
13272 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
13273 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
13274 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
13275 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
13276 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
13277 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
13278
fefac463
AH
132792002-05-15 Aldy Hernandez <aldyh@redhat.com>
13280
355e4ec4 13281 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 13282
5f004351
AH
132832002-05-15 Aldy Hernandez <aldyh@redhat.com>
13284
355e4ec4
ZD
13285 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
13286 ("altivec_mfvscr"): Read from VSCR.
13287
13288 Add vscr sets for the following insns: altivec_vctuxs,
13289 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
13290 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
13291 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
13292 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
13293 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
13294 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
13295 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
13296 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
13297 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
13298 altivec_vsum2sws, altivec_vsumsws.
13299
13300 * config/rs6000/rs6000.h: Add VSCR fixed register.
13301 (CALL_REALLY_USED_REGISTERS): Add vscr.
13302 (CALL_USED_REGISTERS): Same.
13303 (FIXED_REGISTERS): Same.
13304 (REG_ALLOC_ORDER): Same.
13305 (reg_class): Add VSCR_REGS.
13306 (REG_CLASS_NAMES): Same.
13307 (REG_CLASS_CONTENTS): Same.
13308 (VSCR_REGNO): New.
13309 (REGISTER_NAMES): Add vscr.
13310 (DEBUG_REGISTER_NAMES): Same.
13311 (ADDITIONAL_REGISTER_NAMES): Same.
13312 (FIRST_PSEUDO_REGISTER): Increment.
13313 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 13314
033afd11
RH
133152002-05-15 Jakub Jelinek <jakub@redhat.com>
13316
13317 * fold-const.c (fold): Fix a typo.
13318
133192002-05-15 Eric Botcazou <ebotcazou@multimania.com>
13320
13321 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
13322 comparison against the highest or lowest integer value before
13323 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
13324 transformation and that of an unsigned comparison against 0
13325 right after.
13326
14285ace
RH
133272002-05-15 Richard Henderson <rth@redhat.com>
13328
13329 * varasm.c (merge_weak): Error for any weakening after definition.
13330 Adjust weakening after use warning to catch more cases.
13331 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
13332 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
13333
194734e9
JH
13334Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
13335
13336 * invoke.texi (-malign-double): Re-add lost warning.
13337
13338 * i386-protos.h (x86_output_mi_thunk): Declare.
13339 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
13340 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
13341
13342 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
13343 when flag_asynchronous_unwind_tables is set.
13344
13345 * flags.h (flag_reorder_functions): Declare.
13346 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 13347 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
13348 * Makefile.in (predict.o): Add dependency on target.h and params.h
13349 * defaults.h (HOT_TEXT_SECTION_NAME,
13350 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
13351 * predict.c (choose_function_section): New function.
13352 (estimate_bb_frequencies): Use it.
13353 * toplev.c (flag_reorder_functions): New global variable.
13354 (lang_independent_options): New.
13355 (parse_options_and_default_flags): Set.
13356 * varasm.c (assemble_start_function): Bypass functdion alignment
13357 for never executed functions.
13358 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
13359 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
13360 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
13361 Document.
13362
13363 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
13364
13365 * predict.c: Inlude profile.h
13366 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
13367 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
13368 Use the information about maximal counter in the program.
13369
13370 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
13371
13372 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
13373 probably_never_executed_bb_p): New functions.
13374 * cfgcleanup.c (outgoing_edges_match): Use them.
13375 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
13376 (maybe_hot_bb_p, probably_cold_bb_p,
13377 probably_never_executed_bb_p): New functions.
13378
13379 * function.h (function): Add new field function_frequency.
13380 * predict.c (compute_function_frequency): New function.
13381 (estimate_probability): Call it.
13382
61ad9a34
JJ
133832002-03-09 Jakub Jelinek <jakub@redhat.com>
13384
13385 PR optimization/5172, optimization/5200
13386 * gcse.c (gcse_main): Disable store_motion.
13387
a11eba95
ZW
133882002-05-14 Zack Weinberg <zack@codesourcery.com>
13389
13390 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
13391 (c_common_nodes_and_builtins): Use it.
13392 (builtin_define_with_value): New function.
13393 (cb_register_builtins): Define __SIZE_TYPE__,
13394 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
13395 using builtin_define_with_value. Use consistent notation when
13396 defining __GXX_WEAK__.
13397 (WCHAR_TYPE_SIZE): Don't redefine.
13398 (combine_strings): Don't use WCHAR_TYPE_SIZE.
13399
13400 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
13401 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
13402 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
13403 * tradcpp.c (initialize_builtins): Likewise.
13404 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
13405
13406 * c-lex.h (builtin_define_with_value): Prototype.
13407 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
13408 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
13409 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
13410
13411 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
13412 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
13413 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
13414 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
13415 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
13416 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
13417 config/sparc/sol2-bi.h, config/sparc/sparc.h:
13418 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
13419 to __SIZE_TYPE__ etc from all spec strings. When this makes
13420 extra specs empty, delete them.
13421
1c31ecf6
JDA
134222002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
13423
13424 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
13425 for PA8000 or generating dwarf2 call frame information.
13426 (output_call): Remove DO_FRAME_NOTES check from return pointer
13427 optimization.
13428 (following_call): Return 0 when scheduling for PA8000 or generating
13429 dwarf2 call frame information. Revise comment.
13430
ac9cfada
NB
134312002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13432
13433config/alpha:
13434 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
13435 and __IEEE_FP_INEXACT as appropriate.
13436 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
13437 (CPP_SPEC): Remove ieee defines.
13438 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
13439
9b690711
RH
134402002-05-14 Richard Henderson <rth@redhat.com>
13441
13442 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
13443 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
13444
e6471be6
NB
134452002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13446
e6471be6
NB
13447 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
13448 (CPP_SPEC): Update.
13449 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
13450 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
13451 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
13452 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
13453 (EXTRA_SPECS): Update.
13454 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
13455 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
13456 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
13457 define TARGET_OS_CPP_BUILTINS if necessary.
13458
e5f5feea
NB
134592002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13460
13461 * gcc.c (cpp_options): Must pass -m* and -f* options
13462 to the front end even when only preprocessing.
13463 (cc1_options): Remove redundant -lang-c.
13464 * tradcpp.c (main): Ignore -m options.
13465objc:
13466 * lang-specs.h: Similarly.
13467
317638a8
VM
134682002-05-14 Vladimir Makarov <vmakarov@redhat.com>
13469
13470 * genautomata.c (transform_3): Add code for transformation
13471 `(A,B,...)+C -> A+C,B,...'.
13472
4d604303
JH
13473Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
13474
13475 * final.c (end_final): Do not output profile_arcs constructor, when
13476 no functions are instrumented.
13477
b18b06ed
JH
13478Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
13479
13480 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
13481
a12f97f0
GP
134822002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13483
13484 * doc/install.texi: Remove special markup originally required for
13485 HTML generation with texi2html.
13486
c1ae3eb4
AS
134872002-05-14 Andreas Schwab <schwab@suse.de>
13488
13489 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
13490 SELECT_SECTION.
13491 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
13492
13493 * varasm.c (resolve_unique_section): Add third parameter
13494 flag_function_or_data_sections and use it instead of
13495 flag_function_sections.
13496 (assemble_start_function): Pass flag_function_sections.
13497 (asm_emit_uninitialised): Pass flag_data_sections.
13498 (assemble_variable): Likewise.
13499
8ee41eaf
RH
135002002-05-14 Richard Henderson <rth@redhat.com>
13501
13502 * config/i386/i386.md: Use define_constants for unspec numbers.
13503 * config/i386/i386.c: Likewise.
13504
e6471be6
NB
135052002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13506
13507 * doc/contrib.texi: Update my entry.
13508
c297b764
MM
135092002-05-13 Mark Mitchell <mark@codesourcery.com>
13510
13511 * fixinc/inclhack.def (winidss_valist): Limit applicability.
13512 * fixinc/fixincl.x: Regenerated.
13513 * fixinc/tests/base/math.h: Update.
13514 * fixinc/tests/base/testing.h: Likewise.
13515
0b42c8f8
ZW
135162002-05-13 Zack Weinberg <zack@codesourcery.com>
13517
13518 * genattr.c (gen_attr): Don't emit a comma after the last
13519 enumerator.
13520
546c093e
RH
135212002-05-13 Richard Henderson <rth@redhat.com>
13522
13523 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
13524 by non-local gotos.
13525 * recog.c (peephole2_optimize): Likewise.
13526
85be8c2d
AP
135272002-05-13 Andris Pavenis <pavenis@lanet.lv>
13528
13529 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
13530 input to O_BINARY.
13531
765b8f90
JL
135322002-05-13 Jeffrey A Law (law@redhat.com)
13533
fe4b3c79
JL
13534 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
13535 Update prototype and callers.
13536 (propagate_one_insn): Stack pointer adjustments kill MEMs on
13537 the mem_set_list which reference the stack pointer, as do
13538 calls to constant functions as they may clobber outgoing
13539 argument space.
13540
16133d00
JL
13541 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
13542
765b8f90
JL
13543 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
13544 (ia32_multipass_dfa_lookahead): New function.
13545
63826d5b
NB
135462002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13547
13548 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
13549 (translate_options): Remove 'V'.
13550 (process_command): Similarly.
13551doc:
13552 * invoke.texi: Remove documentation of 'V'.
13553
dcb41ced
UW
135542002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
13555
13556 * config/s390/linux.h: Revert 2002-04-22 changes.
13557
8dfea428
SM
135582002-05-13 Scott Marks <SMarks@mobile-mind.com>
13559
13560 * config/fr30/fr30.md: Only allow splits of immediate loads
13561 if the destination is a register.
13562
12a41c22
NB
135632002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13564
13565 * Makefile.in (c-common.o, cppinit.o): Update.
13566 * c-common.c: Include except.h.
13567 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
13568 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
13569 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
13570 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
13571 CPP_PREDEFINES): Handle here.
13572config:
13573 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
13574 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
13575 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
13576 TARGET_OS_CPP_BUILTINS.
13577 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
13578 (CPP_SPEC, EXTRA_SPECS): Update.
13579 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
13580 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
13581 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
13582 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
13583 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
13584doc:
13585 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
13586 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
13587
5692c7bc
ZW
135882002-05-12 Zack Weinberg <zack@codesourcery.com>
13589
13590 * emit-rtl.c (global_rtl): Update comment.
13591 (const_double_htab, const_double_htab_hash,
13592 const_double_htab_hash, lookup_const_double): New.
13593 (const_int_htab_hash, const_int_htab_eq): Remove const
13594 qualifiers, which cause tons of warnings with RTL checking on.
13595 (gen_rtx_CONST_DOUBLE): Deleted.
13596 (const_double_from_real_value): New function - bears some
13597 resemblance to the former immed_real_const_1.
13598 (immed_double_const): Moved here from varasm.c and
13599 simplified.
13600 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
13601 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
13602 (gen_rtx): Use immed_double_const.
13603 (init_emit_once): Initialize the const_double_htab. Use
13604 REAL_VALUE_FROM_INT where possible. Can now use
13605 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
13606 * varasm.c (struct varasm_status): Remove x_const_double_chain.
13607 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
13608 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
13609 (init_varasm_status, mark_varasm_status): Don't touch
13610 x_const_double_chain.
13611
13612 * output.h: Delete prototype for clear_const_double_mem.
13613 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
13614 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
13615 const_double_from_real_value, not immed_real_const_1, and use
13616 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
13617 CONST_DOUBLE_ATOF.
13618 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
13619 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
13620 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
13621 (gen_rtx_REG): Second arg is unsigned.
13622
13623 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
13624 (excluded_rtx): New, return true for CONST_DOUBLE.
13625 (genmacro): Write nothing for excluded codes.
13626 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
13627 * expr.c (expand_expr): Likewise.
13628 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
13629 CONST_DOUBLE_CHAIN.
13630 * toplev.c (rest_of_compilation): Don't call
13631 clear_const_double_mem.
13632
13633 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
13634 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
13635 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
13636 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
13637 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
13638 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
13639 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
13640 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
13641
31397a7b
KG
136422002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13643
13644 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
13645
1b70d38a
TT
136462002-05-12 Tom Tromey <tromey@redhat.com>
13647
13648 * tree.h (copy_node): Don't mention TREE_PERMANENT.
13649
9a5834ae
ZW
136502002-05-12 Zack Weinberg <zack@codesourcery.com>
13651
13652 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
13653 (scan_comma_elt): New function. Accepts whitespace in comma lists.
13654 * gensupport.h: Prototype new routines.
13655 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
13656 use of printf.
13657 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
13658 (next_comma_elt): Use scan_comma_elt.
13659
13660 * config/i386/i386.md: Use new attribute notation to break up
13661 long lines in define_attr forms.
13662
51286de6
RH
136632002-05-12 Richard Henderson <rth@redhat.com>
13664
13665 * expr.c (compress_float_constant): New.
13666 (emit_move_insn): Use it.
13667 (float_extend_from_mem): New.
13668 (init_expr_once): Initialize it.
13669 * real.c (exact_real_truncate): New.
13670
13671 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
13672 dropped into memory; penalize for size.
13673 (RTX_COSTS): FLOAT_EXTEND is free.
13674 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
13675 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
13676
6412341e
RH
136772002-05-12 Richard Henderson <rth@redhat.com>
13678
13679 * profile.h (profile_info): Add missing extern to declaration.
13680 * profile.c (profile_info): Define it.
13681
12877f09
JDA
136822002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13683
13684 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
13685 used for DImode and TImode.
13686
387f9e32
NB
136872002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
13688
13689 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
13690 fake a newline.
13691
e1a0f69c
ZW
136922002-05-11 Zack Weinberg <zack@codesourcery.com>
13693
13694 * config/rs6000/rs6000.c (rs6000_default_long_calls,
13695 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
13696 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
13697 (rs6000_override_options): Handle -m(no-)longcall.
13698 (init_cumulative_args, output_mi_thunk): Check for both
13699 longcall and shortcall attributes on the function.
13700 (rs6000_attribute_table): Add "shortcall".
13701 (rs6000_handle_longcall_attribute): Update comment.
13702 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
13703 altivec_expand_ternop_builtin): Add default clauses to switches
13704 to silence warnings.
13705
13706 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
13707 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
13708 (TARGET_OPTIONS): Add longcall and no-longcall.
13709
13710 * config/rs6000/rs6000.md (call_nonlocal_sysv,
13711 call_value_nonlocal_sysv): Split by alternatives. One pair
13712 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
13713 the call cookie. The other pair accepts only LR/CTR and has
13714 no restriction.
13715
13716 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
13717 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
13718 tmake_file.
13719 * config/rs6000/rs6000-c.c: New file.
13720 * config/rs6000/t-rs6000-c-rule: New file.
13721 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
13722 Prototype rs6000_pragma_longcall.
13723
13724 * doc/extend.texi: Document shortcall attribute.
13725 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
13726
9c64026d
JDA
137272002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13728
13729 * reorg.c (dbr_schedule): Remove unnecessary test.
13730
6c81a490
JH
13731Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
13732
13733 * i386.md (testsi to testqi spliters): New.
13734
13735 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
13736
13737 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
13738
13739 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
13740
13741 * basic-block.h: New flag EDGE_CAN_FALLTHRU
13742 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
13743 that can be made fallthru.
13744
13745 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
13746
13747 * cfglayout.c (cleanup_unconditional_jumps): New static function.
13748 (cfg_layout_initialize): Use it.
4c476cf3 13749
e4447d94
MM
137502002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
13751
13752 * config/avr/avr.c (avr_mcu_types): Update supported devices.
13753 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
13754 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
13755
3a538a66
KH
137562002-05-11 Kazu Hirata <kazu@cs.umass.edu>
13757
13758 * dbxout.c: Fix formatting.
13759 * dependence.c: Likewise.
13760 * df.c: Likewise.
13761 * diagnostic.c: Likewise.
13762 * doloop.c: Likewise.
13763 * dominance.c: Likewise.
13764 * doschk.c: Likewise.
13765 * dwarf2asm.c: Likewise.
13766 * dwarf2out.c: Likewise.
13767 * dwarfout.c: Likewise.
13768
2292e8fc
RH
137692002-05-10 Richard Henderson <rth@redhat.com>
13770
13771 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
13772 Convert integers constants as needed. Replace "nwords" field with
13773 "sizeof_bb".
13774 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
13775 * function.h: Fix typo in comment.
13776 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
13777
dbfb1116
RS
137782002-05-10 Roger Sayle <roger@eyesopen.com>
13779
13780 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
13781 into the equivalent (signed char)c > 0.
13782
79a497cd
JJ
137832002-05-10 Janis Johnson <janis187@us.ibm.com>
13784
13785 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
13786 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
13787 (struct prefetch_info): Fix spelling of member bytes_accessed.
13788 (emit_prefetch_instructions): Make dump messages more regular;
13789 restructure code to add more dump messages; use new macros for
13790 heuristics. (There are no code generation changes in any of this).
13791
6c45cb0d
DM
137922002-05-10 David S. Miller <davem@redhat.com>
13793
7440af14
DM
13794 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
13795 (struct rtx_def): Update unchanging flag comment.
13796 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
13797 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
13798 to be handled to INSN too.
13799 (dbr_schedule): Likewise.
13800 * resource.c (next_insn_no_annul): Likewise.
13801
6c45cb0d
DM
13802 * cse.c (rtx_cost): Remove multiplication by power of 2 special
13803 casing.
13804
29f21e4f
GP
138052002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13806
13807 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
13808 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
13809 (possibly) work around broken /bin/sh.
13810
e4ba88da
RO
138112002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13812
13813 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
13814 . as N64/N32 libgcc_s.so subdirs.
13815
4f4778ee
DM
138162002-05-10 David S. Miller <davem@redhat.com>
13817
13818 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
13819
13820 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
13821 more accurately.
13822 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
13823 comment.
13824 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
13825 * doc/rtl.texi: Document these macros more accurately.
13826 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
13827 JUMP_INSNs and CALL_INSNs.
13828 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
13829 or INSN_FROM_TARGET_P if the code is appropriate.
13830
1a499b92
MM
138312002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
13832
13833 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
13834 before using SYMBOL_REF_FLAG (addr).
13835
13836 * config/avr/avr-protos.h (avr_io_address_p): Declare.
13837 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
13838 Make non-static. Update all callers.
13839 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
13840 New insns to clear/set/test a single bit in I/O address space.
13841
65212b66
KG
138422002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13843
13844 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
13845
3df89291
NB
138462002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13847
13848 * Makefile.in: Update.
13849 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
13850 builtin_define_std): New.
13851 (c_common_init): Register CPP builtins callback.
13852 * c-common.h (flag_iso, flag_undef): New.
13853 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
13854 * c-lex.c: Don't include target.h.
13855 (cb_register_builtins): Move to c-common.c.
13856 (init_c_lex): Don't register hook here.
13857 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
13858 (cpp_define, cpp_assert): Remove.
13859 * gcc.c (cc1_options): Pass -undef to front end.
13860 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
13861 (TARGET_INITIALIZER): Update.
13862 * target.h (struct cpp_reader): Don't predeclare.
13863 (struct gcc_target): Remove cpp builtin hook.
13864 * tree.c (default_register_cpp_builtins): Remove.
13865doc:
13866 * tm.texi: Update.
13867
32fa4565
NB
138682002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13869
13870 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
13871
23357c55
RO
138722002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13873
13874 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
13875 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
13876
5aa26af0
JJ
138772002-05-09 Jakub Jelinek <jakub@redhat.com>
13878
13879 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
13880 * config/sparc/libgcc-sparc-glibc.ver: New file.
13881 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
13882 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
13883
2937267b
JJ
138842002-05-09 Jakub Jelinek <jakub@redhat.com>
13885
13886 PR target/6429
13887 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
13888 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
13889 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
13890 base multilibs.
13891 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
13892 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
13893 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
13894 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
13895
086c0f96
RH
138962002-05-09 Richard Henderson <rth@redhat.com>
13897
13898 * config/ia64/ia64.md: Use define_constants for unspec numbers.
13899 * config/ia64/ia64.c: Likewise.
13900
a8b4881f
RS
139012002-05-09 Richard Sandiford <rsandifo@redhat.com>
13902
13903 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
13904 (save_restore_insns): Likewise.
13905 (mips_expand_prologue, mips_expand_epilogue): Update callers.
13906 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
13907
243e5500 13908Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 13909
af2728a4
JL
13910 * athlon.md, k6.md, pentium.md, ppro.md): New files.
13911 * i386.md: Move scheduling information into new files.
13912
890d52e8
JL
13913 * i386.md (type attribute): Add "rotate" for rotate insns.
13914 (rotate insns): Set type to "rotate".
13915 (various attributes and function units): Treat rotate like shift.
13916 (pent_pair attribute): Only rotates by one bit position are
13917 pairable.
13918 (sbb insns): Explicitly set pent_pair attribute on a couple
13919 that were missing it.
13920
f78ec36a
R
13921Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
13922
13923 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
13924 make sure that buffer starts on odd word address.
13925 (sh_va_arg): Skip odd fp registers when reading a double precision
13926 value.
13927
ff431459
NB
139282002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13929
13930 * tree.h (preserve_data, object_permanent_p, type_precision):
13931 Remove.
13932
c3bf3e6e
NB
139332002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13934
13935 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
13936 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
13937doc:
13938 * cpp.texi: Update for removal of obsolete features.
13939
02263a8a
JH
13940Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
13941 Jeffrey A Law (law@redhat.com)
13942
13943 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
13944 the DFA interface for Pentium processors.
13945 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
13946 (attr_pent_pair, ix86_pent_find_pair): Remove.
13947 (ix86_sched_reorder_pentium): Remove.
13948 (ix86_sched_reorder): Remove reordering for Pentium.
13949 * i386.md (Pentium scheduling): Rewrite using DFA description.
13950
3e638a90
JH
13951Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
13952
13953 * cfganal.c (can_fallthru): Fix fast path.
13954 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
13955 with edges to the next block.
13956
b7c9bf28
JH
13957Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
13958 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
13959
13960 * final.c (end_final): Use C trees to output data structures for profiling.
13961
13962 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
13963 (profile.o): New dependency profile.h
13964 (final.o): New dependency profile.h
13965 * profile.h: New file. New global structure profile_info.
13966 * final.h (count_edges_instrumented_now): Declare.
13967 (current_function_cfg_checksum): Declare.
13968 (function_list): New structure.
13969 (functions_head, functions_tail): New static variables.
13970 (end_final): Emits more data, removed some -ax stuff.
13971 (final): Stores function names and chcksums.
13972 * gcov-io.h (__write_gcov_string): New function.
13973 (__read_gcov_string): New function.
13974 * gcov.c (read_profile): New function.
13975 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 13976 da_file.
5692c7bc
ZW
13977 (read_files): Removed da_file checking, it's done by read_profile now.
13978 * libgcc2.c (bb_function_info): New structure.
13979 (bb): New field in structure, removed some -ax stuff.
13980 (__bb_exit_func): Changed structure of da_file.
13981 * profile.c (count_edges_instrumented_now): New global variable.
13982 (current_function_cfg_checksum): New global variable.
13983 (max_counter_in_program): New global variable.
13984 (get_exec_counts): New function.
13985 (compute_checksum): New function.
13986 (instrument_edges): Sets count_edges_instrumented_now.
13987 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 13988 reading da_file.
5692c7bc
ZW
13989 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
13990 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 13991 now.
5692c7bc 13992 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 13993 now.
5692c7bc 13994 * gcov.texi: Updated information about gcov file format.
b7c9bf28 13995
786de7eb
KH
139962002-05-09 Kazu Hirata <kazu@cs.umass.edu>
13997
13998 * sbitmap.c: Fix formatting.
13999 * scan.c: Likewise.
14000 * scan-decls.c: Likewise.
14001 * sched-deps.c: Likewise.
14002 * sched-ebb.c: Likewise.
14003 * sched-rgn.c: Likewise.
14004 * sched-vis.c: Likewise.
14005 * sdbout.c: Likewise.
14006 * sibcall.c: Likewise.
14007 * simplify-rtx.c: Likewise.
14008 * ssa.c: Likewise.
14009 * ssa-ccp.c: Likewise.
14010 * ssa-dce.c: Likewise.
14011 * stmt.c: Likewise.
14012 * stor-layout.c: Likewise.
14013 * stringpool.c: Likewise.
14014
b7764693
DM
140152002-05-09 David S. Miller <davem@redhat.com>
14016
14017 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
14018
4e7d5d27
DM
140192002-05-07 David S. Miller <davem@redhat.com>
14020
14021 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
14022 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
14023 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
14024 library implementation clobbers the output before the inputs
14025 are fully consumed, use stack temporary for the output.
14026
f979570e
JT
140272002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
14028
14029 * config/netbsd.h (CPP_SPEC): Remove.
14030 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
14031 * config/i386/netbsd.h (CPP_SPEC): Define.
14032 * config/ns32k/netbsd.h (CPP_SPEC): Define.
14033 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
14034 * config/sparc/netbsd.h (CPP_SPEC): Define.
14035 * config/vax/netbsd.h (CPP_SPEC): Define.
14036
a6a2274a
KH
140372002-05-08 Kazu Hirata <kazu@cs.umass.edu>
14038
14039 * read-rtl.c: Fix formatting.
14040 * real.c: Likewise.
14041 * recog.c: Likewise.
14042 * regclass.c: Likewise.
14043 * regmove.c: Likewise.
14044 * reg-stack.c: Likewise.
14045 * reload1.c: Likewise.
14046 * reload.c: Likewise.
14047 * resource.c: Likewise.
14048 * rtlanal.c: Likewise.
14049 * rtl.c: Likewise.
14050 * rtl-error.c: Likewise.
14051
461b48d5
JDA
140522002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
14053
14054 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
14055 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
14056
95d075ff
BS
140572002-05-08 Bernd Schmidt <bernds@redhat.com>
14058
14059 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
14060 use __SSE2__ macro instead.
14061 * config/i386/xmmintrin.h: Likewise.
14062
2d4cc6a7
JJ
140632002-05-08 Janis Johnson <janis187@us.ibm.com>
14064
14065 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
14066 and use it in all invocations of these macros. Clean up comments.
14067 * rtl.c (rtl_check_failed_flag): Add an argument for the name
14068 of the flag access macro whose check failed.
14069 * doc/rtl.texi (Flags): Document additional flag uses.
14070
3f8ffc7c
RS
140712002-05-08 Robert Spier <rspier@pobox.com>
14072 Neil Booth <neil@daikokuya.demon.co.uk>
14073
14074 PR preprocessor/6521
14075 * cppfiles.c (handle_missing_header): Don't do anything
14076 different for <> includes.
14077doc:
14078 * cppopts.texi: Update documentation for -MG.
14079
b9e2d17b
NB
140802002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
14081
14082 * cpplex.c (cpp_interpret_charconst): Truncate as well as
14083 sign-extend.
14084doc:
14085 * cpp.texi: Clarify multichar charconst valuation.
14086
8d8269fa
MM
140872002-05-08 Mark Mitchell <mark@codesourcery.com>
14088
14089 * doc/invoke.texi: Document -mwindiss option.
14090
29b91443
JM
140912002-05-08 Jason Merrill <jason@redhat.com>
14092
14093 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
14094
14095 * dwarf2out.c (gen_type_die): Abort on broken recursion.
14096
14097 PR c++/6381
14098 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
14099 REAL_CST.
14100
6c76b950
NC
141012002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
14102
14103 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
14104 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 14105 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
14106 multilibs for the Thumb.
14107
f90bf7ca
MM
141082002-05-08 Mark Mitchell <mark@codesourcery.com>
14109
14110 PR c/6569.
14111 * varasm.c (mark_weak): New function.
14112 (merge_weak): Use it. Do not call declare_weak.
14113 (declare_weak): Use merge_weak.
14114
1e150f2c
JH
14115Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
14116
14117 * cse.c (dead_libcall_p): Update counts.
14118 (delete_trivially_dead_insns): Update call of dead_libcall_p.
14119
969d70ca
JH
14120Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
14121
14122 * cfglayout.c (function_tail_eff_head): Rename to ...
14123 (function_footer): ... this one.
14124 (unlink_insn_chain): New functions.
14125 (label_for_bb): Only call block_label and emit debug message.
14126 (record_effective_endpoints): Actually unlink the headers and footers.
14127 (fixup_reorder_cahin): Re-insert the unlinked sequences.
14128 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
14129 * cfglayout.h (struct reorder_block_def): New fields footer/header;
14130 remove eff_head/eff_end.
14131 * rtl.h (set_first_insn): Declare.
14132 * emit-rtl.c (set_first_insn): New function.
14133
14134 * cfglayout.c (fixup_reorder_chain): Dump duplicated
14135 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
14136 cfg_layout_duplicate_bb): New global function.
14137 (duplicate_insn_chain): New static function.
14138 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
14139 cfg_layout_duplicate_bb): Declare.
14140 (struct reorder_block_def): Add "original" field.
14141 * emit-rtl.c (emit_copy_of_insn_after): New function.
14142 * rtl.h (emit_copy_of_insn_after): Declare.
14143
14144 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
14145 (fixup_reorder_chain): properly handle edges to exit block.
14146
14147Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14148 Jan Hubicka <jh@suse.cz>
14149
14150 * basic-block.h (note_prediction_to_br_prob): declare.
14151 * c-semantics.c: Inlucde predit.h
14152 (expand_stmt): predict GOTO_STMT as not taken.
14153 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
14154 (cleanup_cfg): Do not free tail_recursion_list.
14155 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
14156 (flow_delete_block): Kill predictions past end of basic block.
14157 * output.h (delete_unreachable_blocks): Declare.
14158 * predict.c (predicted_by_p, process_note_predictions,
14159 process_note_prediction, last_block_p): New function.
14160 (estimate_probability): Bypass loop on PRED_CONTINUE;
14161 do not handle noreturn heuristics; kill PRED_RETURN; add
14162 PRED_EARLY_RETURN.
14163 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
14164 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
14165 * predict.h (IS_TAKEN): New constant.
14166 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
14167 * rtl.c (NOTE_INSN_PREDICTION): New.
14168 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
14169 New macro.
14170 (insn_note): add NOTE_INSN_PREDICTION.
14171 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
14172 CFG; free tail_recursion_label_list.
14173 * stmt.c: Include predict.h;
14174 (return_prediction): New.
14175 (expand_value_return): Use it.
14176 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
14177
41f8d041
RS
141782002-05-08 Richard Sandiford <rsandifo@redhat.com>
14179
14180 * config/mips/mips.md: Name the unspecs with define_constant.
14181 (*HILO_delay): Rename to 'hilo_delay' (no star).
14182 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
14183 (reload_outdi, reload_outsi): Likewise.
14184
9cabb1d8
KH
141852002-05-07 Kazu Hirata <kazu@cs.umass.edu>
14186
14187 * toplev.c: Fix formatting.
14188
4c76f856
JJ
141892002-05-07 Janis Johnson <janis187@us.ibm.com>
14190
14191 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
14192 * configure.in (ac_rtlflag_checking): New.
14193 * doc/install.texi (--enable-checking): Document RTL flag checking.
14194
44a147ad
NB
141952002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
14196
14197 * c-common.c (c_common_init): Set options->unsigned_wchar.
14198 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
14199 group target dependencies.
14200 (init_builtins, cpp_handle_option): Update.
14201 * cpplex.c (cpp_interpret_charconst): Update.
14202 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
14203 signed_char to unsigned_char, group target dependencies.
14204 * defaults.h (WCHAR_UNSIGNED): Remove.
14205 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
14206config:
14207 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
14208 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
14209 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
14210 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
14211 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
14212doc:
14213 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
14214
cace4f93
MM
142152002-05-07 Mark Mitchell <mark@codesourcery.com>
14216
14217 * fixinc/inclhack.def (windiss_math1): New fix.
14218 (windiss_math2): Likewise.
14219 (windiss_valist): Likewise.
14220 * fixinc/fixincl.x: Regenerated.
14221
e2ff6cee
AJ
142222002-05-07 Andreas Jaeger <aj@suse.de>
14223
14224 * genautomata.c (output_internal_min_issue_delay_func): Add
14225 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
14226 (output_internal_trans_func): Likewise.
14227
bdad4be5
JL
14228Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
14229
14230 * pa.c (hppa_profile_hook): Use force_reg to get the address
14231 of the profile hook into an appropriate pseudo register.
14232
a1ffecd9
MM
142332002-05-07 Mark Mitchell <mark@codesourcery.com>
14234
14235 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
14236 (LINK_START_SPEC): Handle it.
14237 (LINK_OS_SPEC): Likewise.
14238 (CPP_SPEC): Likewise.
14239 (STARTFILE_SPEC): Likewise.
14240 (LIB_SPEC): Likewise.
14241 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
14242 all platforms.
14243 (CRTSAVRES_DEFAULT_SPEC): New macro.
14244 (LIB_WINDISS_SPEC): New macro.
14245 (CPP_OS_WINDISS_SPEC): Likewise.
14246 (STARTFILE_WINDISS_SPEC): Likewise.
14247 (ENDFILE_WINDISS_SPEC): Likewise.
14248 (LINK_START_WINDISS_SPEC): Likewise.
14249 (LINK_OS_WINDISS_SPEC): Likewise.
14250 * config/rs6000/windiss.h: New file.
e2ff6cee 14251
df966bff
AH
142522002-05-07 Aldy Hernandez <aldyh@redhat.com>
14253
a5c76ee6 14254 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 14255
db84f1bd
DM
142562002-05-06 David S. Miller <davem@redhat.com>
14257
14258 * config/sparc/sparc.md (shift insns): Do not mask off
14259 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
14260 take care of it.
14261
818c0c94
RH
142622002-05-06 Richard Henderson <rth@redhat.com>
14263
14264 PR c++/6212
14265 * expr.c (highest_pow2_factor_for_type): New.
14266 (expand_assignment): Use it.
14267
61e0b50f
AH
142682002-05-06 Aldy Hernandez <aldyh@redhat.com>
14269
818c0c94
RH
14270 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
14271 unspec_volatile.
14272 ("altivec_mfvscr"): Same.
61e0b50f 14273
5a63e069
JJ
142742002-05-06 Janis Johnson <janis187@us.ibm.com>
14275
14276 * rtl.h (struct rtx_def): Update comments.
14277 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
14278 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
14279 RTL_FLAG_CHECK macros with list of expected RTL codes.
14280 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
14281 (rtl_check_failed_flag): New.
14282 * reload1.c (reload): Use REG macro before changing rtx to MEM.
14283 (reload_cse_noop_set_p): Check rtx code before using access macro.
14284 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
14285 before using access macro.
14286
4afe3952
JJ
142872002-05-06 Janis Johnson <janis187@us.ibm.com>
14288
14289 * doc/rtl.texi (Flags): Update to reflect current usage.
14290
1f77b5da
RS
142912002-05-06 Roger Sayle <roger@eyesopen.com>
14292
14293 PR opt/3995
14294 * fold-const.c (sign_bit_p): New function.
14295 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 14296 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
14297 Reapply fold when converting (A & C) == C into (A & C) != 0.
14298 (fold_binary_op_with_conditional_arg): Fix typo in comment.
14299
a5a49440
NB
143002002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
14301
14302 * c-common.c (warn_multichar): New.
14303 (c_common_init): Set CPP's warn_multichar.
14304 * c-common.h (warn_multichar): New.
14305 * c-decl.c (warn_multichar): Remove.
14306 * c-lex.c (lex_charconst): Update.
14307 * c-tree.h (warn_multichar): Remove.
14308 * cppexp.c (eval_token): Sign-extend charconst value.
14309 * cppinit.c (cpp_create_reader): Set warn_multichar.
14310 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
14311 each character. Update prototype. Sign-extend the result.
14312 * cpplib.h: Fix conditions.
14313 (struct cpp_options): Add new warning flag.
14314 (cpp_interpret_charconst): Update prototype.
14315doc:
14316 * cpp.texi: Update documentation.
14317
83e0be55
VM
143182002-05-06 Vladimir Makarov <vmakarov@redhat.com>
14319
14320 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
14321 Fix typo in usage of allof instead of unit.
14322
688ec718
RH
143232002-05-06 Richard Henderson <rth@redhat.com>
14324
14325 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
14326 and any jump or call for IN.
14327
f6536266
BS
143282002-05-06 Bernd Schmidt <bernds@redhat.com>
14329
e2ff6cee 14330 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
14331 -msse2.
14332 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 14333
0316d49b
RS
143342002-05-06 Roger Sayle <roger@eyesopen.com>
14335
14336 * fold-const.c (lshift-double): Cast the high word to an unsigned
14337 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
14338 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
14339 avoid compiler warning. (fold): Remove redundant code from
14340 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
14341
5d50fab3
JL
143422002-05-06 Jeff Law <law@redhat.com>
14343
14344 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
14345 * pa.c (pa_adjust_cost): Remove all true dependency cost
14346 adjustments. Also remove support for non-DFA scheduling.
14347 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
14348 to adjust true dependency costs. Update various comments.
14349 (7100lc, 7200, 7300 scheduling): Simplify by combining the
14350 FP ALU & MPY units into a single unit.
14351
a17a104c
CM
143522002-05-06 Catherine Moore <clm@redhat.com>
14353
14354 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 14355 to count all of the registers that will be saved.
a17a104c 14356
7799175f
JH
14357Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
14358
14359 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
14360
0ac941a0
DM
143612002-05-06 David S. Miller <davem@redhat.com>
14362
14363 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
14364 allow result to overlap input operands in memory.
14365
95ff5d3f
NB
143662002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
14367
14368doc:
14369 * cpp.texi: Update multichar charconst docs.
14370
639e8b0c
NB
143712002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
14372
14373 * cpplex.c (cpp_interpret_charconst): Sign-extend each
14374 character. Don't ignore excess characters. Treat
14375 multicharacter character constants as signed.
14376 (cpp_parse_escape): Clarify diagnostic.
14377
84ea5bc1
JJ
143782002-05-05 Jakub Jelinek <jakub@redhat.com>
14379
14380 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
14381 use add instead of shift.
14382 (ashldi3_sp64): Likewise.
14383 (ashlsi3_const1, ashldi3_const1): Remove.
14384 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
14385 * config/sparc/sparc.c (const1_operand): New.
14386
40cd22f2
JT
143872002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
14388
14389 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
14390
cac01076
JJ
143912002-05-05 Jakub Jelinek <jakub@redhat.com>
14392
14393 PR target/6561
14394 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
14395
98791e3a
RH
143962002-05-05 Richard Henderson <rth@redhat.com>
14397
14398 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
14399 memory latency adjustments.
14400 (alpha_variable_issue): Remove.
14401 (alpha_use_dfa_pipeline_interface): New.
14402 (alpha_multipass_dfa_lookahead): New.
14403 * config/alpha/alpha.md: Remove define_function_unit scheduling;
14404 include new dfa scheduling.
14405 (attr type): Add none.
14406 (blockage): Use it.
14407 * config/alpha/ev4.md: New.
14408 * config/alpha/ev5.md: New.
14409 * config/alpha/ev6.md: New.
14410
309527ce
DM
144112002-05-05 David S. Miller <davem@redhat.com>
14412
14413 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
14414
68252e27
KH
144152002-05-05 Kazu Hirata <kazu@cs.umass.edu>
14416
14417 * cse.c: Fix formatting.
14418 * emit-rtl.c: Likewise.
14419
30cc9d00
VM
144202002-05-05 Vladimir Makarov <vmakarov@redhat.com>
14421
14422 * genautomata.c (initiate_states): Add additional guard to
14423 initialize `units_array'.
14424
deb09eff
VM
144252002-05-05 Vladimir Makarov <vmakarov@redhat.com>
14426
14427 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
14428 process_unit_to_form_the_same_automaton_unit_lists,
14429 form_the_same_automaton_unit_lists
14430 check_unit_distributions_to_automata): New prototypes and
14431 functions.
14432 (check_automata): Rename it into `check_automata_insn_issues'.
14433 (unit_decl): New fields `the_same_automaton_unit' and
14434 `the_same_automaton_message_reported_p'.
14435 (unit_decl_t): New typedef.
14436 (the_same_automaton_lists): New gloval variable.
14437 (unit_regexp, unit_set_el, units_array, units_cmp,
14438 output_get_cpu_unit_code_func): Use the typedef.
14439 (evaluate_max_reserv_cycles): Increment
14440 `description->max_insn_reserv_cycles'.
14441 (initiate_states): Don't increment `max_cycles_num'.
14442 (transform_insn_regexps): Move code around transformation of
14443 regexps from `generate'.
14444 (generate): Remove call of `transform_insn_regexps'.
14445 (expand_automata): Call `transform_insn_regexps' and
14446 `check_unit_distributions_to_automata'. Check errors before
14447 `generate'.
14448
14449 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
14450 automaton `ultrasparc3_1'.
e2ff6cee 14451
2443d4e1
NB
144522002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
14453
14454 * c-common.c (c_common_init): Set up CPP arithmetic.
14455 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
14456 something reasonable for the host.
14457 (sanity_checks): Add checks.
14458 (cpp_read_main_file): Call sanity_checks() from here...
14459 (cpp_post_options): ... not here.
14460 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
14461 * cpplib.h (struct cpp_options): New member int_precision.
14462
791a949f
FS
144632002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14464
14465 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
14466
091fb516
DM
144672002-05-04 David S. Miller <davem@redhat.com>
14468
f60ebeb7
DM
14469 * config/sparc/linux.h, config/sparc/linux64.h
14470 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
14471
214c6394
DM
14472 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
14473 more RTX codes.
14474 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
14475
091fb516
DM
14476 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
14477 of SETs.
14478
f2fdc802
TJ
144792002-05-05 Tim Josling <tej@melbpc.org.au>
14480
e2ff6cee 14481 * treelang; New directory for new sample language treelang.
f2fdc802 14482
3d90d290
NB
144832002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14484
14485 * Makefile.in (c-lex.o): Update.
14486 * c-lex.c: Include target.h.
14487 (cb_register_builtins): New.
14488 (init_c_lex): Set builtins callback.
14489 * c-lex.h (cpp_define, cpp_assert): New prototypes.
14490 * cppinit.c (init_builtins): Use callback, including for
14491 GXX_WEAK.
14492 * cpplib.h (struct cpp_callbacks): New member.
14493 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
14494 (TARGET_INITIALIZER): Update.
14495 * target.h (struct gcc_target): New hook.
14496 * tree.c (default_register_cpp_builtins): New.
14497 * tree.h (default_register_cpp_builtins): New.
14498doc:
14499 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
14500
625458d0
NB
145012002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14502
14503 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
14504 (cpp_post_options): Move sanity checks to...
14505 (sanity_checks): New.
14506 * cpplex.c (maybe_read_ucs): Fix prototype.
14507 (parse_string, cpp_parse_escape): Cast for %c format specifier.
14508 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
14509 if necessary.
14510
916b60b7
BS
145112002-05-04 Bernd Schmidt <bernds@redhat.com>
14512
14513 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
14514 builtins. Use V2DI patterns instead of TI for logical operations.
14515 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
14516 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
14517 (ix86_expand_builtins): Change the pattern used for movntdq.
14518 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
14519 sse2_nandv2di3): New patterns.
14520 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
14521 on operands.
14522 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
14523 (cvtdq2pd): Correct mode on operand 1.
14524 (sse2_umulsidi3): Describe without unspec.
14525 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
14526 machine modes.
14527 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
14528 (ashlv2di3): Likewise, from sse2_ashlv2di3.
14529 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
14530 ashlv4si3, ashlv2di3): Use SImode for shift count.
14531 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
14532 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
14533 New patterns.
14534 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
14535 New typedefs.
14536 (__m128i, __m128d): New macros.
14537 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
14538 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
14539 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
14540 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
14541 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 14542 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
14543 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
14544 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 14545 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
14546 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
14547 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
14548 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
14549 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
14550 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
14551 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
14552 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
14553 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
14554 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
14555 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
14556 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
14557 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
14558 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
14559 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
14560 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
14561 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
14562 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
14563 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
14564 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
14565 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
14566 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
14567 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
14568 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
14569 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
14570 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
14571 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
14572 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
14573 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
14574 functions.
e2ff6cee 14575 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
14576 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
14577
c26fbbca
KH
145782002-05-04 Kazu Hirata <kazu@cs.umass.edu>
14579
14580 * dwarf2out.c: Fix formatting.
14581 * varasm.c: Likewise.
14582
0387639b
DE
145832002-05-04 David Edelsohn <edelsohn@gnu.org>
14584
14585 PR c/6543
14586 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
14587 clobber and use result as temporary value.
14588
8a28dbcc
JH
14589Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
14590
14591 * expr.c (force_operand): Use expand_simple_* to handle more
14592 cases.
14593
4268e8bb
NB
145942002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14595
14596 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
14597 and sign-extension.
14598 (lex_charconst): Update for change in prototype of
14599 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
14600 appropriately.
14601 * cpphash.h (BITS_PER_CPPCHAR_T): New.
14602 * cppinit.c (cpp_create_reader): Initialize them for no
14603 change in semantics.
14604 (cpp_post_options): Add sanity checks.
14605 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
14606 and truncation issues. Calculate in type cppchar_t.
14607 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
14608 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
14609 run-time dependent precision correctly. Return whether the
14610 result is signed or not.
14611 * cpplib.c (dequote_string): Use cppchar_t; update.
14612 * cpplib.h (cppchar_signed_t): New.
14613 struct cpp_options): New precision members.
14614 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 14615 * cppexp.c (eval_token): Update.
4268e8bb 14616
af54350e
DM
146172002-05-03 David S. Miller <davem@redhat.com>
14618
2ce04b6b
DM
14619 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
14620 * config/sparc/sparc.c (sparc_rtx_costs): New function
14621 implementing RTX_COSTS and CONST_COSTS.
14622 * config/sparc/sparc.h (CONST_COSTS): Delete.
14623 (RTX_COSTS_CASES): Define.
14624 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
14625 the work.
14626
a1d9bd0c
DM
14627 * config/sparc/sparc.md (DFA schedulers): Split out...
14628 * config/sparc/cypress.md, config/sparc/hypersparc.md,
14629 config/sparc/sparclet.md, config/sparc/supersparc.md,
14630 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
14631
e87bb82e
DM
14632 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
14633 checks on it, always defined for Sparc.
14634
af54350e
DM
14635 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
14636 Tweak, and add more detailed comments.
14637
935bfb44
ZW
146382002-05-03 Zack Weinberg <zack@codesourcery.com>
14639
14640 * Re-apply patch accidentally reverted with
14641 DFA scheduler merge: remove all rules and variables to slurp
14642 source files out of libiberty and rebuild them with HOST_CC.
14643 ($(HOST_PREFIX_1)varray.o): New rule.
14644 (genattrtab rule): Word wrap.
14645
fa7a0712
JT
146462002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14647
14648 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
14649 (CPP_SUBTARGET_SPEC): Define.
14650 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
14651 cpp_subtarget specs.
14652 (CPP_SPEC): Redefine to include %(cpp_subtarget).
14653
14c93978
DM
146542002-05-03 David S. Miller <davem@redhat.com>
14655
14656 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
14657 * target.h (struct gcc_target): Delete cycle_display member.
14658
14d118d6
DM
14659 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
14660 (rtx_needs_barrier): Delete reference to cycle_display unspec.
14661 (ia64_sched_reorder2): Mention need for cycle display handling
14662 once such notes exist.
935bfb44 14663
b3ae1ccd
RH
146642002-05-03 Richard Henderson <rth@redhat.com>
14665
14666 * real.c (etoasc): Strip most trailing zeros for clarity.
14667 * sched-vis.c: Include real.h.
14668 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
14669 * Makefile.in (sched-vis.o): Add real.h.
14670
8f39865a
DM
146712002-05-03 David S. Miller <davem@redhat.com>
14672
14673 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
14674 no longer needed.
14675
b44140e7
AH
146762002-05-03 Aldy Hernandez <aldyh@redhat.com>
14677
935bfb44
ZW
14678 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
14679 when we get an out of range literal.
14680 (altivec_expand_ternop_builtin): Same.
14681 (altivec_expand_unop_builtin): Same.
14682 (altivec_expand_builtin): Same, for dss.
14683 (altivec_expand_builtin): Use trees instead of rtl when
14684 determining literal argument validity.
b44140e7 14685
aaaed752
DM
146862002-05-03 David S. Miller <davem@redhat.com>
14687
14688 Delete cycle display scheduling hook.
14689 * config/ia64/ia64.c (ia64_cycle_display,
14690 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
14691 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
14692 and use emit_insn_before instead of ia64_emit_insn_before.
14693 * config/ia64/ia64.md (unspec usage): Delete cycle display.
14694 (cycle_display): Delete insn pattern.
14695 * config/sparc/sparc.md (unspec usage): Delete cycle display.
14696 (cycle_display): Delete insn pattern.
14697 * config/sparc/sparc.c (sparc_cycle_display,
14698 TARGET_SCHED_CYCLE_DISPLAY): Delete.
14699 * doc/md.texi (cycle_display): Don't mention.
14700 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 14701
b37c2614
RH
147022002-05-03 Richard Henderson <rth@redhat.com>
14703
14704 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
14705 * recog.h: Declare them.
14706
14707 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
14708 * config/sparc/sparc.md: Use store_data_bypass_p instead.
14709 * config/sparc/sparc-protos.h: Update.
935bfb44 14710
e1c1132e
JT
147112002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14712
14713 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
14714 -D__arch64__. Add -D_LP64.
14715 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
14716 from sparc.h.
14717 (CPP_ARCH64_SPEC): Likewise.
14718 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
14719 (NO_BUILTIN_SIZE_TYPE): Undef.
14720
0b2fb0d7
VM
147212002-05-03 Vladimir Makarov <vmakarov@redhat.com>
14722
14723 * genautomata.c (min_issue_delay_pass_states): Change return type
14724 in the prototype.
14725 (min_issue_delay_pass_states): Change the algorithm.
14726 (min_issue_delay): Set up min_insn_issue_delay for the state.
14727 (output_min_issue_delay_table): Interchange the nested loops and
14728 and initiate min_insn_issue_delay for states.
935bfb44 14729
3d4ce12a
JH
14730Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
14731
14732 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
14733 jump is simplejump.
14734
14735Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
14736
14737 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
14738 sequence.
14739
b5482208
RH
147402002-05-03 Richard Henderson <rth@redhat.com>
14741
14742 PR opt/6534
14743 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
14744 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
14745 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
14746 code before JUMP, not EARLIEST.
14747
5a3085c5
JM
147482002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
14749
14750 * c-format.c (check_format_info_main): Don't check for presence of
14751 parameter for * width until after operand number has been read,
14752 and only check for it if format parameters are available.
14753 Fixes PR c/6547.
14754
40039424
JT
147552002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14756
14757 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
14758 (LINK_SPEC): Undef before defining.
14759
8157303b
JJ
147602002-05-03 Jakub Jelinek <jakub@redhat.com>
14761
14762 PR preprocessor/6489
14763 * tradcpp.c (fixup_newlines): New.
14764 (main, finclude): Use it.
14765
66319f5c
RS
147662002-05-03 Richard Sandiford <rsandifo@redhat.com>
14767
14768 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
14769 * config/mips/mips.c (mips_unique_section): Strip encoding from
14770 decl name.
14771
ce8076ad
JJ
147722002-05-03 Jakub Jelinek <jakub@redhat.com>
14773
14774 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
14775 mode.
14776
975c6e4e
RO
147772002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14778
14779 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
14780 (Specific): Removed buildstats references.
14781 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
14782 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
14783 Accomodate Solaris versions beyond 8.
14784 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
14785 (Specific, *-*-solaris2.8): Removed, obsolete.
14786
d70e94ec
JJ
147872002-05-03 Jakub Jelinek <jakub@redhat.com>
14788
14789 PR target/6542
14790 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
14791 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
14792 fill leaf_reg_remap with identity.
14793 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
14794
6b148bd9
KH
147952002-05-03 Kazu Hirata <kazu@cs.umass.edu>
14796
14797 * config/h8300/crti.asm: Remove trailing spaces.
14798 * config/h8300/h8300.c: Likewise.
14799 * config/h8300/lib1funcs.asm: Likewise.
14800
609688f3
JM
148012002-05-02 Jason Merrill <jason@redhat.com>
14802
14803 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
14804 * c-decl.c (c_init_decl_processing): Use it.
14805 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
14806 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
14807 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
14808
3b03c671
KH
148092002-05-03 Kazu Hirata <kazu@cs.umass.edu>
14810
14811 * regrename.c: Fix formatting.
14812 * tree.c: Likewise.
14813
3b4961bd
JH
14814Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
14815
14816 * i386.md (attribute memory): Handle compares properly.
14817
19cba4a0
JH
14818Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
14819
3b4961bd 14820 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
14821 to none.
14822
797a6ac1
KH
148232002-05-02 Kazu Hirata <kazu@cs.umass.edu>
14824
14825 * function.c: Fix formatting.
14826
6d0de005
JH
148272002-05-02 Jan Hubicka <jh@suse.cz>
14828
14829 * haifa-sched.c (schedule_insn): Print table of instructions and
14830 reservations.
14831 (sched_block): Do not print ready list at verbosity level 1.
14832 * sched-vis.c (print_insn): Make global.
14833 * sched-ebb.c (ebb_print_insn): Rename from...
14834 (print_insn): ... this one.
14835 * sched-int.h (print_insn): Declare
14836
0bfb9a69
RH
148372002-05-02 Richard Henderson <rth@redhat.com>
14838
14839 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
14840 emitted by cycle_display.
14841
6b976d99
LR
148422002-05-02 Loren J. Rittle <ljrittle@acm.org>
14843
14844 * doc/install.texi (*-*-freebsd*): Update to latest status.
14845
0a295052
JJ
148462002-05-02 Jakub Jelinek <jakub@redhat.com>
14847
14848 PR target/6540
14849 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
14850 * config/float-sparc.h: Assume 128-bit long double if
14851 __LONG_DOUBLE_128__ is defined.
14852
842d5d6c
VM
148532002-05-02 Vladimir Makarov <vmakarov@redhat.com>
14854
14855 * genattrtab.c (write_function_unit_info): Add a dummy element
14856 when num_units == 0.
14857
3d7a6309
HB
148582002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
14859
14860 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
14861 TYPE_MODE (double_type_node) instead of DFmode.
14862
1b6763cf
JH
14863Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
14864
14865 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
14866 jumps post reload.
14867 * toplev.c (rest_of_compilation): Revert Richard's patch.
14868
b303008e
JDA
148692001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
14870
14871 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
14872
6ed7412a
CM
148732002-05-02 Catherine Moore <clm@redhat.com>
14874
14875 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
14876
e0a2f705
KH
148772002-05-02 Kazu Hirata <kazu@hxi.com>
14878
b32d6163 14879 * combine.c: Fix comment typos.
e0a2f705
KH
14880 * expr.c: Likewise.
14881 * genautomata.c: Likewise.
14882 * stmt.c: Likewise.
14883 * tree.h: Likewise.
14884
38e23049
JM
148852002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
14886
14887 * doc/install.texi: State GNAT version requirements.
14888
40f4a97d
NC
148892002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
14890
14891 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
14892 of the frame pointer or arg pointer register which strict register
14893 checking is not enabled.
14894
0d6d6892
AH
148952002-05-02 Aldy Hernandez <aldyh@redhat.com>
14896
b5482208 14897 * gcc.dg/altivec-8.c: New.
0d6d6892 14898
b5482208
RH
14899 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
14900 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 14901
abaa8559
BK
149022002-05-01 Bruce Korb <bkorb@gnu.org>
14903
14904 * fixinc/check.tpl(set-writable): make sure the function exists first
14905 * fixinc/inclhack.def(alpha_assert): fix test_text
14906 * fixinc/tests/base/assert.h: add in missing result
14907
ecab2143
JL
149082002-05-01 Jeff Law <law@redhat.com>
14909
14910 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
14911 'T' constraint.
14912
ea619b46
JB
149132002-05-01 Joel Brobecker <brobecker@gnat.com>
14914
14915 * dbxout.c (dbxout_type): Emit size information for range types,
14916 as well, but only when using GDB extensions.
14917
c72931a6
RH
149182002-05-01 Richard Henderson <rth@redhat.com>
14919
14920 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
14921 target-independent gnu binutils date test.
14922
2150ad33
RH
149232002-05-01 Richard Henderson <rth@redhat.com>
14924
14925 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
14926 info before expunging the block.
14927
1651cc96
JJ
149282002-05-01 Jakub Jelinek <jakub@redhat.com>
14929
14930 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
14931 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
14932 -M -or -MM is in effect.
14933
8998d5bf
ZW
149342002-05-01 Zack Weinberg <zack@codesourcery.com>
14935
14936 * config.gcc: Correct test of --enable-obsolete. Obsolete all
14937 A29k configurations.
14938 * doc/install.texi: Update to match.
14939
a81eed10
FS
149402002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14941
14942 PR bootstrap/6514
14943 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
14944 for duplicates. Always loop over whole list.
14945
8d53318f
RK
14946Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14947
14948 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
14949
4109b118
JS
149502002-05-01 Joel Sherrill <joel@OARcorp.com>
14951
14952 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
14953 support routines.
14954
c4a9c570
JS
149552002-05-01 Joel Sherrill <joel@OARcorp.com>
14956
14957 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
14958
ea112fc4
DE
149592002-05-01 David Edelsohn <edelsohn@gnu.org>
14960
14961 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
14962 (nabs_nopower): Same.
14963 (floatdisf2): New pattern.
14964 (absdi2): Convert to define_insn_and_split.
14965 (nabsdi2): Same.
14966 (trunctfsf2): Same.
14967 (floatditf2): Same.
14968 (floatsitf2): Same.
14969 (fix_trunctfdi2): Same.
14970 (fix_trunctfsi2): Same.
14971
dda78254
JM
149722002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
14973
14974 * doc/install.texi: Update Texinfo version requirement
14975 documentation.
14976
26aeede4
JJ
149772002-05-01 Jakub Jelinek <jakub@redhat.com>
14978
14979 PR target/6512, PR target/5628
14980 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
14981 when memory is not aligned.
14982 (movdf_insn_v9only_vis): Likewise.
14983 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
14984 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
14985 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
14986
9b7bc465
AH
149872002-05-01 Aldy Hernandez <aldyh@redhat.com>
14988
8998d5bf 14989 * gcc.dg/altivec-7.c: New.
9b7bc465 14990
8998d5bf 14991 * config/rs6000/altivec.h: Cleanup.
9b7bc465 14992
08b57fb3
AH
149932002-04-30 Aldy Hernandez <aldyh@redhat.com>
14994
8998d5bf
ZW
14995 * doc/invoke.texi (Option Summary): Add -mvrsave=.
14996 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 14997
8998d5bf
ZW
14998 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
14999 (rs6000_altivec_vrsave_string): Same.
15000 (rs6000_override_options): Call rs6000_parse_vrsave_option.
15001 (rs6000_parse_vrsave_option): New.
15002 (rs6000_stack_info): Only generate vrsave instructions when
15003 TARGET_ALTIVEC_VRSAVE.
08b57fb3 15004
8998d5bf
ZW
15005 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
15006 (rs6000_altivec_vrsave_string): Define extern.
15007 (rs6000_altivec_vrsave): Same.
15008 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 15009
8e8c38cd
RH
150102002-04-30 Richard Henderson <rth@redhat.com>
15011
15012 PR opt/6516
15013 * toplev.c (rest_of_compilation): Don't run cross-jump before
15014 bb-reorder.
15015
4be9e9cb
TR
150162002-04-30 Tom Rix <trix@redhat.com>
15017
8998d5bf 15018 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
15019 check which_alternative.
15020
1eeeb6a4
KH
150212002-04-30 Kazu Hirata <kazu@hxi.com>
15022
15023 * cpplex.c: Fix comment formatting.
15024 * function.c: Likewise.
15025 * integrate.c: Likewise.
15026 * regrename.c: Likewise.
15027 * sibcall.c: Likewise.
15028 * simplify-rtx.c: Likewise.
15029 * tree-inline.c: Likewise.
15030
ed9d6ff9
JDA
150312002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
15032
15033 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
15034 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
15035 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
15036 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
15037 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
15038 * pa/x-ada: New file. Define ADA_CFLAGS.
15039
1f2641b6
HPN
150402002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
15041
15042 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
15043 from MMIX_LAST_REGISTER_FILE_REGNUM.
15044 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
15045 (struct machine_function): New member highest_saved_stack_register
15046 previously static variable in mmix.c.
15047 (MACHINE_DEPENDENT_REORG): Define.
15048 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
15049 (MMIX_OUTPUT_REGNO): New.
15050 (mmix_target_asm_function_prologue): Move calculation of last used
15051 saved-stack-register into...
15052 (mmix_machine_dependent_reorg): New function. Update to also handle
15053 !TARGET_ABI_GNU.
15054 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
15055 register names, simplify somewhat by new variable regno.
15056 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
15057 register.
15058 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
15059 emitting register names.
15060 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
15061 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
15062 Remove fixed FIXME.
15063 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
15064 Declare.
15065
15066 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
15067
73985940
RH
150682002-04-30 Richard Henderson <rth@redhat.com>
15069
15070 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
15071 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
15072 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
15073 emit_tfmode_cvt): New.
15074 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
15075 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
15076 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
15077 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
15078 * config/sparc/sparc-protos.h: Update.
15079
2b46bc67
JJ
150802002-04-30 Janis Johnson <janis187@us.ibm.com>
15081
15082 * install.texi (Final install): Add to the list of info to include
15083 in a report of a successful bootstrap, and add link to 3.1 list.
15084
3d34cd91
JH
15085Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
15086
15087 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
15088 (mode): Add vector modes
15089 (i387): Kill attribute.
15090 (unit): New attribute.
15091 (length_immediate): Grok new types.
15092 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
15093 (modrm): Use "unit".
15094 (memory): Handle MMX/SSE properly.
15095 (scheduling descriptions): Kill uses of fop1.
15096 (sse, mmx, fp patterns): Set type and mode properly.
15097
243e5500 15098Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 15099
30482eb0
JL
15100 * pa.c (override_options): Default to PA8000 scheduling.
15101 * doc/invoke.texi (HP-PA options): Mention newly added 7300
15102 scheduling parameter.
15103
3193c415
JL
15104 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
15105 handling of double precision multiplies.
15106
15107 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
15108 fpdiv and fpsqrt instructions.
15109 (7200 & 7300 scheduling): Fix typo in handling of
15110 store-load and store-store penalties.
15111
c0a34cb7
GP
151122002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15113
15114 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
15115 mips. Add two missing commas.
15116
8bce0628
PC
151172002-04-30 Paolo Carlini <pcarlini@unitus.it>
15118
15119 * doc/contrib.texi (Contributors): Update Paolo Carlini's
15120 and Benjamin Kosnik's entries.
15121
84643cbf
DM
151222002-04-29 David S. Miller <davem@redhat.com>
15123
15124 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
15125 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
15126 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
15127 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
15128
da6886f6
FS
151292002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15130
15131 * combine.c (find_split_point): Use gen_int_mode.
15132
fae15c93
VM
151332002-04-29 Vladimir Makarov <vmakarov@redhat.com>
15134
15135 Merging code from dfa-branch:
8998d5bf 15136
fae15c93
VM
15137 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
15138
15139 * genautomata.c (output_reserv_sets): Fix typo.
15140
15141 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
15142
15143 * genautomata.c (output_reserv_sets): Remove
15144 next_cycle_output_flag.
15145
15146 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
15147
8998d5bf
ZW
15148 * sched-rgn.c (init_ready_list): Make the DFA code handle
15149 USE/CLOBBER insns in the same way as the traditional
15150 scheduler.
15151 (new_ready): Similarly..
fae15c93
VM
15152
15153 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
15154
15155 * haifa-sched.c (schedule_block): Change the DFA state only after
15156 issuing insn.
15157
15158 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
15159
15160 * pa.c (hppa_use_dfa_pipeline_interface): New function.
15161 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
15162 (override_options): Add PA7300 scheduling support.
15163 (pa_adjust_cost): Update various comments. Properly
15164 handle anti and output dependencies when using the
15165 DFA scheduler.
15166 (pa_issue_rate): Add PA7300 scheduling support.
15167 (pa_can_combine_p): Call extract_insn before calling
15168 constrain_operands (taken from mainline tree).
15169 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
15170 * pa.md (cpu attr): Add 7300. Rewrite pipeline
15171 descriptions using DFA descriptions. Add PA7300
15172 scheduling support.
15173
15174 2002-03-30 David S. Miller <davem@redhat.com>
15175
15176 Add UltraSPARC-III DFA scheduling support.
15177 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
15178 Update FP conditional move on register insn patterns to use it, as
15179 appropriate.
15180 (define_attr cpu): Add ultrasparc3.
15181 (define_attr us3load_type): New, update integer load patterns to
15182 set it, as appropriate.
15183 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
15184 (rest): Add UltraSPARC3 scheduling description.
15185 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
15186 (PROCESSOR_ULTRASPARC3): New.
15187 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
15188 ({ASM,CPP}_CPU_SPEC): Likewise.
15189 (REGISTER_MOVE_COST): Likewise.
15190 (RTX_COSTS): Likewise.
15191 * config/sparc/sparc.c (sparc_override_options,
15192 sparc_initialize_trampoline, sparc64_initialize_trampoline,
15193 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
15194 sparc_issue_rate): Likewise.
15195 * config/sparc/sol2.h: Likewise.
15196 * config/sparc/sol2-sld-64.h: Likewise.
15197 * config/sparc/linux64.h: Likewise.
8998d5bf 15198
fae15c93
VM
15199 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
15200
15201 * doc/md.texi: Add comments about usage the latency time for the
15202 different dependencies and about case when two or more conditions
15203 in different define_insn_reservations returns TRUE for an insn.
15204
15205 * doc/md.texi: Add reference for automaton based pipeline
15206 description.
8998d5bf 15207
fae15c93
VM
15208 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
15209
15210 * doc/passes.texi: Add missed information about genattrtab.
15211
15212 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
15213
15214 * genautomata.c (output_automata_list_transition_code): Check
15215 automata_list on NULL.
15216
15217 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
15218
15219 * genautomata.c (output_insn_code_cases,
15220 output_automata_list_min_issue_delay_code,
15221 output_automata_list_transition_code,
15222 output_automata_list_state_alts_code): Comment the functions.
15223
15224 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
15225
15226 * genautomata.c (automata_list_el_t): New typedef.
15227 (get_free_automata_list_el,free_automata_list_el,
15228 free_automata_list, automata_list_hash, automata_list_eq_p,
15229 initiate_automata_lists, automata_list_start, automata_list_add,
15230 automata_list_finish, finish_automata_lists,
15231 output_insn_code_cases, output_automata_list_min_issue_delay_code,
15232 output_automata_list_transition_code,
15233 output_automata_list_state_alts_code, add_automaton_state,
15234 form_important_insn_automata_lists): New functions and prototypes.
15235 (insn_reserv_decl): Add members important_automata_list and
15236 processed_p.
15237 (ainsn): Add members important_p.
15238 (automata_list_el): New structure.
15239 (first_free_automata_list_el, current_automata_list,
15240 automata_list_table): New global variables.
15241 (create_ainsns): Initiate member important_p.
15242 (output_internal_min_issue_delay_func): Generate the switch and
15243 call output_insn_code_cases.
15244 (output_internal_trans_func, output_internal_state_alts_func):
15245 Ditto.
15246 (generate): Call initiate_automata_lists.
15247 (automaton_states): New global variable.
15248 (expand_automata): Call form_important_insn_automata_lists.
15249 (write_automata): Call finish_automata_lists.
8998d5bf 15250
fae15c93
VM
15251 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
15252
15253 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 15254 cpu units in the sets belong the same automaton.
fae15c93
VM
15255
15256 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
15257 about that cpu units in the sets belong the same automaton.
15258
15259 * doc/md.texi: Ditto.
8998d5bf 15260
2799d721
VM
15261 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
15262 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 15263
fae15c93
VM
15264 * config/sh/sh.c (sh_use_dfa_interface): New function.
15265
15266 (sh_issue_rate): New Function.
15267 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
15268 TARGET_SCHED_ISSUE_RATE: define.
15269
15270 * config/sh/sh.md: Add DFA based pipeline description for SH4.
15271
8998d5bf
ZW
15272 (define_attr insn_class): New attribute used for DFA
15273 scheduling.
fae15c93
VM
15274 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
15275 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
15276 cmpeqdi_t): Likewise.
15277
15278 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 15279 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
15280 ex_group.
15281 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 15282
fae15c93
VM
15283 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
15284
15285 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
15286 break.
15287
15288 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
15289
15290 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
15291 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
15292 necessary.
15293 (output_dfa_start_func): Initiate new variable insn_codes_length,
15294 (write_automata): Output definition of the new variable.
8998d5bf 15295
fae15c93
VM
15296 2001-10-02 David S. Miller <davem@redhat.com>
15297
15298 * haifa-sched.c (advance_one_cycle): New function.
15299 (schedule_block): Use it.
15300 (queue_to_ready): Use it, and also make sure to advance the DFA
15301 state on all stall cycles, not just those where insn_queue links
15302 are found.
15303
15304 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
15305
15306 * haifa-sched.c (max_issue): Remove last_p argument. Only return
15307 non-zero if the highest-priority instruction could be scheduled.
15308 (choose_ready): Remove last argument from max_issue call.
15309
15310 2001-09-28 David S. Miller <davem@redhat.com>
15311
15312 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
15313 ultrasparc and 3 for other multi-issue sparcs.
15314
15315 2001-09-27 David S. Miller <davem@redhat.com>
15316
15317 * config/sparc/sparc.md (cycle_display): New pattern.
15318 * config/sparc/sparc.c (sparc_cycle_display): New.
15319 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
15320
15321 2001-09-25 David S. Miller <davem@redhat.com>
15322
15323 Convert all of Sparc scheduling to DFA
15324 * config/sparc/sparc.md: Kill all define_function_unit
15325 directives and replace with DFA equivalent.
15326 * config/sparc/sparc.c (ultrasparc_adjust_cost,
15327 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
15328 ultra_fpmode_conflict_exists, ultra_find_type,
15329 ultra_build_types_avail, ultra_flush_pipeline,
15330 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
15331 ultrasparc_variable_issue, ultrasparc_sched_init,
15332 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
15333 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
15334 ultra_cur_hist, ultra_cycles_elapsed): Kill.
15335 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
15336 ultrasparc_store_bypass_p): New.
15337 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
15338 Declare.
15339
15340 2001-09-24 David S. Miller <davem@redhat.com>
15341
15342 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
15343 ready->vec[foo] not ready[foo].
15344
15345 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
15346
15347 * doc/md.texi: Correct examples for define_insn_reservations
15348 `mult' and `div'.
15349
15350 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
15351
15352 * genautomata.c (create_automata): Print message about creation of
15353 each automaton.
15354 (generate): Remove printing meease about creation of
15355 automata.
15356
15357 2001-09-05 David S. Miller <davem@redhat.com>
15358
15359 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
15360 * config/sparc/linux64.h: Likewise.
15361
15362 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
15363
15364 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
15365 schedule_block, sched_init, sched_finish): Add missed calls of
15366 use_dfa_pipeline_interface.
15367
15368 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
15369 Ditto.
15370
15371 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 15372
fae15c93
VM
15373 2001-08-27 Richard Henderson <rth@redhat.com>
15374
15375 * genattr.c (main): Emit state_t even when not doing scheduling.
15376
15377 2001-08-27 Richard Henderson <rth@redhat.com>
15378
15379 * genautomata.c (expand_automata): Always create a description.
15380
15381 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
15382
8998d5bf 15383 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
15384 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
15385 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
15386 RTL constructions.
15387
15388 * genattr.c (main): New variable num_insn_reservations. Increase
15389 it if there is DEFINE_INSN_RESERVATION. Output automaton based
15390 pipeline hazard recognizer interface.
15391
15392 * genattrtab.h: New file.
15393
15394 * genattrtab.c: Include genattrtab.h.
15395 (attr_printf, check_attr_test, make_internal_attr,
15396 make_numeric_value): Move protypes into genattrtab.h. Define them
15397 as external.
15398 (num_dfa_decls): New global variable.
15399 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
15400 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
15401 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
15402 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
15403
15404 * genautomata.c: New file.
15405
15406 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
15407
8998d5bf 15408 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
15409 automaton pipeline interface.
15410 (haifa_insn_data): Add comments for members blockage and units.
15411
15412 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
15413 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
15414 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
15415 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
15416 TARGET_SCHED_DFA_POST_CYCLE_INSN,
15417 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
15418 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
15419 macros.
15420 (TARGET_SCHED): Use the new macros.
15421
15422 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
15423 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
15424 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
15425 dfa_bubble): New members in gcc_target.sched.
15426
8998d5bf 15427 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
15428 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
15429 (insn_queue): Redefine it as pointer to array.
15430 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
15431 INSN_QUEUE_SIZE.
15432 (max_insn_queue_index_macro_value): New variable.
15433 (curr_state, dfa_state_size, ready_try): New varaibles for
15434 automaton interface.
15435 (ready_element, ready_remove, max_issue): New function prototypes
15436 for automaton interface.
15437 (choose_ready): New function prototype.
15438 (insn_unit, blockage_range): Add comments.
15439 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
15440 FUNCTION_UNITS_SIZE == 0.
15441 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
15442 actual_hazard, potential_hazard): Add comments.
15443 (insn_cost): Use cost -1 as undefined value. Remove
15444 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
15445 pipeline interface.
15446 (ready_element, ready_remove): New functions for automaton
15447 interface.
15448 (schedule_insn): Add new code for automaton pipeline interface.
15449 (queue_to_ready): Add new code for automaton pipeline interface.
15450 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
15451 (debug_ready_list): Print newline when the queue is empty.
15452 (max_issue): New function for automaton pipeline interface.
15453 (choose_ready): New function.
15454 (schedule_block): Add new code for automaton pipeline interface.
15455 Print ready list before scheduling each insn.
15456 (sched_init): Add new code for automaton pipeline interface.
15457 Initiate insn cost by -1.
15458 (sched_finish): Free the current automaton state and finalize
15459 automaton pipeline interface.
15460
15461 * sched-rgn.c: Include target.h.
15462 (init_ready_list, new_ready, debug_dependencies): Add new code for
15463 automaton pipeline interface.
15464
15465 * sched-vis.c: Include target.h.
15466 (get_visual_tbl_length): Add code for automaton interface.
15467 (target_units, print_block_visualization): Add comments.
15468
8998d5bf 15469 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
15470 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
15471 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
15472 (getruntime.o, genautomata.o): New entries.
15473 (genattrtab.o): Add new dependency file genattrtab.h.
15474 (genattrtab): Add new dependencies. Link it with `libm.a'.
15475 (getruntime.o, hashtab.o): New entries for canadian cross.
15476
15477 * doc/md.texi: Description of automaton based model.
15478
15479 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
15480 Add comments.
15481 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
15482 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
15483 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
15484 TARGET_SCHED_DFA_POST_CYCLE_INSN,
15485 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
15486 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
15487 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
15488 hook descriptions.
15489 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
15490 MAX_DFA_ISSUE_RATE): New macro descriptions.
15491
15492 * doc/contrib.texi: Add dfa based scheduler contribution.
15493
15494 * doc/gcc.texi: Add more information about genattrtab.
15495
a2ff290c
RK
15496Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15497
15498 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
15499 adjust_address_nv call.
15500
f97903cc
JJ
155012002-04-29 Janis Johnson <janis187@us.ibm.com>
15502
15503 * doc/install.texi (Testing): Provide additional information, and
15504 a stronger encouragement, for running the testsuites.
15505
f41a6bf1
DD
155062002-04-29 DJ Delorie <dj@redhat.com>
15507
15508 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
15509 given in upper case.
15510
d8af0868
RO
155112002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15512
15513 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
15514 Solaris 2 <widec.h> if missing.
15515 * fixinc/fixincl.x: Regenerate.
15516 * fixinc/tests/base/widec.h: New file.
15517
1034407f
NC
155182002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
15519
15520 * toplev.c (f_options): Add "profile" switch so that
15521 -fno-profile can be used to disable -p.
15522
fbe5eb6d
BS
155232002-04-29 Bernd Schmidt <bernds@redhat.com>
15524
15525 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
15526 UV2DImode.
15527 * tree.c (build_common_tree_nodes_2): Likewise.
15528 * tree.h (enum tree_index): Likewise.
15529 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
15530
15531 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
15532 entries.
15533 (init_mmx_sse_builtins): Initialize SSE2 builtins.
15534 (ix86_expand_builtin): Add support for SSE2 builtins.
15535 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
15536 (VALID_SSE_REG_MODE): Use it.
15537 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
15538 (enum ix86_builtins): Add SSE2 builtins.
15539 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
15540 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
15541 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
15542 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
15543 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
15544 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
15545 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
15546 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
15547 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
15548 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
15549 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
15550 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
15551 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
15552 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
15553 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
15554 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
15555 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
15556 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
15557 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
15558 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
15559 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
15560 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
15561 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
15562 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
15563 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
15564 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
15565 lfence_insn): New patterns.
15566 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
15567 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
15568
44aefada
JH
15569Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
15570
15571 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
15572
d5482cdc
GP
155732002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15574
15575 * doc/contrib.texi (Contributors): Add Paolo Carlini and
15576 Janis Johnson.
15577 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
15578 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
15579 and CPU instead of cpu.
15580
2c4b77f3
JH
15581Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
15582
15583 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
15584 variables.
15585 (lang_independent_options): Add -fif-conversion, -fif-conversion2
15586 (rest_of_compilation): Do if conversion only when asked for.
15587 (parse_options_and_default_flags): Set new variables to 1 for -O1
15588 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
15589
3de72741
JH
15590Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
15591
15592 * i386.c (dbx64_register_map): Fix typo.
15593
8aa18a7d
JH
15594Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
15595
15596 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
15597 real_one_half, real_bb_freq_max): New static variables.
15598 (debug_profile_bbauxs): Kill.
15599 (process_note_predictions): Kill unused variable.
15600 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
15601 volatile double.
15602 (propagate_freq): Use REAL_ARITHMETICS.
15603 (estimate_bb_frequencies): Likevise; init new static variables.
15604 * Makefile.in (predict.o): Add dependency on real.h
15605
1bbad4c6
DM
156062002-04-28 David S. Miller <davem@redhat.com>
15607
15608 PR target/6500
15609 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
15610 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
15611 several {reads,writes} instead.
15612 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
15613 Define.
15614
3ef3f384
DM
156152002-04-27 David S. Miller <davem@redhat.com>
15616
15617 PR target/6494
15618 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
15619 of the stack bias.
15620
15621 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
15622 including signal.h and sys/ucontext.h, not needed.
15623
ec493bcb
HPN
156242002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
15625
15626 * varasm.c (output_constant_def): Correct test for not calling
15627 ENCODE_SECTION_INFO for INTEGER_CST.
15628
60284a59
NB
156292002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
15630
15631 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
15632 keep most cases as function eval_token.
15633 (eval_token): New function.
15634 (_cpp_parse_expr): Read token here for improved diagnostics.
15635 Don't use op_as_text. Detect bad ':' here.
15636 (reduce): Don't detect bad ':' here.
15637 (op_as_text): Remove.
15638 * cpphash.h (_cpp_test_assertion): Change prototype.
15639 * cpplib.c (_cpp_test_assertion): Change prototype.
15640
349a4b40
RH
156412002-04-28 Richard Henderson <rth@redhat.com>
15642
15643 PR c/5154
8998d5bf 15644 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
15645 (ggc_mark_rtx_children): New.
15646
7a03f82f
JJ
156472002-04-28 Jakub Jelinek <jakub@redhat.com>
15648
15649 PR target/6496
15650 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
15651 after call peepholes for UltraSPARC.
15652 (call + jump 64-bit peepholes): Remove.
15653
80103f96
FS
156542002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15655
15656 PR c/6497
15657 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
15658 result as temporary value.
15659
06990986
JJ
156602002-04-28 Jakub Jelinek <jakub@redhat.com>
15661
15662 PR c++/6396
15663 * toplev.c (rest_of_compilation): Only run regrename and copy
15664 propagation if optimizing.
15665
a20fd5ac
JJ
156662002-04-28 Jakub Jelinek <jakub@redhat.com>
15667
15668 PR optimization/6475
15669 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
15670 register of REGNO_DECL (i).
15671 * Makefile.in (reload1.o): Add $(TREE_H).
15672
87ed109f
NB
156732002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
15674
15675 * cppexp.c (lex): Update to use state.skip_eval.
15676 (struct op): Remove prio and flags members.
15677 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
15678 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
15679 (LEFT_ASSOC): New macro.
15680 (optab): New table of operator priorities and flags.
15681 (SHIFT): Update.
15682 (_cpp_parse_expr): Clean up logic. Return bool. Use a
15683 malloc-ed parser stack.
15684 (reduce): New; reduce the operator stack.
15685 (_cpp_expand_op_stack): Expand the operator stack as necessary.
15686 * cpphash.h (struct op): Predeclare.
15687 (struct cpp_reader): New members op_stack, op_limit.
15688 (struct lexer_state): New member skip_eval.
15689 (_cpp_parse_expr): Update.
15690 (_cpp_expand_op_stack): New.
15691 * cpplib.c (do_if): Update.
15692 * cppinit.c (cpp_create_reader): Create op stack.
15693 (cpp_destroy): And destroy it.
15694 * cpplib.h (CPP_LAST_CPP_OP): Correct.
15695 (TTYPE_TABLE): Correct.
15696
45806a3f
FS
156972002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15698
15699 PR c/6343
15700 * c-decl.c (duplicate_decls): Call merge_weak.
15701 * c-pragma.c (apply_pragma_weak): Warn about misuse.
15702 * output.h (merge_weak): Prototype merge_weak.
15703 * varasm.c (merge_weak): New function.
15704 (declare_weak): Make sure we don't give an error on VAR_DECLs.
15705 Mark RTL with SYMBOL_REF_WEAK.
15706
a6227154
KG
157072002-04-27 Kurt Garloff <garloff@suse.de>
15708
15709 * tree-inline.c (inlinable_function_p): Improve heuristics
15710 by using a smoother function to cut down allowable inlinable size.
15711 * param.def: Add parameters max-inline-insns-single,
15712 max-inline-slope, min-inline-insns that determine the exact
15713 shape of the above function.
15714 * param.h: Likewise.
15715
94a50397
RH
157162002-04-26 Richard Henderson <rth@redhat.com>
15717
15718 * c-parse.in (malloced_yyss, malloced_yyvs): New.
15719 (yyoverflow): Re-add. Set them.
15720 (free_parser_stacks): New.
15721 * c-common.h: Declare it.
15722 * c-lex.c (c_common_parse_file): Call it.
15723
9c0a0632
RH
157242002-04-26 Richard Henderson <rth@redhat.com>
15725
15726 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
15727 for fallthru search.
15728
b875d2ee
EC
157292002-04-26 Eric Christopher <echristo@redhat.com>
15730
15731 PR optimization/3700
15732 * config/mips/mips.c (mips_issue_rate): Define. New function.
15733 (TARGET_SCHED_ISSUE_RATE): Use.
15734
1db828df
DM
157352002-04-25 David S. Miller <davem@redhat.com>
15736
15737 PR target/6422
15738 * reorg.c (optimize_skip): Do not allow exception causing
15739 instructions to be considered for delay slots.
15740 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
15741 (relax_delay_slots): Do not try to consider exception causing
15742 instructions as redundant.
15743
ae5d234e
RH
157442002-04-26 Richard Henderson <rth@redhat.com>
15745
15746 PR c/5225
15747 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
15748
7d793e9b
MM
157492002-04-26 Mark Mitchell <mark@codesourcery.com>
15750
15751 PR bootstrap/6445
15752 * config/i386/i386.md (untyped_call): Return the value in a float
15753 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
15754 TARGET_80387.
15755
b13ab42c
AO
157562002-04-26 Alexandre Oliva <aoliva@redhat.com>
15757
15758 * tree.c (tree_int_cst_lt): Compare constants whose types differ
15759 in unsigned-ness correctly.
15760
5e56f909
JDA
157612002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
15762
15763 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
15764 portable runtime model.
15765
bde3c0c0
RH
157662002-04-26 Richard Henderson <rth@redhat.com>
15767
a6227154 15768 * c-parse.in (yyoverflow): Revert.
bde3c0c0 15769
5276df18
DE
157702002-04-26 David Edelsohn <edelsohn@gnu.org>
15771 Richard Henderson <rth@redhat.com>
15772
15773 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
15774 result as temporary value.
15775
b84a3874
RH
157762002-04-26 Richard Henderson <rth@redhat.com>
15777
15778 PR c/3581
15779 * c-common.c (fix_string_type): Split out of ...
15780 (combine_strings): ... here. Take a varray, not a tree list.
15781 (c_expand_builtin_printf): Use fix_string_type.
15782 * c-common.h: Update decls.
15783 * c-parse.in (string): Remove. Update all uses to use STRING
15784 instead, and not call combine_strings.
15785 (yylexstring): New.
15786 (_yylex): Use it.
15787 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
15788 (build_asm_stmt): Likewise.
15789 * objc/objc-act.c (my_build_string): Use fix_string_type.
15790 (build_objc_string_object): Build varray for combine_strings.
15791
d8ae8cd4
BT
157922002-04-26 Bo Thorsen <bo@suse.co.uk>
15793
15794 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
15795 x86-64.
15796
f8b954fc
NB
157972002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
15798
15799 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
15800 (HAVE_NO_R_OPERAND): Remove.
15801 (HAVE_VALUE): Remove.
15802 (op_to_prio): Update.
15803 (UNARY): Don't alter flags.
15804 (_cpp_parse_expr): want_value used to indicate whether
15805 a number or unary operator is expected next. Distinguish
15806 unary and binary +/-.
15807 (op_as_text): Update for unary operators.
15808
6052bef0
RH
158092002-04-25 Richard Henderson <rth@redhat.com>
15810
15811 PR c/2161
15812 * c-parse.in (yyoverflow): New.
15813
5c5b2283
RH
158142002-04-25 Richard Henderson <rth@redhat.com>
15815
15816 PR c/2098
15817 * c-common.c (shorten_compare): Simplfy conditions leading to
15818 the generation of a warning.
15819
28ce94d4
RH
158202002-04-25 Richard Henderson <rth@redhat.com>
15821
15822 PR c/2035
15823 * expmed.c (extract_bit_field): Fall through to generic code rather
15824 than aborting on subreg special case.
15825
6bfd0c63
DM
158262002-04-25 David S. Miller <davem@redhat.com>
15827
15828 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
15829 for DECL being NULL.
15830
7a430e3b
SC
158312002-04-25 Steve Christiansen <smc@us.ibm.com>
15832
15833 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
15834
45c42d7d
EB
158352002-04-25 Eric Botcazou <ebotcazou@multimania.com>
15836
15837 * c-decl.c (grokdeclarator): Remove outdated ??? note
15838 on invalid declaration of flexible array members.
15839
eb7715a4
RH
158402002-04-25 Richard Henderson <rth@redhat.com>
15841
15842 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
15843
cf5ee720
UW
158442002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
15845
15846 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
15847 needed by the compiler, even if they are used as global regs.
15848
d604bca3
MH
158492002-04-25 Matt Hiller <hiller@redhat.com>
15850
15851 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
15852 functions.
15853 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
15854 of the corresponding functions.
15855 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
15856 New prototypes.
b875d2ee 15857
d604bca3
MH
158582002-04-25 Matt Hiller <hiller@redhat.com>
15859
15860 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
15861
15862 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
15863 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
15864 registers, adjust comment accordingly.
15865 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
15866 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
15867 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
15868 for coprocessor registers.
15869 (ADDITIONAL_REGISTER_NAMES): Include
15870 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 15871
d604bca3
MH
15872 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
15873 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
15874 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
15875 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
15876 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
15877
15878 (mips_char_to_class): Adjust comment to include coprocessor
15879 constraint letters.
15880
15881 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
15882 New functions.
15883 (mips_reg_names, mips_regno_to_class): Include coprocessor
15884 information.
15885 (mips_sw_reg_names): Ditto, make non-static.
15886 (mips_move_1word): Handle moves to and from coprocessor registers.
15887 (mips_move_2words): Handle moves to and from coprocessor
15888 registers.
15889 (mips_class_max_nregs, mips_register_move_cost): Handle
15890 coprocessor register classes.
15891 (override_options): Initialize mips_char_to_class and
15892 mips_hard_regno_mode_ok properly for coprocessor registers.
15893
15894 * config/mips/mips.md (movdi_internal, movdi_internal2,
15895 movsi_internal1, movsi_internal2): Add constraint-sets for
15896 coprocessor registers.
15897 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
15898 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
15899 isn't mips.
15900 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
15901 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
15902 isn't mips.
15903 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
15904 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
15905 isn't mips.
15906 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
15907 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
15908 isn't mips.
b875d2ee 15909
d604bca3
MH
15910 * doc/tm.texi: Document feature.
15911
b9a26d09
NB
159122002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
15913
15914 * integrate.c (function_attribute_inlinable_p): Simplify.
15915 Check the table pointer is not NULL.
15916
ab5973b7
SB
159172002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
15918
15919 * doc/c-tree.texi: Fix typo in introduction.
15920
ff45c01e
NB
159212002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
15922
15923 * c-common.h (c_common_parse_file): Update.
15924 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
15925 * c-lex.c (YYDEBUG): Get from c-lex.h.
15926 (c_common_parse_file): Update.
15927 * c-lex.h (YYDEBUG, yydebug): New.
15928 * c-parse.in (YYDEBUG): Get from c-lex.h.
15929 (c_set_yydebug): Remove.
15930 * c-tree.h (c_set_yydebug): Remove.
15931 * langhooks-def.h (lhd_do_nothing_i): New.
15932 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
15933 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
15934 * langhooks.c (lhd_do_nothing_i): New.
15935 (lhd_set_yydebug): Remove.
15936 * langhooks.h (struct lang_hooks): Update.
15937 * toplev.c (set_yydebug): New.
15938 (compile_file): Update call to parse_file hook.
15939 (decode_d_option): Update.
15940objc:
15941 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
15942
fcae219a
R
15943Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
15944
15945 * loop.c (load_mems): Don't change the interface of called functions.
15946
15947 * calls.c (expand_call): Take current_function_pretend_args_size
15948 into account when setting argblock for sibcalls.
15949
d0fea45a
MH
159502002-04-24 Matt Hiller <hiller@redhat.com>
15951
15952 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
15953 * c-lex.c: Ditto.
15954
15955 * cpplex.c (skip_line_comment): Process comment one multibyte
15956 character at a time rather than one char at a time, if
15957 appropriate.
15958 (parse_string): Process string one multibyte character at a time
15959 rather than one char at a time, if appropriate.
15960 * c-lex.c (lex_string): Lex and copy multibyte strings
15961 appropriately.
15962 * cpplib.h (cppchar_t): Change to unsigned.
15963
2d1b5436
RH
159642002-04-24 Richard Henderson <rth@redhat.com>
15965
15966 PR c/3467
15967 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
15968 for c99.
15969
5e039e6b
R
15970Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
15971
15972 * sh.c (sh_va_arg): If argument was passed by reference,
15973 dereference the pointer.
309d8365
R
15974
15975 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
15976
15977 * sh.md (divsi3_i4_media): Use match_operand for input values
15978 rather than hard registers.
15979 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
15980 unnecessarily through hard registers. Keep copies of pseudo
15981 registers outside of the libcall sequence.
15982
15983 * sh.md (casesi_shift_media): Add modes.
b700634a
R
15984
15985 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
15986 values in memory.
15987
349ae713
NB
159882002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
15989
15990 * attribs.c (c_common_attribute_table): Move table and handlers
15991 to c-common.c.
15992 (format_attribute_table, lang_attribute_table,
15993 lang_attribute_common): Remove.
15994 (init_attributes): Replace NULL pointers with pointers to the
15995 empty table.
15996 (handle_packed_attribute, handle_nocommon_attribute,
15997 handle_common_attribute, handle_noreturn_attribute,
15998 handle_noinline_attribute, handle_always_inline_attribute,
15999 handle_used_attribute, handle_unused_attribute,
16000 handle_const_attribute, handle_transparent_union_attribute,
16001 handle_constructor_attribute, handle_destructor_attribute,
16002 handle_mode_attribute, handle_section_attribute,
16003 handle_aligned_attribute, handle_weak_attribute,
16004 handle_alias_attribute, handle_visibility_attribute,
16005 handle_no_instrument_function_attribute, handle_malloc_attribute,
16006 handle_no_limit_stack_attribute, handle_pure_attribute,
16007 handle_deprecated_attribute, handle_vector_size_attribute,
16008 vector_size_helper): Move to c-common.c.
16009 * c-common.c (c_common_attribute_table,
16010 handle_packed_attribute, handle_nocommon_attribute,
16011 handle_common_attribute, handle_noreturn_attribute,
16012 handle_noinline_attribute, handle_always_inline_attribute,
16013 handle_used_attribute, handle_unused_attribute,
16014 handle_const_attribute, handle_transparent_union_attribute,
16015 handle_constructor_attribute, handle_destructor_attribute,
16016 handle_mode_attribute, handle_section_attribute,
16017 handle_aligned_attribute, handle_weak_attribute,
16018 handle_alias_attribute, handle_visibility_attribute,
16019 handle_no_instrument_function_attribute, handle_malloc_attribute,
16020 handle_no_limit_stack_attribute, handle_pure_attribute,
16021 handle_deprecated_attribute, handle_vector_size_attribute,
16022 vector_size_helper): Move from attribs.c.
16023 * c-common.h (c_common_attribute_table,
16024 c_common_format_attribute_table): New.
16025 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
16026 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
16027 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
16028 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
16029 (LANG_HOOKS_INITIALIZER): Update.
16030 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
16031 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
16032 * target.h: Update comment.
16033 * tree.c (default_target_attribute_table): Remove.
16034 * tree.h (default_target_attribute_table, format_attribute_table,
16035 lang_attribute_table, lang_attribute_common): Remove.
16036objc:
16037 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
16038 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
16039
84f0ace0
JM
160402002-04-24 Jason Merrill <jason@redhat.com>
16041
16042 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
16043 * dwarf2out.c (dwarf_attr_name): Support it.
16044 (gen_array_type_die): Emit it.
16045 (lookup_type_die): No special handling for VECTOR_TYPE.
16046 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
16047
120eaf28
RH
160482002-04-24 Richard Henderson <rth@redhat.com>
16049
16050 * config/mips/mips.md (movdi_usd): Renumber.
16051
e732178c
DM
160522002-04-24 David S. Miller <davem@redhat.com>
16053
16054 PR target/6420
16055 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
16056 32-bit Sparc and current_function_returns_struct is true.
16057
e879eb2f
JH
16058Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
16059
16060 * loop.c (canonicalize_condition): Use gen_int_mode.
16061
4287a893
AH
160622002-04-24 Aldy Hernandez <aldyh@redhat.com>
16063
16064 * config/rs6000/altivec.h: Cleanup file. Add non individual
16065 variants.
16066 (vec_vaddubm): New.
16067 (vec_vadduhm): New.
16068 (vec_vadduwm): New.
16069 (vec_vaddfp): New.
16070 (vec_vaddcuw): New.
16071 (vec_vaddubs): New.
16072 (vec_vaddsbs): New.
16073 (vec_vadduhs): New.
16074 (vec_vadduws): New.
16075 (vec_vaddsws): New.
16076 (vec_vand): New.
16077 (vec_vandc): New.
16078 (vec_vavgub): New.
16079 (vec_vavgsb): New.
16080 (vec_vavguh): New.
16081 (vec_vavgsh): New.
16082 (vec_vavguw): New.
16083 (vec_vavgsw): New.
16084 (vec_vrfip): New.
16085 (vec_vcmpbfp): New.
16086 (vec_vcmpequb): New.
16087 (vec_vcmpequh): New.
16088 (vec_vcmpequw): New.
16089 (vec_vcmpeqfp): New.
16090 (vec_vcmpgefp): New.
16091 (vec_vcmpgtub): New.
16092 (vec_vcmpgtsb): New.
16093 (vec_vcmpgtuh): New.
16094 (vec_vcmpgtsh): New.
16095 (vec_vcmpgtuw): New.
16096 (vec_vcmpgtsw): New.
16097 (vec_vcmpgtfp): New.
16098 (vec_vcmpgefp): New.
16099 (vec_vcfux): New.
16100 (vec_vcfsx): New.
16101 (vec_vctsxs): New.
16102 (vec_vctuxs): New.
16103 (vec_vexptefp): New.
16104 (vec_vrfim): New.
16105 (vec_lvx): New.
16106 (vec_lvebx): New.
16107 (vec_lvehx): New.
16108 (vec_lde): Add vector float variant.
16109 (vec_lvewx): New.
16110 (vec_lvxl): New.
16111 (vec_vlogefp): New.
16112 (vec_vmaddfp): New.
16113 (vec_vmhaddshs): New.
16114 (vec_vmaxub): New.
16115 (vec_vmaxsb): New.
16116 (vec_vmaxuh): New.
16117 (vec_vmaxsh): New.
16118 (vec_vmaxuw): New.
16119 (vec_vmaxsw): New.
16120 (vec_vmaxsw): New.
16121 (vec_vmaxfp): New.
16122 (vec_vmrghb): New.
16123 (vec_vmrghh): New.
16124 (vec_vmrghw): New.
16125 (vec_vmrglb): New.
16126 (vec_vmrglh): New.
16127 (vec_vmrglw): New.
16128 (vec_vminub): New.
16129 (vec_vminsb): New.
16130 (vec_vminuh): New.
16131 (vec_vminsh): New.
16132 (vec_vminuw): New.
16133 (vec_vminsw): New.
16134 (vec_vminfp): New.
16135 (vec_vmladduhm): New.
16136 (vec_vmhraddshs): New.
16137 (vec_msumubm): New.
16138 (vec_vmsummbm): New.
16139 (vec_vmsumuhm): New.
16140 (vec_vmsumshm): New.
16141 (vec_vmsumuhs): New.
16142 (vec_vmsumshs): New.
16143 (vec_vmuleub): New.
16144 (vec_vmulesb): New.
16145 (vec_vmuleuh): New.
16146 (vec_vmulesh): New.
16147 (vec_vmuloub): New.
16148 (vec_mulosb): New.
16149 (vec_vmulouh): New.
16150 (vec_vmulosh): New.
16151 (vec_vnmsubfp): New.
16152 (vec_vnor): New.
16153 (vec_vor): New.
16154 (vec_vpkuhum): New.
16155 (vec_vpkuwum): New.
16156 (vec_vpkpx): New.
16157 (vec_vpkuhus): New.
16158 (vec_vpkshss): New.
16159 (vec_vpkuwus): New.
16160 (vec_vpkswss): New.
16161 (vec_vpkshus): New.
16162 (vec_vpkswus): New.
16163 (vec_vperm): New.
16164 (vec_vrefp): New.
16165 (vec_vrlb): New.
16166 (vec_vrlh): New.
16167 (vec_vrlw): New.
16168 (vec_vrfin): New.
16169 (vec_vrsqrtefp): New.
16170 (vec_vsel): New.
16171 (vec_vslb): New.
16172 (vec_vslh): New.
16173 (vec_vslw): New.
16174 (vec_vsldoi): New.
16175 (vec_vsl): New.
16176 (vec_vslo): New.
16177 (vec_vspltb): New.
16178 (vec_vsplth): New.
16179 (vec_vspltw): New.
16180 (vec_vspltisb): New.
16181 (vec_vspltish): New.
16182 (vec_vspltisw): New.
16183 (vec_vsrb): New.
16184 (vec_vsrh): New.
16185 (vec_vsrw): New.
16186 (vec_vsrab): New.
16187 (vec_vsrah): New.
16188 (vec_vsraw): New.
16189 (vec_vsr): New.
16190 (vec_vsro): New.
16191 (vec_stvx): New.
16192 (vec_stvebx): New.
16193 (vec_stvehx): New.
16194 (vec_stvewx): New.
16195 (vec_stvxl): New.
16196 (vec_vsububm): New.
16197 (vec_vsubuhm): New.
16198 (vec_vsubuwm): New.
16199 (vec_vsubfp): New.
16200 (vec_vsubcuw): New.
16201 (vec_vsububs): New.
16202 (vec_vsubsbs): New.
16203 (vec_vsubuhs): New.
16204 (vec_vsubshs): New.
16205 (vec_vsubuws): New.
16206 (vec_vsubsws): New.
16207 (vec_vsum4ubs): New.
16208 (vec_vsum4sbs): New.
16209 (vec_vsum4shs): New.
16210 (vec_vsum2sws): New.
16211 (vec_vsumsws): New.
16212 (vec_vrfiz): New.
16213 (vec_vupkhsb): New.
16214 (vec_vupkhpx): New.
16215 (vec_vupkhsh): New.
16216 (vec_vupklsb): New.
16217 (vec_vupklpx): New.
16218 (vec_vupklsh): New.
16219 (vec_vxor): New.
16220
cff27795
EB
162212002-04-23 Eric Botcazou <ebotcazou@multimania.com>
16222
16223 PR c/5430
16224 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
16225 added literals from substracted literals.
16226 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
16227 (fold) [associate]: Preserve MINUS_EXPR if needed.
16228
952bca84
ZW
162292002-04-23 Zack Weinberg <zack@codesourcery.com>
16230
16231 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
16232 are obsoleted.
16233
50cb2154
TT
162342002-04-23 Tom Tromey <tromey@redhat.com>
16235
16236 * gcc.c: Added --resource. For PR java/6314.
16237
271f61fb
DB
162382002-04-23 David O'Brien <obrien@FreeBSD.org>
16239
9566d1e9 16240 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
16241 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
16242 these libraries.
16243
bdabbc80
DB
162442002-04-23 David O'Brien <obrien@FreeBSD.org>
16245
16246 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
16247
74411039
JH
16248Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
16249
16250 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
16251 workaround.
16252 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
16253 (ix86_expand_clrstr): Fix typo.
16254 * loop.c (gen_load_of_final_value): New.
16255 (loop_givs_rescan, strength_reduce, check_dbra_loop):
16256 Use it.
16257
1a887f86
RS
162582002-04-23 Roger Sayle <roger@eyesopen.com>
16259
16260 * builtins.c (builtin_memset_gen_str): New function.
16261 (expand_builtin_memset): Optimize the case of constant length, but
16262 unknown value.
16263
8d3441e0
AH
162642002-04-23 Aldy Hernandez <aldyh@redhat.com>
16265
cff27795
EB
16266 * config/rs6000/altivec.h (vec_step): Remove extraneous
16267 parentheses.
16268 (vec_ctu): Cast return.
8d3441e0 16269
f6f315fe
AM
162702002-04-23 Alan Modra <amodra@bigpond.net.au>
16271
16272 PR target/6413
16273 * function.h: (struct function): Add profile_label_no field.
16274 (current_function_profile_label_no): Define.
16275 * function.c: (profile_label_no): New static var.
16276 (expand_function_start): Increment it, and copy to
16277 current_function_profile_label_no.
16278 * output.h (profile_label_no): Delete.
16279 * final.c (profile_label_no): Delete.
16280 (profile_function): Use current_function_profile_label_no.
16281 (final_end_function): Don't increment profile_label_no here.
16282 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
16283 profile_label_no with current_function_profile_label_no.
16284 * config/pa/pa.c (current_function_number): Delete.
16285 (pa_output_function_prologue): Don't output profile label here.
16286 (hppa_profile_hook): Use label_no param rather than
16287 current_function_number.
16288 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
16289 * config/pa/pa.h: .. here.
16290 (FUNCTION_PROFILER): Output profile label here.
16291
d239cdc0
EC
162922002-04-22 Eric Christopher <echristo@redhat.com>
16293
16294 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
16295 patch of 2002-04-09 due to binutils issues.
16296 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
16297
04428ad4
AH
162982002-04-22 Aldy Hernandez <aldyh@redhat.com>
16299
cff27795
EB
16300 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
16301 constraint to 'o' for m=r and r=m alternatives.
16302 ("*movv8hi_internal1"): Same.
16303 ("*movv16qi_internal1"): Same.
16304 ("*movv4sf_internal1"): Same.
04428ad4 16305
2adc7f12
JJ
163062002-04-22 Janis Johnson <janis187@us.ibm.com>
16307
16308 * rtl.h (RTX_FLAG): New macro.
16309 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
16310 * final.c (alter_subreg): Use macro to access rtx flag.
16311 * integrate.c (copy_rtx_and_substitute): Use new access macro.
16312 * print-rtl.c (print_rtx): Use new access macro.
16313
16314 * cse.c (insert): Check rtx code before accessing flag.
16315
16316 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
16317 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
16318 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
16319 convert_const_symbol_ref, make_canonical, make_alternative_compare,
16320 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
16321 simplify_test_exp, optimize_attrs, simplify_by_exploding,
16322 find_and_mark_used_attributes, unmark_used_attributes,
16323 add_values_to_cover, simplify_with_current_value,
16324 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
16325 copy_rtx_unchanging, main): Use new access macros.
16326
b7c89afe
TR
163272002-04-22 Tom Rix <trix@redhat.com>
16328
16329 * expmed.c (init_expmed): Generate shifted constant once.
16330
9340544b
ZW
163312002-04-22 Zack Weinberg <zack@codesourcery.com>
16332
16333 * c-lex.c (lex_charconst): Call convert to get constant in
16334 proper type; don't just smash the type field.
16335 Fixes PR c/6300.
16336
16337 * config.gcc: Add list of obsolete configurations. Disallow
16338 building these without --enable-obsolete.
16339 * doc/install.texi: Document --enable-obsolete and obsoletion
16340 policy. Mention obsoletion of individual targets in
16341 appropriate places.
16342
f942d7a5
RH
163432002-04-22 Richard Henderson <rth@redhat.com>
16344
16345 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
16346
163472002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
16348
16349 PR f/6138.
16350 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
16351 (walk_fixup_memory_subreg): Likewise.
16352 (fixup_var_refs_insn): Adjust accordingly.
16353 (fixup_var_refs_1): Likewise.
16354
232b0b45
UW
163552002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
16356
16357 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
16358 LIBPATH_ARCH64_SPEC): Define.
16359 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
16360 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
16361 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
16362 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
16363
1b61552b
JS
163642002-04-22 Joel Sherrill <joel@OARcorp.com>
16365
16366 * gthr-rtems.h: Correct prototypes to remove warnings.
16367
0fe854a7
RH
163682002-04-22 Richard Henderson <rth@redhat.com>
16369
16370 PR c/6344
16371 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
16372
16373 * gcse.c (free_insn_expr_list_list): New.
16374 (clear_modify_mem_tables): Use it. Fix bit set usage.
16375 (canon_list_insert): Use EXPR_LISTs for expressions.
16376 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
16377
af0d16cd
NB
163782002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
16379
16380 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
16381 file change and include code to _cpp_pop_buffer.
16382 * cpphash.h (struct pending_option): Predeclare.
16383 (struct cpp_reader): New member next_include_file.
16384 (_cpp_pop_file_buffer): Update.
16385 (_cpp_push_next_buffer): Update, rename.
16386 * cppinit.c (cpp_destroy): Free include chain and pending here.
16387 (cpp_finish_options): Simplify.
16388 (_cpp_push_next_buffer): Rename and clean up.
16389 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
16390 Clarify.
16391 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
16392
0d918572
AH
163932002-04-22 Aldy Hernandez <aldyh@redhat.com>
16394
0fe854a7
RH
16395 * config/rs6000/altivec.h (vec_xor): Add variant for both args
16396 being vector signed int.
16397 (vec_andc): Same.
16398 (vec_xor): Add variant for both args being vector signed char.
16399 Remove redundant variant.
16400 (vec_andc): Same.
0d918572 16401
77e2c290
DM
164022002-04-21 David S. Miller <davem@redhat.com>
16403
16404 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
16405 compare mode in output RTL.
16406
ee2ca2a2
DE
164072002-04-22 David Edelsohn <edelsohn@gnu.org>
16408
16409 * config/rs6000/rs6000.c (rs6000_override_options): Correct
16410 style and formatting of previous patch.
16411
894bdff6
AM
164122002-04-22 Alan Modra <amodra@bigpond.net.au>
16413
16414 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
16415 flag_pic for ABI_AIX.
16416
562a5c27
NB
164172002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
16418
16419 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
16420 * cppfiles.c (read_include_file): Similarly.
16421 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
16422 uxstrdup ustrchr, ufputs): Similarly.
16423 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
16424 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
16425 cpp_ideq, parse_identifier, parse_number): Similarly.
16426 * cpplib.c (struct directive, dequote_string, D, run_directive,
16427 cpp_push_buffer): Similarly.
16428 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
16429 _cpp_create_definition, check_trad_stringification,
16430 cpp_macro_definition): Similarly.
16431
9ac3b1be
NB
164322002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
16433
16434 * cppmacro.c (funlike_invocation_p): Don't step back
16435 over CPP_EOF.
16436
9dda4cc8
DE
164372002-04-21 David Edelsohn <edelsohn@gnu.org>
16438
16439 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
16440 labelno.
16441
20764052
JM
164422002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
16443
16444 * doc/invoke.texi: Remove Chill references.
16445 * doc/gcc.texi: Update last modified date.
16446
26b29884
KH
164472002-04-20 Kazu Hirata <kazu@hxi.com>
16448
16449 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
16450 push and pop. Replace add.l with add.w.
16451
59184677
TM
164522002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16453
16454 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
16455 multiply instructions for H8/300H case.
16456
b1113e0a
TM
164572002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16458
16459 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
16460 Bum three instructions from each routine.
16461
b03e38e1
NB
164622002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
16463
16464 * Makefile.in: Update.
16465 * decl.c (push_c_function_context, pop_c_function_context,
16466 mark_c_function_context): Rename for consistency.
16467 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
16468 * c-tree.h (push_c_function_context, pop_c_function_context,
16469 mark_c_function_context): Rename for consistency.
16470 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16471 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16472 * function.c (init_lang_status, save_lang_status,
16473 restore_lang_status, mark_lang_status, free_lang_status):
16474 Move to langhooks.h.
16475 (push_function_context_to, pop_function_context_from,
16476 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
16477 Update.
16478 * function.h (init_lang_status, save_lang_status,
16479 restore_lang_status, mark_lang_status, free_lang_status):
16480 Move to langhooks.h.
16481 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
16482 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
16483 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
16484 LANG_HOOKS_FUNCTION_INITIALIZER): New.
16485 (LANG_HOOKS_INITIALIZER): Update.
16486 (lhd_do_nothing_f): New.
16487 * langhooks.h (struct lang_hooks_for_functions): New.
16488 (struct lang_hooks): New hooks.
16489 * langhooks.c (lhd_do_nothing_f): New.
16490objc:
16491 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16492 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16493
db430d26
DM
164942002-04-19 David S. Miller <davem@redhat.com>
16495
16496 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
16497 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
16498
0f2a3457
JJ
164992002-04-19 Jakub Jelinek <jakub@redhat.com>
16500
16501 PR optimization/3756
16502 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
16503 x = ((int) y < 0) ? cst1 : cst2.
16504
ce5e43d0
JJ
165052002-04-19 Jakub Jelinek <jakub@redhat.com>
16506
16507 PR c/6358
16508 * function.c: Reapply patch for c/6358.
16509 (expand_function_end): Copy decl_rtl's mode, not
16510 current_function_return_rtx mode.
16511
165122002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
16513
16514 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
16515 targets.
16516
40e7f8ea
TT
165172002-04-19 Tom Tromey <tromey@redhat.com>
16518
16519 * doc/install.texi (Specific): Update status of Solaris 2.8.
16520 For PR libgcj/6158.
16521
62a12b27
AS
165222002-04-19 Andreas Schwab <schwab@suse.de>
16523
16524 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
16525 (PUT_REAL): Restore old definition.
16526
1405141b
DN
165272002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
16528 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16529
16530 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
16531 binutils 2.11.2 and higher generate smaller binaries than Sun's
16532 native tools.
16533
303a3927
MM
165342002-04-19 Mark Mitchell <mark@codesourcery.com>
16535
16536 PR c++/6352
16537 * toplev.c (rest_of_compilation): Do not defer functions for which
16538 TREE_SYMBOL_REFERENCED has already been set.
16539
de80110b
JH
16540Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
16541
16542 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
16543 alternative.
16544
ab393bf1
NB
165452002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
16546
16547 * builtins.c: Include langhooks.h.
16548 (lang_type_promotes_to): Remove.
16549 (expand_builtin_va_arg): Use new hook.
16550 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
16551 (simple_type_promotes_to): Move to c-typeck.c.
16552 * c-common.h (simple_type_promotes_to): Remove.
16553 * c-decl.c (duplicate_decls, grokdeclarator): Update.
16554 * c-format.c: Include langhooks.h.
16555 (check_format_types): Update.
16556 * c-tree.h (c_type_promotes_to): New.
16557 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
16558 (type_lists_compatible_p): Update.
16559 * langhooks-def.h (lhd_type_promotes_to): New.
16560 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
16561 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
16562 * langhooks.c (lhd_type_promotes_to): New.
16563 * langhooks.h (struct lang_hooks_for_types): New hook.
16564 * tree.h (lang_type_promotes_to): Remove.
16565objc:
16566 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
16567
0cd3301b
RH
165682002-04-18 Richard Henderson <rth@redhat.com>
16569
58533fa2 16570 * function.c: Revert patch for c/6358.
0cd3301b
RH
16571
165722002-04-18 Richard Henderson <rth@redhat.com>
16573
58533fa2
RH
16574 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
16575 blocks. Handle multiple references to the TRAP block. Handle
16576 non-adjacent THEN and OTHER blocks.
0cd3301b 16577
58533fa2
RH
165782002-04-18 Richard Henderson <rth@redhat.com>
16579
16580 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
16581 crash with no type for by-mode libcalls.
16582
16583 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 16584
57174693
BW
165852002-04-18 Bob Wilson <bob.wilson@acm.org>
16586
16587 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
16588 __xtensa_nonlocal_goto): Use a syscall instructions to flush
16589 the register windows.
16590
46468cd9
ZW
165912002-04-18 Zack Weinberg <zack@codesourcery.com>
16592
16593 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
16594 appropriate. Document need for extended precision even when
16595 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
16596 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
16597 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
16598 instead of relying on later syntax error when REAL_WIDTH > 5.
16599 * real.c: Define NE based only on whether or not we have a
16600 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
16601 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
16602 define GET_REAL and PUT_REAL as simple memcpy operations; no
16603 need to byteswap or round.
16604 Use #error instead of #ifdef-ing out the entire file, for
16605 prompt error detection.
16606
16607 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
16608
2f82dbf8
DM
166092002-04-18 David S. Miller <davem@redhat.com>
16610
16611 * config/sparc/sparc.h (BRANCH_COST): Define.
16612
16613 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
16614 does it.
16615
566576e7
HPN
166162002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
16617
16618 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
16619 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
16620 propagate_block calls after relaxation loop using new variable
16621 stabilized_prop_flags.
16622
51dcde6f
RH
166232002-04-18 Richard Henderson <rth@redhat.com>
16624
16625 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
16626 (ia64_va_arg): Expect variable sized types by reference.
16627 * config/ia64/ia64-protos.h: Update.
46468cd9 16628 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
16629 ia64_function_arg_pass_by_reference.
16630
26406018
RH
166312002-04-18 Richard Henderson <rth@redhat.com>
16632
46468cd9
ZW
16633 * ifcvt.c: Include except.h.
16634 (block_has_only_trap): Break out from find_cond_trap.
16635 (find_cond_trap): Use it. Always delete the trap block.
16636 (merge_if_block): Allow then block null. Be less simplistic about
16637 what insns can end a block.
16638 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 16639
26406018
RH
16640 * config/ia64/ia64.md (trap, conditional_trap): New.
16641
a3acf46d
JJ
166422002-04-18 Jakub Jelinek <jakub@redhat.com>
16643
16644 PR c/6358
16645 * function.c (assign_parms): Assign hard current_function_return_rtx
16646 register here...
16647 (expand_function_end): ...not here.
16648
7a228918
NB
166492002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
16650
16651 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
16652 * c-tree.h (c_incomplete_type_error): New.
16653 * c-typeck.c (require_complete_type, build_component_ref): Update.
16654 (incomplete_type_error): Rename.
16655 * langhooks-def.h (lhd_incomplete_type_error): New.
16656 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
16657 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
16658 * langhooks.c (lhd_incomplete_type_error): New.
16659 * langhooks.h (struct lang_hooks_for_types): New hook.
16660 * tree.c (size_in_bytes): Use new hook.
16661 * tree.h (incomplete_type_error): Remove.
16662objc:
16663 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
16664
f18664c1
ZW
166652002-04-18 Zack Weinberg <zack@codesourcery.com>
16666
16667 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
16668 TARGET_FLOAT_FORMAT blocks.
16669
8ecab453
GP
166702002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16671
16672 * doc/install.texi (Downloading the source): Do not mention Chill
16673 any longer, but mention Ada.
16674 (Configuration): Do not mention Chill any longer.
16675
528d8489
HPN
166762002-04-18 Hans-Peter Nilsson <hp@axis.com>
16677
16678 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
16679
91da27c5
JH
16680Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
16681
16682 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
16683 in last patch.
16684
a32db605
JJ
166852002-04-18 Jakub Jelinek <jakub@redhat.com>
16686
16687 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
16688 instead of unsigned_type.
16689
5a28d8cc
JH
16690Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
16691
16692 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
16693 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
16694 later.
16695
3d980b9f
BS
166962002-04-18 Bernd Schmidt <bernds@redhat.com>
16697
16698 * attribs.c (vector_type_node_list): New static variable.
16699 (handle_vector_size_attribute): Use it to avoid generating a
16700 new type node each time we are called.
16701
2e676d78
BS
16702 * combine.c (subst): Avoid trying to make a vector mode subreg of
16703 an integer constant.
16704 (gen_lowpart_for_combine): Likewise.
46468cd9 16705
58c2956c
RS
167062002-04-18 Roger Sayle <roger@eyesopen.com>
16707 Jakub Jelinek <jakub@redhat.com>
16708
16709 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
16710 for integer constant c (if x has unsigned type or sign bit is not
16711 set in c). This folds the zero/sign extension into the bit-wise and
16712 operation.
16713
692efa8e
JJ
167142002-04-18 Jakub Jelinek <jakub@redhat.com>
16715
16716 PR middle-end/6205
16717 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
16718 otherwise xorps.
16719
1372d4ce
NY
167202002-04-17 NIIBE Yutaka <gniibe@m17n.org>
16721
16722 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
16723
169ce44d
NC
167242002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
16725
16726 * gcc.c (read_specs): Detect and fail if an attempt is made to
16727 rename a spec string to an already existing string.
16728
b30d2115
UW
167292002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
16730
16731 * config/s390/s390.c (legitimize_pic_address): Do not generate
16732 illegal address constant without CONST.
16733
d6964c30
KG
167342002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16735
16736 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
16737 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
16738
7c82a1ed
UW
167392002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
16740
16741 PR optimization/6305
16742 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
16743 to make sure previous reloads are taken into account. Generate
16744 better code if one operand is an in-range immediate constant.
16745
58db9d1a
AH
167462002-04-16 Andrew Haley <aph@cambridge.redhat.com>
16747
16748 * doc/install.texi (Building): libgcj requires GNU make.
16749
2a732575
JJ
167502002-04-17 Jakub Jelinek <jakub@redhat.com>
16751
16752 PR bootstrap/6315
16753 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
16754 even if hard quad and register is not floating.
16755 (movtf reg<-mem split): Disallow splitting if hard quad and
16756 register is floating.
16757 (movtf mem<-reg split): Likewise.
16758 * config/sparc/sparc.c (fp_register_operand): New predicate.
16759 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
16760
75a65e46
ZW
167612002-04-17 Zack Weinberg <zack@codesourcery.com>
16762
16763 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
16764 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
16765 (unprotoize.o): Ditto. Build from protoize.c. Define
16766 UNPROTOIZE on command line.
16767 * protoize.c: Include cppdefault.h. Delete include_defaults.
16768 (in_system_include_dir): Use cpp_include_defaults (defined in
16769 cppdefault.o).
16770 * unprotoize.c: Delete file.
16771
650f0e97
AH
167722002-04-17 Aldy Hernandez <aldyh@redhat.com>
16773
46468cd9
ZW
16774 * config/rs6000/altivec.h (vec_ld): Add array variants.
16775 (vec_lde): Same.
16776 (vec_ldl): Same.
650f0e97 16777
71a0ab0c 167782002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 16779 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 16780
46468cd9
ZW
16781 * config/rs6000/altivec.h: Define __ALTIVEC__.
16782 (bool): New.
16783 (__pixel): New.
16784 (pixel): New.
16785 (vec_cfux): New.
16786 (vec_vmaddfp): New.
16787 (vec_vsldoi): New.
16788 Add parentheses to all macro arguments.
71a0ab0c 16789
ff2c46ac
RH
167902002-04-16 Richard Henderson <rth@redhat.com>
16791
16792 PR c++/6320
16793 * except.c (remove_eh_handler): Insert inner regions at beginning
16794 of sibling chain. Refactor expressions.
16795
f1ba94dd
RH
167962002-04-16 Richard Henderson <rth@redhat.com>
16797
f0871dfe
RH
16798 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
16799 * config/sparc/sol2-gas-bi.h: New file.
16800 * config.gcc (sparc*-solaris): Add it as needed.
16801 * configure.in (AS_SPARC64_FLAG): Remove check.
16802 * config.in, configure: Regenerate.
16803
16804 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
16805
168062002-04-16 Richard Henderson <rth@redhat.com>
16807
16808 * config/mips/mips.c (override_options): Don't override N32 for
16809 a 64-bit ISA.
409d3c60 16810
f1ba94dd
RH
16811 PR 6202
16812 * config/mips/mips.md (can_delay): Split out of existing define_delays.
16813 (HILO_delay): Set can_delay false.
16814
178c3eff
DJ
168152002-04-16 Dale Johannesen <dalej@apple.com>
16816
16817 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
16818 instruction addresses.
16819 (rs6000_output_function_epilogue): Likewise.
16820
7d6f6369
PC
168212002-04-16 Paolo Carlini <pcarlini@unitus.it>
16822
16823 * c-parse.in (poplevel, compstmt_start,
16824 compstmt_primary_start): Add ending ';', in accordance
16825 with POSIX.
16826
8947df0c
RH
168272002-04-16 Richard Henderson <rth@redhat.com>
16828
16829 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
16830 Adjust tm_file order to get TARGET_DEFAULT set properly.
16831 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
16832 * doc/install.texi (sparc-solaris): Update.
16833
3148ad6d
DJ
168342002-04-16 Dale Johannesen <dalej@apple.com>
16835
16836 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
16837 comparison operands do not match each other or if modes of
16838 conditions do not match result.
16839
014cb9b6 168402002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 16841
014cb9b6
HP
16842 PR target/6305
16843 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 16844 multiword register.
562a69be 16845
014cb9b6 168462002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 16847
8947df0c 16848 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 16849
a9772b60
JJ
168502002-04-16 Jakub Jelinek <jakub@redhat.com>
16851
16852 PR middle-end/6279
16853 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
16854
16855 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
16856
861829ed
RH
168572002-04-15 Richard Henderson <rth@redhat.com>
16858
16859 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
16860 call_really_used_regs too.
16861
bcf2fe9c
RH
168622002-04-15 Richard Henderson <rth@redhat.com>
16863
16864 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
16865
629111c7
DM
168662002-04-15 David S. Miller <davem@redhat.com>
16867
16868 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
16869 as being CLOBBERed.
16870
98ef3137
JJ
168712002-04-16 Jakub Jelinek <jakub@redhat.com>
16872
16873 PR c/6290
16874 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
16875 CONST_VECTOR is { 0, ... 0 }.
16876
0aa911c5
LR
168772002-04-15 Loren J. Rittle <ljrittle@acm.org>
16878
16879 * doc/install.texi (Installing GCC: Configuration): Clarify
16880 the only supported ways to configure gcc.
16881
83248d49 168822002-04-15 Roland McGrath <roland@frob.com>
46468cd9 16883
83248d49
RM
16884 * config.gcc (alpha*-*-gnu*): New target configuration.
16885 * config/alpha/gnu.h: New file for it.
16886 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
16887
b2123dc0
MM
168882002-04-16 Mark Mitchell <mark@codesourcery.com>
16889
16890 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
16891 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
16892 * tree.h (expand_start_stmt_expr): Update prototype.
16893 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
16894 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
16895 on the STMT_EXPR created for the inline function.
46468cd9 16896
8fe2d853
RH
168972002-04-15 Richard Henderson <rth@redhat.com>
16898
16899 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
16900 config/i386/linux-aout.h, config/i386/linux-oldld.h,
16901 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
16902 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
16903 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
16904 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
16905 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
16906 Define __gnu_linux__, not gnu_linux.
16907 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
16908
07cdae91
MM
169092002-04-15 Mark Mitchell <mark@codesourcery.com>
16910
16911 Remove Chill front end.
16912 * gcc.c (default_compilers): Remove Chill entries.
16913 * ch: Remove directory.
16914 * doc/frontends.texi: Remove information about Chill.
16915 * doc/sourcebuild.texi: Likewise.
16916 * doc/standards.texi: Likewise.
16917
41823c5e
DR
169182002-04-15 Douglas B Rupp <rupp@gnat.com>
16919
16920 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
16921 (LONGLONG_STANDALONE): Define.
16922
eb29ddb6
DM
169232002-04-15 David S. Miller <davem@redhat.com>
16924
16925 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
16926 Call emit_library_call with LCT_NORMAL.
16927 (sparc_initialize_trampoline): Use LCT_foo instead of
16928 magic constant in emit_library_call invocations.
16929 (sparc64_initialize_trampoline): Likewise.
16930 (sparc_profile_hook): Likewise.
16931 * config/sparc/sparc.md: Likewise.
16932
16933 * config/sparc/sparc.c (sparc_extra_constraint_check):
16934 Fix type of argument 'c'.
16935 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
16936 Likewise.
16937
bd6bec6b
GDR
169382002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16939
16940 * diagnostic.h (output_buffer_state): Redefine.
16941 (output_format_decoder): New macro.
16942 (output_prefixing_rule): Likewise.
16943 (output_line_cutoff): Likewise.
16944 (diagnostic_format_decoder): Adjust.
16945 (diagnostic_prefixing_rule): Likewise.
16946 (diagnostic_line_cutoff): Likewise.
16947 (diagnostic_state): Likewise.
16948 (diagnostic_kind_count): Likewise.
16949 (diagnostic_buffer): Now a macro.
16950
16951 * diagnostic.c (diagnostic_buffer): Remove definition.
16952 (output_is_line_wrapping): Adjust.
16953 (set_real_maximum_length): Likewise.
16954 (output_set_maximum_length): Likewise.
16955 (init_output_buffer): Likewise.
16956 (lhd_print_error_function): Likewise.
16957 (output_do_verbatim): Likewise.
16958
ebef4e8c
NB
169592002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
16960
16961 * cpperror.c (print_location): Don't print include chain
16962 if line == 0.
16963 (cpp_begin_message): Update to use DL_ macros.
16964 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
16965 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
16966 cpp_notice, cpp_notice_from_errno): Remove.
16967 (cpp_error, cpp_error_with_line): Update to take a diagnostic
16968 level.
16969 (cpp_errno): New.
16970 * cppexp.c (CPP_ICE): Remove.
16971 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
16972 lex, integer_overflow, _cpp_parse_expr): Update.
16973 * cppfiles.c (read_include_file, find_include_file,
16974 handle_missing_header, _cpp_read_file, remap_filename): Update.
16975 * cpphash.h (enum error_type): Remove.
16976 (_cpp_begin_message): Update.
16977 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
16978 cpp_handle_option, cpp_post_options): Update.
16979 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
16980 skip_whitespace, parse_identifier, parse_slow, parse_string,
16981 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
16982 cpp_interpret_charconst): Update.
16983 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
16984 lex_macro_node, do_undef, glue_header_name, parse_include,
16985 do_include_common, read_flag, do_line, do_linemarker, do_ident,
16986 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
16987 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
16988 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
16989 _cpp_pop_buffer, do_diagnostic): Update.
16990 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
16991 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
16992 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
16993 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
16994 cpp_notice, cpp_notice_from_errno): Remove.
16995 (cpp_error, cpp_error_with_line): Update to take a diagnostic
16996 level.
16997 (cpp_errno): New.
16998 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
16999 collect_args, enter_macro_context, save_parameter, parse_params,
17000 _cpp_create_definition, check_trad_stringification,
17001 cpp_macro_definition): Update.
17002 * cppmain.c (cpp_preprocess_file): Update.
17003 * fix-header.c (read_scan_file): Update.
17004
c19a3859
AS
170052002-04-14 Andreas Schwab <schwab@suse.de>
17006
17007 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
17008
10fdbed6
JD
170092002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17010
17011 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
17012
77660a9a
MM
170132002-04-13 Mark Mitchell <mark@codesourcery.com>
17014
17015 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
17016 not gnu_hurd.
17017
e0ff1ded
HPN
170182002-04-13 Hans-Peter Nilsson <hp@axis.com>
17019
17020 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
17021
2341c7ea
JS
170222002-04-13 Joel Sherrill <joel@OARcorp.com>
17023
17024 * config/sparc/t-elf: Enable v8 multilibs. Impacts
17025 sparc-elf and sparc-rtems targets.
17026
d29350c0
MM
170272002-04-13 Mark Mitchell <mark@codesourcery.com>
17028
17029 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
17030 defined, and __gnu_hurd__ wherever __GNU__ is defined.
17031 * arm/linux-elf.h: Likewise.
17032 * cris/aout.h: Likewise.
17033 * cris/linux.h: Likewise.
17034 * i370/linux.h: Likewise.
17035 * i386/gnu.h: Likewise.
17036 * i386/linux-aout.h: Likewise.
17037 * i386/linux-oldld.h: Likewise.
17038 * i386/linux.h: Likewise.
17039 * i386/linux64.h: Likewise.
17040 * ia64/linux.h: Likewise.
17041 * m68k/linux-aout.h: Likewise.
17042 * m68k/linux.h: Likewise.
17043 * mips/linux.h: Likewise.
17044 * pa/pa-linux.h: Likewise.
17045 * pj/linux.h: Likewise.
17046 * rs6000/sysv4.h: Likewise.
17047 * s390/linux.h: Likewise.
17048 * sh/linux.h: Likewise.
17049 * sparc/linux-aout.h: Likewise.
17050 * sparc/linux.h: Likewise.
17051 * sparc/linux64.h: Likewise.
17052 * xtensa/linux.h: Likewise.
17053
fc552851
RS
170542002-04-13 Richard Sandiford <rsandifo@redhat.com>
17055
17056 * stmt.c (check_unique_operand_names): Expect operand names to
17057 be strings rather than identifiers. Use simple_cst_equal to
17058 compare them.
17059 (resolve_operand_name_1): Make same identifier to string change here.
17060 * c-parse.in (asm_operand): Convert a named operand into a string.
17061 * cp/parse.y (asm_operand): Likewise.
17062
1d405c5e
AS
170632002-04-13 Andreas Schwab <schwab@suse.de>
17064
17065 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
17066
c740732f
MM
170672002-04-12 Mark Mitchell <mark@codesourcery.com>
17068
17069 Revert these changes:
17070
17071 2002-04-06 Mark Mitchell <mark@codesourcery.com>
17072
17073 PR c++/5571
17074 * stor-layout.c (layout_decl): Reset the RTL for the decl.
17075
3fc602a0
RH
170762002-04-12 Richard Henderson <rth@redhat.com>
17077
17078 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
17079 (sparc*-*-solaris): Clean up header files.
17080 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
17081 and plan on generating 64-bit code.
17082 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
17083 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
17084 * config/sparc/sol2-sld-64.h: Rename ...
17085 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
17086 for AS_SPARC64_FLAG not defined.
17087 * config/sparc/sol2-gld-bi.h: New.
17088 * config/sparc/sol2-sld.h: Remove.
17089 * config/sparc/sol26-sld.h: New.
17090 * config/sparc/sol2.h: Tidy comments.
17091 * doc/install.texi: Document sparc-solaris configury changes.
17092
2f15e255
RH
170932002-04-12 Richard Henderson <rth@redhat.com>
17094
17095 * recog.c (offsettable_address_p): Match the logic in adjust_address.
17096
17097 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
17098 in 64-bit mode only. Use only for 32-bit or MEDLOW.
17099
cc8475cb
RO
171002002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17101
17102 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
17103
6f133a4a
JL
17104Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
17105
ef1b8858 17106 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
17107 constrain_operands.
17108
1329e600
DR
171092002-04-12 Douglas B Rupp <rupp@gnat.com>
17110
17111 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
17112 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
17113 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 17114 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
17115 * config/i386/t-interix (USER_H): Remove.
17116
0339d239
DD
171172002-04-12 DJ Delorie <dj@redhat.com>
17118
17119 * integrate.c (compare_blocks): Make comparisons safe for when
17120 sizeof(int) < sizeof(char *).
17121 (find_block): Likewise.
17122
cc4d5fec
JH
171232002-04-12 Jan Hubicka <jh@suse.cz>
17124 David Edelsohn <edelsohn@gnu.org>
17125
17126 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
17127 registers.
17128 (symbol_ref_operand): New.
17129 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
17130 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
17131
93215a1b
AS
171322002-04-12 Andreas Schwab <schwab@suse.de>
17133
17134 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
17135 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
17136 overrides the definition in config/svr4.h.
46468cd9 17137
1d80248e
EN
171382002-04-12 Eric Norum <eric.norum@usask.ca>
17139
17140 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
17141 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
17142 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
17143 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
17144 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
17145 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
17146 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
17147 definitions to config/rtems.h and make the targets more similar.
17148
fa1591cb
RK
17149Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17150
fa06ab5c
RK
17151 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
17152 POINTERS_EXTEND_UNSIGNED.
17153 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
17154 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
17155
fa1591cb
RK
17156 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
17157 not specified.
17158
12e85a0e
R
17159Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
17160
17161 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
17162 depends on TARGET_SHMEDIA, not TARGET_SH5.
17163
1ab3e58a
HPN
171642002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
17165
17166 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
17167 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
17168
18778292
R
17169Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
17170
17171 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
17172 no r0 clobber.
17173
9002507c
AS
171742002-04-12 Andreas Schwab <schwab@suse.de>
17175
17176 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
17177
9be40833
RH
171782002-04-12 Richard Henderson <rth@redhat.com>
17179
17180 PR bootstrap/4191
17181 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
17182
17183 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
17184 modes spanning multiple hard regs.
46468cd9 17185
9be40833
RH
17186 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
17187
3d9268b6
JDA
171882002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
17189
17190 * pa.c (pa_output_function_prologue): Don't accumulate the total
17191 number of code bytes when using TARGET_64BIT, or gas, SOM and not
17192 the portable runtime.
17193 (output_deferred_plabels): Handle 64bit plabels.
17194 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
17195 generating pic code using the GAS assembler for object formats that
17196 are not SOM (ie., ELF32 and ELF64).
17197 (output_millicode_call): Check attribute type if attribute length is 28.
17198 Likewise use $PIC_pcrel$0. Only call get_attr_length and
17199 dbr_sequence_length once.
17200 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
17201 dbr_sequence_length once.
17202 * pa.h (TARGET_SOM): Define if not defined.
17203 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
17204 with GAS and not SOM.
17205 (jump, call_internal_reg, call_value_internal_reg): Likewise.
17206 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
17207
d360fd18
DB
172082002-04-11 David O'Brien <obrien@FreeBSD.org>
17209
17210 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
17211 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
17212 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
17213 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
17214 elfos.h and dbxelf.h values are fine now.
17215 * config/i386/freebsd.h, config/alpha/freebsd.h
17216 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
17217
5b8fcab6
DB
172182002-04-11 David O'Brien <obrien@FreeBSD.org>
17219
17220 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
17221 or set Acpu or Amachine. Reformat.
17222 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
17223 define.
17224 (LINK_SPEC): Do not need to undef.
17225 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
17226 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
17227 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
17228 define.
17229 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
17230 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
17231 (LINK_SPEC): Do not need to undef.
17232 (DONT_USE_BUILTIN_SETJMP): Do not define.
17233 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
17234 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
17235 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
17236 Remove trailing spaces.
17237 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
17238 __ELF__, or set Acpu or Amachine. Reformat.
17239 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
17240 define.
17241
fee42cc1
DB
172422002-04-11 David O'Brien <obrien@FreeBSD.org>
17243
17244 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
17245 all other *-*-freebsd* targets.
17246
77a403e4
RH
172472002-04-11 Richard Henderson <rth@redhat.com>
17248
17249 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
17250
cf0005c6
DB
172512002-04-11 David O'Brien <obrien@FreeBSD.org>
17252
17253 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
17254 Include {cpu}/{cpu}.h thru tm_file.
17255 (alpha*-*-linux*ecoff): Remove target.
17256 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
17257 (LINK_SPEC): Remove, is not OS independent.
17258 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
17259 (LINK_SPEC): Do not need to #undef any longer.
17260 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
17261 any longer.
17262 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
17263 __ELF__.
17264 (LINK_SPEC): Moved here from alpha/elf.h.
17265 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
17266 SUB_CPP_PREDEFINES.
17267 * config/alpha/linux-ecoff.h: Remove.
17268 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
17269 (CPP_SPEC): Define _POSIX_SOURCE as needed.
17270 (CPP_SUBTARGET_SPEC): Do not define.
17271 (LINK_SPEC): Do not need to #undef any longer.
17272 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
17273 * config/alpha/vms.h: Likewise.
17274
9be40833 172752002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
17276
17277 * doc/extend.texi: Remove old claim that typedefs cannot have
17278 an alignment attribute.
17279
010f87c4
JJ
172802002-04-11 Jakub Jelinek <jakub@redhat.com>
17281
17282 PR optimization/6177
17283 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
17284 bitpos is 0 and bitsize CONCAT size.
17285
578fc63d
JJ
172862002-04-11 Jakub Jelinek <jakub@redhat.com>
17287
17288 PR c/6223
17289 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
17290
bf9b85ce
DB
172912002-04-10 David O'Brien <obrien@FreeBSD.org>
17292
17293 * config/alpha/freebsd.h: Minor reformatting.
17294 (CPP_SPEC): Define ELF and add cpp_subtarget.
17295 (ASM_SPEC): No longer needed.
17296
7425707d
RH
172972002-04-11 Richard Henderson <rth@redhat.com>
17298
17299 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
17300 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
17301 (dimode mem/zero splitter): New.
17302
1a05e874
HPN
173032002-04-11 Hans-Peter Nilsson <hp@axis.com>
17304
17305 * config/cris/cris.c (cris_override_options): Tweak error message
17306 for PIC not implemented.
17307
17308 * config/cris/cris.h: Tweak comments related to parameter-passing.
17309
17310 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
17311
6f3d0447
RH
173122002-04-10 Richard Henderson <rth@redhat.com>
17313
17314 * except.c (add_ehl_entry): Allow duplicates after landing pad
17315 creation.
17316
174bf2b1
DE
173172002-04-10 David Edelsohn <edelsohn@gnu.org>
17318
17319 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
17320
03f10472
TM
173212002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
17322
17323 * c-decl.c (c_init_decl_processing): Move generation of
17324 decls for g77_integer_type_node and friends from here ...
17325 * c-common.c (c_common_nodes_and_builtins): ... to here.
17326
2f460a0a
UW
173272002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
17328
17329 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
17330 is only used as frame pointer when frame_pointer_needed is true.
17331
0be5cf85
RE
173322002-04-10 Richard Earnshaw <rearnsha@arm.com>
17333
17334 PR target/817
17335 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
17336 for the fact that the pool entry uses two words.
17337 (movdf_hard_insn): Similarly. Also, ADR instruction can span
17338 1k bytes.
17339 (movdf_soft_insn): Similarly.
17340 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
17341 for the fact that the pool entry uses three words.
17342
bf6d4777
RS
173432002-04-10 Richard Sandiford <rsandifo@redhat.com>
17344
17345 * config/mips/mips.c (mips_va_arg): When using the struct version
17346 of the EABI va_list, allow arguments in the register save area to
17347 take up less room than a stack argument.
17348
c2e9dc85
RH
173492002-04-10 Richard Henderson <rth@redhat.com>
17350
17351 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
17352 if EXPAND_INITIALIZER.
17353
bc8e8e97
RH
173542002-04-09 Richard Henderson <rth@redhat.com>
17355
17356 * config/alpha/alpha.md (movdi_er_maybe_g): New.
17357 * config/alpha/alpha.c (alpha_expand_mov): Use it.
17358
a6a063b8
AM
173592002-04-10 Alan Modra <amodra@bigpond.net.au>
17360
17361 PR optimization/6233
17362 * rtlanal.c (pure_call_p): New function.
17363 * rtl.h (pure_call_p): Declare.
17364 * loop.c (prescan_loop): Use it to set has_nonconst_call.
17365 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
17366
7b2e1077
EC
173672002-04-09 Eric Christopher <echristo@redhat.com>
17368
17369 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
17370 information to .comm directive.
17371
d8a50944
RH
173722002-04-09 Richard Henderson <rth@redhat.com>
17373
17374 PR c/5078
17375 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
17376
6a58eee9
RH
173772002-04-09 Richard Henderson <rth@redhat.com>
17378
17379 * basic-block.h (flow_delete_block_noexpunge): Declare.
17380 (expunge_block_nocompact): Declare.
17381 * cfg.c (expunge_block_nocompact): Split out from ...
17382 (expunge_block): ... here.
17383 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
17384 (flow_delete_block_noexpunge): Split out from ...
17385 (flow_delete_block): ... here.
17386 * cfgcleanup.c (delete_unreachable_blocks): Compact while
17387 removing dead blocks.
17388 * except.c (exception_handler_labels): Remove.
17389 (exception_handler_label_map): New.
17390 (struct eh_region): Add aka member.
17391 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
17392 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
17393 (for_each_eh_label, for_each_eh_label_1): New.
17394 (init_eh): Register exception_handler_label_map.
17395 (free_eh_status): Use free_region.
17396 (find_exception_handler_labels): Use the map, not the list.
17397 (remove_exception_handler_label): Likewise.
17398 (maybe_remove_eh_handler): Likewise.
17399 (remove_eh_handler): Use the region aka bitmap.
17400 * except.h (exception_handler_labels): Remove.
17401 (for_each_eh_label): Declare.
17402 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
17403 * loop.c (invalidate_loops_containing_label): New.
17404 (find_and_verify_loops): Use it. Use for_each_eh_label.
17405 * sched-rgn.c (is_cfg_nonregular): Use
17406 current_function_has_exception_handlers.
17407
b47374fa
RH
174082002-04-09 Richard Henderson <rth@redhat.com>
17409
17410 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
17411 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
17412 Do not return changed status.
17413 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
17414 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
17415 New functions that do return changed status.
17416 * sbitmap.h: Update decls.
17417 * gcse.c, lcm.c: Use _cg functions as needed.
17418
1951818c
R
17419Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
17420
17421 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
17422 (sh64-*-elf*, sh-*-rtemself*): Likewise.
17423 * config/sh/embed_bb.c: New file.
17424 * config/sh/embed-elf.h: New file.
17425 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
17426 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
17427 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
17428 __PTRDIFF_TYPE__ .
17429 (SUBTARGET_CPP_PTR_SPEC): Don't define.
17430 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
17431 Add subtarget_asm_endian_spec.
17432 (ASM_SPEC): Use subtarget_asm_endian_spec.
17433 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
17434 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
17435 (WCHAR_UNSIGNED): Define.
17436 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
17437 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17438 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
17439 Fix value.
17440 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
17441 (sh_adjust_cost): Likewise.
17442 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
17443 __PTRDIFF_TYPE__ .
17444 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
17445 (WCHAR_TYPE_SIZE): Likewise.
17446 (ASM_SPEC): Use subtarget_asm_endian_spec.
17447 (SH_ELF_WCHAR_TYPE): #undef/ #define.
17448 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
17449 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
17450 (MAX_WCHAR_TYPE_SIZE): Don't #define .
17451 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
17452 (USER_LABEL_PREFIX): Don't #undef /#define .
17453 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17454 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
17455 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
17456 (ASM_SPEC): Likewise.
17457 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
17458 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
17459 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
17460 (LIB2FUNCS_EXTRA): Define.
17461 * t-sh64 (LIB2FUNCS_EXTRA): Define.
17462 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
17463 (LIB1ASMFUNCS_CACHE): Define.
17464 (LIB2FUNCS_EXTRA): Redefine empty.
17465
34295799
RH
174662002-04-08 Richard Henderson <rth@redhat.com>
17467
17468 * reorg.c (get_branch_condition): Use reversed_comparison_code.
17469
e8766a39
SC
174702002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17471
17472 * config/m68hc11/larith.asm (__map_data_section): Fix condition
17473 and optimize for size.
17474 (__do_global_ctors): Fix pointer comparison.
17475 (__do_global_dtors): Likewise.
17476
f451b552
DM
174772002-04-09 David S. Miller <davem@redhat.com>
17478
17479 * config/sparc/sparc.c (sparc_extra_constraint_check): New
17480 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
17481 allow reloading pseudos.
17482 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
17483 * config/sparc/sparc-protos.h: Declare it.
17484
17485 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
17486 unsigned comparison warning.
17487 (output_restore_regs): Mark leaf_function as unused.
17488
1ce7f3c2
RK
17489Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17490
17491 * expr.c (is_aligning_offset): New function.
17492 (expand_expr, case COMPONENT_EXPR): Call it.
17493
7a31a340
DM
174942002-04-08 David S. Miller <davem@redhat.com>
17495
17496 PR target/6082
17497 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
17498
17499 Make init_priority work on Sparc when using GNU ld.
17500 * config/sparc/linux.h, config/sparc/linux64.h,
17501 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
17502 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
17503 * config/sparc/sol2-gld.h: New file to do the same.
17504 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
17505 sparc/sol2-gld.h to tm_file.
17506
17507 PR optimization/4328
17508 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
17509 * doc/md.texi: Document it.
17510 * config/sparc/sparc.md (movdi_insn_sp64_novis,
17511 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
17512 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
17513 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
17514 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
17515
11579f33
AJ
175162002-04-08 Andreas Jaeger <aj@suse.de>
17517
17518 * stmt.c (expand_asm_operands): Revert last patch from Richard
17519 Henderson.
17520
b57215d9
GP
175212002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17522
17523 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
17524 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
17525
175262002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17527
17528 * doc/contrib.texi (Contributors): Add David O'Brien.
17529
534d0cc0
AM
175302002-04-08 Alan Modra <amodra@bigpond.net.au>
17531
17532 * configure.in (auto-build.h): Use target_alias and build_alias
17533 when running configure.
17534 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
17535 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
17536 * configure: Regenerate.
17537
19fe522a
DM
175382002-04-07 David S. Miller <davem@redhat.com>
17539
17540 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
17541
bf2d0b8e
JDA
175422002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
17543
17544 PR 5933
17545 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
17546 generating 32-bit pic code.
17547
477cdac7
JT
175482002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
17549
17550 * cppinit.c (cpp_create_reader): Initialize
17551 discard_comments_in_macro_exp.
17552 (COMMAND_LINE_OPTIONS): Add "-CC" option.
17553 (cpp_handle_option): Handle "-CC" option.
17554 * cpplex.c (save_comment): If saving a C++ comment in
17555 a directive, convert it to a C comment.
17556 (_cpp_lex_direct): Pass second comment start character to
17557 save_comment to indicate comment type.
17558 * cpplib.c (_cpp_handle_directive): If processing
17559 a "#define" directive and discard_comments_in_macro_exp
17560 is false, re-enable saving of comments.
17561 (lex_macro_node): If discard_comments_in_macro_exp is false,
17562 discard any comments before the macro identifier.
17563 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
17564 member.
17565 * cppmacro.c (cpp_get_token): If expanding a macro while
17566 processing a directive, discard any comments we might encounter.
17567 (parse_params): If discard_comments_in_macro_exp is false,
17568 ignore comments in the macro parameter list.
17569 * gcc.c (cpp_unique_options): Add "-CC" option.
17570 (option_map): Map "--comments-in-macros" to "-CC".
17571 * doc/cppopts.texi: Document "-CC" option.
17572 * f/lang-specs.h: Add "-CC" option.
17573 * testsuite/gcc.dg/cpp/maccom1.c: New test.
17574 * testsuite/gcc.dg/cpp/maccom2.c: New test.
17575 * testsuite/gcc.dg/cpp/maccom3.c: New test.
17576 * testsuite/gcc.dg/cpp/maccom4.c: New test.
17577 * testsuite/gcc.dg/cpp/maccom5.c: New test.
17578 * testsuite/gcc.dg/cpp/maccom6.c: New test.
17579
f1526122
JDA
175802002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
17581
17582 PR middle-end/6180
17583 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
17584
b1896e61
MM
175852002-04-06 Mark Mitchell <mark@codesourcery.com>
17586
0154eaa8
MM
17587 PR c++/5571
17588 * stor-layout.c (layout_decl): Reset the RTL for the decl.
17589
b1896e61
MM
17590 PR opt/5120
17591 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
17592 RTX_UNCHANGING_P for the functions arguments when a tail call
17593 is made.
17594
b0148884
JM
175952002-04-06 Jason Merrill <jason@redhat.com>
17596
17597 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
17598 (parse_options_and_default_flags): Set them appropriately.
17599 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
17600
392fc5b0
HPN
176012002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
17602
17603 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
17604 here.
17605
17606 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
17607 semicolon.
17608
17609 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
17610 types come in by-reference. Fix typo in comment.
17611
2d69e3cb
DM
176122002-04-05 David S. Miller <davem@redhat.com>
17613
17614 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
17615 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
17616 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
17617 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
17618
176192002-04-05 David S. Miller <davem@redhat.com>
17620
17621 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
17622 are not going to emit return instructions, emit at least a nop
17623 for the sake of sane backtraces.
17624
5f9fb0e3
RH
176252002-04-05 Richard Henderson <rth@redhat.com>
17626
17627 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
17628
49f37a0d
JJ
176292002-04-05 Jakub Jeilnek <jakub@redhat.com>
17630
17631 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
17632
974a3101
AO
176332002-04-05 Alexandre Oliva <aoliva@redhat.com>
17634
17635 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
17636 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
17637 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
17638
2e04a694
AS
176392002-04-05 Andreas Schwab <schwab@suse.de>
17640
a40179bd 17641 * c-convert.c: Include c-common.h.
2e04a694
AS
17642 * Makefile.in (c-convert.o): Updated.
17643
1f785b7c
JJ
176442002-04-05 Jakub Jelinek <jakub@redhat.com>
17645
17646 * mklibgcc.in: Use separate libgcc.map for each multilib.
17647 * Makefile.in (distclean): Don't remove libgcc.map here.
17648
4d2fb38b
JJ
176492002-04-05 Jakub Jelinek <jakub@redhat.com>
17650
17651 * Makefile.in (s-mlib): Handle --disable-multilib by separate
17652 genmultilib invocation.
17653
bb63e5a0
RS
176542002-04-04 Richard Sandiford <rsandifo@redhat.com>
17655
17656 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
17657 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
17658 to num_gprs for symmetry.
17659 * config/mips/mips.c: Adjust accordingly.
17660
8ab80eaa
NB
176612002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
17662
17663 * c-common.c (truthvalue_conversion): Rename, update.
17664 * c-common.h (c_common_truthvalue_conversion): New.
17665 * c-convert.c (convert): Update.
17666 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
17667 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
17668 * c-typeck.c (build_binary_op, build_unary_op,
17669 build_conditional_expr): Update.
17670 * fold-const.c (constant_boolean_node, fold): Use langhook.
17671 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
17672 * langhooks.h (struct lang_hooks): New hook.
17673 * stmt.c (expand_decl_cleanup): Use langhook.
17674 * tree.h (truthvalue_conversion): Remove.
17675objc:
17676 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
17677
a2e9374a
AM
176782002-04-05 Alan Modra <amodra@bigpond.net.au>
17679
17680 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
17681 Add rules to make null object file.
17682
64d08263
JB
176832002-04-04 Jim Blandy <jimb@redhat.com>
17684
17685 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
17686 macro formal parameter names.
17687
aa7634dd
DM
176882002-04-04 David S. Miller <davem@redhat.com>
17689
17690 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
17691
ecc114f7
RH
176922002-04-04 Richard Henderson <rth@redhat.com>
17693
17694 PR middle-end/5099
17695 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
17696 Support copies into and out of memory. Don't accept allows_reg
17697 and allows_mem as gospel.
17698
c4484b8f
RH
176992002-04-04 Richard Henderson <rth@redhat.com>
17700
17701 PR opt/6165
17702 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
17703 (write_dependence_p): Likewise.
17704
39002160
RH
177052002-04-04 Richard Henderson <rth@redhat.com>
17706
17707 * predict.c (estimate_bb_frequencies): Do frequency calculation
17708 with a volatile temporary.
17709
f53ebe71
UW
177102002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
17711
17712 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
17713
15e0ecab
JJ
177142002-04-04 Jakub Jelinek <jakub@redhat.com>
17715
17716 PR c++/6119
17717 * final.c (final_start_function): Don't bump profile_label_no here...
17718 (final_end_function): ...but here.
17719
ffd386b0
JJ
177202002-04-04 Jakub Jelinek <jakub@redhat.com>
17721
17722 * config/sparc/sparc.md (pic): New attribute.
17723 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
17724 into stack slots.
17725 (split after do_builtin_setjmp_setup): New.
17726
8b156b3e
JJ
177272002-04-04 Jakub Jelinek <jakub@redhat.com>
17728
17729 PR fortran/6106
17730 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
17731 change.
17732
014c0998
JJ
177332002-04-04 Jakub Jelinek <jakub@redhat.com>
17734
17735 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
17736 UNITS_PER_WORD for zero sized aggregates.
17737
4d8611d9
DM
177382002-04-03 David S. Miller <davem@redhat.com>
17739
17740 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
17741 one-character spec for this, just use %(link_gcc_c_sequence).
17742
b03ad99d
DM
177432002-04-03 David S. Miller <davem@redhat.com>
17744
17745 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
17746 handling.
17747
823fbbce
JDA
177482002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
17749
17750 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
17751 (DWARF_FRAME_RETURN_COLUMN): Move.
17752 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
17753 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
17754 * pa.c (except.h, predict.h): Include.
17755 (FRP): Delete.
17756 (store_reg_modify, set_reg_plus_d): Revise prototypes.
17757 (output_ascii): Add cast.
17758 (store_reg_modify): Revise to add frame notes.
17759 (set_reg_plus_d): Likewise.
17760 (compute_frame_size): Include space for eh data registers in frame if
17761 the current function calls eh_return.
17762 (hppa_expand_prologue): Ensure register %r2 is saved if the current
17763 function calls eh_return. Save eh data registers if the current
17764 function calls eh_return. Fix code to add frame notes. Emit
17765 blockage to prevent insns with frame notes being scheduled in the
17766 delay slot of calls.
17767 (hppa_expand_epilogue): Restore eh data registers and do final stack
17768 adjustment if the current function calls eh_return. Don't add frame
17769 notes.
17770 (output_call): Revise for change in length of call insn. Don't do
17771 return pointer adjustment for an unconditional jump in the delay slot
17772 of a call when using frame notes.
17773 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
17774 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
17775 (ARG_POINTER_CFA_OFFSET): Define.
17776 * pa.md (return_external_pic): New pattern.
17777 (prologue): Correct formatting. Use return_external_pic if current
17778 function calls eh_return.
17779 (call_internal_symref, call_value_internal_symref,
17780 sibcall_internal_symref, sibcall_value_internal_symref): Change default
17781 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
17782 respectively.
17783 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
17784
17785 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
17786 list of targets to check using "nop" insn.
17787 * configure: Rebuilt.
17788
4078e224
AM
177892002-04-04 Alan Modra <amodra@bigpond.net.au>
17790
17791 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
17792
bbd7687d
DM
177932002-04-03 David S. Miller <davem@redhat.com>
17794
17795 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
17796 library sequence passed to the linker.
17797 (LINK_COMMAND_SPEC): Use it.
17798 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
17799 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
17800 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
17801
659e5a7a
JM
178022002-04-03 Jason Merrill <jason@redhat.com>
17803
17804 * except.c (struct eh_status): Remove protect_list.
17805 (begin_protect_partials, end_protect_partials): Remove.
17806 (add_partial_entry): Remove.
17807 * except.h: Remove prototypes.
17808
17809 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
17810 expand_decl_cleanup_eh.
17811
17812 PR c++/5636
17813 * tree.h (CLEANUP_EH_ONLY): New macro.
17814 * stmt.c (expand_decl_cleanup_eh): New fn.
17815 (expand_cleanups): Check CLEANUP_EH_ONLY.
17816 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
17817 Use expand_decl_cleanup_eh.
17818 (expand_stmt): Adjust.
17819 * c-common.h: Adjust prototype.
17820
053d3344
HPN
178212002-04-04 Hans-Peter Nilsson <hp@axis.com>
17822
17823 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
17824 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
17825 (cris_target_asm_function_epilogue): Ditto.
17826 (cris_initial_frame_pointer_offset): Ditto.
17827 (cris_simple_epilogue): Ditto.
17828 (cris_expand_builtin_va_arg): Variable-size types come in
17829 by-reference.
17830
61ab5260
DM
178312002-04-03 David S. Miller <davem@redhat.com>
17832
17833 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
17834 little-endian.
17835 (set_fast_math): Correct 'fsr' type.
17836
ef4f94ac
RH
178372002-04-03 Richard Henderson <rth@redhat.com>
17838
36c2272c 17839 PR opt/3569
ef4f94ac
RH
17840 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
17841 * toplev.c (check_global_declarations): Use it.
17842 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
17843 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17844 (LANG_HOOKS_DECLS): Add it.
17845 * langhooks.c (lhd_warn_unused_global_decl): New.
17846 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17847 * c-objc-common.c (c_warn_unused_global_decl): New.
17848 * c-tree.h (c_warn_unused_global_decl): Declare.
17849 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17850
599bba86
NB
178512002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
17852
17853 * langhooks-def.h (lhd_set_decl_assembler_name,
17854 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
17855 (LANG_HOOKS_INITIALIZER): Update.
17856 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
17857 * langhooks.h (struct lang_hooks): New hook.
17858 * tree.c (set_decl_assembler_name): Move to langhooks.c.
17859 (lang_set_decl_assembler_name): Remove.
17860 (init_obstacks): Don't set hook.
17861 (decl_assembler_name): New function.
17862 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
17863 (decl_assembler_name): New.
17864 (lang_set_decl_assembler_name): Remove.
17865
cf7b8b0d
JJ
178662002-04-03 Jakub Jelinek <jakub@redhat.com>
17867
17868 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
17869 works properly with .hidden symbols.
17870 * configure: Rebuilt.
17871 * config.in: Rebuilt.
17872 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
17873 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
17874 properly with .hidden symbols.
17875
faf6db38
JJ
178762002-04-03 Jakub Jelinek <jakub@redhat.com>
17877
17878 PR middle-end/6102
17879 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
17880 USE argument.
17881
68c17f30
RH
178822002-04-03 Richard Henderson <rth@redhat.com>
17883
17884 PR opt/4120
17885 * sched-rgn.c (sets_likely_spilled): New.
17886 (sets_likely_spilled_1): New.
17887 (add_branch_dependences): Use it.
17888
6584b4aa
RH
178892002-04-02 Richard Henderson <rth@redhat.com>
17890
17891 PR opt/4311
17892 * loop.h (LOOP_FIRST_PASS): New.
17893 * loop.c (strength_reduce): Mind it when deciding to unroll.
17894 * toplev.c (rest_of_compilation): Set it.
17895
0acf409f
DM
178962002-04-02 David S. Miller <davem@redhat.com>
17897
17898 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
17899 mems_ok_for_ldd_peep when the order of the loads being examined
17900 is reversed.
17901 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
17902 existing comment to increase comprehension of this situation.
17903
85654444
ZW
179042002-04-02 Zack Weinberg <zack@codesourcery.com>
17905
17906 * config/sh/sh.md: Don't use union real_extract.
17907
543828ca
RH
179082002-04-02 Richard Henderson <rth@redhat.com>
17909
17910 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
17911
39ed301b
DB
179122002-04-02 David O'Brien <obrien@FreeBSD.org>
17913
17914 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
17915 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
17916 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
17917 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
17918 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
17919 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
17920 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
17921 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
17922 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
17923 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
17924 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
17925 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
17926 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
17927 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
17928 Include as many configury headers via tm_file as possible. This
17929 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
17930 * config/openbsd-oldgas.h: New file.
17931 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
17932 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
17933 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
17934 config/i386/i386-coff.h, config/i386/i386-interix.h,
17935 config/i386/iscdbx.h, config/i386/linux-aout.h,
17936 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
17937 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
17938 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
17939 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
17940 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
17941 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
17942 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
17943 config/i386/vxi386.h: Do not directly include configury headers.
17944 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
17945 Directly include configury headers that are no longer automatically
17946 included by the above headers.
17947 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
17948 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
17949 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
17950 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
17951 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
17952 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
17953 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
17954 (TARGET_VERSION): Define.
17955 * config/i386/beos-elf.h, config/i386/freebsd.h,
17956 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
17957 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
17958 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
17959 config/i386/sco5.h, config/i386/sysv4.h
17960 (TARGET_VERSION): Do not need to protect.
17961 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
17962 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
17963 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
17964 config/i386/i386-interix.h, config/i386/linux-aout.h,
17965 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
17966 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
17967 (YES_UNDERSCORES): Do not define - not needed.
17968 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
17969 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
17970 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
17971 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
17972 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
17973 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
17974 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
17975 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
17976
9432c136
EB
179772002-04-02 Eric Botcazou <ebotcazou@multimania.com>
17978 Richard Henderson <rth@redhat.com>
17979
17980 PR c/5484
17981 * function.c (assign_temp): Accept either type or decl argument.
17982 Detect variables whose size is too large to fit into an integer.
17983 * stmt.c (expand_decl): Pass the decl, not the type.
17984
058b1275
DB
179852002-04-02 David O'Brien <obrien@FreeBSD.org>
17986
17987 * protoize.c: Match include directory usage with cppdefault.c.
17988
5add6d1a 179892002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 17990 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
17991
17992 * combine.c (simplify_comparison): Avoid narrowing a comparison
17993 with a paradoxical subreg when doing so would drop signficant bits.
17994
1e533e4b
SE
179952002-04-02 Steve Ellcey <sje@cup.hp.com>
17996
17997 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
17998 if POINTERS_EXTEND_UNSIGNED is defined.
17999
7a145e92
RH
180002002-04-02 Richard Henderson <rth@redhat.com>
18001
18002 PR opt/3967
18003 * local-alloc.c (contains_replace_regs): LO_SUM may contain
18004 replace regs.
18005
3a079822
RH
180062002-04-02 Richard Henderson <rth@redhat.com>
18007
18008 * doc/standards.texi: Document required freestanding libc entry points.
18009
c94ccb87
AM
180102002-04-02 Alan Modra <amodra@bigpond.net.au>
18011
18012 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
18013 associated splitter. Remove MQ constraint.
18014 (ctrdi_internal4): Correct CCmode clobber.
18015
fe660a1a
JDA
180162002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
18017
18018 * milli64.S ($$dyncall): New function.
18019 * t-linux (LIB1ASMFUNCS): Revise module list.
18020 (LIB1ASMSRC): Use pa/milli64.S.
18021
eadc0202
RH
180222002-04-02 Richard Henderson <rth@redhat.com>
18023
18024 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
18025 rename solaris_sys_varargs_h.
18026
a1471322
RK
18027Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18028
18029 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
18030 the same mode as its component.
18031
c8b94768
RH
180322002-04-02 Richard Henderson <rth@redhat.com>
18033
18034 PR opt/190
18035 * final.c (this_is_asm_operands): Export.
18036 * output.h (this_is_asm_operands): Declare.
18037 * config/i386/i386.c (print_operand): Error odd asm operands.
18038
161eb4fc
RH
180392002-04-02 Richard Henderson <rth@redhat.com>
18040
18041 PR opt/420
18042 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
18043
b88a94c6
RH
180442002-04-01 Richard Henderson <rth@redhat.com>
18045
18046 PR target/1538
18047 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
18048 * fixinc/fixincl.x: Rebuild.
18049
72e32876
RH
180502002-04-01 Richard Henderson <rth@redhat.com>
18051
18052 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
18053 (atomic_alloc, atomic_free): New.
18054 (SIZE, MASK_FOR, PTR_IN): New.
18055 (emergency_reg_state, emergency_reg_state_free): New.
18056 (emergency_labeled_state, emergency_labeled_state_free): New.
18057 (reg_state_alloced, labeled_state_alloced): New.
18058 (alloc_reg_state, free_reg_state): New.
18059 (alloc_label_state, free_label_state, free_label_states): New.
18060 (push, pop, dup_state_stack, free_state_stack): Use them.
18061 (desc_label_state): Likewise.
18062 (uw_frame_state_for): Free label states and state stack.
18063 (uw_update_reg_address): Eliminate warnings.
18064
84d76074
VM
180652002-04-01 Vladimir Makarov <vmakarov@redhat.com>
18066
18067 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 18068 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 18069
dffd7eb6
NB
180702002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
18071
18072 * c-decl.c (grokdeclarator): Update.
18073 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
18074 * c-tree.h (c_mark_addressable): New.
18075 * c-typeck.c (default_function_array_conversion, build_unary_op,
18076 build_array_ref, convert_for_assignment): Update.
18077 (mark_addressable): Rename.
18078 * calls.c (try_to_integrate, expand_call): Use langhook.
18079 * expr.c (expand_expr): Use langhook.
18080 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
18081 * langhooks.h (struct lang_hooks): New hook.
18082 * stmt.c (expand_asm_operands): Use langhook.
18083 * tree.h (mark_addressable): Remove.
18084objc:
18085 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
18086
544ef5b5
BW
180872002-04-01 Bob Wilson <bob.wilson@acm.org>
18088
9be40833
RH
18089 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
18090 in previous change.
544ef5b5 18091
bcf88f9b
BW
180922002-04-01 Bob Wilson <bob.wilson@acm.org>
18093
18094 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
18095 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
18096
ceef8ce4
NB
180972002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
18098
18099 * c-common.c (unsigned_conversion_warning, convert_and_check,
18100 unsigned_type, signed_type, shorten_compare,
18101 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
18102 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
18103 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
18104 New.
18105 * c-decl.c (grokdeclarator): Update.
18106 * c-format.c (check_format_types): Update.
18107 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
18108 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
18109 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
18110 * convert.c (convert_to_integer): Use new hooks.
18111 * expmed.c (make_tree): Use new hooks.
18112 * expr.c (store_expr): Use new hooks.
18113 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
18114 all_ones_mask_p, unextend, fold): Use new hooks.
18115 * langhooks.h (struct lang_hooks_for_types): New hooks.
18116 * tree.h (signed_or_unsigned_type, signed_type,
18117 unsigned_type): Remove.
18118objc:
18119 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
18120 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
18121
1d9ad0e0
RH
181222002-03-31 Richard Henderson <rth@redhat.com>
18123
18124 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
18125 (desc_frgr_mem): Fix reference to f16-f31.
18126
d544bc39
KG
181272002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18128
18129 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
18130 RTVEC_ELT): Const-ify.
d8750784
KG
18131 * varray.h (VARRAY_CHECK): Const-ify.
18132 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
18133 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 18134
b18101c7
NB
181352002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
18136
18137 * diagnostic.c: Include langhooks-def.h.
18138 * Makefile.in (diagnostic.o): Update.
18139
48a7a235
NB
181402002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
18141
18142 * c-common.c (c_unsafe_for_reeval): Rename.
18143 * c-common.h (c_unsafe_for_reeval): Rename.
18144 * c-decl.c (finish_incomplete_decl): Rename.
18145 (c_init_decl_processing): Don't set langhook.
18146 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
18147 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
18148 * c-objc-common.c (c_objc_common_init): Don't set langhook.
18149 * c-tree.h (finish_incomplete_decl): Rename.
18150 * langhooks-def.h (lhd_unsafe_for_reeval): New.
18151 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
18152 (LANG_HOOKS_INITIALIZER): Update.
18153 * langhooks.c (lhd_unsafe_For_reeval): New.
18154 * langhooks.h (struct langhooks): New hooks.
18155 * toplev.c (incomplete_decl_finalize_hook): Remove.
18156 (wrapup_global_declarations): Update.
18157 * tree.c (lang_unsafe_for_reeval): Remove.
18158 (unsafe_for_reeval): Update.
18159 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
18160 Remove.
18161objc:
18162 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
18163 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
18164
7cb32822
NB
181652002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
18166
18167 * diagnostic.c (print_error_function): Remove.
18168 (default_print_error_function): Rename.
18169 (report_error_function): Update.
18170 * diagnostic.h (print_error_function): Remove.
18171 (default_print_error_function): Remove.
18172 * langhooks-def.h (struct diagnostic_context): Predeclare.
18173 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
18174 (LANG_HOOKS_INITIALIZER): Update.
18175 * langhooks.h (struct diagnostic context): Predeclare.
18176 (struct lang_hooks): New hook.
18177
1db02437
FS
181782002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18179
18180 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
18181 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
18182 !flag_pic.
18183 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
18184 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
18185 of PIC_OFFSET_TABLE_REGNUM thruout.
18186 * config/rs6000/rs6000.md: Likewise.
18187 * config/rs6000/darwin.h: Likewise.
18188
3bf1e984
RK
18189Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18190
18191 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
18192 unsigned HOST_WIDE_INT, not unsigned int.
18193
0864c526
JJ
181942002-03-31 Jakub Jelinek <jakub@redhat.com>
18195
18196 PR middle-end/6096, middle-end/6098, middle-end/6099
18197 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
18198 CODE_LABELs.
18199 (fill_slots_from_thread): Likewise.
18200
105b2084
JJ
182012002-03-31 Jakub Jelinek <jakub@redhat.com>
18202
18203 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
18204 floating fields in float regs.
18205 (function_arg_record_value_2): Likewise.
18206
db08fddf
HPN
182072002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
18208
18209 * config/mmix/mmix.md (define_constants): Remove misleading
18210 FIXME. Add MMIX_fp_rO_OFFSET.
18211 ("nonlocal_goto_receiver"): Don't have stack-frame address of
18212 saved rO as part of the pattern. Remove FIXME.
18213 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
18214 here, at output-time.
18215
4f31cce8
JJ
182162002-03-31 Jakub Jelinek <jakub@redhat.com>
18217
18218 PR middle-end/6100
18219 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
18220 REG_BR_PRED.
18221 (output_v9branch): Likewise.
18222
ba2b7435
AO
182232002-03-31 Alexandre Oliva <aoliva@redhat.com>
18224
18225 * gcc.c: Revert previous patch for now.
18226 * config/i386/djgpp.h: Likewise.
18227
aa66aa5f 182282002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
18229
18230 * config/mmix/crti.asm (_init): Register _fini with atexit.
18231 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
18232
41ba8a20
RH
182332002-03-31 Richard Henderson <rth@redhat.com>
18234
18235 PR target/3997
18236 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
18237 (ASM_OUTPUT_DEF_FROM_DECLS): New.
18238
adc186ef
RH
182392002-03-31 Richard Henderson <rth@redhat.com>
18240
18241 * libgcc2.c (__bb_exit_func): Make static.
18242
9be40833 18243 * config/alpha/alpha.md (trap): New.
a7648399 18244
9602f5a0
RH
182452002-03-31 Richard Henderson <rth@redhat.com>
18246
18247 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
18248 promoted argument types; build trap.
18249 (expand_builtin_trap): New.
18250 (expand_builtin): Use it.
18251 * stmt.c (expand_nl_goto_receivers): Likewise.
18252 * expr.h (expand_builtin_trap): Declare.
18253 * libfuncs.h (LTI_abort, abort_libfunc): New.
18254 * optabs.c (init_optabs): Init abort_libfunc.
18255
1a0a7539
AO
182562002-03-31 Alexandre Oliva <aoliva@redhat.com>
18257
18258 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
18259 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 18260 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
18261 shared_name in the second copy.
18262 (init_spec): Test for duplicate
18263 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
18264
b5de1a27
DM
182652002-03-30 David S. Miller <davem@redhat.com>
18266
18267 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
18268 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
18269
78414d74 182702002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 18271 Richard Henderson <rth@redhat.com>
78414d74 18272
9be40833
RH
18273 * regmove.c (combine_stack_adjustments_for_block): Avoid
18274 emitting a stack adjustment of zero bytes. Let delete_insn
18275 update bb->head.
78414d74 18276
33074e5f
RH
182772002-03-30 Richard Henderson <rth@redhat.com>
18278
18279 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
18280 (sparc_emitting_epilogue): New.
18281 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
18282 * config/sparc/sparc-protos.h: Update.
18283 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
18284 (TARGET_SWITCHES): Update.
18285 * config/sparc/sparc.md (return): Remove.
18286 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
18287 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
18288 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
18289 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
18290 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
18291 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
18292 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
18293 Remove MASK_EPILOGUE.
18294 * doc/invoke.texi: Update.
18295
606cc056
DB
182962002-03-30 Daniel Berlin <dan@dberlin.org>
18297
18298 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
18299 CPP will start the file for us.
7b2e1077 18300
bdbe5b8d
RH
183012002-03-30 Richard Henderson <rth@redhat.com>
18302
18303 PR target/5446
18304 * config/ia64/ia64.c (group_barrier_needed_p): Special case
18305 prologue_allocate_stack.
18306 (ia64_single_set): Use insn codes for recognition of special
18307 cases, not rtl matching.
18308 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
18309
4ab95d82
JH
18310Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
18311
18312 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
18313
89a8b315
RH
183142002-03-30 Richard Henderson <rth@redhat.com>
18315
18316 PR target/6032
18317 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
18318 or -fomit-frame-pointer with profiling.
18319 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
18320 (FUNCTION_PROFILER): Do nothing.
18321 (PROFILE_HOOK): New.
18322 * config/sparc/sparc.c (sparc_override_options): Don't check
18323 code models for profiling.
18324 (sparc_function_profiler): Remove.
18325 (sparc_profile_hook): New.
18326 * config/sparc/sparc-protos.h: Update.
18327
30984c57
JJ
183282002-03-30 Jakub Jelinek <jakub@redhat.com>
18329
18330 PR optimization/6086
18331 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
18332 of SUBREG of volatile MEM or because the MEM was mode dependent,
18333 return CLOBBER instead of unmodified SUBREG.
18334
1540f9eb
JH
18335Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
18336
89a8b315
RH
18337 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
18338 when not optimizing.
1540f9eb
JH
18339
18340 * toplev.c (rest_of_compilation): Cann mark_constant_function
18341 only when optimizing.
18342
89a8b315
RH
18343 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
18344 are NULL.
1540f9eb
JH
18345
18346 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
18347 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
18348 (try_optimize_cfg): clear all AUX fields.
18349
18350 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
18351 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
18352 (ix86_address_cost): Be prepared for SUBREGed registers.
18353 (legitimate_address_p): Accept SUBREGed registers.
18354
70d95bac
RH
183552002-03-29 Richard Henderson <rth@redhat.com>
18356
18357 PR target/5672
18358 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
18359
d3294cd9
FS
183602002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18361
18362 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
18363 for aggregate and TFmode types.
18364
a106c875
HPN
183652002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
18366
18367 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
18368
7d7a5d6f
RH
183692002-03-29 Richard Henderson <rth@redhat.com>
18370
6e2d670b 18371 PR target/5886
7d7a5d6f
RH
18372 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
18373 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
18374
30c99a84
RH
183752002-03-29 Richard Henderson <rth@redhat.com>
18376
6e2d670b 18377 PR target/6041
30c99a84
RH
18378 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
18379 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
18380 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
18381 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
18382 conditional.
18383 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
18384
02a566dc
DJ
183852002-03-29 Dale Johannesen <dalej@apple.com>
18386
18387 * loop.c (combine_movables): Do allow combination of pseudos.
18388
bc3a44db
LR
183892002-03-29 Loren J. Rittle <ljrittle@acm.org>
18390
18391 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
18392 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
18393 No functional change except ...
18394 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
18395 * doc/install.texi (*-*-freebsd*): Document port configuration.
18396
b0c48229
NB
183972002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
18398
18399 * Makefile.in (convert.o, calls.o, expmed.o): Update.
18400 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
18401 Use new hooks.
18402 * builtin-types.def (BT_PTRMODE): Update.
18403 * c-common.c (type_for_size): Rename c_common_type_for_size.
18404 (type_for_mode): Similarly.
18405 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
18406 Use new hook.
18407 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
18408 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
18409 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
18410 Redefine.
18411 * c-typeck.c (common_type, comptypes, default_conversion):
18412 Use new hooks.
18413 * calls.c: Include langhooks.h.
18414 (emit_library_call_value_1): Use new hooks. Avoid redundant
18415 calls.
18416 * convert.c: Include langhooks.h
18417 (convert_to_pointer, convert_to_integer): Use new hooks.
18418 * except.c (init_eh): Similarly.
18419 * expmed.c: Include langhooks.h.
18420 (expand_mult_add): Use new hooks.
18421 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
18422 try_casesi): Similarly.
18423 * fold-const.c (optimize_bit_field_compare, make_range,
18424 decode_field_reference, fold_truthop, fold): Similarly.
18425 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
18426 put_var_into_stack): Similarly.
18427 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
18428 LANG_HOOKS_TYPE_FOR_SIZE): New.
18429 (LANG_HOOKS_TYPES_INITIALIZER): Update.
18430 * langhooks.h (lang_hooks_for_types): New hooks.
18431 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
18432 * tree.c (get_unwidened, get_narrower): Similarly.
18433 * tree.h (type_for_mode, type_for_size): Remove.
18434 * varasm.c (force_const_mem): Use new hooks.
18435 * utils2.c (nonbinary_modular_operation): Update.
18436objc:
18437 * objc-act.c (handle_impent): Update.
18438 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
18439 Redefine.
18440
e206a74f
SE
184412002-03-29 Steve Ellcey <sje@cup.hp.com>
18442
18443 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
18444 * config/ia64/ia64.c (basereg_operand): New.
18445 * config/ia64/ia64-protos.h (basereg_operand): Declare.
18446 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
18447
7d9b6378
HPN
184482002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
18449
18450 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
18451 unwind information when frame_pointer_needed.
18452 (mmix_assemble_integer): Tweak wording in comment.
18453
f1e639b1
NB
184542002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
18455
18456 * Makefile.in (except.o): Update.
18457 * except.c: Include langhooks.h.
18458 (init_eh): Use langhook.
18459 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
18460 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
18461 (LANG_HOOKS_INITIALIZER): Update.
18462 * langhooks.h (lang_hooks_for_types): New.
18463 (struct lang_hooks): Add it.
18464 * tree.c (make_lang_type_fn, make_lang_type): Remove.
18465 * tree.h (make_lang_type_fn, make_lang_type): Remove.
18466config:
18467 * alpha/alpha.c: Include langhooks.h.
18468 (alpha_build_va_list): Use langhook.
18469 * d30v/d30v.c: Include langhooks.h.
18470 (d30v_build_va_list): Use langhook.
18471 * i386/i386.c: Include langhooks.h.
18472 (ix86_build_va_list): Use langhook.
18473 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
18474 * s390/s390.c: Include langhooks.h.
18475 (s390_build_va_list): Use langhook.
18476 * stormy16/stormy16.c: Include langhooks.h.
18477 (stormy16_build_va_list): Use langhook.
18478
f17f9332
JJ
184792002-03-29 Jakub Jelinek <jakub@redhat.com>
18480
18481 PR c++/5964
18482 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
18483 attributes.
18484 (length): Compute variable length for branches/calls/jumps here.
18485 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
18486 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
18487 define branch_type attribute.
18488 (divsi3_sp32): Maximum length is 6 not 7.
18489 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
18490 call_address_untyped_struct_value_sp32,
18491 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
18492 * config/sparc/sparc.c (empty_delay_slot): New function.
18493 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
18494 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
18495
0a0440c9
JJ
184962002-03-29 Jakub Jelinek <jakub@redhat.com>
18497
18498 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
18499 nonzero_bits if not needed.
18500 (nonzero_bits) [XOR]: Likewise.
18501 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
18502 reg_last_set_mode and mode are both MODE_INT, but not equal.
18503 (record_value_for_reg): Compute reg_last_set_nonzero_bits
18504 in nonzero_bits_mode for MODE_INT modes.
18505
c9045f47
RH
185062002-03-28 Richard Henderson <rth@redhat.com>
18507
18508 PR target/5715
18509 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
18510 to GAS. Correct drift between alternatives.
18511
f8ed1958
RH
185122002-03-28 Richard Henderson <rth@redhat.com>
18513
18514 PR target/6087
18515 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
18516
54e20385
LR
185172002-03-28 Alexandre Oliva <aoliva@redhat.com>
18518
18519 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
18520 emulation to the linker.
18521
185222002-03-28 Loren J. Rittle <ljrittle@acm.org>
18523
18524 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
18525 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
18526
8bc52806
JL
18527Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
18528
18529 * combine.c (simplify_and_const_int): Make sure to apply mask
18530 when force_to_mode returns a constant integer. PR3311.
18531
279dccc5
JDA
185322002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
18533
18534 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
18535
62aaa62c
GP
185362002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18537
18538 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
18539 and Objective-C Dialect Options.
18540
b8de5050
RH
185412002-03-28 Richard Henderson <rth@redhat.com>
18542
18543 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
18544 comparison should be done vs !=0 not >0 return code. Tidy cases.
18545
619708cc
RH
185462002-03-28 Richard Henderson <rth@redhat.com>
18547
18548 * c-decl.c (finish_function): New arg can_defer_p. Pass it
18549 on to c_expand_body.
18550 * c-tree.h (finish_function): Update decl.
18551 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
18552
b1d874d7
JH
18553Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
18554
18555 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
18556
f5eb5fd0
JH
18557Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
18558
18559 * rtlanal.c: Include flags.h
18560 (may_trap_p): Do not mark FP operations if trapping
18561 if !flag_trapping_math
18562 * Makefile.in (rtlanal.o): Add dependency on flag.h
18563 * ifcvt.c (noce_operand_ok): Avoid the lameness.
18564
81b4c798
ZW
185652002-03-27 Zack Weinberg <zack@codesourcery.com>
18566
18567 * mips.md: Use dconst1, not 1.0, as first argument of
18568 REAL_VALUE_LDEXP. Don't use union real_extract.
18569
55a2ea2a
AM
185702002-03-28 Alan Modra <amodra@bigpond.net.au>
18571
18572 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
18573 rather than $target. Heed program_prefix and
18574 program_transform_name. Search for gas in cross-compiler case too.
18575 "test -x" rather than "test -f".
18576 (gcc_cv_ld): Likewise.
18577 (gcc_cv_nm): Heed program_prefix and program_transform_name.
18578 (gcc_cv_objdump): Likewise.
18579 * configure: Regenerate.
18580
7ffb4fd2
NB
185812002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18582
18583 * Makefile.in (attribs.o): Update.
18584 * attribs.c: Include langhooks.h.
18585 (decl_attributes): Use langhook.
18586 * c-decl.c (insert_default_attributes): Rename.
18587 * c-tree.h (c_insert_default_attributes): New.
18588 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
18589 (LANG_HOOKS_INITIALIZER): Update.
18590 * langhooks.h (struct lang_hooks): New hook.
18591 * tree.h (insert_default_attributes): Remove.
18592objc:
18593 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
18594
e4dbaed5
AS
185952002-03-27 Andreas Schwab <schwab@suse.de>
18596
18597 * config/i386/i386.c (classify_argument): Also check for
18598 QUAL_UNION_TYPE.
18599
18b467f1
RO
186002002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18601
18602 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
18603 any more.
18604
d337d653
JH
18605Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
18606
18607 * i960.md (ret): Set PC.
18608 (nonlocal_goto): Fix expander.
18609 * builtins.c (epxand_builin_longjmp): Check that we've emitted
18610 some jump or call.
18611
218aa620
JH
18612Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
18613
18614 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
18615 of libcall regions.
18616
e27a4eaf
ZD
18617Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
18618
18619 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
18620 assigning to BLOCK_FOR_INSN directly.
18621
8a12f34c
JH
18622Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
18623
18624 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
18625
c9d892a8
NB
186262002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18627
18628 * c-common.c (c_expand_expr): Fix prototype.
18629 * c-common.h (c_expand_expr): Always declare, update.
18630 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
18631 * c-objc-common.c (c_objc_common_init): No global hook.
18632 * expr.c (expand_expr): Use langhook.
18633 * expr.h (enum expand_modifier): Conditionally declare.
18634 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
18635 (LANG_HOOKS_INITIALIZER): Update.
18636 * langhooks.c (lhd_expand_expr): New.
18637 * langhooks.h (struct lang_hooks): New hook.
18638 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
18639 (lang_independent_init): Don't default hook.
18640objc:
18641 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
18642
6dad5a56
RH
186432002-03-27 Richard Henderson <rth@redhat.com>
18644
18645 PR target/6054
18646 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
18647 TARGET_CONST_GP. Simplify conditions.
18648
59f96879
RH
186492002-03-27 Richard Henderson <rth@redhat.com>
18650
18651 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
18652 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
18653 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
18654
f3f1190d
DS
186552002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
18656
18657 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
18658 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
18659 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
18660 Remove unnecessary masks.
18661 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
18662 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
18663 -mwindows, -mdll switches and their negations.
18664
31c816cf
NB
186652002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18666
18667 * gcc-common.c (lang_mark_false_label_stack): Remove.
18668 * ggc.h (lang_mark_false_label_stack): Similarly.
18669
7b2e1077 186702002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
18671
18672 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
18673
18674 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
18675 or __rtems_ is defined.
18676
1ef9531b
RH
186772002-03-26 Richard Henderson <rth@redhat.com>
18678
18679 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
18680 if a non-trivial load was emitted.
18681 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
18682 in high+extra+low case.
18683
300d4093
RH
186842002-03-26 Richard Henderson <rth@redhat.com>
18685
18686 * config.gcc (sparc*-solaris): Use float_format=sparc.
18687
b3689904
RH
186882002-03-26 Richard Henderson <rth@redhat.com>
18689
18690 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
18691 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
18692 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
18693 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
18694 (WINT_TYPE_SIZE): Fix at 32.
18695
1eefb6c1
RH
186962002-03-26 Richard Henderson <rth@redhat.com>
18697
18698 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
18699 until after eh landing pad generation.
18700 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
18701 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
18702
361ea006
RH
187032002-03-26 Richard Henderson <rth@redhat.com>
18704
18705 * expr.h (ADD_PARM_SIZE): One more convert for INC.
18706
1de38a88
PE
187072002-03-26 Phil Edwards <pme@gcc.gnu.org>
18708
18709 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
18710 and warning switches.
18711 (cc1_options): Likewise.
18712
d7e60e95 187132002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 18714
d7e60e95
HB
18715 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
18716 Restore more of the signal context. Set no_reg_stack_frame.
18717 * config/ia64/unwind-ia64.c (unw_state_record):
18718 Add no_reg_stack_frame, comments.
18719 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
18720 (uw_update_context): Adjust bsp when unwinding from leaf,
18721 but not signal frame.
18722
7032923b
DE
187232002-03-26 David Edelsohn <edelsohn@gnu.org>
18724
18725 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
18726
8be56275
BW
187272002-03-26 Bob Wilson <bob.wilson@acm.org>
18728
18729 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
18730
56fbb855
RE
187312002-03-26 Richard Earnshaw <rearnsha@arm.com>
18732
18733 PR target/5621
18734 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
18735 "Add a pool_range attribute", which was lost during the ARM/Thumb
18736 merge.
18737
3437320b
BW
187382002-03-26 Bob Wilson <bob.wilson@acm.org>
18739
18740 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
18741 a register into the MAC16 accumulator.
18742
173028e5
AC
187432002-03-26 Andrew Cagney <ac131313@redhat.com>
18744
18745 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
18746 (Warning Options): Document -Wswitch-enum.
18747 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
18748 -Wswitch.
18749 (warn_switch_enum): Define variables.
18750 * flags.h (warn_switch_enum): Declare variables.
18751 * stmt.c (expand_end_case_type): When warn_switch_enum /
18752 -Wswitch-enum, perform switch checks.
18753 Fix PR c/5044.
7b2e1077 18754
e14365a7
RE
187552002-03-26 Richard Earnshaw <rearnsha@arm.com>
18756
18757 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
18758 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
18759 (reload_muladdsi_compare0_scratch): Delete.
18760
46fc709d
LR
187612002-03-26 Loren J. Rittle <ljrittle@acm.org>
18762
18763 * doc/install.texi (*-*-freebsd*): Update.
18764
f36dea3c
RH
187652002-03-26 Richard Henderson <rth@redhat.com>
18766
8e5fe23f
RH
18767 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
18768 (SUB_PARM_SIZE): Cast DEC to ssizetype.
18769
18770 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
18771 types from the normal argument frame.
18772
f36dea3c
RH
18773 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
18774 variable sized objects by reference.
18775 (sparc_va_arg): Receive them by reference too.
18776
1447dc69
HP
187772002-03-26 Hartmut Penner <hpenner@de.ibm.com>
18778
18779 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 18780 code to not restoring global registers.
1447dc69 18781
4f0ade92
NB
187822002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
18783
18784 * Makefile.in (ggc-common.o): Update.
18785 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
18786 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
18787 * c-tree.h (c_mark_tree): New.
18788 * ggc-common.c: Include langhooks.h.
18789 (gcc_mark_trees): Use new langhook.
18790 * ggc-callbacks.c: Delete file.
18791 * ggc.h (lang_mark_tree): Remove.
18792 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
18793 (LANG_HOOKS_INITIALIZER): Update.
18794 * langhooks.h (struct lang_hooks): New hook.
18795objc:
18796 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
18797
caba570b
ZW
187982002-03-25 Zack Weinberg <zack@codesourcery.com>
18799
18800 * doc/cpp.texi: Exclude entire Top node from printed manual.
18801 Move option index after directive index. Insert page breaks
18802 before GFDL and concept index. Index environment variables
18803 with command line options.
18804 * doc/cppenv.texi: Use @vtable for environment variable list.
18805 Add paragraph explaining semantics of empty elements in path
18806 variables. Exclude a cross-reference to Fishkill from the
18807 manpage. Remove an unnecessary cross-reference of the entry
18808 right above the referer. Don't use @anchor in text that goes
18809 into manpage.
18810 * doc/cppopts.texi: Cross-reference the environment variables
18811 section, not the specific environment variable, for consistency.
18812
6b2e80b7
RH
188132002-03-25 Richard Henderson <rth@redhat.com>
18814
18815 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
18816 anywhere in the block. Don't refer to insns that have been
18817 removed from the chain. Iterate backward through the new insns.
18818 Don't refer to edges that have been removed.
18819
67e469d7
AM
188202002-03-26 Alan Modra <amodra@bigpond.net.au>
18821
18822 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
18823 test for overflow of constant.
18824
f2356393
RE
188252002-03-25 Richard Earnshaw <rearnsha@arm.com>
18826
18827 PR target/2623
18828 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
18829 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
18830 these patterns on arm_archv4.
18831
355426ab
DS
188322002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
18833
18834 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
18835 int".
18836
15e5ad76
ZW
188372002-03-25 Zack Weinberg <zack@codesourcery.com>
18838
18839 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
18840 float_handled, float_handler, float_signal, set_float_handler,
18841 and do_float_handler. Set handler for SIGFPE to crash_signal.
18842 * toplev.h: Don't prototype do_float_handler.
18843
18844 * c-lex.c: Fold parse_float into lex_number. Make warning
18845 about portability of hex float constants more informative, and
18846 don't issue it on top of a syntax error.
18847 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
18848 their callers.
18849 * real.h: Define REAL_VALUE_ABS here...
18850 * simplify-rtx.c: ... not here. Fold check_fold_consts,
18851 simplify_unary_real, simplify_binary_real, and
18852 simplify_binary_is2orm1 into their callers.
18853 * tree.c: Fold build_real_from_int_cst_1 into caller.
18854
18855 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
18856
18857 * tsystem.h: Include float.h here...
18858 * libgcc2.c: ... not here.
18859
56ae9405
NC
188602002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
18861
18862 Fixes for: PR bootstrap/3591, target/5676
18863 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
18864 defined. Do not disable exceptions or rtti.
18865 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
18866 mcore.h. Disable exceptions and rtti, since they are not
18867 supported by EPOC.
18868
c88770e9
NB
188692002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
18870
18871 * c-decl.c (maybe_build_cleanup): Remove.
18872 * expr.c (expand_expr): Use langhook.
18873 * langhooks-def.h (lhd_return_null_tree,
18874 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
18875 (LANGHOOKS_INITIALIZER): Update.
18876 * langhooks.c (lhd_return_null_tree): New.
18877 * langhooks.h (struct lang_hooks): New hook.
18878 * tree-inline.c (initialize_inlined_parameters): Use langhook.
18879 * tree.h (maybe_build_cleanup): Remove.
18880
2ed1f154
JJ
188812002-03-25 Jakub Jelinek <jakub@redhat.com>
18882
18883 * regrename.c (build_def_use): Move recog_memoized
18884 before extract_insn.
18885
6ddae612
JJ
188862002-03-25 Jakub Jelinek <jakub@redhat.com>
18887
18888 PR target/6043
18889 * expr.c (emit_group_store): Handle storing into CONCAT.
18890
ea475b23
JJ
188912002-03-25 Jakub Jelinek <jakub@redhat.com>
18892
18893 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
18894 corresponding MATCH_DUP.
18895
e7d482b9
RH
188962002-03-24 Richard Henderson <rth@redhat.com>
18897
cd39fc13
RH
18898 * unroll.c (unroll_loop): Zero label_map.
18899
e7d482b9
RH
18900 * gcse.c: Include except.h.
18901 * Makefile.in (gcse.o): Update.
18902
1bd6476f
RH
189032002-03-24 Richard Henderson <rth@redhat.com>
18904
18905 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
18906 Do resolve_unique_section before shared data clause.
18907
2e6c150a
RH
189082002-03-24 Richard Henderson <rth@redhat.com>
18909
18910 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
18911
b29afcf8
RH
189122002-03-24 Richard Henderson <rth@redhat.com>
18913
15e5ad76 18914 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
18915 generated in the middle of a block. Do global life update if
18916 zapped EH edges.
18917
05ed1296
RH
189182002-03-24 Richard Henderson <rth@redhat.com>
18919
18920 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
18921
3ddbb8a9
NB
189222002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18923
18924 preprocessor/3951
15e5ad76 18925 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
18926 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
18927 (init_dependency_output): Don't make no_output decision here.
18928
740b77b6
AC
189292002-03-24 Andrew Cagney <ac131313@redhat.com>
18930
18931 * stmt.c (check_for_full_enumeration_handling): Remove tests of
18932 warn_switch. Update description.
18933 (expand_end_case_type): Call check_for_full_enumeration_handling
18934 when warn_switch.
18935
7590cfd0
SC
189362002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18937
18938 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
18939 (m68hc11_split_move): Call it to see if the source and destination
18940 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 18941 source an offsetable memory operand and generate an add.
7590cfd0 18942
2e3d3481
SC
189432002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18944
18945 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
18946 register for operand 2.
18947 ("*subsi3_zero_extendqi"): Likewise.
18948 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
18949 bits so that it is compatible with a pop.
18950 ("*andhi3_gen"): Likewise.
18951 ("xorhi3"): Likewise.
18952
2784528c
NB
189532002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18954
18955 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
18956 -pedantic here...
18957 (cpp_post_options): ... not here.
18958
aaf93206
NB
189592002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18960 Aldy Hernandez <aldyh@redhat.com>
18961
18962 Removal of separate preprocessor cpp0.
18963
18964 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
18965 cpp0, install-common): Update.
18966 * c-common.c (flag_preprocess_only): New.
18967 (c_common_init): Preprocess for -E.
18968 * c-common.h (flag_preprocess_only): New.
18969 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
18970 * c-objc-common.c (c_init_decl_processing): Exit quickly
18971 for NULL return from c_common_init.
18972 * cpplib.h (cpp_preprocess_file): New.
18973 * cppmain.c (main, general_init, pfile, progname): Remove.
18974 (do_preprocessing): Rename cpp_preprocess_file, don't call
18975 cpp_finish. Don't close stdout here.
18976 (setup_callbacks): Update prototype.
18977 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
18978 Update.
18979 * tradcpp.c (main): Ignore -quiet.
18980objc:
18981 * lang-specs.h (default_compilers): Preprocess with cc1obj.
18982
c6e6f5c1
RH
189832002-03-24 Richard Henderson <rth@redhat.com>
18984
18985 PR optimization/5742
18986 * machmode.def: Add inner mode field to complex modes.
18987 * config/mips/mips.c (mips_function_value): Always define. Add
18988 new argument to handle libcalls.
18989 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
18990 (FUNCTION_VALUE): Likewise.
18991 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
18992 * config/mips/mips-protos.h: Update.
18993
d88e57d1
RH
189942002-03-23 Richard Henderson <rth@redhat.com>
18995
18996 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
18997 * config/sparc/sparc-protos.h: Update.
18998 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
18999
6dfaf9ba
RH
190002002-03-23 Richard Henderson <rth@redhat.com>
19001
19002 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
19003 _start or _init begins the text segment.
19004
0c769cf8
DE
190052002-03-23 David Edelsohn <edelsohn@gnu.org>
19006
19007 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
19008 not HOST_WIDEST_INT.
19009 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
19010
64e92a26
RE
190112002-03-23 Richard Earnshaw <rearnsha@arm.com>
19012
19013 PR java/5489
19014 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
19015 operand argument to output_return_instruction.
15e5ad76 19016 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
19017 const_true_rtx then just return.
19018 (arm_print_operand, case 'D'): If the operand is const_true_rtx
19019 then abort.
19020
d6961341
AC
190212002-03-23 Andrew Cagney <ac131313@redhat.com>
19022
19023 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
19024 (Warning Options): Document -Wswitch-default.
19025 * toplev.c (W_options): Add -Wswitch-default. Update comment on
19026 -Wswitch.
19027 (warn_switch_default): Define variable.
19028 (warn_switch): Update comment.
19029 * flags.h (warn_switch_default): Declare variable.
19030 (warn_switch): Update comment.
19031 * stmt.c (expand_end_case): Check for and, when
19032 warn_switch_no_default, warn of a missing default case.
15e5ad76 19033
d4c5ac1f
AM
190342002-03-23 Alan Modra <amodra@bigpond.net.au>
19035
bbaa9790
AM
19036 * real.h (N): Special case 128 bit doubles.
19037
d4c5ac1f
AM
19038 * combine.c (simplify_comparison): When widening modes, ignore
19039 sign extension on CONST_INTs.
19040
84bf8c2c
BW
190412002-03-22 Bob Wilson <bob.wilson@acm.org>
19042
19043 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
19044 passed to adjust_address. Fix comment formatting.
19045
19046
b216cd4a
ZW
190472002-03-22 Zack Weinberg <zack@codesourcery.com>
19048
19049 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
19050 Always make REAL_VALUE_TYPE a struct containing an array of
19051 HOST_WIDE_INT, not a double. Tidy up the code deciding how
19052 big it is. Don't declare or use union real_extract.
19053
19054 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
19055 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
19056 (print_operand), config/arm/arm.c (output_move_double),
19057 config/arm/arm.md (consttable_4, consttable_8),
19058 config/romp/romp.c (output_fpops), config/s390/s390.h
19059 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
19060 (xtensa_output_literal): Don't use union real_extract.
19061
19062 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
19063 (sfmode_constant_to_ulong), config/ns32k/merlin.h
19064 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
19065 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
19066 (PRINT_OPERAND): Don't use local version of union
19067 real_extract.
19068
19069 * config/convex/convex.c (check_float_value), config/vax/vax.c
19070 (vax_float_literal), config/m88k/m88k.md (divdf3),
19071 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
19072 config/pdp11/pdp11.c (output_move_quad): Don't do host
19073 arithmetic on target floating point quantities.
19074
19075 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
19076 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
19077
19078 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
19079 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
19080
19081 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
19082 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
19083 INFINITY.
19084 * print-rtl.c (print_rtx): Disable code which needs
19085 floating-point emulator.
19086 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
19087 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
19088 depending on HOST_FLOAT_FORMAT to be defined properly.
19089
19090 * config/1750a/1750a.c (get_double, float_label): Delete.
19091 (print_operand): Delete huge commented-out chunk. Use
19092 REAL_VALUE_TO_DECIMAL.
19093 * config/1750a/1750a-protos.h: Delete prototypes of deleted
19094 functions.
19095 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
19096 IEEE_FLOAT_FORMAT.
19097 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
19098 Use REAL_VALUE_TO_DECIMAL as ELF version does.
19099 * config/m88k/m88k.c (real_power_of_2_operand,
19100 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
19101 real_extract out of the union; run the input through
19102 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
19103 from that into the union.
19104 * config/pdp11/pdp11.c (output_move_double): Rearrange
19105 parentheses to make automatic indenter happy.
19106
19107 * doc/tm.texi (Cross-compilation): Rename node to "Floating
19108 Point" and rewrite to describe current situation. Also adjust
19109 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
19110 match code.
19111 * doc/rtl.texi: Adjust cross reference.
19112
a8cacfd2
BW
191132002-03-22 Bob Wilson <bob.wilson@acm.org>
19114
19115 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
19116 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
19117 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
19118 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
19119 prevent use of sp as a reload register.
19120 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
19121 non_acc_reg_operand.
19122 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
19123 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
19124 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
19125 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
19126
d4e6133f
NB
191272002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
19128
b216cd4a
ZW
19129 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
19130 * cpplex.c (unterminated): Delete.
19131 (parse_string): No string literal may extend over multiple
19132 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
19133 * cppmain.c (scan_translation_unit): Strings are single-line.
19134
b216cd4a 19135 * doc/cpp.texi: Update to match.
d4e6133f 19136
65e6c005
JJ
191372002-03-22 Jakub Jelinek <jakub@redhat.com>
19138
19139 PR optimization/5854
19140 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
19141 Shut up warnings.
19142 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
19143 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
19144 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
19145 const0 if scratch register was not allocated.
19146 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
19147 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
19148 with GEN_INT (...).
19149 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
19150 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
19151 with GEN_INT (...) everywhere. Remove constraints in define_split
19152 patterns.
19153 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
19154 require scratch register for setting 0 into regs/non-pushable memory.
19155
7f48c9e1
AO
191562002-03-22 Alexandre Oliva <aoliva@redhat.com>
19157
19158 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
19159 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
19160
909de5da
PE
191612002-03-22 Phil Edwards <pme@gcc.gnu.org>
19162
19163 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
19164 * cppinit.c (cpp_create_reader): On by default.
19165 (cpp_handle_option): Handle -W[no-]endif-labels.
19166 (cpp_post_options): Also enable if -pedantic.
19167 * cpplib.c (do_else): Use it.
19168 (do_endif): Likewise.
19169 * doc/cppopts.texi: Document new option.
19170 * doc/invoke.texi: Document new option.
19171
d8bf17f9
LB
191722002-03-22 Lars Brinkhoff <lars@nocrew.org>
19173
19174 * config/i386/i386.c, config/i386/i386.md: Change all occurences
19175 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
19176
70e0ccd0
AO
191772002-03-22 Alexandre Oliva <aoliva@redhat.com>
19178
19179 * flow.c (calculate_global_regs_live): Clear aux fields of
19180 ENTRY and EXIT.
19181
68882f0f
JJ
191822002-03-22 Jakub Jelinek <jakub@redhat.com>
19183
19184 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
19185 REG or MEM subregs, pass rtx * instead of rtx to it.
19186 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
19187 rtx * instead of rtx to alter_subreg.
19188 * config/m32r/m32r.c (gen_split_move_double): Likewise.
19189 * config/pj/pj.c (pj_output_rval): Likewise.
19190
648fe28b
RH
191912002-03-22 Richard Henderson <rth@redhat.com>
19192
19193 PR target/3177
19194 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
19195 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
19196 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
19197 (ia64_expand_prologue): Look at int_regs, not words, for number
19198 of incomming int regs.
19199
e8dcd824
AM
192002002-03-22 Andrew MacLeod <amacleod@redhat.com>
19201
19202 * expr.c (expand_expr): A RESULT_DECL is part of a call.
19203
96327cdc
JH
19204Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
19205
19206 * toplev.c (flag_loop_optimize, flag_crossjumping):
19207 New static variables.
19208 (rest_of_compilation): Conditionalize crossjumping and
19209 loop optimizer.
19210 (parse_options_and_default_flags): Default loop_optimize and
19211 crossjumping.
19212 (lang_independent_options): Add -fcrossjumping and -floop-optimize
19213 * invoke.texi (crossjumping, loop-optimize): Document.
19214
bc185257
RS
192152002-03-22 Richard Sandiford <rsandifo@redhat.com>
19216
19217 * real.c (eiisneg): Move outside #ifdef NANS.
19218
0a2ed1f1
JH
19219Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
19220
19221 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
19222 frequencies match; avoid match on different loop depths.
19223 (try_crossjump_to_bb): Kill tests that no longer brings time
19224 savings.
19225 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
19226 updating code.
19227 (split_edge): Likewise.
19228
19229 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
19230 variable.
19231
19232 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
19233 * cfgrtl.c: Include insn-config.h
19234 (split_block) Dirtify block in presence of conditional execution
19235
4d72536e
RS
192362002-03-22 Richard Sandiford <rsandifo@redhat.com>
19237
19238 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
19239 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
19240 (function_arg): Constify CUMULATIVE_ARGS.
19241 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
19242 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
19243 (UNITS_PER_DOUBLE): New macro.
19244 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
19245 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
19246 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
19247 fp_regs and stack_words.
19248 (EABI_FLOAT_VARARGS_P): New macro.
19249 * config/mips/mips.c (struct mips_arg_info): New.
19250 (mips_arg_info): New function.
19251 (function_arg_advance): Use it. Add adjustment instructions here
19252 rather than in function_arg.
19253 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
19254 for VOIDmode at the beginning of the function.
19255 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
19256 (function_arg_pass_by_reference): Likewise.
19257 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
19258 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
19259 (mips_va_start): Likewise. Use the new stack_words field of
19260 CUMULATIVE_ARGS to set up overflow area. Reformat.
19261 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
19262 doubles and other types, aligning the overflow pointer for non-doubles
19263 too. Remove some code duplication. Replace hard-coded constants.
19264
e6f884cd
RS
192652002-03-22 Richard Sandiford <rsandifo@redhat.com>
19266
19267 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
19268 (CLASS_UNITS): Undefine.
19269 (CLASS_MAX_NREGS): Use FP_INC.
19270 * config/mips/mips.c (compute_frame_size): Likewise.
19271 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
19272
10cf9bde
NB
192732002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
19274
19275 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
19276 prototype, and handle lexing numbers and identifiers.
19277 (parse_identifier): Update to new form of parse_slow.
19278 (parse_number): Fast path only, use parse_slow otherwise.
19279 (_cpp_lex_direct): Update calls to parse_number.
19280
fbc2782e
DD
192812002-03-21 DJ Delorie <dj@redhat.com>
19282
19283 * bb-reorder.c (make_reorder_chain_1): Protect against
19284 when redundant edges are omitted.
19285 * predict.c (dump_prediction): Likewise.
19286
fba39eaf
RH
192872002-03-21 Richard Henderson <rth@redhat.com>
19288
19289 PR target/5996
19290 * fixinc/inclhack.def (solaris_stdio_tag): New.
19291 * fixinc/fixincl.x: Regenerate.
19292
eba80994
EB
192932002-03-21 Eric Botcazou <ebotcazou@multimania.com>
19294
19295 PR c/5597
19296 * c-typeck.c (process_init_element): Flag non-static
19297 initialization of a flexible array member as illegal.
19298
2a78758b
AM
192992002-03-22 Alan Modra <amodra@bigpond.net.au>
19300
19301 * config/rs6000/t-linux64: New.
19302 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
19303 t-ppccomm. Use t-rs6000 and t-linux64.
19304 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
19305 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
19306 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
19307 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 19308
2cb921f4
AH
193092002-03-21 Aldy Hernandez <aldyh@redhat.com>
19310
eba80994
EB
19311 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
19312 flag_really_no_inline instead of optimize == 0.
2cb921f4 19313
eba80994 19314 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 19315
eba80994 19316 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 19317
eba80994 19318 * flags.h (flag_really_no_inline): New.
2cb921f4 19319
659e5a7a 19320 * c-common.c (c_common_post_options): Initialize
eba80994 19321 flag_really_no_inline.
2cb921f4 19322
eba80994 19323 * toplev.c (flag_really_no_inline): New.
2cb921f4 19324
239b8b9d
JJ
193252002-03-21 Jakub Jelinek <jakub@redhat.com>
19326
19327 * config/avr/avr.md (length): Fix length computation for
19328 conditional branches.
19329
43577e6b
NB
193302002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
19331
19332 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
19333 sdbout.o, profile.o): Update.
19334 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
19335 langhook.
19336 * c-common.h (gettags): Move here from tree.h.
19337 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
19338 insert_block, getdecls, kept_level_p, global_bindings_p): New.
19339 * dbxout.c (dbxout_init): Use getdecls langhook.
19340 * expr.c (expand_expr): Use insert_block langhook.
19341 * fold-const.c: Include langhooks.h.
19342 (fold_range_test, fold_binary_op_with_conditional_arg,
19343 fold): Use global_bindings_p langhook.
19344 * integrate.c (expand_inline_function): Use insert_block langhook.
19345 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
19346 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
19347 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
19348 LANG_HOOKS_GETDECLS): New.
19349 (LANG_HOOKS_INITIALIZER): Update.
19350 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
19351 langhook.
19352 * langhooks.h (struct lang_hooks_for_decls): New.
19353 (struct lang_hooks): Update.
19354 * profile.c: Include langhooks.h.
19355 (output_func_start_profiler): Use new langhooks.
19356 * sdbout.c: Include langhooks.h.
19357 (sdbout_init, sdbout_finish): Use getdecls langhook.
19358 * stmt.c: Include langhooks.h.
19359 (expand_fixup, fixup_gotos): Use new langhooks.
19360 * stor-layout.c: Include langhooks.h.
19361 (variable_size): Use global_bindings_p langhook.
19362 * toplev.c (compile_file): Use getdecls langhook.
19363 * tree-inline.c (remap_block): Use insert_block langhook.
19364 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
19365 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
19366
5b19b10c
RH
193672002-03-21 Richard Henderson <rth@redhat.com>
19368
19369 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
19370 constants in .data when -fpic.
19371
e05af335
GP
193722002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19373
19374 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
19375 where appropriate.
19376
60ffc997
TT
193772002-03-21 Tom Tromey <tromey@redhat.com>
19378
19379 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
19380
75897075
RK
19381Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19382
a73afd69 19383 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 19384
75897075
RK
19385 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
19386
312687cf
EB
193872002-03-21 Eric Botcazou <ebotcazou@multimania.com>
19388 Richard Henderson <rth@redhat.com>
19389
19390 PR c/5354
19391 * c-common.c (c_expand_expr): Preserve result of a statement
19392 expression if needed.
19393
f0e1f482
JJ
193942002-03-21 Jakub Jelinek <jakub@redhat.com>
19395
19396 PR bootstrap/4195
19397 * genrecog.c (maybe_both_true_mode): Remove.
19398 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
19399 * machmode.def (Pmode): Likewise.
19400
c14b9960
JW
19401Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
19402
19403 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
19404 (nonlocal_mentioned_p_1): New function.
19405 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
19406 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
19407 (mark_constant_function): Recognize pure functions.
19408 * rtl.h (global_reg_mentioned_p): New prototype.
19409 * rtlanal.c (global_reg_mentioned_p,
19410 global_reg_mentioned_p_1): New function.
19411
aaa4d130
RO
194122002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19413
19414 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
19415 UNIX assert.h.
19416 * fixinc/fixincl.x: Regenerate.
19417
e5c4bd1b
JM
194182002-03-20 Jason Merrill <jason@redhat.com>
19419
19420 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
19421
852b81bb
MM
194222002-03-20 Michael Meissner <meissner@redhat.com>
19423
19424 * doc/invoke.texi (Optimize Options): Document that -O2 sets
19425 -fstrict-aliasing.
19426
86d8c251
BW
194272002-03-20 Bob Wilson <bob.wilson@acm.org>
19428
19429 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
19430 ".literal_position" directive before the constant pool.
19431
0a39c350
GP
194322002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19433
19434 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
19435 Add Craig Rodrigues.
19436 Add Brad Lucier to testers.
19437
71a83373
JJ
194382002-03-20 Jakub Jelinek <jakub@redhat.com>
19439
19440 PR target/4792
19441 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
19442 to if_then_else.
19443 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
19444 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
19445 instead of insn_extract.
19446
a29b099d
JJ
194472002-03-20 Jakub Jelinek <jakub@redhat.com>
19448
19449 PR bootstrap/4192
71a83373 19450 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
19451
19452 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
19453 stmt if some case has been output.
19454
048b1c95
JJ
194552002-03-20 Jakub Jelinek <jakub@redhat.com>
19456
19457 PR c/5972
19458 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
19459 movsfcc_1, movdfcc_1): Add %O2.
19460 * config/i386/i386.c (print_operand): Handle %ON.
19461 Print . before float condition codes in Sun as cmov syntax.
19462 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
19463 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
19464 no longer true.
19465
f4864588
PB
194662002-03-20 Philip Blundell <pb@nexus.co.uk>
19467
19468 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
19469 return instruction if PC was popped.
19470
3a307de4
BW
194712002-03-20 Bob Wilson <bob.wilson@acm.org>
19472
19473 * config/xtensa/xtensa.md: Remove unused type attributes.
19474 (adddi_carry, subddi_carry): Change type attribute to "multi".
19475
048b1c95 194762002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
19477
19478 PR optimization/5999, middle-end/5731
19479 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
19480 multiplications by reciprocals.
19481
7afff7cf
NB
194822002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
19483
19484 * Makefile.in: Update.
19485 * c-common.c: Include langhooks.h.
19486 (inline_forbidden_p): Use new hook.
19487 * diagnostic.c: Include langhooks.h.
19488 (format_with_decl, announce_function,
19489 default_print_error_function): Use new hook.
19490 * dwarf2out.c (dwarf2_name): Use new hook.
19491 * function.c: Include langhooks.h.
19492 (init_function_start): Use new hook.
19493 * langhooks-def.h (lhd_decl_printable_name): New.
19494 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
19495 (LANGHOOKS_INITIALIZER): Update.
19496 * langhooks.c (lhd_decl_printable_name): New.
19497 * langhooks.h (struct lang_hooks): New hook.
19498 * toplev.c (decl_name, decl_printable_name): Remove.
19499 (open_dump_file): Use new hook.
19500 (process_options): Remove old hook.
19501 * tree.h (decl_printable_name): Remove.
19502objc:
19503 * objc-act.c (objc_init): Remove old hook.
19504 (objc_printable_name): Export.
19505 * objc-act.h (objc_printable_name): New.
19506 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
19507
f78ce0b7
JB
195082002-03-19 Jim Blandy <jimb@redhat.com>
19509
19510 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
19511 the start_source_file debug hook, not the current line number.
19512
15b5aef3
RH
195132002-03-19 Richard Henderson <rth@redhat.com>
19514
19515 * flow.c (EH_USES): Provide default.
19516 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
19517 * doc/tm.texi (EH_USES): New.
19518
19519 * config/ia64/ia64.c (ia64_eh_uses): New.
19520 * config/ia64/ia64-protos.h: Update.
19521 * config/ia64/ia64.h (EH_USES): New.
19522
02a7a3fd
RH
195232002-03-19 Richard Henderson <rth@redhat.com>
19524
19525 * varasm.c (output_constant_def): Fix stupid typo.
19526
93f82d60
RH
195272002-03-19 Richard Henderson <rth@redhat.com>
19528
2842be05 19529 PR 5879
93f82d60
RH
19530 * except.c (current_function_has_exception_handlers): New.
19531 * except.h: Declare it.
19532 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
19533 Combine tests that disable all sibcalls for the function.
19534
ed4fbfa0
OH
195352002-03-19 Olivier Hainque <hainque@act-europe.fr>
19536
19537 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
19538 for INTEGER_CST.
19539
ebf0e888
RH
195402002-03-19 Richard Henderson <rth@redhat.com>
19541
1e82682b 19542 PR 5977, 5991
ebf0e888
RH
19543 * config/ia64/ia64.c: Revert 2002-03-01 patch.
19544 * config/ia64/ia64.h (INIT_EXPANDERS): New.
19545
e37b38d7
JB
195462002-03-19 Jim Blandy <jimb@redhat.com>
19547
19548 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
19549 name, even if the replacement list contains no tokens, as required
19550 by Dwarf.
19551
2a4ea326
JM
195522002-03-19 Jason Merrill <jason@redhat.com>
19553
f9d09ae5
JM
19554 * varasm.c (globalize_decl): Get the name from the RTL, not
19555 DECL_ASSEMBLER_NAME.
19556
2a4ea326
JM
19557 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
19558
99b96edb
BW
195592002-03-19 Bob Wilson <bob.wilson@acm.org>
19560
19561 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
19562 subdi_carry): Define.
19563
3774b567
DE
195642002-03-19 David Edelsohn <edelsohn@gnu.org>
19565
19566 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
19567 about -fpic/-fPIC if extra_warnings set.
19568
21ef78aa
DE
195692002-03-19 David Edelsohn <edelsohn@gnu.org>
19570
19571 * expr.c (expand_expr): Sign-extend CONST_INT generated from
19572 TREE_STRING_POINTER.
0c2fdcdf 19573 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 19574
91d4b3fd
RK
19575Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19576
19577 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
19578 in favor of SP if FRAME_POINTER_REQUIRED is false.
19579
2496c7bd
LB
195802002-03-19 Lars Brinkhoff <lars@nocrew.org>
19581
19582 * emit-rtl.c (gen_int_mode): New function.
19583 * rtl.h: Prototype for it.
19584 * combine.c (make_extraction, simplify_comparison), expmed.c
19585 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
19586 (convert_modes, store_field), optabs.c (expand_fix),
19587 simplify-rtx.c (neg_const_int, simplify_unary_real),
19588
19589 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
19590 Use it instead of GEN_INT (trunc_int_for_mode (...)).
19591
f735a153
JJ
195922002-03-19 Jakub Jelinek <jakub@redhat.com>
19593
19594 PR c/5656
19595 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
19596 convert_parm_for_inlining.
19597 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
19598 Define.
19599 * langhooks-def.h: Likewise.
19600 * objc/objc-lang.c: Likewise.
19601 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
19602 function.
19603 * tree-inline.c (initialize_inlined_parameters):
19604 Call convert_parm_for_inlining lang hook if needed.
19605 * c-typeck.c (c_convert_parm_for_inlining): New function.
19606 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
19607
1929c971
MM
196082002-03-18 Mark Mitchell <mark@codesourcery.com>
19609
b216cd4a 19610 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
19611 can be destroyed after expanding the argument.
19612 (expand_call): Likewise.
19613
c79ca0ac
EC
196142002-03-15 Eric Christopher <echristo@redhat.com>
19615
19616 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
19617 Fix register preference on last change.
19618 * config/mips/mips.c (mips_return_in_memory): New function.
19619 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
19620 * config/mips/mips-protos.h: Declare.
19621 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
19622 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
19623
07e2e444
AO
196242002-03-18 Alexandre Oliva <aoliva@redhat.com>
19625
1bfbbbcf
AO
19626 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
19627 a register too.
19628 (anddi3, iorsi3): Likewise.
19629
c066429e
AO
19630 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
19631 use %gprel for symbols that are going to be placed in linkonce
19632 sections.
19633
07e2e444
AO
19634 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
19635 RETURN_ADDRESS_POINTER_REGNUM to $ra.
19636 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
19637 not needed. Disregard leaf_function_p().
19638 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
19639 mips16 frame pointer.
19640 * config/mips/mips.md (store ra): Only to small SP offsets.
19641 2001-08-22 Graham Stott <grahams@redhat.com>
19642 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
19643 return a REG rtx for the return address register.
19644
eb8e00ea
BW
196452002-03-18 Bob Wilson <bob.wilson@acm.org>
19646
19647 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
19648 constant-pool addresses as "mode-dependent".
19649 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
19650
cbb92744
JJ
196512002-03-18 Jakub Jelinek <jakub@redhat.com>
19652
19653 PR target/5740
19654 * expr.c (emit_group_load): Use extract_bit_field if
19655 needed for CONCAT arguments.
19656
657d9449
RE
196572002-03-18 Richard Earnshaw <rearnsha@arm.com>
19658
91f3a802 19659 PR target/4863
657d9449
RE
19660 * arm.md (tablejump): Make this a define_expand. For PIC add the
19661 offset to the base of the table.
19662 (thumb_tablejump): Matcher for Thumb tablejump insn.
19663 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
19664 as the difference of two labels.
19665 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
19666 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
19667 tables in the code.
19668 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
19669 * arm.c (get_jump_table_size): If the table is not in the text
19670 section, return zero.
c79ca0ac 19671
5d5603e2
BS
196722002-03-18 Bernd Schmidt <bernds@redhat.com>
19673
19674 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
19675 of gen_rtx_SUBREG.
19676 (arm_reload_out_hi): Use gen_lowpart instead of
19677 gen_rtx_SUBREG to access QImode components.
19678 * config/arm/arm.md: Disable zero_extend split for QImode
19679 subregs in BIG_ENDIAN mode.
19680 (storehi_bigend): Match use of least significant byte.
19681 (storeinthi): Remove extraneous SUBREG.
66c17b64 19682 Add missing construction of operands[2].
5d5603e2
BS
19683 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
19684 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
19685 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
19686
df15fbc7
AH
196872002-03-18 Aldy Hernandez <aldyh@redhat.com>
19688
2496c7bd
LB
19689 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
19690 any_operand.
df15fbc7 19691
b83b7fa3
RH
196922002-03-17 Richard Henderson <rth@redhat.com>
19693
19694 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
19695 explicitly.
19696
6f7c00fe
HPN
196972002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
19698
19699 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
19700 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
19701
155038f2
KG
197022002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19703
720d42fa
KG
19704 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
19705
155038f2
KG
19706 * predict.c (estimate_bb_frequencies): Delete unused variables.
19707
e6542f4e
RH
197082002-03-17 Richard Henderson <rth@redhat.com>
19709
19710 * config/ia64/ia64.c (ia64_attribute_table): Move before
19711 targetm definition. Make static.
19712
52dabb6c
NB
197132002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
19714
19715 * c-common.h (yyparse, c_common_parse_file): New.
19716 * c-lang.c: Include c-common.h.
19717 (LANG_HOOKS_PARSE_FILE): Redefine.
19718 * c-lex.c: Include c-common.h.
19719 (yyparse): Rename c_common_parse_file. Call yyparse.
19720 * c-parse.in (yyparse): Remove macro.
19721 * c-tree.h (yyparse_1): Remove.
19722 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
19723 (LANG_HOOKS_INITIALIZER): Update.
19724 * langhooks.h (struct lang_hoooks): New hook parse_file.
19725 * toplev.c (compile_file): Use parse_file hook.
19726 * tree.h (yyparse): Remove.
e6542f4e 19727 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 19728
b5ffe606
HPN
197292002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
19730
ba82f58b
HPN
19731 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
19732 float_truncate, not fix.
19733 ("*truncdfsf2_real"): Ditto.
19734 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
19735
b5ffe606
HPN
19736 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
19737
c8d1b2b7
AO
197382002-03-16 Alexandre Oliva <aoliva@redhat.com>
19739
cfb773f9
AO
19740 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
19741 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
19742 where appropriate. Make the second reference to
19743 leaf_function_p a function call, as intended. Reindented.
19744
4dffef52
AO
19745 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
19746 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
19747
4f5bd6d7
AO
19748 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
19749 add register to non-constant into sp.
19750
c8d1b2b7
AO
19751 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
19752 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
19753 (mips16_gp_pseudo_rtx): Lose.
19754 (INIT_EXPANDERS): Deleted.
19755 * config/mips/mips.c (mips_init_machine_status): New.
19756 (mips_free_machine_status): New.
19757 (mips_mark_machine_status): New.
19758 (override_options): Set them.
19759 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
19760 (struct machine_function): ... new. Replaced all references.
19761 (mips_add_gc_roots): Don't mark them.
19762 (embedded_pic_fnaddr_reg): New, extracted from...
19763 (embedded_pic_offset): ... here.
19764 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
19765 (movsi): Likewise.
19766
b3124fac
NB
197672002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
19768
19769 * cppinit.c: Revert -MD removal.
19770
121449b6
SC
197712002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19772
19773 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
19774 soft registers by default for 68HC12.
19775 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
19776 when compiling with -fomit-frame-pointer.
19777 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
19778 (expand_epilogue): Likewise.
19779 (m68hc11_gen_rotate): Use exg when rotating by 8.
19780
840e2ff1
SC
197812002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19782
19783 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
19784 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
19785 (splits): Remove unused add splits.
19786 ("*addhi3_68hc12"): Tune constraints.
19787 ("addhi_sp"): Try to use X instead of Y in all cases and if the
19788 constant fits in 8-bits and D is dead use abx/aby instructions.
19789 ("*addhi3"): Remove extern declaration of ix_reg.
19790 ("*subsi3"): Optimize and provide new split.
19791 ("subhi3"): Cleanup.
19792 ("*subhi3_sp"): Avoid saving X if we know it is dead.
19793 (arith splits): For 68hc12 save the address register on the stack
19794 and do the arithmetic operation with a pop.
19795
3c9a5efe
SC
197962002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19797
19798 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
19799 allocating QImode in address registers.
19800 ("*movqi_m68hc11"): Likewise.
19801
e41f3392
JH
19802Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
19803
19804 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
19805
576786b0
NB
198062002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
19807
19808 * cppinit.c (print_help): Display -MD and -MMD.
19809 Don't display usage string. Update assertion syntax and
19810 typo.
19811 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
19812 (cpp_handle_option): Update.
19813
1ac458d4
CD
198142002-03-15 Chris Demetriou <cgd@broadcom.com>
19815
19816 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
19817 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
19818 and define it so that regardless of target CPU size,
19819 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
19820 of "int" rather than "long."
19821
1fcd592b
RH
198222002-03-15 Richard Henderson <rth@redhat.com>
19823
19824 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
19825 size as a tree.
19826
a0df6910
SC
198272002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19828
19829 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
19830 ("tstqi" split): Avoid using memory for tstqi on address register.
19831 (splits): Remove constraints.
19832 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
19833 ("cmpdf", "cmpsf"): Remove since not used.
19834 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
19835 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
19836
015a2e59
SC
198372002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19838
19839 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
19840 ("neghi2"): Tighten constraints.
19841 ("one_cmplsi2"): Optimize and simplify split.
19842 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
19843
cd28557c
SC
198442002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19845
19846 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
19847 and split of AND operation to clear the upper bits.
19848 ("*logicalsi3_zextqi"): Likewise.
19849 ("*logicallhi3_zexthi_ashift8"): Likewise.
19850 ("*logicalsi3_silshr16"): Likewise.
19851 ("logicalsi3_silshl16"): Likewise.
19852 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
19853
932657df
SC
198542002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19855
19856 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
19857 (m68hc11_indirect_p): New function.
19858 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
19859 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
19860 TARGET_M6812.
19861 (asm_print_register): Likewise.
19862 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
19863 (m68hc11_indirect_p): Declare.
19864 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
19865 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
19866 (TARGET_SWITCHES): New option -mrelax.
19867 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
19868 destination.
19869 ("iorsi3", "xorsi3"): Likewise.
19870 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
19871 ("*andhi3_mem"): New to handle destination in memory with bclr
19872 and a scratch register.
19873 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
19874 ("*andhi3_const"): New when operand2 is constant.
19875 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
19876 ("*andhi3_gen"): Cleanup of the old "andhi3".
19877 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
19878 ("xorqi3"): Update constraints.
19879
fdffea1a
SC
198802002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19881
19882 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
19883 for reg_equiv_memory_loc when the operand is a register that does
19884 not get a hard register (stack location).
19885 (tst_operand): After reload, accept all memory operand.
19886 (symbolic_memory_operand): Fix detection of symbolic references.
19887 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
19888 accept symbols and any constant.
19889
6272bc68
SC
198902002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19891
19892 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
19893 note on the insn that sets the soft frame register.
19894 (must_parenthesize): ix and iy are also reserved names.
19895 (print_operand_address): One more place where parenthesis are required
19896 to avoid confusion with register names.
19897 (m68hc11_gen_movhi): Allow push of stack pointer.
19898 (m68hc11_check_z_replacement): Fix handling of parallel with a
19899 clobber.
19900 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
19901 the replacement register is.
19902 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
19903 and D8_REGS classes.
19904 (MODES_TIEABLE_P): All modes are tieable except QImode.
19905
1d2d9def
SC
199062002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19907
19908 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
19909 (___subdi3): Likewise.
19910 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
19911 (__map_data_section): Optimize 68hc11 case.
19912
a0ccf503
SC
199132002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19914
19915 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
19916 than a shift to avoid adding a register with itself.
19917 (m68hc11_memory_move_cost): Take into account NO_REGS.
19918 (m68hc11_register_move_cost): Update and use memory move cost
19919 for soft registers.
19920 (m68hc11_address_cost): Make cost of valid offset not 0 so that
19921 it gives more opportunities to cse to optimize.
19922 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
19923 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
19924
6e4ae815
MM
199252002-03-15 Mark Mitchell <mark@codesourcery.com>
19926
19927 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
19928 * c-common.def (CLEANUP_STMT): New tree node.
19929 * c-common.h (CLEANUP_DECL): New macro.
19930 (CLEANUP_EXPR): Likewise.
19931 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
19932 * expr.c (expand_expr): Tidy.
19933 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
19934 * tree-inline.c (initialize_inlined_parameters): Clean up
19935 new local variables.
19936
a42519be
JJ
199372002-03-15 Jakub Jelinek <jakub@redhat.com>
19938
19939 PR bootstrap/4128
19940 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
19941 before movrXX only, use reg_overlap_mentioned_p.
19942 Only special case NE if just one insn can be generated.
19943
15409448
JM
199442002-03-15 Jason Merrill <jason@redhat.com>
19945
19946 * varasm.c (assemble_variable): Call resolve_unique_section before
19947 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
19948 of error_mark_node.
19949
3a4edb44
RE
199502002-03-15 Richard Earnshaw <rearnsha@arm.com>
19951
19952 PR target/5170
19953 * arm.md (split pattern for thumb shiftable immediates): Add comment
19954 explaining non-obvious test.
19955
32defa36
RE
199562002-03-15 Richard Earnshaw <rearnsha@arm.com>
19957
19958 PR target/5712
19959 * arm.md (movaddr, movaddr_insn): Delete.
19960
5cc90635
JM
199612002-03-15 Jason Merrill <jason@redhat.com>
19962
19963 * toplev.c (wrapup_global_declarations): Clarify variable handling.
19964 -fkeep-static-consts doesn't apply to comdats.
19965
ecb0eece
RH
199662002-03-14 Richard Henderson <rth@redhat.com>
19967
19968 * c-decl.c: Include c-pragma.h.
19969 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
19970 (finish_function): Tidy.
19971 * c-pragma.c: Include c-common.h.
19972 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
19973 (handle_pragma_weak): Use them.
19974 (init_pragma): Register pending_weaks.
19975 * c-pragma.h (maybe_apply_pragma_weak): Declare.
19976 * print-tree.c (print_node): Print DECL_WEAK.
19977 * varasm.c (mark_weak_decls): Remove.
19978 (remove_from_pending_weak_list): Remove.
19979 (add_weak): Remove.
19980 (asm_emit_uninitialised): Call globalize_decl for weak commons.
19981 (weak_decls): Make a tree_list.
19982 (declare_weak): Cons weak_decls directly.
19983 (globalize_decl): Remove weak_decls elements directly.
19984 (weak_finish): Simplify weak_decls walk. Don't weaken unused
19985 symbols. Don't pretend to handle aliases.
19986 (init_varasm_once): Update weak_decls registry.
19987 * Makefile.in: Update dependencies.
19988
98d2b17e
RH
199892002-03-14 Richard Henderson <rth@redhat.com>
19990
19991 PR target/5312
19992 * config/ia64/ia64.c: Include tm_p.h last.
19993 (gen_nop_type): Remove duplicate definition.
19994 (cycle_end_fill_slots): Set sched_data for second L slot.
19995 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
19996 (nop_cycles_until): Fix typos.
19997
f2f4927e
JJ
199982002-03-15 Jakub Jelinek <jakub@redhat.com>
19999
20000 PR optimization/5891
20001 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
20002
5025a549
DM
200032002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
20004
20005 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
20006 descriptors correctly.
20007
03e9dbc9
MM
200082002-03-14 Michael Meissner <meissner@redhat.com>
20009
20010 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
20011 100, allowing MAX_UNROLLED_INSNS to be overridden.
20012
20013 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
20014 --param.
20015
20016 * unroll.c (params.h): Include.
20017 (MAX_UNROLLED_INSNS): Delete, now in params.h.
20018
20019 * doc/invoke.texi (--param max-unroll-insns): Document.
20020
20021 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
20022
12249385
RE
200232002-03-14 Richard Earnshaw <rearnsha@arm.com>
20024
20025 * arm.md: Fix warnings about constraints in peepholes and splits.
20026
f0cce04a
ZW
200272002-03-14 Zack Weinberg <zack@codesourcery.com>
20028
20029 * cpphash.h (struct lexer_state): Remove line_extension member.
20030 * cpplib.c (dequote_string, do_linemarker): New functions.
20031 (linemarker_dir): New data object.
20032 (DIRECTIVE_TABLE): No longer need to interpret #line in
20033 preprocessed source. Delete obsolete comment about return
20034 values of handlers.
20035 (end_directive, directive_diagnostics, _cpp_handle_directive):
20036 Don't muck with line_extension.
20037 (directive_diagnostics): No need to issue warnings for
20038 linemarkers here.
20039 (_cpp_handle_directive): Issue warnings for linemarkers here,
20040 when appropriate. Dispatch linemarkers to do_linemarker, not
20041 do_line.
20042 (do_line): Code to handle linemarkers split out to do_linemarker.
20043 Convert escape sequences in filename argument, both places.
20044
20045 * cppmacro.c (quote_string): Rename cpp_quote_string and
20046 export. All callers changed.
20047 * cpplib.h (cpp_quote_string): Prototype.
20048 * cppmain.c (print_line): Call cpp_quote_string on to_file
20049 before printing it.
20050
20051 * doc/cpp.texi: Document that escapes are now interpreted in
20052 #line and in linemarkers, and that non-printing characters are
20053 converted to octal escapes when linemarkers are generated.
20054
20055Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
20056
20057 * emit-rtl.c (try_split): Use delete_insns.
20058 * recog.c (split_all_insns): Fix terminating condition.
20059
c882c7ac
RE
200602002-03-14 Richard Earnshaw <rearnsha@arm.com>
20061 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
20062
20063 PR target/5828
20064 * arm.c (arm_output_epilogue): Fix floating-point register save
20065 adjustment when using a frame pointer.
20066
3f26edaa
RS
200672002-03-14 Richard Sandiford <rsandifo@redhat.com>
20068
20069 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
20070 * config/mips/mips.c (compute_frame_size): Retrofit them here.
20071 (save_restore_insns, mips_expand_epilogue): And here.
20072 (build_mips16_call_stub): And here.
20073 (mips_function_value): Use the new macros to decide whether a single
20074 or complex float can be returned in floating-point registers. Return
20075 a parallel rtx in the complex case.
20076
1e3881c2
JH
20077Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
20078
20079 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
20080 call after liveness analysis.
20081
20082 * recog.c (split_insn): Use delete_insn_and_edges.
20083
20084 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
20085 instructions to have branch prediction notes.
20086 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
20087
200ef634
GK
200882002-03-14 Geoffrey Keating <geoffk@redhat.com>
20089
20090 * configure.in: Don't pass -Wno-long-long to a ADA compiler
20091 that doesn't support it.
20092 * configure: Regenerate.
20093
0b82d204
JJ
200942002-03-13 Jakub Jelinek <jakub@redhat.com>
20095
20096 PR target/5626
20097 * config/sparc/sparc.md (normal_branch, inverted_branch,
20098 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
20099 inverted_fp_branch): Adjust calls to output_cbranch.
20100 Set length attribute.
20101 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
20102 output_v9branch. Set length attribute.
20103 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
20104 predicates.
20105 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
20106 (output_cbranch): Likewise. Handle far branches.
20107 (output_v9branch): Handle far branches.
20108 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
20109 Adjust prototypes.
20110 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
20111 noov_compare64_op predicates.
20112
7a8de19b
JM
201132002-03-13 Jason Merrill <jason@redhat.com>
20114
20115 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
20116 into the function and constify it.
20117 * gthr-dce.h, gthr-solaris.h: Likewise.
20118
2a55fd42
DE
201192002-03-13 David Edelsohn <edelsohn@gnu.org>
20120
20121 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
20122 * config/rs6000/rs6000.c (rs6000_va_arg): Use
20123 std_expand_builtin_va_arg if not ABI_V4.
20124
19c5b1cf
JM
201252002-03-13 Jason Merrill <jason@redhat.com>
20126
20127 * varasm.c (globalize_decl): New fn.
20128 (assemble_start_function): Use it.
20129 (asm_emit_uninitialized): Use it.
20130 (assemble_alias): Use it.
20131 (assemble_variable): Use it.
20132
2a15f5e1
HPN
201332002-03-13 Hans-Peter Nilsson <hp@axis.com>
20134
20135 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 20136 2002-03-12 internal visibility change.
2a15f5e1
HPN
20137 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
20138 visibility into SYMBOL_REF_FLAG.
20139
c0a3eeac
UW
201402002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
20141
20142 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
20143 VOIDmode operand. Add compile-time optimization for constant results.
20144
a1652cee
JM
201452002-03-12 Jason Merrill <jason@redhat.com>
20146
20147 * c-typeck.c (convert_for_assignment): Don't allow conversions
20148 between pointers and references. Only allow lvalues to convert to
20149 reference.
20150
c52a375d
HP
201512002-03-13 Hartmut Penner <hpenner@de.ibm.com>
20152
f0cce04a
ZW
20153 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
20154 before prologue, to avoid scheduling problems.
c52a375d 20155
e387e99b
JJ
201562002-03-13 Jakub Jelinek <jakub@redhat.com>
20157
20158 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
20159 (ELIMINABLE_REGS): Add sfp->sp.
20160 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
20161
201622002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
20163
20164 PR optimization/5892
20165 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
20166
4061c1a3
JJ
201672002-03-13 Jakub Jelinek <jakub@redhat.com>
20168
20169 * loop.c (basic_induction_var): Don't call convert_modes if mode
20170 classes are different.
20171
5b43fed1
RH
201722002-03-12 Richard Henderson <rth@redhat.com>
20173
9f53e965
RH
20174 PR optimization/5901
20175 * function.c (reposition_prologue_and_epilogue_notes): Position
20176 the markers after/before the last/first insn not deleted.
20177
201782002-03-12 Richard Henderson <rth@redhat.com>
20179
20180 PR optimization/5878
5b43fed1
RH
20181 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
20182 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
20183 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
20184
20185 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
20186 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
20187 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
20188
20189 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
20190 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
20191 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
20192 also. Don't set it if not flag_pic.
20193 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
20194 to be INVALID_REGNUM when not used.
20195
4e9bb42b
AH
201962002-03-13 Aldy Hernandez <aldyh@redhat.com>
20197
5b43fed1
RH
20198 * expmed.c (store_bit_field): Reset alias set for memory.
20199 (extract_bit_field): Same.
4e9bb42b 20200
2f9834e8
KG
202012002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20202
20203 * c-common.c (c_tree_code_type, c_tree_code_length,
20204 c_tree_code_name, add_c_tree_codes): Delete.
20205 * c-common.h (add_c_tree_codes): Delete.
20206 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
20207 Define.
20208 * c-objc-common.c (c_objc_common_init): Don't call
20209 add_c_tree_codes, instead set lang_unsafe_for_reeval.
20210 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
20211 objc_tree_code_name, add_objc_tree_codes): Delete.
20212 (objc_init): Don't call add_objc_tree_codes.
20213 * objc/objc-lang.c (tree_code_type, tree_code_length,
20214 tree_code_name): Define.
20215 * toplev.c (lang_independent_init): Don't set
20216 tree_code_length[IDENTIFIER_NODE].
20217 * tree.c (tree_code_type, tree_code_length, tree_code_name):
20218 Delete definitions, moved to language front-ends.
20219 * tree.def (IDENTIFIER_NODE): Hardwire the length.
20220 * tree.h (tree_code_type, tree_code_length, tree_code_name):
20221 Const-ify.
20222 (tree_code_length): Change type to unsigned char.
20223
36ad2436
RH
202242002-03-12 Richard Henderson <rth@redhat.com>
20225
20226 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
20227 internal visibility change.
20228
0ae02efa
BW
202292002-03-12 Bob Wilson <bob.wilson@acm.org>
20230
20231 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
20232 validize_mem() instead of change_address to avoid clobbering
20233 memory attributes.
20234
35bb2bee
NB
202352002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
20236
20237 * c-lex.h (position_after_whitespace): Remove.
20238
62ae2529
JJ
202392002-03-12 Jakub Jelinek <jakub@redhat.com>
20240
20241 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
20242 (lex_string): Use unsigned char pointers.
20243
6a45951f
UW
202442002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
20245
20246 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
20247 is not a valid memory_operand.
20248
e2fb85da
BW
202492002-03-12 Bob Wilson <bob.wilson@acm.org>
20250
20251 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
20252 * config/xtensa/lib1funcs.asm: Fix copyright to include
20253 special case for libgcc files.
20254 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
20255 (__divsi3): Likewise.
20256 (__umodsi3): Likewise.
20257 (__modsi3): Likewise.
20258 * config/xtensa/lib2funcs.S: Fix copyright to include
20259 special case for libgcc files.
20260
5b8619f8
TR
202612002-03-12 Tom Rix <trix@redhat.com>
20262
20263 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 20264 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
20265 (ignore_library): Same.
20266
089c8f97
BW
202672002-03-12 Bob Wilson <bob.wilson@acm.org>
20268
20269 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
20270
958c70ff
BW
202712002-03-12 Bob Wilson <bob.wilson@acm.org>
20272
20273 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
20274 to function_section before writing out the constant pool.
20275
a65c591c
DE
202762002-03-12 David Edelsohn <edelsohn@gnu.org>
20277
20278 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
20279 zero_constant.
20280 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
20281
202822002-03-12 Alan Modra <amodra@bigpond.net.au>
20283
20284 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
20285 (adddi3): Likewise.
20286 (movdf): Likewise.
20287 (movdi): Likewise.
20288 (cmpsi splitter): Likewise.
20289 (modsi3): Fail if <= 0.
20290 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
20291 redundant test when HOST_BITS_PER_WIDE_INT != 32.
20292 (reg_or_sub_cint64_operand): Likewise.
20293 (num_insns_constant_wide): Optimize sign extension.
20294 (rs6000_legitimize_address): Likewise.
20295
17720332
AM
202962002-03-12 Andrew MacLeod <amacleod@redhat.com>
20297
20298 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
20299 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
20300
cd49f073
AM
203012002-03-12 Andrew MacLeod <amacleod@redhat.com>
20302
20303 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
20304 address calculation.
20305
6a4e49c1
UW
203062002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
20307
20308 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
20309 scratch register to DImode / TImode.
20310 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
20311 register used does not overlap the target.
20312
54b6670a
KG
203132002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20314
20315 * Makefile.in (debug.o): Depend on debug.h.
20316 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
20317 * debug.c (do_nothing_debug_hooks): Likewise.
20318 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
20319 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
20320 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
20321 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
20322 * dwarfout.c (dwarf_debug_hooks): Likewise.
20323 * integrate.c (output_inline_function): Likewise.
20324 * objc/objc-act.c (synth_module_prologue): Likewise.
20325 * sdbout.c (sdb_debug_hooks): Likewise.
20326 * toplev.c (debug_hooks): Likewise.
20327 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
20328
2465bf76
KG
203292002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20330
20331 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
20332 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
20333 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
20334 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
20335 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
20336 * defaults.h (POINTER_SIZE): Define.
20337 * doc/tm.texi (POINTER_SIZE): Document default.
20338
53f3e9ca
KG
203392002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20340
20341 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
20342
44d3eb5b
RH
203432002-03-11 Richard Henderson <rth@redhat.com>
20344
20345 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
20346 if rebuild_label_notes_after_reload.
20347
4a085d2e
HPN
203482002-03-12 Hans-Peter Nilsson <hp@axis.com>
20349
20350 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
20351 emit pic register load if "internal" visibility.
20352 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
20353 (cris_expand_builtin_va_arg): Do all computations on trees.
20354
bc204393
RH
203552002-03-11 Richard Henderson <rth@redhat.com>
20356
20357 * rtlanal.c: Include recog.h.
20358 (keep_with_call_p): Fix thinko.
20359 * Makefile.in (rtlanal.o): Update dependencies.
20360
6b8b9d7b
CM
203612002-03-11 Chris Meyer <cmeyer@gatan.com>
20362
20363 * genflags.c (gen_insn): Use IS_VSPACE.
20364 * genoutput.c (output_insn_data): Likewise.
20365 (process_template): Likewise.
20366
6c40858f
RH
203672002-03-11 Richard Henderson <rth@redhat.com>
20368
20369 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
20370
40adaa27
NB
203712002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
20372
20373 * Makefile.in: Update.
6c40858f 20374 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 20375 Update documentation.
6c40858f
RH
20376 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
20377 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 20378
049b03f4
ZW
203792002-03-11 Zack Weinberg <zack@codesourcery.com>
20380
20381 * Makefile.in: Give texi2pod its input file as a command line
20382 argument, not on stdin.
20383
61eece67
DN
203842002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
20385 Daniel Berlin <dan@dberlin.org>
20386
20387 C++ alias analysis improvement.
f0cce04a 20388 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
20389 classes too.
20390
a65c591c
DE
203912002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
20392
ff080aba
UW
20393 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
20394
1682dbb1
DR
203952002-03-11 Douglas B Rupp <rupp@gnat.com>
20396
fa2d765a
DR
20397 * toplev.c (vms_fopen): Remove, not needed.
20398
6f1fd286
DR
20399 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
20400
b230e057
DR
20401 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
20402
cb9a8e97
DR
20403 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
20404 for FP, already done later.
20405
1682dbb1
DR
20406 * toplev.c (debug_args): Add entry for VMS_DEBUG.
20407 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
20408
3fcaac1d
RS
204092002-03-11 Richard Sandiford <rsandifo@redhat.com>
20410
20411 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
20412 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
20413 LARGEST_EXPONENT_IS_NORMAL for the given mode.
20414 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
20415 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
20416 (ediv, emul, eldexp, esqrt): Likewise.
20417 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
20418 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
20419 (saturate): New function.
20420 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
20421 (make_nan): Use a saturation value instead of a NaN if
20422 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
20423 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
20424 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
20425 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
20426 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
20427 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
20428 !ROUND_TOWARDS_ZERO.
20429 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
20430 (ROUND_TOWARDS_ZERO): Document.
20431
d25558be
AJ
204322002-03-11 Andreas Jaeger <aj@suse.de>
20433
20434 * cfg.c (dump_flow_info): Remove unused variable.
20435
c71f9ae7
HPN
204362002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
20437
20438 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
20439 computations on trees.
20440
561c9153
RH
204412002-03-10 Richard Henderson <rth@redhat.com>
20442
932b4e3e 20443 PR 5693:
561c9153
RH
20444 * reload.c (copy_replacements_1): New.
20445 (copy_replacements): Use it to recurse through the rtx.
20446
26b738be
RH
204472002-03-10 Richard Henderson <rth@redhat.com>
20448
20449 * loop.c (strength_reduce): Compute number of iterations as
20450 unsigned HOST_WIDE_INT.
20451
8d8a083e
RH
204522002-03-10 Richard Henderson <rth@redhat.com>
20453
20454 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
20455 to move away from the end of the block.
20456
32810ba3
NB
204572002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
20458
20459 PR preprocessor/5899
20460 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 20461
2b03d201
KG
204622002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20463
f90c544c
KG
20464 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
20465
2b03d201
KG
20466 * attribs.c (decl_attributes): Fix signed/unsigned warning.
20467
3ec1b4cb
HPN
204682002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
20469
20470 * config/mmix/mmix.c: Improve comments.
20471 (mmix_target_asm_function_prologue): Drop variable
20472 empty_stack_frame. Don't allocate unused slot above fp.
20473 (mmix_target_asm_function_epilogue): Mirror prologue changes.
20474 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
20475 brace in first column.
20476 (enum reg_class): Ditto.
20477 (FIRST_PARM_OFFSET): Now 0.
20478 (USER_LABEL_PREFIX): Remove #if 0:d definition.
20479
27e486c5
KG
204802002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20481
20482 * combine.c (make_extraction): Fix error in last change.
20483
0139adca
KG
204842002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20485
20486 * c4x.c (c4x_fp_reglist): Const-ify.
20487 * cris.c (cris_print_operand): Likewise.
20488 * i386.c (ix86_va_arg): Likewise.
20489 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
20490 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
20491 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
20492 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
20493 * mcore.h (regno_reg_class): Likewise.
20494 * mips.c (gen_int_relational): Likewise.
20495 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
20496 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 20497 * pdp11.c (move_costs): Likewise.
0139adca
KG
20498 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
20499 * s390.c (s390_branch_condition_mnemonic, regclass_map):
20500 Likewise.
20501 * s390.h (regclass_map): Likewise.
20502 * sh.c (shift_amounts): Likewise.
a4334c36 20503 * sh.md (rotlsi3): Likewise.
0139adca 20504
889b90a1
GK
205052002-03-09 Geoffrey Keating <geoffk@redhat.com>
20506
20507 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
20508 (ne0+5): Use new clobber to generate proper shift pattern.
20509 Patch by Michael Matz <matz@kde.org>.
20510
2877e0ae
AS
205112002-03-09 Andreas Schwab <schwab@suse.de>
20512
20513 * gcc.c (validate_all_switches): Also handle `%W{...}'.
20514
79b51cd7
GK
205152002-03-09 Geoffrey Keating <geoffk@redhat.com>
20516
20517 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
20518
e0f1be5c
JJ
205192002-03-09 Jakub Jelinek <jakub@redhat.com>
20520
20521 PR middle-end/5877
20522 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
20523 even for non-representable constants.
20524
0a7ec763
RK
20525Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20526
93fe8e92
RK
20527 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
20528 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
20529 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
20530 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
20531 (pop_function_context): Compute MAY_SHARE parameter for
20532 fixup_var_refs.
20533 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
20534 (gen_mem_addressof): Call fixup_var_refs with new parm.
20535
0a7ec763
RK
20536 * combine.c (make_extraction): Don't make extension of CONST_INT.
20537
a85cd407
AO
205382002-03-09 Alexandre Oliva <aoliva@redhat.com>
20539
9445b814
AO
20540 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
20541 in o32 and o64 ABIs.
20542 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
20543 but getting fixed-size structs passed in registers regardless of
20544 padding in o32 and o64 ABIs.
20545
a85cd407
AO
20546 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
20547 offset before loading address of argument passed by transparent
20548 reference.
20549
c51fbe40
JDA
205502002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
20551
20552 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
20553
918e70dd
AO
205542002-03-09 Alexandre Oliva <aoliva@redhat.com>
20555
20556 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
20557 marker such that registers after it are saved.
20558
3070dd00
KG
205592002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20560
20561 * sparc.c (arith_4096_operand): Fix error in last change.
20562
e25d11b0
AO
205632002-03-08 Alexandre Oliva <aoliva@redhat.com>
20564
20565 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
20566 defaults for MEABI.
20567
41daaf0e
AH
205682002-03-08 Aldy Hernandez <aldyh@redhat.com>
20569
5b43fed1
RH
20570 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
20571 vectors.
41daaf0e 20572
fa139b00
AH
205732002-03-08 Aldy Hernandez <aldyh@redhat.com>
20574
5b43fed1 20575 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 20576
c51d95ec
JH
20577Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
20578
20579 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
20580 removed; fix return value.
20581 * combine.c (combine_instructions): Dirtify blocks where we failed to
20582 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
20583 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
20584
3b25fbfe
KG
205852002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20586
20587 * gcse.c (insert_insn_end_bb): Fix typo in last change.
20588
189ae0f4
JH
20589Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
20590
20591 * recog.c (peephole2_optimize): Re-distribute EH edges.
20592
24965e7a
NB
205932002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
20594
20595 * expr.c (expand_expr): Use unsave lang hook.
20596 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
20597 (LANG_HOOKS_INITIALIZER): Update.
20598 * langhooks.h (struct lang_hooks): New hook unsave.
20599 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
20600 (unsave_expr_1): Remove unused lang_unsave_expr_now.
20601 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
20602 (unsave_expr_now): Remove.
20603 * tree.h (unsave_expr_now, lang_unsave,
20604 lang_unsave_expr_now): Remove.
20605 (lhd_unsave): New.
20606
1e4e95d6
AJ
206072002-03-08 Andreas Jaeger <aj@suse.de>
20608
20609 * flow.c (propagate_block_delete_insn): Remove unused variable.
20610
054ef905
KH
206112002-03-08 Kazu Hirata <kazu@hxi.com>
20612
20613 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
20614 insn length for memory load/store.
20615
5304400d 206162002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 20617
5304400d
CR
20618 * doc/install.texi (--with-libiconv-prefix): Document.
20619
81034129
MB
206202002-03-08 Michael Y. Brukman <myb2@cornell.edu>
20621
20622 * doc/sourcebuild.texi: Fix typo.
20623
71db7d03
JJ
206242002-03-08 Jakub Jelinek <jakub@redhat.com>
20625
20626 PR c/3711
20627 * builtins.c (std_expand_builtin_va_arg): Do all computations on
20628 trees.
20629
127c1ba5
RK
20630Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20631
20632 * rtl.c (copy_most_rtx): Move from here ...
20633 * emit-rtl.c (copy_most_rtx): ... to here.
20634
8a13c092
AO
206352002-03-08 Alexandre Oliva <aoliva@redhat.com>
20636
5faae4f7
AO
20637 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
20638 SUBTARGET_CPP_SIZE_SPEC.
20639 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
20640
8a13c092
AO
20641 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
20642
4ec59de2
MH
206432002-03-07 Matt Hiller <hiller@redhat.com>
20644
20645 * gensupport.c (first_dir_md_include): Renamed from include;
20646 change all references.
20647 (last_dir_md_include): Renamed from last_include; change all
20648 references.
20649 (init_md_reader): Unconditionally initialize base_dir whether or
20650 not filename is a relative path.
20651
12f61e77
AO
206522002-03-07 Alexandre Oliva <aoliva@redhat.com>
20653
95356058
AO
20654 * config/fp-bit.c (_unord_f2): Compile it in even if
20655 US_SOFTWARE_GOFAST is enabled.
20656
12f61e77
AO
20657 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
20658 NULL_RTX. Set all HFmode operations as NULL_RTX.
20659 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
20660 NULL_RTX, try reversing the comparison and the operands.
20661
6d7a1c4c
UW
206622002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
20663
20664 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
20665 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
20666 and MATCH_OP_DUP.
20667
66d54344
JH
20668Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
20669
20670 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
20671
068473ec
JH
20672Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
20673
20674 * basic-block.h (fixup_abnormal_edges): Declare.
20675 * reload1.c (fixup_abnormal_edges): New function.
20676 * reg-stack.c (convert_regs): Use it.
20677
20678 * gcse.c (insert_insn_end_bb): Handle trapping insns.
20679
20680 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
20681
71925bc0
RS
206822002-03-07 Richard Sandiford <rsandifo@redhat.com>
20683
20684 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
20685 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
20686 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
20687 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
20688 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
20689 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
20690 unless x and y could be infinite.
20691 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
20692 Check that the common type of both arguments is a real, even for
20693 targets without unordered comparisons. Allow an integer argument
20694 to be compared against a real.
20695 (expand_tree_builtin): Use expand_unordered_cmp.
20696 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
20697 * cse.c (fold_rtx): Likewise. Fix indentation.
20698 * fold-const.c (fold_real_zero_addition_p): New.
20699 (fold): Use it, and the new HONOR_... macros.
20700 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
20701 * jump.c (reversed_comparison_code_parts): After searching for
20702 the true comparison mode, use HONOR_NANS to decide whether it
20703 can be safely reversed.
20704 (reverse_condition_maybe_unordered): Remove IEEE check.
20705 * simplify-rtx.c (simplify_binary_operation): Use the new macros
20706 to decide which simplifications are valid. Allow the following
20707 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
20708 and (a - -b) to (a + b).
20709 (simplify_relational_operation): Use HONOR_NANS.
20710 * doc/tm.texi: Document the MODE_HAS_... macros.
20711
145d3bf2
RE
207122002-03-07 Richard Earnshaw <rearnsha@arm.com>
20713
20714 * combine.c (simplify_comparison): If simplifying a logical shift
20715 right and compare with constant, force the comparison to unsigned.
20716
76a773f3
AH
207172002-03-07 Aldy Hernandez <aldyh@redhat.com>
20718
5b43fed1 20719 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 20720
5b43fed1
RH
20721 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
20722 -mabi=no-altivec
20723 (alt_reg_names): Remove % for vrsave.
76a773f3 20724
ab55f58c
RH
207252002-03-06 Richard Henderson <rth@redhat.com>
20726
5ddec02e 20727 PR optimization/5844
ab55f58c
RH
20728 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
20729 if used indicates we've already emitted one copy of an operand.
20730 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
20731 (gen_split): Supply a non-null used.
20732
e16e3291
UW
207332002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
20734
5b43fed1 20735 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 20736
1e4e95d6 20737 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
20738 but simply fail if the expression is too complex to simplify.
20739 (simplify_gen_binary): Handle simplify_plus_minus failures.
20740
2ca6672b
JH
20741Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
20742
20743 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
20744 consistently call delete_trivially_dead_insns after CSE and GCSE;
20745 fix DFI_life dumping; do jump threading after liveness; do crossjumping
20746 after liveness2; update comment in last crossjumping.
20747 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
20748
31d0dd4f
JL
20749Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
20750
d094b0b3
JL
20751 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
20752 after completing fast dead code elimination.
20753
31d0dd4f
JL
20754 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
20755 COMPARE operator.
1e4e95d6 20756
f2b958b1
PE
207572002-03-06 Phil Edwards <pme@gcc.gnu.org>
20758
20759 * version.c: Fix misplaced leading blanks on first line.
20760
a2877a09
JH
20761Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
20762
20763 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
20764
fe477d8b
JH
20765Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
20766
20767 * cfgcleanup.c (mentions_nonequal_regs): New function.
20768 (thread_jump): Use it.
20769 * toplev.c (rest_of_compilation): Run jump threading after
20770 liveness.
20771
2041cde4
JJ
207722002-03-06 Jakub Jelinek <jakub@redhat.com>
20773
20774 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
20775 patch.
20776
82d68d46
JH
20777Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
20778
20779 * predict.c (estimate_bb_frequencies): Do not reload the
20780 frequencies from notes.
20781
3dec4024
JH
20782Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
20783
20784 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
20785 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
20786
20787 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
20788 delete_noop_moves): Return indeger.
20789 * flow.c (ndead): New variable.
20790 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
20791 BB argument; update callers.
20792 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
20793 (life_analysis): Do not call purge_all_dead_edges.
20794 (update_life_info): Return number of deleted insns; print statistics.
20795 (update_life_info_in_dirty_blocks): likewise.
20796 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
20797 return number of insns deleted.
20798
20799 * cse.c: Include timevar.h
20800 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
20801 iterate until stabilizes; print statistics; return number of killed
20802 insns.
20803 * Makefile.in: (cse.o): Add timevar.h dependency
20804 * rtl.h (delete_trivially_dead_insns): New.
20805 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
20806 * toplev.c (rest_of_compilation): Update callers.
20807
20808 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
20809 (try_optimize_cfg): Do not update liveness.
20810 (cleanup-cfg): Loop until try_optimize_cfg and dead code
20811 removal stabilizes; use delete_trivially_dead_insns.
20812
20813 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
20814
c7544dd8
ZW
208152002-03-05 Zack Weinberg <zack@codesourcery.com>
20816
20817 * cppmain.c (setup_callbacks): Disable #pragma and #ident
20818 callbacks when processing assembly language.
20819
50b424a9
JDA
208202002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
20821
20822 * pa.h (ASM_FILE_END): Define.
20823 * som.h (ASM_FILE_END): Delete.
20824
20825 * pa.c (function_arg): Don't pass floats in general registers in
20826 indirect calls if TARGET_ELF32.
20827
6185f217
RH
208282002-03-05 Richard Henderson <rth@redhat.com>
20829
20830 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
20831
3020a4b2
DS
208322002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
20833
20834 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
20835
65649daa
JJ
208362002-03-05 Jakub Jelinek <jakub@redhat.com>
20837
20838 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
20839 -r command line. Don't hide any symbols if not building
20840 shared libgcc.
20841
5a1a3e5e
JH
20842Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
20843
20844 * cfg.c (dump_flow_info): Warn about profile mismatches.
20845 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
20846 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
20847
170c56da
JJ
208482002-03-05 Jakub Jelinek <jakub@redhat.com>
20849
20850 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
20851 wide volatile memory by parts.
20852
6d051694
JJ
208532002-03-05 Jakub Jelinek <jakub@redhat.com>
20854
20855 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
20856 is NULL.
20857
28bcfd4d
RH
208582002-03-05 Richard Henderson <rth@redhat.com>
20859
5b43fed1 20860 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 20861
75227a33
GK
208622002-03-04 Geoffrey Keating <geoffk@redhat.com>
20863
20864 * toplev.c (documented_lang_options): Document more
20865 language-specific options.
20866 * doc/invoke.texi (Warning Options): Correct documentation for
20867 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
20868 * c-decl.c (c_decode_option): Use a table to handle warning options.
20869
4f1aac42
HPN
208702002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
20871
20872 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
20873 parameter to mmix_encode_section_info.
20874 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
20875 relocatably. Always produce ELF, not mmo if linking relocatably.
20876 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
20877 first is non-zero, don't add symbol prefix.
20878 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
20879 prototype accordingly.
20880
12345543
KW
208812002-03-04 Krister Walfridsson <cato@df.lth.se>
20882
20883 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
20884
8e97db8f
JM
208852002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
20886
20887 * configure.in: Increase required makeinfo version to 4.1.
20888 * configure: Regenerate.
20889
06487868
GK
208902002-03-04 Geoffrey Keating <geoffk@redhat.com>
20891
20892 * .cvsignore: Remove *.info* and genrtl*; these files are generated
20893 elsewhere now.
20894
cff42170
JM
208952002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
20896
20897 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
20898 * doc/invoke.texi: Fix @math uses.
20899
974a7f56
JH
20900Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
20901
20902 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
20903 removal
20904
3b7d0e98
AH
209052002-03-03 Aldy Hernandez <aldyh@redhat.com>
20906
5b43fed1
RH
20907 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
20908 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 20909
5b43fed1 20910 * config/rs6000/t-ppcendian: New.
3b7d0e98 20911
65f2f288
HB
209122002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
20913
20914 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
20915 nonimmediate_src_operand and nonimmediate_lsrc_operand to
20916 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
20917
8ce0a8a5
RH
209182002-03-03 Richard Henderson <rth@redhat.com>
20919
20920 * toplev.c (rest_of_decl_compilation): Revert last two changes.
20921
ba31d94e
ZW
209222002-03-03 Zack Weinberg <zack@codesourcery.com>
20923
20924 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
20925 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
20926 tree.c, config/m68k/m68k.c:
20927 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
20928 REAL_ARITHMETIC blocks unconditional. Delete some further
20929 #ifdef blocks predicated on REAL_ARITHMETIC.
20930 * flags.h, toplev.c: Delete remaining references to
20931 flag_pretend_float.
20932
20933 * doc/invoke.texi: Remove documentation of -fpretend-float.
20934 * doc/tm.texi: Describe the various REAL_* macros as provided by
20935 real.h, not by the target configuration files.
20936
20937 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
20938 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
20939 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
20940 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
20941 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
20942 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
20943 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
20944 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
20945 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
20946 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
20947 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
20948 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
20949 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
20950 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
20951 config/xtensa/xtensa.h:
20952 Do not define, undefine, or mention in comments any of
20953 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
20954 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
20955 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
20956 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
20957 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
20958 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
20959 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
20960 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
20961 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
20962
9a571cfd
KG
209632002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20964
e81dd381
KG
20965 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
20966 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
20967 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
20968 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
20969 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
20970 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
20971 Delete.
20972 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 20973 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 20974
9a571cfd
KG
20975 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
20976 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
20977 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
20978
ca7558fc
KG
209792002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20980
20981 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
20982 lieu of explicit sizeof/sizeof.
20983 * i386.c (override_options, ix86_init_mmx_sse_builtins,
20984 ix86_expand_builtin): Likewise.
20985 * mips.c (mips_add_gc_roots): Likewise.
20986 * mmix.c (mmix_output_condition): Likewise.
20987 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
20988 altivec_init_builtins): Likewise.
20989 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
20990 * cppexp.c (Nsuff, parse_number): Likewise.
20991 * cppinit.c (builtin_array_end): Likewise.
20992 * gcc.c (n_default_compilers, process_command): Likewise.
20993 * genpreds.c (output_predicate_decls): Likewise.
20994 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
20995 * lcm.c (N_ENTITIES): Likewise.
20996 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 20997
41c78c88
RH
209982002-03-03 Richard Henderson <rth@redhat.com>
20999
21000 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
21001 for types or labels.
21002
9e9b71e6
RH
210032002-03-03 Richard Henderson <rth@redhat.com>
21004
21005 * c-decl.c (start_decl): Initialized variables are not common.
21006
c26a6db8
PB
210072002-03-02 Per Bothner <per@bothner.com>
21008
21009 * gcc.c (option_map): Suport new --bootclasspath option.
21010 --CLASSPATH is now just an alias for --classpath.
21011
9e8aab55
RH
210122002-03-02 Richard Henderson <rth@redhat.com>
21013
21014 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
21015 load if "internal" visibility.
21016 * doc/extend.texi: Document visibility meanings.
21017
b3bbd220
RH
210182002-03-02 Richard Henderson <rth@redhat.com>
21019
21020 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
21021 to functions as well.
21022
b14707c3
RH
210232002-03-02 Richard Henderson <rth@redhat.com>
21024
21025 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
21026 (handle_visibility_attribute): Don't call assemble_visibility.
21027 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
21028 without asmspec. Invoke assemble_alias when needed.
21029 * varasm.c (maybe_assemble_visibility): New.
21030 (assemble_start_function, assemble_variable, assemble_alias): Use it.
21031
b2003250
RH
210322002-03-02 Richard Henderson <rth@redhat.com>
21033
21034 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
21035 invoke ENCODE_SECTION_INFO with first call flag.
21036
21037 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
21038 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 21039 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
21040 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
21041 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
21042 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
21043 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
21044 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
21045 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
21046 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
21047 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
21048 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
21049 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
21050 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
21051 config/mcore/mcore-protos.h, config/mcore/mcore.c,
21052 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
21053 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 21054 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
21055 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
21056 config/sh/sh.h, config/sparc/sparc.h,
21057 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
21058 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
21059 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
21060 FIRST argument. As needed, examine it and do nothing.
21061
ba31d94e 21062 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
21063 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
21064 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
21065
21066 * config/arm/t-pe (pe.o): Add dependencies.
21067
5c60f03d
KG
210682002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21069
21070 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
21071 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
21072 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
21073 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
21074 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
21075 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
21076 * defaults.h (BITS_PER_UNIT): Define.
21077 * doc/tm.texi (BITS_PER_UNIT): Document default value.
21078
86855e8c
KH
210792002-03-02 Kazu Hirata <kazu@hxi.com>
21080
21081 * config/h8300/h8300-protos.h: Add a prototype for
21082 compute_a_shift_length.
21083 * config/h8300/h8300.c (h8300_asm_insn_count): New.
21084 (compute_a_shift_length): Likewise.
21085 (h8300_adjust_insn_length): Do not adjust insn length of shift
21086 insns.
21087 * config/h8300/h8300.md (anonymous shift patterns): Use
21088 compute_a_shift_length.
21089
f6041ed8
RK
21090Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21091
35aa3c1c
RK
21092 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
21093 trunc_int_for_mode.
21094
f6041ed8
RK
21095 * emit-rtl.c (offset_address): Call update_temp_slot_address.
21096
27b41650
KG
210972002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21098
21099 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
21100 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
21101 * flags.h (flag_zero_initialized_in_bss): Declare.
21102 * toplev.c (flag_zero_initialized_in_bss): New flag.
21103 (lang_independent_options): Add flag_zero_initialized_in_bss.
21104 * tree.c (initializer_zerop): New function.
21105 * tree.h (initializer_zerop): Declare.
21106 * varasm.c (assemble_variable): If we can emit bss, put zero
21107 initializers in the bss section.
21108
ca734b39
AM
211092002-03-02 Alan Modra <amodra@bigpond.net.au>
21110
21111 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
21112 like more than one symbol per .weak directive.
21113
49b72306
RH
211142002-03-01 Richard Henderson <rth@redhat.com>
21115
21116 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
21117 adjust argument_pointer by pretend_args_size.
21118 (ia64_va_start): Adjust va_start address by -pretend_args_size.
21119
fbf0fe41
KH
211202002-03-01 Kazu Hirata <kazu@hxi.com>
21121
21122 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
21123
0010687d
JH
21124Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
21125
21126 * toplev.c (rest_of_compilation): Delete dead jumptables before
21127 loop.
21128 * flow.c (delete_dead_jumptables): Make global.
21129 * rtl.h (delete_dead_jumptables): Declare.
21130
9429c84c
DE
211312002-03-01 David Edelsohn <edelsohn@gnu.org>
21132
21133 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
21134 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 21135 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 21136
f0b6f9a6
KH
211372002-03-01 Kazu Hirata <kazu@hxi.com>
21138
21139 * config/h8300/h8300-protos.h: Fix formatting.
21140 * config/h8300/h8300.c: Likewise.
21141 * config/h8300/h8300.h: Likewise.
21142
bc8db8a1
KH
211432002-03-01 Kazu Hirata <kazu@hxi.com>
21144
21145 * config/h8300/h8300.c (print_operand): Support 16-bit
21146 constant addresses.
21147 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
21148
32b069d3
RH
211492002-02-28 Richard Henderson <rth@redhat.com>
21150
21151 * expmed.c (store_bit_field): Prevent generation of CONCATs;
21152 pun complex values as integers; use gen_lowpart instead of
21153 gen_rtx_SUBREG.
21154 (extract_bit_field): Likewise.
21155
79c4e63f
AM
211562002-03-01 Alan Modra <amodra@bigpond.net.au>
21157 David Edelsohn <edelsohn@gnu.org>
21158
21159 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
21160 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
21161 (SUPPORTS_WEAK): Likewise.
21162 * output.h (add_weak): Add tree param.
21163 * varasm.c (add_weak): Likewise. Save decl.
21164 (struct weak_syms): Add decl field.
21165 (mark_weak_decls): New function.
21166 (init_varasm_once): ggc_add_root mark_weak_decls.
21167 (assemble_start_function): Use ASM_WEAKEN_DECL.
21168 (assemble_variable): Likewise.
21169 (assemble_alias): Likewise.
21170 (declare_weak): Pass decl to add_weak.
21171 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
21172 (remove_from_pending_weak_list): Declare and define for
21173 ASM_WEAKEN_DECL.
21174 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
21175 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
21176 * defaults.h (SUPPORTS_WEAK): Likewise.
21177 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
21178 .weak for code sym. Do emit .size for descriptor sym.
21179 (ASM_DECLARE_FUNCTION_SIZE): Define.
21180 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
21181 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
21182 .lglobl unless TARGET_XCOFF. Formatting fixes.
21183 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
21184 .weak for code sym.
21185 (HANDLE_PRAGMA_WEAK): Remove.
21186 (ASM_WEAKEN_LABEL): Remove.
21187 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
21188
6f30f1f1
JM
211892002-03-01 Jason Merrill <jason@redhat.com>
21190
21191 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
21192 (TARGET_EXPR_CLEANUP): New macro.
21193
7879b81e
SE
211942002-02-28 Steve Ellcey <sje@cup.hp.com>
21195
21196 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
21197 to take ptr_extend into account as third type of extension.
21198 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
21199 fields used by SUBREG_PROMOTED_UNSIGNED_P.
21200 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
21201 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
21202 * calls.c (precompute_arguments): Use new macro.
21203 (expand_call): Ditto.
21204 * combine.c (nonzero_bits): Ditto.
21205 (record_promoted_value): Ditto.
21206 * expr.c (store_expr): Ditto.
21207 (expand_expr): Ditto.
21208 * function.c (assign_parms): Ditto.
21209
42d579d8
AO
212102002-02-28 Alexandre Oliva <aoliva@redhat.com>
21211
21212 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
21213 override -shared and -shared-libgcc.
21214
e0054185
DB
212152002-02-28 David O'Brien <obrien@FreeBSD.org>
21216
21217 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
21218 of "ultrasparc".
21219 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
21220 to be broken.
21221
abda4f1c
RH
212222002-02-28 Richard Henderson <rth@redhat.com>
21223
21224 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
21225 4 cycle latency from MM producers.
21226 (ia64_internal_sched_reorder): Likewise with pipeline flush.
21227
c0f08649
JJ
212282002-02-28 Jakub Jelinek <jakub@redhat.com>
21229
21230 * mklibgcc.in: Don't use GNU make extension.
21231
f79f2651
NB
212322002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
21233
21234 * c-parse.in (STATIC): New terminal.
21235 (scspec): New non-terminal. Update productions accordingly.
21236 (program): Remove bogus ifc / end ifc.
21237 (array_declarator): Simplify production using STATIC.
21238
001e3fee
JM
212392002-02-28 Jim Meyering <meyering@lucent.com>
21240
21241 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
21242 \a still means TARGET_BELL.
21243
89076bb3
RH
212442002-02-28 Richard Henderson <rth@redhat.com>
21245
21246 * haifa-sched.c (sched_emit_insn): New.
21247 (schedule_block): Use last_scheduled_insn to track last insn.
21248 * sched-int.h (sched_emit_insn): Prototype.
21249 * config/ia64/ia64.c (last_issued): Remove.
21250 (ia64_variable_issue): Don't set it.
21251 (nop_cycles_until): Use sched_emit_insn.
21252
e3aaacf4
AM
212532002-02-28 Andrew MacLeod <amacleod@redhat.com>
21254
21255 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
21256 extended constants.
21257
7f473594
KH
212582002-02-28 Kazu Hirata <kazu@hxi.com>
21259
21260 * config/h8300/h8300.c: Fix formatting.
21261 * config/h8300/h8300.h: Likewise.
21262
b96c434c
MM
212632002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
21264
21265 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
21266 which may overwrite the high byte of the frame pointer.
21267
9b420a6a
BT
212682002-02-28 Bo Thorsen <bo@suse.de>
21269
21270 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
21271 (STARTFILE_SPEC): Add 64 bit files.
21272 (ENDFILE_SPEC): Likewise.
21273
6f30f1f1 212742002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
21275
21276 * c-decl.c (finish_function): Only warn about missing return
21277 statement with -Wreturn-type.
21278
70da1d03
JH
21279Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
21280
21281 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
21282
21283 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
21284 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
21285
38c1593d
JH
21286Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
21287
21288 * basic-block.h (BB_REACHABLE): Renumber.
21289 (BB_DIRTY, BB_NEW): New flags.
21290 (clear_bb_flags): Declare.
21291 (update_life_info_in_dirty_blocks): Declare.
21292 * cfg.c (clear_bb_flags): New function.
21293 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
21294 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
21295 reorder_insns, emit_insn_after): Mark block as dirty.
21296 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
21297 (update_life_info_in_dirty_blocks): New function.
21298 * recog.c (apply_change_group): Dirtify block.
21299
21300 * cse.c (cse_insn): Reorder emitting of jump insn to keep
21301 cfg consistent.
21302 * gcse.c (delete_null_pointer_checks): Likewise.
21303
21304 * toplev.c (dump_file_index): Move cse2 after bp,
21305 add DFI_null
21306 (dump_file_info): Similary.
21307 (rest_of_compilation): Avoid most of CFG rebuilds;
21308 do first if converision after null pointer checks, do cse2
21309 after branch prediction; avoid full liveness rebuild after
21310 initializing subregs.
21311 * invoke.texi (-d options): Document -du, renumber.
21312
21313 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
21314 (notice_new_block): Do not set BB_UPDATE_LIFE.
21315 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
21316 merge_blocks_move_successor_nojumps, merge_blocks,
21317 try_crossjump_to_edge): Likewise.
21318 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
21319 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
21320 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
21321 (merge_of_block): Do not use life_data_ok.
21322 (find_if_case_1): Do not use SET_UPDATE_LIFE.
21323 (if_convert): Use BB_DIRTY mechanizm to update life.
21324 * lcm.c (optimize_mode_switching): Update
21325 update_life_info_in_dirty_blocks
21326
63e1b1c4
NB
213272002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
21328
21329 * Makefile.in (integrate.o): Update.
21330 * c-decl.c (copy_lang_decl): Rename.
21331 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
21332 * integrate.c: Include langhooks.h.
21333 (copy_decl_for_inlining): Update to use langhook.
21334 * langhooks-def.h (lhd_do_nothing_t,
21335 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
21336 (LANG_HOOKS_INITIALIZER): Update.
21337 * langhooks.c (lhd_do_nothing_t): New.
21338 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
21339 * tree.h (copy_lang_decl): Remove.
21340objc:
21341 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
21342
f472fa29
AM
213432002-02-27 Andrew MacLeod <amacleod@redhat.com>
21344
ba31d94e 21345 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
21346 POST_DEC, and POST_MODIFY.
21347
273cf2e4
ZW
213482002-02-27 Zack Weinberg <zack@codesourcery.com>
21349
21350 * c-typeck.c (digest_init): Remove unused parameter; all
21351 callers changed.
21352
4e07d762
GK
213532002-02-27 Geoffrey Keating <geoffk@redhat.com>
21354
21355 * expmed.c (expand_shift): Correctly test for low part of a
21356 subreg.
21357
6bc627b3
UW
213582002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
21359
21360 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
21361 insn UIDs with insn addresses.
21362
f458d1d5
ZW
213632002-02-27 Zack Weinberg <zack@codesourcery.com>
21364
21365 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
21366 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
21367 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
21368 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
21369 gcc.c, toplev.c: Delete code implementing -traditional mode.
21370
21371 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
21372 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
21373 Document removal of -traditional mode for compilation, and
21374 remove documentation only relevant to that mode.
21375
21376 * config/nextstep.h, config/ptx4.h, config/svr4.h,
21377 config/convex/convex.h, config/d30v/d30v.h,
21378 config/i386/dgux.h, config/i386/osf1elf.h,
21379 config/i386/osfelf.h, config/i386/osfrose.h,
21380 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
21381 config/m68k/hp310.h, config/m88k/dgux.h,
21382 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
21383 config/m88k/m88k.h, config/m88k/openbsd.h,
21384 config/mips/abi64.h, config/mips/osfrose.h,
21385 config/mips/svr4-5.h, config/mips/svr4-t.h,
21386 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
21387 config/stormy16/stormy16.h: Remove all references to
21388 -traditional from target specs. Delete all mention of the
21389 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
21390 delete a couple of commented-out definitions of
21391 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
21392 to -traditional.
21393
21394 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
21395 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
21396
e0b3a8ff
ZW
213972002-02-27 Zack Weinberg <zack@codesourcery.com>
21398
21399 * mklibgcc.in: Don't use \n in a line subject to
21400 interpretation by echo.
21401
5c6a85b7
GS
214022002-02-27 Graham Stott <grahams@redhat.com>
21403
72b05af1
GS
21404 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
21405 Constify NAME.
21406
7d104885
GS
21407 * loop.c (prescan_loop): Handle PARALLEL.
21408
8ed805d2
GS
21409 * unroll.c (loop_iterations): Return 0 if the add_val for
21410 a BIV is REG.
21411
fd478a0a
GS
21412 * final.c (output_operand_lossage): Constify PFX_STR.
21413
5c6a85b7
GS
21414 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
21415
cd98ad03
JH
21416Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
21417
21418 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
21419 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
21420
639ae55b
JH
21421Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
21422
21423 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
21424
e808ec9c
NB
214252002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
21426
21427 * cpplex.c (_cpp_lex_token): Handle directives in macro
21428 arguments.
21429 * cpplib.c (_cpp_handle_directive): Save and restore state
21430 if parsing macro args when entering a directive.
21431 * cppmacro.c (collect_args): No need to handle directives
21432 in macro arguments.
21433 (enter_macro_context, replace_args): Use the original macro
21434 definition in case it was redefined whilst collecting arguments.
21435doc:
21436 * cpp.texi: Update.
21437
f585a356
DE
214382002-02-26 David Edelsohn <edelsohn@gnu.org>
21439
21440 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
21441 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
21442 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
21443 method on AIX.
21444 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
21445 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
21446 (load_toc_v4_PIC_2): Same.
21447
214482002-02-26 Alan Modra <amodra@bigpond.net.au>
21449
21450 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
21451
d699058e
RH
214522002-02-26 Richard Henderson <rth@redhat.com>
21453
21454 * config/alpha/alpha.md (ashldi_se): Re-enable.
21455
eadccfbb
RH
214562002-02-26 Richard Henderson <rth@redhat.com>
21457
21458 * config/alpha/alpha.c (alpha_encode_section_info): Examine
21459 MODULE_LOCAL_P; improve commentary.
21460
7080ada1
ZW
214612002-02-26 Zack Weinberg <zack@codesourcery.com>
21462
21463 * doc/cpp.texi: Clarify documentation of relationship between
21464 #line and #include.
21465
b42cff6b
KH
214662002-02-26 Kazu Hirata <kazu@hxi.com>
21467
21468 * config/h8300/h8300-protos.h: Update the prototype for
21469 compute_logical_op_length. Add the prototype for
21470 compute_logical_op_cc.
21471 * config/h8300/h8300.c (compute_logical_op_length): Figure out
21472 code from operands.
21473 (compute_logical_op_cc): New.
21474 * config/h8300/h8300.md: Combine all the logical op patterns
21475 in HImode and SImode. Use compute_logical_op_cc.
21476
831c4e87
KC
214772002-02-26 Kelley Cook <kelleycook@comcast.net>
21478
21479 * config/i386/i386.c (print_operand): Don't append ATT-style
21480 length suffixs to x87 opcodes when in Intel mode.
21481
ff88fe10
RS
214822002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
21483
21484 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
21485 (init_emit_once): Update calls.
21486 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
21487 (init_syntax_once): Prototype.
21488
d4108589
JDA
214892002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
21490
21491 * pa-linux.h (LIB_SPEC): Update definition.
21492 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
21493
e013f3c7
RH
214942002-02-26 Richard Henderson <rth@redhat.com>
21495
21496 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
21497 if we emitted a stop bit.
21498
9e944a16
JJ
214992002-02-26 Jakub Jelinek <jakub@redhat.com>
21500
21501 * configure.in (libgcc_visibility): Substitute.
21502 * configure: Rebuilt.
21503 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
21504 defined symbols .hidden.
21505
47bd70b5
JJ
215062002-02-26 Jakub Jelinek <jakub@redhat.com>
21507
21508 * attribs.c (c_common_attribute_table): Add visibility.
21509 (handle_visibility_attribute): New function.
21510 * varasm.c (assemble_visibility): New function.
21511 * output.h (assemble_visibility): Add prototype.
21512 * tree.h (MODULE_LOCAL_P): Define.
21513 * crtstuff.c (__dso_handle): Use visibility attribute.
21514 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
21515 for MODULE_LOCAL_P symbols too.
21516 * config/ia64/ia64.c (ia64_encode_section_info): Handle
21517 MODULE_LOCAL_P symbols the same way as local symbols.
21518 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
21519 into .sdata/.sbss by the user.
21520 * doc/extend.texi (Function Attributes): Document visibility
21521 attribute.
21522
6d73371a
JJ
215232002-02-26 Jakub Jelinek <jakub@redhat.com>
21524
21525 PR debug/5770
21526 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
21527 STRING_CST initializer spanning the whole variable without
21528 embedded zeros.
21529 If expand_expr returned MEM, don't use it.
21530
06e224f7
AO
215312002-02-26 Alexandre Oliva <aoliva@redhat.com>
21532
21533 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
21534 generate a die for the lexical block.
21535
40367e2d
KH
215362002-02-26 Kazu Hirata <kazu@hxi.com>
21537
21538 * config/h8300/h8300-protos.h: Add a prototype for
21539 compute_logical_op_length.
21540 * config/h8300/h8300.c (compute_logical_op_length): New.
21541 * config/h8300/h8300.md (anonymous logical patterns): Use
21542 compute_logical_op_length for length.
21543
0e98f924
AH
215442002-02-26 Aldy Hernandez <aldyh@redhat.com>
21545
831c4e87
KC
21546 * dwarf2out.c (modified_type_die): Do not call type_main_variant
21547 for vectors.
21548 (gen_type_die): Same.
0e98f924 21549
831c4e87 21550 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 21551
a50cfd52
DE
215522002-02-26 Daniel Egger <degger@fhm.edu>
21553
831c4e87
KC
21554 * config/rs6000/rs6000.md: Swap define_insn attributes to
21555 fix incorrect generation of merge high instructions instead
21556 of merge low.
a50cfd52 21557
b7997284
AH
215582002-02-26 Aldy Hernandez <aldyh@redhat.com>
21559
831c4e87
KC
21560 * c-typeck.c (really_start_incremental_init): Use
21561 bitsize_zero_node for vectors.
b7997284 21562
376aec5d
AH
215632002-02-26 Aldy Hernandez <aldyh@redhat.com>
21564
831c4e87
KC
21565 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
21566 ("*set_vrsave_internal"): Same.
376aec5d 21567
3b40e71b
RH
215682002-02-25 Richard Henderson <rth@redhat.com>
21569
21570 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
21571 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
21572
232b8f52
JJ
215732002-02-25 Jakub Jelinek <jakub@redhat.com>
21574
21575 PR target/5755
21576 * config/i386/i386.c (ix86_return_pops_args): Only pop
21577 fake structure return argument if it was passed on the stack.
21578
67282790
JM
215792002-02-25 Jason Merrill <jason@redhat.com>
21580
21581 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
21582 RESULT_DECL.
21583
5c181756
AO
215842002-02-25 Alexandre Oliva <aoliva@redhat.com>
21585
21586 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
21587 link with shared_name only.
21588 * doc/invoke.texi (Link Options): Document new behavior.
21589
6786d201
AH
215902002-02-25 Aldy Hernandez <aldyh@redhat.com>
21591
831c4e87 21592 * c-typeck.c (push_init_level): Handle vectors.
6786d201 21593
7d6040e8
AO
215942002-02-25 Alexandre Oliva <aoliva@redhat.com>
21595
21596 * config/sparc/sparc.c (const64_high_operand): Zero-extend
21597 operands of SPARC_SETHI_P.
21598 (input_operand): Likewise.
21599 (sparc_emit_set_const32): Likewise.
21600 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
21601 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
21602 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
21603 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
21604 (movdi_insn_sp64_vis): Likewise.
21605 (movdi split, movdf split): Use SETHI32.
21606 * doc/md.texi: Document SPARC constraints L, M and N.
21607
b188f760
AH
216082002-02-25 Aldy Hernandez <aldyh@redhat.com>
21609
831c4e87
KC
21610 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
21611 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 21612
831c4e87
KC
21613 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
21614 gen_get_vrsave_internal.
b188f760 21615
8041889f
RK
21616Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21617
21618 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
21619
a47ed310
NB
216202002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
21621
21622 * cpplex.c (cpp_interpret_charconst): Get signedness or
21623 otherwise of wide character constants correct.
21624 * cppexp.c (lex): Get signedness of wide charconsts correct.
21625
cb8f73be
RK
21626Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21627
21628 * optabs.c (widen_operand): Only call convert_modes for
21629 promoted SUBREG if signedness matches.
21630 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
21631
2450e0b8
NB
216322002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21633
21634 * cpplib.c (glue_header_name): Use local buffer to build up
21635 header name.
21636
70b6aaed
NB
216372002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21638
21639 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
21640
6be580c7
KH
216412002-02-23 Kazu Hirata <kazu@hxi.com>
21642
21643 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
21644 H8/300[HS] separately.
21645 * config/h8300/h8300.md: Remove the early clobber constraint
21646 from bit field patterns.
21647
35dad9f1
KH
216482002-02-23 Kazu Hirata <kazu@hxi.com>
21649
21650 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
21651 register_operand.
21652 (mulhisi3): Likewise.
21653 (umulqisi3): Likewise.
21654 (umulhisi3): Likewise.
21655
ab8e2228
NB
216562002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21657
21658 * cppinit.c (output_deps): Correct test for stdout output.
21659 (init_dependency_output): Cure warning.
21660
ac6f8a15
RK
21661Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21662
21663 * expr.c (store_expr): When converting expression to promoted
21664 equivalent type, allow using SUBREG_REG of TARGET as the target
21665 of the expansion of EXP.
21666 * loop.c (basic_induction_var, case SUBREG): Always look inside.
21667 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
21668 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
21669 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
21670 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
21671
f282ffb3
JM
216722002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
21673
21674 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
21675 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
21676 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
21677
44c5edc0
JJ
216782002-02-23 Jakub Jelinek <jakub@redhat.com>
21679
21680 PR optimization/5747
21681 * loop.c (scan_loop): Update reg info if move_movables created new
21682 pseudos.
21683
f98e43c0
DE
216842002-02-23 David Edelsohn <edelsohn@gnu.org>
21685
21686 * gcc.c (init_gcc_spec): Revert last change.
21687
e72247f4
DE
216882002-02-23 David Edelsohn <edelsohn@gnu.org>
21689
21690 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
21691 gpc_reg_operand constraint.
21692
216932002-02-23 Alan Modra <amodra@bigpond.net.au>
21694
21695 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
21696 Simplify comparison of `low'.
21697 (add_operand): Fix formatting.
21698 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 21699 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
21700 (rs6000_stack_info): Remove redundant test setting push_p.
21701 (output_toc): Fix formatting.
21702 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
21703 cc_reg_not_cr0_operand constraint.
21704 (booldi3, boolcdi3 splitters): Same.
21705
a5c30531
AH
217062002-02-23 Aldy Hernandez <aldyh@redhat.com>
21707
831c4e87 21708 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 21709
43710f9f
DE
217102002-02-22 David Edelsohn <edelsohn@gnu.org>
21711
21712 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
21713 gcc invoked with -shared-libgcc.
21714
3256b817
JJ
217152002-02-22 Jakub Jelinek <jakub@redhat.com>
21716
21717 PR c++/5748
21718 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
21719 decl if any of elements was TREE_USED.
21720
9e0625a3
AO
217212002-02-22 Alexandre Oliva <aoliva@redhat.com>
21722
21723 * config/sparc/sol2.h: Don't include sys/mman.h.
21724 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
21725 (arith_4096_operand): Don't throw high bits away.
21726 (const64_operand): Take sign extension of CONST_INTs into account.
21727 (const64_high_operand, sparc_emit_set_const32): Likewise.
21728 (GEN_HIGHINT64): Likewise.
21729 (sparc_emit_set_const64_quick1): Likewise.
21730 (const64_is_2insns): Likewise.
21731 (print_operand): Use trunc_int_for_mode for sign extension.
21732 * config/sparc/sparc.h (SMALL_INT32): Likewise.
21733 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
21734 chars. Assume CONST_INT is already properly sign-extended.
21735 (movdi split): Sign-extend each SImode part.
21736 (andsi3 split): Don't mask high bits off, so that result
21737 remains properly sign-extend.
21738 (iorsi3 split): Likewise.
21739 (xorsi3 split): Likewise.
21740
54fec3d5
RS
217412002-02-22 Richard Sandiford <rsandifo@redhat.com>
21742
21743 * fold-const.c (fold): Fix typo in comments.
21744
667ada9b
DN
217452002-02-21 Diego Novillo <dnovillo@redhat.com>
21746
21747 * Makefile.in (langhooks.o): Update dependencies.
21748
29ac78d5
DN
217492002-02-21 Diego Novillo <dnovillo@redhat.com>
21750
21751 * langhooks.c: Include flags.h.
21752
6aa77e6c
AH
217532002-02-21 Aldy Hernandez <aldyh@redhat.com>
21754
21755 * testsuite/gcc.dg/attr-alwaysinline.c: New.
21756
21757 * c-common.c (c_common_post_options): Set inline trees by
21758 default.
21759
21760 * doc/extend.texi (Function Attributes): Document always_inline
21761 attribute.
21762 Update documentation about inlining when not optimizing.
21763
21764 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
21765
21766 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
21767 unless DECL_ALWAYS_INLINE.
21768
21769 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
21770 unless DECL_ALWAYS_INLINE.
21771 (c_disregard_inline_limits): Disregard if always_inline set.
21772
21773 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
21774 Disregard if always_inline set.
21775 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
21776 unless DECL_ALWAYS_INLINE.
21777
21778 * attribs.c (handle_always_inline_attribute): New.
21779 (c_common_attribute_table): Add always_inline.
21780
21781 * config/rs6000/altivec.h: Add prototypes for builtins
21782 requiring the always_inline attribute.
21783
c410d49e
EC
217842002-02-21 Eric Christopher <echristo@redhat.com>
21785
21786 * expmed.c (store_bit_field): Try to simplify the subreg
21787 before generating a new one when when the mode size of
21788 value is less than maxmode.
21789
e3c8ea67
RH
217902002-02-21 Richard Henderson <rth@redhat.com>
21791
21792 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
21793 than gen_rtx_PLUS to form the sum.
21794 * explow.c (force_reg): Rearrange to not allocate new pseudo
21795 when force_operand returns a register.
21796 * expr.c (expand_assignment): Allow offset_rtx expansion to
21797 return a sum. Do not force addresses into registers.
21798 (expand_expr): Likewise.
21799 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
21800 to canonicalize arithmetic that didn't simpify.
21801 (simplify_plus_minus): New argument force; update
21802 all callers. Don't split CONST unless we can do something with it,
21803 and wouldn't lose the constness of the operands.
21804
21805 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
21806 that we generated earlier.
21807
c1a046e5
TT
218082002-02-21 Tom Tromey <tromey@redhat.com>
21809
21810 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21811 (output_line_info): Use constant `1', with a long explanatory
21812 comment.
21813 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
21814
31fbaad4
R
21815Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
21816
21817 * jump.c (redirect_jump): If old label has no UID, don't try to
21818 delete it.
21819
a7f52356
R
21820Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
21821
21822 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
21823 If input is constant, do shifts at compile time.
21824
924fcc4e
JM
218252002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
21826
21827 * doc/extend.texi: Fix some more overfull hboxes.
21828
e5a20888
JJ
218292002-02-21 Jakub Jelinek <jakub@redhat.com>
21830
21831 PR optimization/4994
21832 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
21833 register moves.
21834
218352002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
21836
21837 PR c++/4574
21838 * expr.h (expand_and): Add mode argument.
21839 * expmed.c (expand_and): Add mode argument.
21840 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
21841 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
21842 * except.c (expand_builtin_extract_return_addr): Likewise.
21843 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
21844 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
21845 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
21846 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
21847 * config/c4x/c4x.md: Use GEN_INT (x) instead of
21848 gen_rtx (CONST_INT, VOIDmode, x).
21849
7133e992
JJ
218502002-02-21 Jakub Jelinek <jakub@redhat.com>
21851
21852 PR c/4697:
21853 * stmt.c (warn_if_unused_value): Move side effects test once more.
21854
e2ec05a6
TG
218552002-02-20 Torbjorn Granlund <tege@swox.com>
21856
21857 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 21858 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 21859
9dd791c8
AO
21860Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
21861
21862 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
21863 SUBREG or ZERO_EXTEND.
21864
7ab56274
R
21865Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
21866
21867 * sh.h (current_function_anonymous_args): Remove.
21868 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
21869 of current_function_varargs and current_function_stdarg is set.
21870 * sh.c (sh_expand_prologue): Check current_function_varargs /
21871 current_function_stdarg / TARGET_SH5 instead of
21872 current_function_anonymous_args.
21873
21874 * sh64.h (TARGET_VERSION): Define.
21875
b1765bde
DE
218762002-02-20 David Edelsohn <edelsohn@gnu.org>
21877
21878 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
21879 VRSAVE_REGNO on TARGET_ALTIVEC.
21880
218812002-02-20 Alan Modra <amodra@bigpond.net.au>
21882
21883 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
21884 bits of SImode const_int.
21885 (includes_rshift_p): Likewise.
21886 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 21887 mode.
b1765bde
DE
21888 (rs6000_output_function_epilogue): Pad traceback table to word.
21889 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
21890 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
21891 mask64_operand with correct mode.
b1765bde
DE
21892 (FUNCTION_ARG_REGNO_P): Correct parentheses.
21893
149d6f9e
JJ
218942002-02-20 Jakub Jelinek <jakub@redhat.com>
21895
21896 PR debug/4461
21897 * varasm.c (get_pool_constant_mark): New.
21898 * rtl.h (get_pool_constant_mark): Add prototype.
21899 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
21900 be represented if it has not been output.
21901
4161da12
AO
219022002-02-20 Alexandre Oliva <aoliva@redhat.com>
21903
21904 * combine.c (do_SUBST): Sanity check substitutions of
21905 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
21906 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
21907 CONST_INT into its operand.
21908 (known_cond): Likewise, for ZERO_EXTEND.
21909 * simplify-rtx.c (simplify_unary_operation): Fix condition to
21910 allow for simplification of wide modes. Reject CONST_INTs in
21911 ZERO_EXTEND when their actual mode is not given.
21912
3704ef74
AO
219132002-02-20 Alexandre Oliva <aoliva@redhat.com>
21914
21915 * c-decl.c (pushdecl): If no global declaration is found for an
21916 extern declaration in block scope, try a limbo one.
21917
7552da58
JJ
219182002-02-20 Jakub Jelinek <jakub@redhat.com>
21919
21920 PR c++/4401
21921 * c-common.c (pointer_int_sum): Moved from...
21922 * c-typeck.c (pointer_int_sum): ...here.
21923 * c-common.h (pointer_int_sum): Add prototype.
21924
00fae85d
JJ
219252002-02-20 Jakub Jelinek <jakub@redhat.com>
21926
21927 PR c++/5713
21928 * c-decl.c (duplicate_decls): Return 0 if issued error about
21929 redeclaration.
21930
4636c87e
JJ
219312002-02-20 Roger Sayle <roger@eyesopen.com>
21932 Jakub Jelinek <jakub@redhat.com>
21933
21934 PR c/4389
21935 * tree.c (host_integerp): Ensure that the constant integer is
21936 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
21937 when pos is zero or non-zero respectively. Clarify comment.
21938 * c-format.c (check_format_info_recurse): Fix host_integerp
21939 usage; the pos argument should be zero when assigning to a
21940 signed HOST_WIDE_INT.
21941
59bef189
RH
219422002-02-20 Richard Henderson <rth@redhat.com>
21943
21944 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
21945 of the operand, rather than assuming TImode.
21946 (ix86_expand_binop_builtin): Cope with commutative patterns
21947 using nonimmediate_operand for both operands.
21948 (ix86_expand_timode_binop_builtin): Likewise.
21949 (ix86_expand_store_builtin): Validate operand 1.
21950 (ix86_expand_unop1_builtin): Likewise.
21951
9338ffe6 219522002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 21953
9338ffe6
PB
21954 PR 5705
21955 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
21956
f322b423
RH
219572002-02-20 Richard Henderson <rth@redhat.com>
21958
21959 PR c/5615
21960 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
21961
d94084f7
TT
219622002-02-20 Tom Tromey <tromey@redhat.com>
21963
21964 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21965 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21966 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21967 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21968 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
21969 unconditionally.
21970
37fa124a
AM
21971Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
21972
21973 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
21974 for (const_int 0) in X not just INTVAL.
21975
6e5bb5ad
JM
219762002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
21977
21978 * doc/extend.texi: Avoid or reduce overfull hboxes.
21979
420e7dfa
DN
219802002-02-20 Diego Novillo <dnovillo@redhat.com>
21981
21982 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
21983 operations if the field does not start at a mode boundary.
21984
1b7a2af6
JS
219852001-02-20 Joel Sherrill <joel@OARcorp.com>
21986
21987 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
21988 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
21989 Also done for -Acpu and -Amachine.
21990
56cd5b95
NB
219912002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
21992
21993 * cppinit.c (init_dependency_output): Take deps output file
21994 from -o if none given with -MF. Suppress normal output.
c410d49e 21995 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
21996 * doc/cpp.texi, doc/invoke.texi: Update.
21997
042cdf71
ZW
219982002-02-19 Zack Weinberg <zack@codesourcery.com>
21999
22000 * toplev.c (output_quoted_string): Write unprintable
22001 characters with octal escapes.
22002
c1f11548
DE
220032002-02-19 David Edelsohn <edelsohn@gnu.org>
22004
22005 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
22006 really_call_used[VRSAVE_REGNO] if not Altivec.
22007
220082002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 22009
c1f11548
DE
22010 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
22011 MODE_MASK.
22012 (constant_pool_expr_1): Fix formatting.
22013 (rs6000_legitimize_reload_address): Likewise.
22014
c964d90e
RK
22015Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22016
22017 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
22018 now that we have one.
22019
ae34ac46
ZW
220202002-02-19 Zack Weinberg <zack@codesourcery.com>
22021
22022 * tree.h (struct tree_common): Remove aux. Add unused_0 at
22023 end of first block of bitfields (which was only seven bits);
22024 rename dummy to unused_1; remove comment which is no longer true.
22025
293c28ee
GS
220262002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
22027
22028 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
22029
7b8781c8
PB
220302002-02-19 Philip Blundell <pb@nexus.co.uk>
22031
0cb6c58d 22032 PR 5399
7b8781c8
PB
22033 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
22034 if generating PIC.
22035
22036 PR 5054
22037 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
22038 arm_is_longcall_p rather than inspecting call-type cookie
22039 directly.
22040 (call_value_insn) [TARGET_THUMB]: Likewise.
22041
5c464583
GS
220422002-02-19 Graham Stott <grahams@redhat.com>
22043
22044 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
22045
71c061e6
DE
220462002-02-19 David Edelsohn <edelsohn@gnu.org>
22047
22048 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
22049 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 22050 (FP_SAVE_INLINE): Delete.
71c061e6
DE
22051
22052 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
22053 * config/rs6000/eabi.asm: Remove ABI save restore routines.
22054 * config/rs6000/t-ppccomm: Build crtsavres.o.
22055 * config/rs6000/crtsavres.asm: New file.
22056
3a7731fd
PB
220572002-02-19 Philip Blundell <philb@gnu.org>
22058
22059 * config/arm/arm.c (use_return_insn): Don't reject interrupt
22060 functions.
22061 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
22062 (output_return_instruction): Allow interrupt functions to return with
22063 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
22064 (arm_expand_prologue): Subtract 4 before stacking LR in an
22065 interrupt function.
22066
14f583b8
PB
220672002-02-19 Philip Blundell <pb@nexus.co.uk>
22068
22069 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
22070 decl, not just FUNCTION_DECL.
22071 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
22072 (arm_assemble_integer): Likewise.
22073 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
22074 marked local.
c410d49e 22075
4cb7482c
MG
220762002-02-19 matthew green <mrg@eterna.com.au>
22077
22078 * config.gcc (sparc-*-netbsdelf*): Enable target.
22079 (sparc64-*-netbsd*): New target.
22080 * config/sparc/netbsd-elf.h: New file.
22081 * config/sparc/t-netbsd64: New file.
22082
2df3a718
GS
220832002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
22084
22085 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
22086
77f6c1eb
RS
220872002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
22088
22089 * doc/invoke.texi: explicitly list the style guidelines that
22090 -Weffc++ checks for.
22091
fd973d56
JH
22092Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
22093
22094 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
22095
30518e45
NB
220962002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
22097
22098 PR other/5718
22099 * gcc.c (cpp_unique_options): Treat -o as indicating object file
22100 only if not -E. If -E, pass -o through to the preprocessor.
22101
39ea5704
KH
221022002-02-19 Kazu Hirata <kazu@hxi.com>
22103
22104 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
22105 register number with an appropriate macro.
22106
7355dba7
BM
221072002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
22108
22109 * doc/rtl.texi (Constants): Close @code tag.
22110
91c8aa9e
AH
221112002-02-19 Aldy Hernandez <aldyh@redhat.com>
22112
22113 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
22114 ("mmx_uavgv4hi3"): Same.
22115 ("pmulhrwv4hi3"): Same.
22116
22117 * tree-inline.c (walk_tree): Handle vectors.
22118
22119 * c-common.c (constant_expression_warning): Handle vectors.
22120 (overflow_warning): Same.
22121
22122 * sched-deps.c (sched_analyze_2): Handle vectors.
22123
22124 * rtlanal.c (rtx_unstable_p): Handle vectors.
22125 (rtx_varies_p): Same.
22126 (count_occurrences): Same.
22127 (regs_set_between_p): Same.
22128 (modified_between_p): Same.
22129 (modified_in_p): Same.
22130 (volatile_insn_p): Same.
22131 (volatile_refs_p): Same.
22132 (side_effects_p): Same.
22133 (may_trap_p): Same.
22134 (inequality_comparisons_p): Same.
22135 (replace_regs): Same.
22136 (computed_jump_p_1): Same.
22137
22138 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
22139 argument.
22140 (inner_mode_array): New.
22141 (copy_rtx): Handle vectors.
22142 (copy_most_rtx): Same.
22143 (rtx_equal_p): Same.
22144 (get_mode_alignment): Adjust for vectors.
22145
22146 * resource.c (mark_referenced_resources): Handle vectors.
22147 (mark_set_resources): Same.
22148
22149 * reload1.c (eliminate_regs): Handle vectors.
22150 (elimination_effects): Same.
22151 (scan_paradoxical_subregs): Same.
22152
22153 * reload.c (subst_reg_equivs): Handle vectors.
22154
22155 * regrename.c (scan_rtx): Handle vectors.
22156
22157 * regclass.c (reg_scan_mark_refs): Handle vectors.
22158
22159 * recog.c (find_single_use_1): Handle vectors.
22160
22161 * local-alloc.c (equiv_init_varies_p): Handle vectors.
22162 (contains_replace_regs): Same.
22163 (memref_referenced_p): Same.
22164
22165 * integrate.c (copy_rtx_and_substitute): Handle vectors.
22166 (subst_constants): Same.
22167
22168 * genattrtab.c (attr_copy_rtx): Handle vectors.
22169 (encode_units_mask): Same.
22170 (clear_struct_flag): Same.
22171 (count_sub_rtxs): Same.
22172
22173 * gcse.c (want_to_gcse_p): Handle vectors.
22174 (oprs_unchanged_p): Same.
22175 (hash_expr_1): Same.
22176 (oprs_not_set_p): Same.
22177 (expr_killed_p): Same.
22178 (compute_transp): Same.
22179 (store_ops_ok): Same.
22180
22181 * function.c (purge_addressof_1): Do not allow paradoxical subregs
22182 of vectors.
22183 (fixup_var_refs_1): Same.
22184 (instantiate_virtual_regs_1): Same.
22185
22186 * fold-const.c (operand_equal_p): Handle vectors.
22187 (fold): Same.
22188 (rtl_expr_nonnegative_p): Same.
22189
22190 * flow.c (mark_used_regs): Handle vectors.
22191
22192 * df.c (df_uses_record): Handle vectors.
22193
22194 * cselib.c (cselib_subst_to_values): Handle vectors.
22195 (cselib_mem_conflict_p): Same.
22196 (hash_rtx): Same.
22197
22198 * cse.c (canon_reg): Handle vectors.
22199 (fold_rt): Same.
22200 (cse_process_notes): Same.
22201 (count_reg_usage): Same.
22202 (canon_hash): Same.
22203
22204 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
22205
22206 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
22207
22208 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
22209 (gen_rtx): Handle CONST_VECTOR.
22210 (gen_const_vector_0): New.
22211 (copy_rtx_if_shared): CONST_VECTORs can be shared.
22212 (reset_used_flags): Same.
22213 (copy_insn_1): Same.
22214 (initializer_constant_valid_p): Handle VECTOR_CST.
22215
22216 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
22217
22218 * doc/rtl.texi (Constants): Document const_vector.
22219 (CONST0_RTX): Update for vectors.
22220 (RTL sharing): Same.
22221
22222 * print-tree.c (print_node): Add case for VECTOR_CST.
22223
22224 * tree.h (TREE_VECTOR_CST_ELTS): New.
22225 (struct tree_vector): New.
22226 (union tree_node): Add vector node.
22227 (build_vector): Add prototype.
22228
22229 * tree.def (VECTOR_CST): New.
22230
22231 * tree.c (build_vector): New.
22232
22233 * expmed.c (make_tree): Handle CONST_VECTOR.
22234
22235 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
22236 (CONST_VECTOR_ELT): New.
22237 (CONST_VECTOR_NUNITS): New.
22238
22239 * machmode.h (GET_MODE_INNER): New.
22240 (DEF_MACHMODE): Accept 8th arg.
22241
22242 * machmode.def: Add 8th argument for vector inner mode.
22243 Add inner vector modes for vectors.
22244
22245 * rtl.def (VEC_CONST): Remove.
22246 (CONST_VECTOR): New.
22247
22248 * expr.c (clear_storage): Allow vectors.
22249 (is_zeros_p): Handle VECTOR_CST.
22250
22251 * varasm.c (output_constant_pool): Handle vectors.
22252 (rtx_const): Add veclo and vechi fields.
22253 (kind): Add RTX_VECTOR.
22254 (decode_rtx_const): Add case for vector.
22255
22256 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 22257
91c8aa9e
AH
22258 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
22259 constants. Force easy vector constants into memory.
22260 (easy_vector_constant): New.
22261 (emit_easy_vector_constant): New.
22262 (rs6000_legitimize_reload_address): Do not generate bad reloads on
22263 darwin.
22264
22265 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
22266 instruction does.
22267 ("altivec_lvxl"): Same.
22268 (altivec_lvebx): Same.
22269 (altivec_lvehx): Same.
22270 (altivec_lvewx): Same.
22271 ("*movv4si_const0"): New.
22272 ("*movv4sf_const0"): New.
22273 ("*movv8hi_const0"): New.
22274 ("*movv16qi_const0"): New.
22275
d4d6d0ce
KH
222762002-02-18 Kazu Hirata <kazu@hxi.com>
22277
22278 * config/h8300/h8300.c (notice_update_cc): Use
22279 cc_status.value2.
22280
4915d3aa
KH
222812002-02-18 Kazu Hirata <kazu@hxi.com>
22282
22283 * config/h8300/h8300.md (divmod patterns): Change the
22284 constraints for operands[1] to register_operand.
22285
82be00ee
KH
222862002-02-18 Kazu Hirata <kazu@hxi.com>
22287
22288 * config/h8300/h8300-protos.h: Remove the prototype for
22289 p_operand.
22290 * config/h8300/h8300.c (p_operand): Remove.
22291 * config/h8300/h8300.md: Replace p_operand with
22292 const_int_operand.
22293
1768c26f
PB
222942002-02-18 Philip Blundell <pb@nexus.co.uk>
22295
22296 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
22297 comment.
22298 (output_return_instruction): Allow use of LDR to unstack
22299 return addresss even for interrupt handlers or when
22300 interworking. If compiling for ARMv5, use interworking-safe
22301 return instructions by default. Remove duplicated code and
22302 lengthy "strcat" sequences.
22303
ccd84f51
FS
223042002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
22305
22306 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
22307 (LINK_EH_SPEC): Define.
22308 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
22309
2c153108
UW
223102002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
22311
22312 * config/s390/s390.c (s390_emit_prologue): Do not set the
22313 frame_related flag for call-clobbered registers.
22314
e95d6b23
JH
22315Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
22316
22317 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
22318 (construct_container): Fix handling of SSE operands.
22319 (ix86_expand_builtin): Fix handling of 64bit pointers.
22320 (mmx_maskmovq_rex): New pattern.
22321
c43a12b5
JH
22322Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
22323
22324 * regrename.c (kill_set_value): Handle subregs properly.
22325
aeb85a15
DB
223262002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
22327
22328 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 22329 from objc_class_name.
aeb85a15 22330
a615ca3e
RH
223312002-02-17 Richard Henderson <rth@redhat.com>
22332
22333 * config/alpha/alpha.c (some_small_symbolic_operand,
22334 some_small_symbolic_operand_1, split_small_symbolic_operand,
22335 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
22336 Handle small SYMBOL_REFs anywhere, not just inside memories.
22337 * config/alpha/alpha-protos.h: Update.
22338 * config/alpha/alpha.h (PREDICATE_CODES): Update.
22339 * config/alpha/alpha.md (small symbolic operand splitter): Update.
22340
ddb28441
RM
223412002-02-17 Roland McGrath <roland@frob.com>
22342
22343 * config.gcc (powerpc-*-gnu-gnualtivec*,
22344 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
22345 * config/rs6000/gnu.h: New file.
22346 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
22347 Grok "gnu" in rs6000_abi_name.
22348 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
22349 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
22350 Grok -mcall-gnu analogous to -mcall-linux et al.
22351 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
22352 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
22353 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
22354
f6f8ada3
JJ
223552002-02-17 Jakub Jelinek <jakub@redhat.com>
22356
22357 PR c/3444:
22358 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
22359 shortening.
22360
e16b32fc
PT
223612002-02-17 Philipp Thomas <pthomas@suse.de>
22362
22363 * config/cris/cris.h: Undefine STARTFILE_SPEC and
22364 ENDFILE_SPEC before (re)defining them.
22365
f9477efd
KH
223662002-02-17 Kazu Hirata <kazu@hxi.com>
22367
22368 * config/h8300/h8300.c: Fix formatting.
22369 * config/h8300/h8300.h: Likewise.
22370
404ae494
PT
223712002-02-17 Philipp Thomas <pthomas@suse.de>
22372
22373 * doc/tm.texi: Explain why empty strings should not be
22374 marked for translation.
22375
a52453cc
PT
223762002-02-17 Philipp Thomas <pthomas@suse.de>
22377
22378 * final.c (output_operand_lossage): Changed to accept
22379 printf style arguments. Change calls where necessary.
22380 * output.h (output_operand_lossage): Change declaration
22381 accordingly. Update copyright.
22382 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
22383 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
22384 Update copyright date where necessary.
c410d49e 22385
a52453cc
PT
22386 * config/i386/i386.c (print_operand): Likewise. Remove use of
22387 sprintf.
22388
22389 * config/cris/cris.c (cris_operand_lossage): Likewise.
22390 Rename parameter so that exgettext recognizes it as
22391 translatable message.
22392 (LOSE_AND_RETURN): Rename parameter to msgid.
22393
1c11abc4
KH
223942002-02-17 Kazu Hirata <kazu@hxi.com>
22395
22396 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
22397 hard coded register number with an appropriate macro.
22398 (HARD_REGNO_MODE_OK): Likewise.
22399 (ARG_POINTER_REGNUM): Likewise.
22400 (STATIC_CHAIN_REGNUM): Likewise.
22401 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
22402 * config/h8300/h8300.md (define_constants): Define more
22403 register numbers.
22404
a5d17ff3
PT
224052002-02-17 Philipp Thomas <pthomas@suse.de>
22406
22407 * config/i386/i386.h: Don't mark empty strings for translation.
22408
1a7289c4
L
224092002-02-16 H.J. Lu <hjl@gnu.org>
22410
22411 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
22412
afb58288
ZW
224132002-02-16 Zack Weinberg <zack@codesourcery.com>
22414
22415 * cppinit.c (merge_include_chains): Check for brack being
22416 NULL before attempting to merge it with qtail.
22417
d2af4dbd
AC
224182002-02-16 Andrew Cagney <ac131313@redhat.com>
22419
22420 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
22421 DBX_DEBUG.
22422
2e1ed1e3
JDA
224232002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
22424
22425 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
22426
604c75b2
JDA
224272002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
22428
22429 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
22430 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
22431 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
22432
1a42b072
RK
22433Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22434
7303604f 22435 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
22436 now only if !TARGET_FIX.
22437 (*movsi_nt_vms_fix): New pattern.
22438
c2ea1ac6
DR
224392002-02-16 Douglas B Rupp <rupp@gnat.com>
22440
22441 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
22442 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
22443 (alpha_sa_mask, alpha_sa_size): Reflect above change.
22444 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
22445 (alpha_start_function, alpha_expand_epilogue): Likewise.
22446 (unicosmk_gen_dsib): Likewise.
22447
725e58b1
RK
22448Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22449
22450 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
22451
13e58269
UW
224522002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
22453
c410d49e 22454 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
22455 check_and_change_labels, s390_final_chunkify): Delete.
22456 (s390_split_branches, s390_chunkify_pool): New functions.
22457 (s390_function_prologue): Call them.
c410d49e 22458
13e58269
UW
22459 * config/s390/s390.h (S390_REL_MAX): Delete.
22460 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
22461
c410d49e 22462 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
22463 attribute calculation.
22464
22465
34d1b01d
DE
224662002-02-15 David Edelsohn <edelsohn@gnu.org>
22467
22468 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
22469 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
22470
be5cc51a
JDA
224712002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
22472
22473 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
22474 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
22475 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
22476
ee96ce90
RS
224772002-02-15 Richard Sandiford <rsandifo@redhat.com>
22478
22479 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
22480
05fa709d
RS
224812002-02-15 Richard Sandiford <rsandifo@redhat.com>
22482
22483 * reload.c (find_dummy_reload): Check that an output register
22484 is valid for its mode.
22485
4606272b
AO
224862002-02-14 Alexandre Oliva <aoliva@redhat.com>
22487
9a360704
AO
22488 * combine.c (known_cond): After replacing the REG of a SUBREG, try
22489 to simplify it.
22490
4606272b
AO
22491 * function.c (assign_parms): Demote promoted argument passed by
22492 transparent reference.
22493
e62d89a1
JS
224942001-02-14 Joel Sherrill <joel@OARcorp.com>
22495
22496 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
22497 -Acpu() and -Amachine() to eliminate warnings.
22498
6c4cf695
UW
224992002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
22500
22501 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
22502
037f11ef
KH
225032002-02-14 Kazu Hirata <kazu@hxi.com>
22504
22505 * config/h8300/h8300-protos.h: Update the prototype for
22506 const_costs.
22507 * config/h8300/h8300.c (const_costs): Treat SET as a little
22508 more expensive operation.
22509 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
22510 reference to const_costs.
22511
fdc76b09
HPN
225122002-02-14 Hans-Peter Nilsson <hp@axis.com>
22513
22514 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
22515
d76e6800
JJ
225162002-02-14 Jakub Jelinek <jakub@redhat.com>
22517
22518 PR c/5503:
22519 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
22520 use arguments from newtype.
22521
5ae590d7
EC
225222002-02-13 Eric Christopher <echristo@redhat.com>
22523
22524 * config/mips/mips.c (override_options): Add check for march/mipsX
22525 on the same command line. Fix error message in cpu processing.
22526 Remove architecture and ISA checks.
22527
b8513691
AH
225282002-02-14 Aldy Hernandez <aldyh@redhat.com>
22529
831c4e87 22530 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 22531
831c4e87 22532 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 22533
78c875e8
AH
225342002-02-14 Aldy Hernandez <aldyh@redhat.com>
22535
831c4e87
KC
22536 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
22537 alternatives.
22538 ("*movv8hi_internal1"): Same.
22539 ("*movv16qi_internal1"): Same.
22540 ("*movv4sf_internal1"): Same.
78c875e8 22541
831c4e87
KC
22542 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
22543 not push_reload for altivec modes.
78c875e8 22544
d76e6800 225452002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
22546
22547 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
22548 all RTEMS targets including removal of #includes from config/*/rtems*.h
22549 file and adding them to tm_file setting. Added xm_defines=POSIX to
22550 many targets.
22551 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
22552 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
22553 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
22554 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
22555 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
22556 config/m68k/rtemself.h: Ditto.
22557 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
22558 config/mips/rtems64.h: Ditto.
22559 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
22560 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
22561 Ditto.
22562 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
22563 config/sparc/rtemself.h: Ditto.
22564 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
22565 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
22566 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
22567 more like arm-elf.
22568 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
22569 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
22570 target made more similar to i386-elf.
22571 * config/i386/t-rtems-i386: Added soft float support and multilibs.
22572 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
22573 be similar to config/m68k/t-m68kelf.
22574 * gthr-rtems.h: Encapsulate with extern "C" for C++.
22575
8686336f
JH
22576Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
22577
22578 * regmove.c (kill_value): Handle subregs.
22579
558740bf
JH
22580Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
22581
22582 * i386.md (mul patterns): Allow memory operand to be first;
22583 add expanders where needed; fix constraints.
22584 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
22585 Allow memory operand to be the first.
22586
22587 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
22588 operands.
22589
21117a17
JJ
225902002-02-13 Jakub Jelinek <jakub@redhat.com>
22591
22592 PR c/5681:
22593 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
22594 GET_MODE (x).
22595
ec65b2e3
JJ
225962002-02-13 Jakub Jelinek <jakub@redhat.com>
22597
22598 PR optimization/5547:
22599 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
22600 all valid IA-32 address modes involving non-scaled %ebx and
22601 GOT/GOTOFF as displacement.
22602
ce50cae8
UW
226032002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
22604
22605 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
22606 after emitting ltorg insns.
22607
22608 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
22609 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
22610 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
22611 *abssf2): Fix "op_type" attribute.
22612
09eb789b
DR
226132002-02-13 Douglas B Rupp <rupp@gnat.com>
22614
2dbe67bb
DR
22615 * mkconfig.sh: Avoid using a subshell redirect.
22616 ($output.T): Change to $(output)T.
22617 (ENABLE_NLS): Remove unneeded undef.
22618
ea5b9a1f
DR
22619 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
22620 * config/alpha/x-vms (libsubdir): Define.
22621
3deb00ce
DR
22622 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
22623 register frame procedures. Optimize retrieving context.
22624
09eb789b
DR
22625 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
22626 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
22627 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
22628
1abade85
RK
22629Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22630
22631 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
22632 Make same change as for find_base_value.
22633
c283e63f
KH
226342002-02-13 Kazu Hirata <kazu@hxi.com>
22635
22636 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
22637 of QImode and SImode.
22638
86039100
KH
226392002-02-13 Kazu Hirata <kazu@hxi.com>
22640
22641 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
22642 length computation of movsi.
22643 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
22644
e1429da0
KH
226452002-02-13 Kazu Hirata <kazu@hxi.com>
22646
22647 * config/h8300/h8300.md (subqi3): Tighten the predicate for
22648 operands[2] to register_operand.
22649
aebfea10
JH
22650Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
22651
22652 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
22653
0ec4e2a8
AH
226542002-02-12 Aldy Hernandez <aldyh@redhat.com>
22655
831c4e87
KC
22656 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
22657 for altivec_lvx* and altivec_stvx*.
22658 ("*movv4si_internal"): Add constraint for loading from GPRs.
22659 ("*movv8hi_internal1"): Same.
22660 ("*movv16qi_internal1"): Same.
22661 ("*movv4sf_internal1"): Same.
0ec4e2a8 22662
831c4e87 22663 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 22664
831c4e87
KC
22665 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
22666 altivec_register_operand.
0ec4e2a8 22667
b007569d
HPN
226682002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
22669
22670 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
22671 handle SYMBOL_REF.
22672
e6834654
SS
226732002-02-13 Stan Shebs <shebs@apple.com>
22674
831c4e87
KC
22675 * c-typeck.c (digest_init): Handle vectors.
22676 (really_start_incremental_init): Same.
22677 (pop_init_level): Same.
22678 (process_init_element): Same.
e6834654 22679
831c4e87 22680 * varasm.c (output_constant): Same.
e6834654 22681
831c4e87
KC
22682 * expr.c (clear_storage): Same.
22683 (store_constructor): Same.
e6834654 22684
d9b3eb63
EC
226852002-02-12 Eric Christopher <echristo@redhat.com>
22686
22687 * explow.c (hard_function_value): Add comment explaining
22688 signed/unsigned comparison.
22689
56d44285
JJ
226902002-02-12 Jakub Jelinek <jakub@redhat.com>
22691
22692 * jump.c (never_reached_warning): Add finish argument.
22693 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
22694 real insn after end.
22695 * rtl.h (never_reached_warning): Adjust prototype.
22696 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
22697 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
22698 never_reached_warning.
22699
fc209487
GS
227002002-02-12 Graham Stott <grahams@redhat.com>
22701
22702 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
22703
1e41e866
KH
227042002-02-12 Kazu Hirata <kazu@hxi.com>
22705
22706 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
22707 logical shifts on H8/300.
22708 (shift_alg_si): Improve several shifts on H8/300.
22709 (get_shift_alg): Likewise.
22710
a36a47ad
GS
227112002-02-12 Graham Stott <grahams@redhat.com>
22712
22713 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
22714
0aacc8ed
RK
22715Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22716
22717 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
22718 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
22719
a02ac966
HPN
227202002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
22721
22722 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
22723 non-CONST_INT through default_assemble_integer.
22724 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
22725 <case 8>: Abort for CONST_DOUBLE.
22726
d6e06ddc
JDA
227272002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
22728
22729 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
22730 is specified.
22731 * config/pa/pa-linux.h (LIB_SPEC): Delete.
22732 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
22733
515342a8
AH
227342002-02-11 Andrew Haley <aph@cambridge.redhat.com>
22735
22736 * config/stormy16/stormy16.md (zero_extendqihi2): New.
22737
cddd8b72
AO
227382002-02-11 Alexandre Oliva <aoliva@redhat.com>
22739
66df7a98
AO
22740 * regrename.c (regrename_optimize): Don't accept a
22741 part-clobbered register if the replaced register is not part
22742 clobbered.
22743
841404cd
AO
22744 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
22745 take padding into account when computing the argument value.
22746
1d1ade42
AO
22747 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
22748
cddd8b72
AO
22749 * combine.c (try_combine): Apply substitutions in
22750 CALL_INSN_FUNCTION_USAGE too.
22751
5c665b88
AH
227522002-02-11 Aldy Hernandez <aldyh@redhat.com>
22753
77f6c1eb
RS
22754 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
22755 __builtin_altivec_abs*.
22756 (bdesc_abs): New.
5c665b88 22757
77f6c1eb
RS
22758 * config/rs6000/rs6000.h (rs6000_builtins): Add
22759 ALTIVEC_BUILTIN_ABS*.
5c665b88 22760
77f6c1eb
RS
22761 * config/rs6000/altivec.h: Use const char for builtins expecting
22762 literals.
22763 (vec_abs): New versions for C and C++.
22764 (vec_abss): Same.
5c665b88 22765
3494f1b4
KH
227662002-02-10 Kazu Hirata <kazu@hxi.com>
22767
22768 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
22769 using Pmode.
22770
72431aef
KH
227712002-02-10 Kazu Hirata <kazu@hxi.com>
22772
22773 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
22774 constant definition from h8300.md.
22775 (FRAME_POINTER_REGNUM): Likewise.
22776 * config/h8300/h8300.md (define_constants): Add FP_REG.
22777
87e4ee91
KH
227782002-02-10 Kazu Hirata <kazu@hxi.com>
22779
22780 * config/h8300/h8300.c (print_operand): Remove redundant code.
22781
9c188705
KH
227822002-02-10 Kazu Hirata <kazu@hxi.com>
22783
22784 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
22785 * config/h8300/h8300.c (byte_reg): Make it static.
22786
fba78abb
RH
227872002-02-10 Richard Henderson <rth@redhat.com>
22788
22789 PR c/5623
22790 * c-typeck.c (incomplete_type_error): Handle flexible array members.
22791
65739e62
RH
227922002-02-10 Richard Henderson <rth@redhat.com>
22793
22794 PR c++/5624
22795 * tree.c (append_random_chars): Don't abort if main_input_filename
22796 does not exist.
22797
247cb9df
HPN
227982002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
22799
22800 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
22801
232bd029
KH
228022002-02-10 Kazu Hirata <kazu@hxi.com>
22803
65739e62 22804 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
22805 (pushhi1): Likewise.
22806
276ef573
JDA
228072002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
22808
22809 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
22810 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
22811
617e9ee5
DB
228122002-02-09 David O'Brien <obrien@FreeBSD.org>
22813
22814 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
22815 remove MASK_VIS.
22816 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
22817
6dfa4005
KH
228182002-02-09 Kazu Hirata <kazu@hxi.com>
22819
22820 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
22821 a half of an SImode register on H8/300.
22822
749e7b80
JH
22823Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
22824
22825 * i386.md (movdi_2): Add missing '!'.
22826
ca77d87c
KH
228272002-02-09 Kazu Hirata <kazu@hxi.com>
22828
22829 * config/h8300/h8300.h: Fix formatting. Remove commented-out
22830 definitions.
22831
16c96304
KH
228322002-02-09 Kazu Hirata <kazu@hxi.com>
22833
22834 * config/h8300/h8300.md (length): Correct the distance valid
22835 for the short branch.
22836
a364bc90
KH
228372002-02-09 Kazu Hirata <kazu@hxi.com>
22838
22839 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
22840
e4ec2cac
AO
228412002-02-09 Alexandre Oliva <aoliva@redhat.com>
22842
a138247b
AO
22843 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
22844 registers in SImode.
22845 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
22846 part-clobbered.
22847
2b1fd83f
AO
22848 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
22849 patch.
d9b3eb63 22850
fa5322fa
AO
22851 Contribute sh64-elf.
22852 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
22853 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
22854 (sh_cannot_modify_jumps_p): New function.
22855 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
22856 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
22857 (sh_ms_bitfield_layout_p): New function.
22858 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
22859 Zack Weinberg <zack@codesourcery.com>
22860 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
22861 expand_simple_binop instead of expand_binop.
22862 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
22863 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
22864 use of .quad and .uaquad.
22865 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
22866 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
22867 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
22868 * config/sh/sh.md (movdi_const, movdi_const_32bit,
22869 movdi_const_16bit): Make sure all CONSTs have modes.
22870 (sym2PIC): Ditto, but by adjusting all callers.
22871 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
22872 if the prologue calls the SHmedia argument decoder or register
22873 saver.
22874 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
22875 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
22876 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
22877 (sh_expand_epilogue): Don't emit USE of return target register.
22878 (prepare_move_operands): Legitimize DImode PIC addresses.
22879 (sh_media_register_for_return): Skip tr0, used to initialize the
22880 PIC register.
22881 (sh_expand_prologue): Remove explicit USE of return register.
22882 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
22883 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
22884 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
22885 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
22886 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
22887 EXTRA_CONSTRAINT_T.
22888 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
22889 (MOVI_SHORI_BASE_OPERAND_P): New.
22890 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
22891 (EXTRA_CONSTRAINT_T): Define in terms of them.
22892 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
22893 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
22894 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
22895 alternatives supporting TARGET_REGS.
22896 (UNSPEC_GOTPLT): New constant.
22897 (movdi split): Move incrementing of LABEL_NUSES...
22898 (movdi_const, movdi_const_32bit): Here. Use
22899 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
22900 (movdi_const_16bit): New.
22901 (call, call_value) [flag_pic]: Use GOTPLT.
22902 (call_pop, call_value_pop): New expands.
22903 (call_pop_compact, call_pop_rettramp): New insns.
22904 (call_value_pop_compact, call_value_pop_rettramp): New insns.
22905 (sibcall) [flag_pic]: Use GOT.
22906 (builtint_setjmp_receiver): Remove bogus, unused expand.
22907 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
22908 (*pt, *ptb, ptrel): New insns.
22909 (sym2GOT): Handle DImode GOT.
22910 (sym2GOTPLT, symGOTPLT2reg): New expands.
22911 (sym2PIC): New expand.
22912 (shcompact_return_tramp): Use GOTPLT to return trampoline.
22913 (shcompact_return_tramp_i): Use return register explicitly.
22914 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
22915 disable flag_reorder_blocks.
22916 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
22917 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
22918 clobbers, for clarity.
22919 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
22920 restoring of r0 in macl as MAYBE_DEAD.
22921 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
22922 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
22923 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
22924 alter_subreg all over.
22925 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
22926 reload, instead of emitting instructions that would require
22927 reloading.
22928 (casesi_load_media): Add missing modes.
22929 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
22930 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
22931 as used if the argument decoder is called.
22932 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
22933 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
22934 Pmode, then extend it to DImode if necessary.
22935 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
22936 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
22937 constants in FPU-enabled SHmedia, let them be loaded from memory.
22938 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
22939 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
22940 Adjust whitespace in assembly output templates.
22941 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
22942 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
22943 mode of if_then_else.
22944 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
22945 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
22946 sh.h.
22947 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
22948 Joern Rennecke <amylaar@redhat.com>
22949 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
22950 (SUBTARGET_CPP_PTR_SPEC): New.
22951 (SUBTARGET_CPP_SPEC): Remove.
22952 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
22953 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
22954 Fix typo in previous checkin.
22955 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
22956 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
22957 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
22958 Alexandre Oliva <aoliva@redhat.com>
22959 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
22960 what single FP register can hold for SHmedia target.
22961 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
22962 Alexandre Oliva <aoliva@redhat.com>
22963 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
22964 Do not split into SUBREG.
22965 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
22966 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
22967 and added new functions as specified in SH5 ABI r9.
22968 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
22969 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
22970 8-byte boundary.
22971 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
22972 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
22973 gen_consttable_4 and gen_consttable_8. Emit multiple labels
22974 and consttable_window_ends.
22975 2001-06-03 Graham Stott <grahams@redhat,com>
22976 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
22977 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
22978 * config/sh/sh.c (print_operand): Handle floating-point pair,
22979 vector and matrix registers.
22980 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
22981 vector modes into account.
22982 * config/sh/sh.md (movv2sf): Split move between registers into
22983 movdf.
22984 (movv4sf, movv16sf): Introduce insns that get split only after
22985 reload.
22986 * config/sh/shmedia.h: Fix Copyright dates.
22987 * config/sh/ushmedia.h: Likewise. Move loop counter
22988 declarations into conditionals that uses them.
22989 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
22990 loop boundary.
22991 * config/sh/sshmedia.h: Fix Copyright dates.
22992 (sh_media_PUTCFG): Fix constraints.
22993 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
22994 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
22995 ptrmemfunc_vbit_in_delta for SH5.
22996 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
22997 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
22998 * invoke.texi: Likewise.
22999 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
23000 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
23001 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
23002 GCC_pop_shmedia_regs_nofpu): New global symbols.
23003 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
23004 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
23005 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
23006 compact function with nonlocal labels.
23007 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
23008 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
23009 (initial_elimination_offset): Account for their stack space.
23010 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
23011 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
23012 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
23013 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
23014 least one of the operands to be a register.
23015 (movv2sf): Likewise. Renamed to movv2sf_i.
23016 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
23017 prepare_move_operands() before emitting SHmedia insns.
23018 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
23019 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
23020 Don't save nor initialize r12. Don't mis-align the stack.
23021 Pad the code with a nop.
23022 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
23023 stack.
23024 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
23025 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
23026 [__SHMEDIA__]: Implement.
23027 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
23028 * config/sh/sh.md: Set latency of `pt' closer to reality.
23029 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
23030 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
23031 Set move, load and store type attributes.
23032 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
23033 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
23034 profiling.
23035 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
23036 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
23037 * config/sh/sh.c (sh_media_register_for_return): New function.
23038 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
23039 branch-target register.
23040 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
23041 * config/sh/sh.md (return_media_i): Use any call-clobbered
23042 branch-target register.
23043 (return_media): If r18 wasn't copied in the prologue, copy it
23044 here.
23045 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
23046 Clear class FP0_REGS.
23047 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
23048 from elf.h.
23049 2001-03-08 DJ Delorie <dj@redhat.com>
23050 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
23051 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
23052 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
23053 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
23054 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
23055 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
23056 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
23057 return value correctly for call_cookie.
23058 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
23059 * config/sh/crt1.asm (start): Modified so as to call
23060 ___setup_argv_and_call_main.
23061 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
23062 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
23063 SHmedia mode.
23064 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
23065 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
23066 (STRIP_NAME_ENCODING): Use it.
23067 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
23068 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
23069 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
23070 prepare_scc_operands().
23071 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
23072 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
23073 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
23074 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
23075 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
23076 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
23077 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
23078 used in shcompact_incoming_args.
23079 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
23080 change.
23081 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
23082 mode.
23083 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
23084 Adjust accordingly.
23085 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
23086 Simplify. Adjust. Add sanity check.
23087 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
23088 FPU_SINGLE_BIT.
23089 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
23090 TARGET_SHCOMPACT.
23091 (udivsi3, divsi3): Use them.
23092 (force_mode_for_call): New insn.
23093 (call, call_value, sibcall_value): Emit it before SHcompact
23094 calls.
23095 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
23096 * config/sh/sh.md (call, call_value, sibcall): Make sure the
23097 call cookie is non-NULL before taking its value.
23098 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
23099 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
23100 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
23101 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
23102 block.
23103 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
23104 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
23105 temporary for stack adjusts. Use MACL and MACH to pass
23106 arguments to shcompact_incoming_args.
23107 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
23108 clobber r1.
23109 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
23110 (nested_trampoline): Load static chain address into r1.
23111 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
23112 2001-01-07 Alexandre Oliva <aoliva@redhat.com
23113 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
23114 fp_arith_reg_operand().
23115 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
23116 * config/sh/sh.md (casesi): Sign-extend the first two operands,
23117 and use signed compares for them.
23118 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
23119 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
23120 ones properly aligned.
23121 (find_barrier): Account for extra alignment needed for 8-byte wide
23122 constants.
23123 (machine_dependent_reorg): Require a label for the second 4-byte
23124 constant after an 8-byte one.
23125 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
23126 change.
23127 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
23128 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
23129 last_float when switching float modes.
23130 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
23131 auto-increment for general-purpose registers.
23132 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
23133 result.
23134 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
23135 for stack adjust.
23136 * config/sh/sh.c (sh_builtin_saveregs): Support using all
23137 registers for varargs.
23138 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
23139 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
23140 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
23141 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
23142 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
23143 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
23144 call_cookie accordingly.
23145 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
23146 (SHCOMPACT_BYREF): Likewise.
23147 (SHCOMPACT_FORCE_ON_STACK): New macro.
23148 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
23149 (sh_builtin_saveregs): Likewise.
23150 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
23151 shcompact_incoming_args): Use new shift values. Support
23152 sequences of consecutive and non-consecutive pushes/pops.
23153 * config/sh/sh.md (return): Don't explicitly use PR_REG.
23154 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
23155 * config/sh/sh.h (TEXT_SECTION): Define.
23156 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
23157 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
23158 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
23159 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
23160 return values on FPU-enabled SHmedia.
23161 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
23162 FPU-enabled SHmedia.
23163 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
23164 value is returned in a non-FP reg and is not returned by
23165 reference.
23166 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
23167 jump_ind.
23168 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
23169 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
23170 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
23171 quad-aligned to be passed by callee-copy reference.
23172 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
23173 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
23174 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
23175 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
23176 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
23177 copying low-numbered FP regs to r7 and r8.
23178 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
23179 FP regs to general-purpose regs only if the copy was passed on the
23180 stack.
23181 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
23182 copying FP reg to r9.
23183 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
23184 copy FP regs to general-purpose regs only in outgoing calls.
23185 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 23186 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
23187 HOST_WIDE_INT.
23188 * config/sh/sh.h (struct sh_args): Document all fields.
23189 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
23190 passed partially on the stack should not consider making
23191 sibcalls.
23192 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
23193 stack_regs only for incoming calls. When passing FP args,
23194 make sure there are FP regs available before modifying
23195 call_cookie.
23196 (SHCOMPACT_BYREF): Pass double args in general-purpose
23197 registers by reference.
23198 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
23199 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
23200 attempt to generate sibcalls if the caller got any arguments
23201 by reference.
23202 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
23203 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
23204 to 8-byte boundaries.
23205 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
23206 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
23207 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
23208 stored in the stack.
23209 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
23210 for the offsets to have the ISA bit set.
23211 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
23212 invocation. Use beq instead of bgt to mark end of sequence of
23213 loads.
23214 (shcompact_incoming_args): Fix store of r2. Use beq instead of
23215 bgt to mark end of sequence of stores.
23216 * config/sh/sh.c (arith_operand): Don't check whether
23217 CONST_OK_FOR_J for now.
23218 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
23219 instead of long for conversion.
23220 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
23221 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
23222 before passing it to fprintf.
23223 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
23224 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
23225 Call set_fpscr before reading/writing SR.
23226 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
23227 Call set_fpscr.
23228 * config/sh/lib1funcs.asm: Add `.align 2' directives before
23229 SHmedia code.
23230 (FMOVD_WORKS): Define on SH5 with FPU.
23231 (set_fpscr): Define on SH5. Remove separate _fpscr_values
23232 setting.
23233 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
23234 _fpscr_values.
23235 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
23236 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
23237 address.
23238 (ia_main_table): Ditto.
23239 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
23240 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
23241 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
23242 the definitions from sh.h.
23243 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
23244 TARGET_SH5.
23245 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
23246 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
23247 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
23248 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
23249 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
23250 Increment LABEL_NUSES.
d9b3eb63 23251
fa5322fa
AO
23252 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
23253 TARGET_SH5.
23254 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
23255 defined.
23256 * config/sh/elf.h (SIZE_TYPE): Likewise.
23257 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
23258 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
23259 shcompact_incoming_args): Load switch table addresses using
23260 datalabel.
23261 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
23262 (NO_BUILTIN_SIZE_TYPE): Define.
23263 (SIZE_TYPE): Don't define.
23264 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
23265 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
23266 definition of __SH5__=32 for -m5-compact-nofpu.
23267 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
23268 ADDR_DIFF_VEC.
23269 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
23270 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
23271 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
23272 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
23273 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
23274 (INSN_LENGTH_ALIGNMENT): Likewise.
23275 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
23276 * config/sh/sh.md (call, call_value, sibcall): Simplify
23277 copying of non-branch-target register.
23278 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 23279 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
23280 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
23281 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
23282 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
23283 floating-point values as structs.
23284 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
23285 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
23286 general-purpose register.
23287 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
23288 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
23289 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
23290 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
23291 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
23292 (ENCODE_SECTION_INFO): Enclose variables and constants in
23293 DATALABEL unspecs.
23294 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
23295 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
23296 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
23297 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
23298 only for LABEL_REFs. For SYMBOL_REFs, prepend
23299 SH_DATALABEL_ENCODING to the symbol name.
23300 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
23301 convert_mode().
23302 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
23303 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
23304 UNSPEC_DATALABEL.
23305 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
23306 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
23307 (DATALABEL_REF_P): Don't require CONST.
23308 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
23309 REL label.
23310 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
23311 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
23312 right.
23313 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
23314 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
23315 Use shallow_copy_rtx and PUT_MODE to change the mode of
23316 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
23317 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
23318 on SHmedia using GENERAL_REGs.
23319 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
23320 bltu_media_i): Fix reversion of conditions.
23321 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
23322 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
23323 * config/sh/sh.c (output_far_jump): Save r13 in macl.
23324 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
23325 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
23326 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
23327 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
23328 (GCC_nested_trampoline): Likewise.
23329 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
23330 * config/sh/sh.c (gen_datalabel_ref): Define.
23331 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
23332 (INITIALIZE_TRAMPOLINE): Likewise.
23333 (TRAMPOLINE_ADJUST_ADDRESS): Define.
23334 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
23335 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
23336 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
23337 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
23338 (ic_invalidate): Adjust for SH5.
23339 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
23340 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
23341 _nested_trampoline.
23342 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
23343 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
23344 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
23345 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
23346 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
23347 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
23348 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
23349 * config/sh/sh.c (target_reg_operand): Match only target-branch
23350 registers and pseudos that aren't virtual registers.
23351 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
23352 Copy operands that don't match target_reg_operand to pseudos.
23353 (call_media, call_value_media, sibcall_media): Use
23354 target_reg_operand instead of target_operand.
23355 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 23356 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
23357 * config/sh/sh.c (target_reg_operand): Match hardware registers
23358 other than branch-target registers.
23359 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
23360 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
23361 (fpscr_values) [SH5 == 32]: Define.
23362 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
23363 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
23364 Handle function addresses coming in SUBREGs.
23365 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
23366 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
23367 shcompact_return_trampoline): Use datalabel where appropriate.
23368 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
23369 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
23370 general-purpose register to copy one branch-target register to
23371 another.
23372 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
23373 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
23374 SYMBOL_REFs with VOIDmode.
23375 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
23376 bltu_media_i): New insns.
23377 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
23378 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
23379 (INIT_CUMULATIVE_ARGS): Likewise.
23380 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
23381 * machmode.def (V16SFmode): New mode.
23382 * c-common.c (type_for_mode): Support V2SF and V16SF.
23383 * tree.c (build_common_tree_nodes_2): Likewise.
23384 * tree.h (tree_index): Likewise.
23385 * calls.c (emit_call_1): Take args_so_far. Adjust all
23386 callers. Introduce CALL_POPS_ARGS.
23387 * tm.texi (CALL_POPS_ARGS): Document.
23388 * config/sh/crt1.asm: Implement in SHmedia mode.
23389 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
23390 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
23391 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
23392 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
23393 Implement divsi and udivsi in SHmedia mode. Introduce
23394 SHcompact trampolines.
23395 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
23396 only in SHmedia64.
23397 (regno_reg_class): Rewrite.
23398 (fp_reg_names): Remove.
23399 (sh_register_names, sh_additional_register_names): New.
23400 (print_operand): Added `u'. Support SUBREGs in addresses.
23401 Add parentheses around shifted CONSTs.
23402 (output_file_start): Output .mode and .abi directives.
23403 (shiftcosts, addsubcosts, multcosts): Adjust.
23404 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
23405 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
23406 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
23407 bytes, not registers. Take into account the need for the
23408 SHcompact incoming args trampoline. Adjust all callers.
23409 (sh_expand_prologue): Take stack_regs into account. Call
23410 incoming args trampoline. Keep stack aligned as per SH5 ABI.
23411 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
23412 stack aligned as per SH5 ABI.
23413 (sh_builtin_saveregs): Support SH5 ABI.
23414 (sh_build_va_list, sh_va_start): Likewise.
23415 (initial_elimination_offset): Take alignment into account.
23416 Compute location of PR according to the SH5 stack frame.
23417 (arith_reg_operand): Reject branch-target registers.
23418 (shmedia_6bit_operand): New.
23419 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
23420 (target_reg_operand): Match DImode only. Accept SUBREGs.
23421 (target_operand): New.
23422 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
23423 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
23424 SIBCALL_REGS for SHmedia.
23425 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
23426 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
23427 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
23428 (TARGET_SWITCHES): New SH5 flags.
23429 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
23430 VALID_REGISTER_P to disable unsupported registers.
23431 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
23432 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
23433 (FUNCTION_ARG_PADDING): Define.
23434 (FASTEST_ALIGNMENT): Adjust.
23435 (SH_REGISTER_NAMES_INITIALIZER): New.
23436 (sh_register_names): Declare.
23437 (DEBUG_REGISTER_NAMES): Define.
23438 (REGISTER_NAMES): Define based on sh_register_names.
23439 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
23440 (sh_additional_register_names): Declare.
23441 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
23442 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
23443 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
23444 (REGISTER_NATURAL_MODE): Define.
23445 (FIRST_PSEUDO_REGISTER): Adjust.
23446 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
23447 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
23448 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
23449 (VECTOR_MODE_SUPPORTED_P): Define.
23450 (REG_CLASS_CONTENTS): Adjust.
23451 (SMALL_REGISTER_CLASSES): Adjust.
23452 (REG_ALLOC_ORDER): Adjust.
23453 (INDEX_REG_CLASS): Adjust.
23454 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
23455 (CONST_OK_FOR_LETTER_P): Adjust.
23456 (PREFERRED_RELOAD_CLASS): Adjust.
23457 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
23458 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
23459 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
23460 (FIRST_FP_PARM_REG): Adjust.
23461 (CALL_POPS_ARGS): Define.
23462 (FUNCTION_ARG_REGNO_P): Adjust.
23463 (struct sh_args): New fields.
23464 (GET_SH_ARG_CLASS): Adjust.
23465 (INIT_CUMULATIVE_ARGS): Adjust.
23466 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
23467 (FUNCTION_ARG_ADVANCE): Adjust.
23468 (FUNCTION_ARG): Adjust.
23469 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
23470 (FUNCTION_ARG_CALLEE_COPIES): Define.
23471 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
23472 (STRICT_ARGUMENT_NAMING): Define.
23473 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
23474 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
23475 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
23476 (SETUP_INCOMING_VARARGS): Adjust.
23477 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
23478 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
23479 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
23480 (SUBREG_OK_FOR_INDEX_P): Adjust.
23481 (EXTRA_CONSTRAINT_S): Update.
23482 (EXTRA_CONSTRAINT_T): New.
23483 (EXTRA_CONSTRAINT): Adjust.
23484 (GO_IF_LEGITIMATE_INDEX): Adjust.
23485 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
23486 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
23487 (MOVE_MAX): Adjust.
23488 (MAX_MOVE_MAX): Define.
23489 (Pmode): Adjust.
23490 (CONST_COSTS): Adjust.
23491 (REGISTER_MOVE_COST): Adjust.
23492 (BRANCH_COST): Adjust.
23493 (TEXT_SECTION_ASM_OP): Adjust.
23494 (DBX_REGISTER_NUMBER): Adjust.
23495 (ASM_OUTPUT_DOUBLE_INT): New.
23496 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
23497 (PREDICATE_CODES): Adjust.
23498 (PROMOTE_MODE): Adjust.
23499 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
23500 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
23501 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
23502 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
23503 (DR0_REG, DR2_REG, DR4_REG): Renumber.
23504 (TR0_REG, TR1_REG, TR2_REG): New.
23505 (XD0_REG): Renumber.
23506 (UNSPEC_COMPACT_ARGS): New.
23507 (type): Added pt and ptabs.
23508 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 23509 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
23510 (pt): New function unit.
23511 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
23512 Add whitespace between operands of SHmedia instructions.
23513 (movdicc): Fix.
23514 (adddi3_media, addsi3_media): Adjust constraints.
23515 (subsi3) [SHmedia]: Force operand 1 into a register.
23516 (udivsi3_i1_media, udivsi3_i4_media): New.
23517 (udivsi3): Support SHmedia.
23518 (divsi3_i1_media, divsi3_i4_media): New.
23519 (divsi3): Support SHmedia.
23520 (anddi3, iordi3, xordi3): Adjust constraints.
23521 (zero_extendhidi2, zero_extendqidi2): New.
23522 (extendsidi2, extendhidi2, extendqidi2): New.
23523 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
23524 (pop_e, pop_fpul, pop_4): Likewise.
23525 (movsi_media): Support FP and BT registers.
23526 (movsi_media_nofpu): New. Adjust splits to DImode.
23527 (lduw, ldub): Renamed to zero_extend* above.
23528 (movqi_media): Fix typo.
23529 (movdi_media): Support FP and BT registers.
23530 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
23531 (movdi_const_32bit): New.
23532 (shori_media): Require immediate operand. Use `u' for output.
23533 (movdf_media, movsf_media): Simplified.
23534 (movdf_media_nofpu, movsf_media_nofpu): New.
23535 (movdf, movsf): Adjust
23536 (movv2sf, movv2sf, movv16sf): New.
23537 (beq_media, beq_media_i): Adjust constraints. Don't use
23538 scratch BT register.
23539 (bne_media, bne_media_i): Likewise.
23540 (bgt_media, bgt_media_i): Likewise.
23541 (bge_media, bge_media_i): Likewise.
23542 (bgtu_media, bgtu_media_i): Likewise.
23543 (bgeu_media, bgeu_media_i): Likewise.
23544 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
23545 bunordered): Emit jump insn. Force operands to registers when
23546 needed.
23547 (jump_media, jump): Simplify.
23548 (call_compact, call_compact_rettramp): New.
23549 (call_value_compact, call_value_compact_rettramp): New.
23550 (call_media, call_value_media): Simplify.
23551 (sibcall_compact, sibcall_media): New.
23552 (call, call_value): Adjust for SHmedia and SHcompact.
23553 (sibcall, sibcall_value, untyped_call): Likewise.
23554 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
23555 (indirect_jump): Adjust for SHmedia.
23556 (casesi_jump_media): New.
23557 (nop): Re-enable for SHmedia.
23558 (call_site): Restrict to SH1.
23559 (casesi): Adjust for SHmedia.
23560 (casesi_shift_media, casesi_load_media): New.
23561 (return): Explicitly use PR register. Call return trampoline
23562 on SHcompact.
23563 (return_i): Explicitly use PR register.
23564 (shcompact_return_tramp, shcompact_return_tramp_i): New.
23565 (return_media): Adjust.
23566 (shcompact_incoming_args): New.
23567 (epilogue): Adjust.
23568 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
23569 (movstrsi): Disable on SH5.
23570 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
23571 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
23572 (subsf3, subsf3_media): Likewise.
23573 (mulsf3, mulsf3_media, mac_media): Likewise.
23574 (divsf3, divsf3_media): Likewise.
23575 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
23576 (floatsisf2, fux_truncsfsi2): Likewise.
23577 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
23578 constraints.
23579 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
23580 (cmpunsf_media, cmpsf): Likewise.
23581 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
23582 (abssf2, abssf2_media): Likewise.
23583 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
23584 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
23585 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
23586 (floatsidf2, fix_truncdfsi2): Likewise.
23587 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
23588 constraints.
23589 (cmpeqdf_media, cmpgtdf_media): Likewise.
23590 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
23591 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
23592 (absdf2, absdf2_media): Likewise.
23593 (extendsfdf2, extendsfdf2_media): Likewise.
23594 (truncsfdf2, truncsfdf2_media): Likewise.
23595 * config/sh/sh64.h: New file.
23596 * config/sh/t-sh64: New file.
23597 * config/sh/shmedia.h: New file.
23598 * config/sh/ushmedia.h: New file.
23599 * config/sh/sshmedia.h: New file.
23600 * configure.in: Added sh64-*-elf.
23601 * configure: Rebuilt.
23602 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
23603 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
23604 (reg_class_from_letter): Use `b' for TARGET_REGS.
23605 (print_operand): Support `%M', `%m', `AND' and
23606 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
23607 (andcosts): Adjust for SHmedia.
23608 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
23609 Likewise.
23610 (target_reg_operand): New function.
23611 * config/sh/sh-protos.h (target_reg_operand): Declare.
23612 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
23613 FP registers on SH5.
23614 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
23615 on SH4.
23616 (TARGET_REGISTER_P): New macro.
23617 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
23618 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
23619 (EXTRA_CONSTRAINT_S): New macro.
23620 (EXTRA_CONSTRAINT): Adjust.
23621 (FLOAT_TYPE_SIZE): Define to 32.
23622 (Pmode): DImode on SHmedia.
23623 (CONST_COSTS): Adjust for SHmedia literals.
23624 (PREDICATE_CODES): Added target_reg_operand.
23625 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
23626 * config/sh/sh.md: Remove all attrs from SHmedia insns.
23627 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
23628 (cmpdi): Accept SHmedia.
23629 (movdicc_false, movdicc_true): New insns.
23630 (movdicc): New expand.
23631 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
23632 no_new_pseudos.
23633 (addsi3_media): Match `S' constraint.
23634 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
23635 (negdi2): Expand for SHmedia.
23636 (one_cmpldi2): New expand.
23637 (zero_extendsidi2): Change from expand to insn.
23638 (extendsidi2): Add constraints.
23639 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
23640 LD/ST address. Fix SI immediate loading split.
23641 (movhi_media, movqi_media, lduw, ldub): New insns.
23642 (movhi, movqi): Accept SHmedia.
23643 (shori_media, movdi_media): Relax input constraints. Split
23644 symbolic constants.
23645 (movdf_media, movsf_media): New insn. New split to movdi.
23646 (movdf, movsf): Match on SHmedia.
23647 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
23648 bgeu_media): New insns and splits. New insns with `_i' suffix.
23649 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
23650 (bunordered): New expand.
23651 (jump_compact): Renamed from `jump'.
23652 (jump_media): New insn.
23653 (jump): New expand.
23654 (call_media, call_value_media): New insns.
23655 (call, call_value): Adjust.
23656 (indirect_jump_compact): Renamed from `indirect_jump'.
23657 (indirect_jump_media): New insn.
23658 (indirect_jump): New expand.
23659 (untyped_call, return): Accept SHmedia.
23660 (return_media): New insn.
23661 (prologue, epilogue, blockage): Accept SHmedia.
23662 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
23663 (sunordered): New expand.
23664 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
23665 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
23666 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
23667 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
23668 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
23669 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
23670 abssf2_media): New insns.
23671 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
23672 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
23673 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
23674 floatdidf2, floatsidf2_media, fix_truncdfdi2,
23675 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
23676 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
23677 absdf2_media): New insns.
23678 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
23679 (extendsfdf2_media, truncdfsf2_media): New insns.
23680 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
23681 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
23682 * config/sh/sh.h (CONST_OK_FOR_J): Document.
23683 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
23684 * config/sh/sh.md (adddi3): New expand.
23685 (adddi3_media, adddi3z_media): New insns.
23686 (adddi3_compact): Renamed from adddi3.
23687 (addsi3_media): Use add.l r63 to add constant zero.
23688 (subdi3): New expand.
23689 (subdi3_media): New insn.
23690 (subdi3_compact): Renamed from subdi3.
23691 (mulsidi3): New expand.
23692 (mulsidi3_media): New insn.
23693 (mulsidi3_compact): Renamed from mulsidi3.
23694 (umulsidi3): New expand.
23695 (umulsidi3_media): New insn.
23696 (umulsidi3_compact): Renamed from umulsidi3.
23697 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
23698 (ashlsi3, ashrsi3, lshrsi3): Use them.
23699 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
23700 (ashldi3, ashrdi3, lshrdi3): Use them.
23701 (zero_extendsidi2): New expand.
23702 (extendsidi2): New insn.
23703 (movsi_media): New insn. Split to movdi to load constants.
23704 (movsi): Enable for shmedia.
23705 (movdi_media): New insn. Use shori_media to load wide constants.
23706 (short_media): New insn.
23707 (movdi): Enable for shmedia.
23708 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
23709 * config/sh/sh.h (CPP_SPEC): Added `m5'.
23710 (SUBTARGET_CPP_SPEC): Added `!m5'.
23711 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
23712 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
23713 to all other SH variants.
23714 (TARGET_DEFAULT): Set to SH1_BIT.
23715 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
23716 (BITS_PER_WORD): Raise to 64 on shmedia.
23717 (MAX_BITS_PER_WORD): Change to 64.
23718 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
23719 (INT_TYPE_SIZE): Keep as 32.
23720 (UNITS_PER_WORD): Raise to 8 on shmedia.
23721 (MIN_UNITS_PER_WORD): Keep as 4.
23722 (POINTER_SIZE): Raise to 64 on shmedia.
23723 (CONST_OK_FOR_J): New macro.
23724 (CONST_OK_FOR_LETTER_P): Use it.
23725 (processor_type): Add PROCESSOR_SH5.
23726 * config/sh/sh.md: Conditionalize all expands, insns and
23727 splits to TARGET_SH1.
23728 (cpu): Added sh5.
23729 (addsi3_compact): Renamed from...
23730 (addsi3): Now an expand.
23731 (addsi3_media, subsi3_media): New insns.
23732 (subsi3): Don't negate constants with SHmedia.
23733
e4ec2cac
AO
23734 * hooks.c: New file.
23735 * hooks.h: New file.
23736 * Makefile.in (HOOKS_H): New.
23737 (TARGET_DEF_H): Added $(HOOKS_H).
23738 (OBJS): Added hooks.o.
23739 (cfgcleanup.o, bb-reorder.o): Added target.h.
23740 (hooks.o): Added dependencies.
23741 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
23742 (TARGET_INITIALIZER): this.
23743 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
23744 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
23745 * bb-reorder.c: Include target.h.
23746 (reorder_basic_blocks): Skip if cannot modify jumps.
23747 * cfgcleanup.c: Include target.h.
23748 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
23749
246a46e0
CD
237502002-02-08 Chris Demetriou <cgd@broadcom.com>
23751
831c4e87
KC
23752 * config/mips/mips.md (casesi_internal, casesi_internal_di):
23753 Protect jump delay slot instructions with .set noreorder and
23754 .set nomacro.
246a46e0
CD
23755
237562002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
23757
23758 * config/mips/mips.md (casesi_internal_di): Calculate
23759 the index into the target offset table correctly.
23760
fdf473ae
RH
237612002-02-08 Richard Henderson <rth@redhat.com>
23762
23763 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
23764 * final.c (output_addr_const): Accept and discard SUBREG.
23765 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
23766 mark them unknown instead.
23767 (simplify_subtraction): Handle RTX_UNKNOWN.
23768 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
23769
c50503ac
DE
237702002-02-08 David Edelsohn <edelsohn@gnu.org>
23771
23772 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
23773
3660d217
RH
237742002-02-08 Richard Henderson <rth@redhat.com>
23775
23776 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
23777
56547299
AJ
237782002-02-08 Andreas Jaeger <aj@suse.de>
23779
23780 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
23781 * config/i386/t-linux64: New file.
23782
1cf537c5
JJ
237832002-02-08 Jakub Jelinek <jakub@redhat.com>
23784
23785 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
23786 * c-parse.in (compstmt): Clear last_expr_type.
23787
5c7f5a5f
RH
237882002-02-07 Richard Henderson <rth@redhat.com>
23789
23790 * loop.c (strength_reduce): Sink final_value when not
23791 eliminating a biv.
23792
b1138bf3
DB
237932002-02-07 David O'Brien <obrien@FreeBSD.org>
23794
23795 * config/sparc/freebsd.h: Fix mismatched spec {.
23796
b6878a45
RH
237972002-02-07 Richard Henderson <rth@redhat.com>
23798
23799 * cfgrtl.c: Include recog.h and insn-config.h.
23800 (keep_with_call_p): Fix general_operand invocation.
23801 * Makefile.in (cfgrtl.o): Update dependencies.
23802
ae19f5ef
KH
238032002-02-07 Kazu Hirata <kazu@hxi.com>
23804
23805 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
23806 comment. Accept HImode only if TARGET_H8300.
23807
b137f9fc
EC
238082002-02-07 Eric Christopher <echristo@redhat.com>
23809
23810 * config/mips/crtn.asm: Cleanup #ifdefs.
23811
238122002-02-07 Eric Christopher <echristo@redhat.com>
23813
23814 * config/mips/crti.asm: Add changes for mips16. mips16 uses
23815 register 7 as RA instead of $31.
23816 * config/mips/crtn.asm: Ditto.
23817 * config/mips/mips.c (mips_move_2words): Add case for
23818 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
23819 (compute_frame_size): Fix typo.
23820 (save_restore_insns): Ditto. Make documentation about using
23821 register $7 as return register more precise.
23822 (mips_expand_epilogue): Fix comment. Add code to work around not
23823 being able to add to the stack pointer directly.
23824 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
23825 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
23826 epilogue.
23827
768070a0
TR
238282002-02-07 Tom Rix <trix@redhat.com>
23829
b137f9fc 23830 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
23831 immediates in ldu and stdu DS opcode field.
23832 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
23833 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
23834 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
23835
225909c3
JS
238362002-02-07 Jeff Sturm <jsturm@one-point.com>
23837
23838 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
23839 offset for stack bias.
23840
15fae023
L
238412002-02-07 H.J. Lu <hjl@gnu.org>
23842
23843 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
23844
fde5badd
UW
238452002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
23846
23847 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
23848
162f023b
JH
23849Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
23850
23851 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
23852 * i386.c (x86_order_regs_for_local_alloc): New global function.
23853 * i386.h (REG_ALLOC_ORDER): CLeanup.
23854 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
23855
9b462c42
RH
238562002-02-07 Richard Henderson <rth@redhat.com>
23857
85aa876c 23858 PR optimization/2463
9b462c42
RH
23859 * alias.c (find_base_value): Recall base values for fixed hard regs.
23860 * loop.c (loop_regs_update): Don't use single_set on non-insns.
23861
06e455a9
AO
238622002-02-07 Alexandre Oliva <aoliva@redhat.com>
23863
23864 * config/mips/mips.md (define_delay) [mips16]: Adjust required
23865 length.
23866
edd1967d
RH
238672002-02-06 Richard Henderson <rth@redhat.com>
23868
23869 PR c/5609
23870 * stmt.c (resolve_operand_name_1): Take more care with mixed
23871 named and unnamed operands.
23872
a2cd028f
JJ
238732002-02-06 Janis Johnson <janis187@us.ibm.com>
23874 Jan Hubicka <jh@suse.cz>
23875
23876 * loop.c (remove_constant_addition): Avoid clobbering a shared
23877 CONST expression.
23878
e8487c04
UW
238792002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
23880
23881 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
23882 * config/s390/t-linux64: New file.
23883 * config/s390/libgcc-glibc.ver: New file.
23884
58d10f89
UW
238852002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
23886
23887 * config/s390/linux64.h: Delete file.
23888 * config/s390/s390x.h: New file.
23889 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
23890 as target header file.
23891 * config/s390/linux.h (TARGET_VERSION): Define depending on
23892 DEFAULT_TARGET_64BIT.
23893 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
23894 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
23895 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
23896 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
23897 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
23898 (EXTRA_SPEC): New define.
23899 * config/s390/s390.h (TARGET_VERSION): Define depending on
23900 DEFAULT_TARGET_64BIT.
23901 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
23902
5ce89b2e
JM
239032002-02-06 Jason Merrill <jason@redhat.com>
23904
23905 * c-decl.c (finish_function): Warn about a non-void function with
23906 no return statement and no abnormal exit.
23907 (current_function_returns_abnormally): New variable.
23908 (start_function): Clear it.
23909 (struct c_language_function): Add returns_abnormally.
23910 (push_c_function_context): Save it.
23911 (pop_c_function_context): Restore it.
23912 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
23913 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
23914 an explicit return type.
23915 * c-tree.h: Declare current_function_returns_abnormally.
23916 (C_FUNCTION_IMPLICIT_INT): New macro.
23917 * c-typeck.c (build_function_call): Set it.
23918 (c_expand_return): Set current_function_returns_value even if the
23919 value is erroneous.
23920
caaf2272
JJ
239212002-02-06 Jakub Jelinek <jakub@redhat.com>
23922
23923 PR c/5420:
23924 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
23925 unsafe for reevaluation.
23926
d5129288
JJ
239272002-02-06 Jakub Jelinek <jakub@redhat.com>
23928
23929 PR c/5482:
23930 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
23931 EXPR_STMT, but COMPOUND_STMT, recurse into it.
23932
7fb75099
RH
239332002-02-06 Richard Henderson <rth@redhat.com>
23934
23935 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
23936 be a general_operand. Dest for function value must be a pseudo.
23937
d3a8b6a6
NC
239382002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
23939
23940 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
23941 as SYMBOL_REFs from the constant pool.
23942
3c1299c5
AO
239432002-02-06 Alexandre Oliva <aoliva@redhat.com>
23944
23945 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
23946 passed by invisible reference.
23947
c2c9f6c9
RH
239482002-02-05 Richard Henderson <rth@redhat.com>
23949
23950 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
23951
a824924d
HPN
239522002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
23953
23954 Implement using "base addresses" in insn operands as default.
23955 * config/mmix/mmix.c (mmix_conditional_register_usage): if
23956 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
23957 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
23958 used to read the rtx value.
23959 (mmix_target_asm_function_epilogue): Fix spacing.
23960 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
23961 (mmix_legitimate_address): Ditto.
23962 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
23963 should be loaded with a GETA insn. Don't allocate needless extra
23964 char for nul termination and fix misleading comment.
23965 (mmix_print_operand_address): Handle constants if
23966 TARGET_BASE_ADDRESSES.
23967 (mmix_output_register_setting): Use base addressing if
23968 TARGET_BASE_ADDRESSES and the number of insns is 3.
23969 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
23970 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
23971 to use R as constraint, add LDA to match s.
23972 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
23973 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
23974 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
23975 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
23976 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
23977 order with other fixed registers.
23978 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
23979 other parameter/call-clobbered registers.
23980 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
23981 -mbase-addresses, -mno-base-addresses.
23982 (MMIX Options): Ditto.
23983
73c342b9
JDA
239842002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
23985
23986 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
23987
ef238c58
AH
239882002-02-06 Aldy Hernandez <aldyh@redhat.com>
23989
831c4e87 23990 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 23991
ad08e60e
JT
239922002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
23993
23994 * config/netbsd.h (WCHAR_TYPE): Define.
23995 (WCHAR_TYPE_SIZE): Ditto.
23996 (WINT_TYPE): Ditto.
23997 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
23998 (WCHAR_UNSIGNED): Ditto.
23999 (WCHAR_TYPE_SIZE): Ditto.
24000 (WINT_TYPE): Ditto.
24001 * config/arm/netbsd.h: Likewise.
24002 * config/i386/netbsd-elf.h: Likewise.
24003 * config/i386/netbsd.h: Likewise.
24004 * config/m68k/netbsd-elf.h: Likewise.
24005 * config/m68k/netbsd.h: Likewise.
24006 * config/ns32k/netbsd.h: Likewise.
24007 * config/sparc/netbsd.h: Likewise.
24008 * config/vax/netbsd.: Likewise.
24009
f913c102
AO
240102002-02-05 Alexandre Oliva <aoliva@redhat.com>
24011
24012 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
24013 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
24014 (TARGET_INITIALIZER): this.
24015 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
24016 (BITFIELD_NBYTES_LIMITED): Markup fix.
24017 * tree.h (default_ms_bitfield_layout_p): Declare.
24018 (record_layout_info): Added prev_field.
24019 * tree.c (default_ms_bitfield_layout_p): New fn.
24020 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
24021 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
24022 * stor-layout.c: Include target.h.
24023 (start_record_layout): Initialize prev_field.
24024 (place_field): Handle MS bit-field layout, and disregard
24025 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
24026 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
24027 * Makefile.in (stor-layout.o): Adjust dependencies.
24028
c13db5d1
JM
240292002-02-05 Jason Merrill <jason@redhat.com>
24030
c13db5d1
JM
24031 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
24032
4505024e
AJ
240332002-02-05 Andreas Jaeger <aj@suse.de>
24034
24035 * crtstuff.c: Fix comments.
24036
794ad79d
RH
240372002-02-05 Richard Henderson <rth@redhat.com>
24038
2e279a9b
RH
24039 PR fortran/3393
24040 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
24041 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
24042
794ad79d
RH
24043 PR fortran/3392
24044 * config/mips/mips.c (function_arg): Handle TImode.
24045 (function_arg_advance): Likewise.
24046
8f909017
AH
240472002-02-05 Aldy Hernandez <aldyh@redhat.com>
24048
c13db5d1
JM
24049 * config/rs6000/altivec.h (vec_step_help): Rename to
24050 __vec_step_help.
8f909017 24051
66daa9e3
AH
240522002-02-05 Aldy Hernandez <aldyh@redhat.com>
24053
c13db5d1 24054 * config/rs6000/altivec.h: Fix typos.
66daa9e3 24055
2696e97b
JT
240562002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
24057
24058 * config/arm/netbsd.h: Correct a comment.
24059
3deb2758
AH
240602002-02-05 Aldy Hernandez <aldyh@redhat.com>
24061
c13db5d1
JM
24062 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
24063 building void typed builtins.
3deb2758 24064
c13db5d1
JM
24065 * config/rs6000/altivec.h (vec_ld*): Fix typos.
24066 (vec_step): Implement for C++.
3deb2758 24067
c13db5d1 24068Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
24069
24070 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
24071
ebbb0a63
RH
240722002-02-04 Richard Henderson <rth@redhat.com>
24073
24074 * combine.c (nonzero_bits): Re-introduce special case for
24075 sp/fp/ap wrt REGNO_POINTER_ALIGN.
24076
ae4b4a02
AH
240772002-02-05 Aldy Hernandez <aldyh@redhat.com>
24078
c13db5d1
JM
24079 * doc/extend.texi: Warn about unsupported usage of altivec
24080 builtins.
ae4b4a02 24081
c13db5d1
JM
24082 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
24083 (altivec_predicate_*): New.
ae4b4a02 24084
c13db5d1
JM
24085 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
24086 Add C++ version of vec_*() functions.
ae4b4a02 24087
c13db5d1
JM
24088 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
24089 (bdesc_2arg): Remove altivec predicates.
24090 (altivec_expand_builtin): Handle predicates.
24091 (altivec_init_builtins): Handle predicates.
24092 (altivec_expand_predicate_builtin): New.
ae4b4a02 24093
f6bcf44c
JDA
240942002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24095
24096 * pa.c (DO_FRAME_NOTES): Move forward.
24097 (store_reg): Revise handling of frame notes.
24098 (load_reg): Likewise.
24099 (set_reg_plus_d): Likewise.
24100 (hppa_expand_prologue): Likewise.
24101 (hppa_expand_epilogue): Likewise.
b137f9fc 24102
703b0080
JDA
241032002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24104
24105 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
24106
6f9fdf4d
JJ
241072002-02-04 Jakub Jelinek <jakub@redhat.com>
24108
24109 PR c/4475, c++/3780:
24110 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
24111 * c-common.h (SWITCH_TYPE): Define.
24112 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
24113 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
24114 Rename spareness variable to sparseness.
24115 (expand_end_case_type): Renamed from expand_end_case, use orig_type
24116 if non-NULL instead of TREE_TYPE (orig_index).
24117 * tree.h (expand_end_case_type): Renamed from expand_end_case.
24118 (expand_end_case): Define using expand_end_case_type.
24119 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
24120 to expand_end_case_type.
24121 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
24122
79109502
JDA
241232002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24124
24125 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
24126 (BIGGEST_ALIGNMENT): Change to 128.
24127
e62a5987
JDA
241282002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24129
24130 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
24131
219f24a4
JDA
241322002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24133
24134 * pa.md (call_internal_reg_64bit): Remove unused variable.
24135
3cb66fd7
NC
241362002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
24137
24138 * config/arm/arm.h (machine_function): Add uses_anonymous_args
24139 field.
831c4e87 24140 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 24141 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
24142 replace uses with cfun->machine->uses_anonymous_args.
24143 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
24144
24145 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
24146 any geenral register.
b137f9fc 24147
5d5603e2 241482001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
24149
24150 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
24151 the entry block.
24152
563c12b0
RH
241532002-02-04 Richard Henderson <rth@redhat.com>
24154
24155 * combine.c (force_to_mode): Remove STACK_BIAS code.
24156 (nonzero_bits): Likewise. Replace sp/fp special case with
24157 REGNO_POINTER_ALIGN.
24158
24159 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
24160 (HARD_FRAME_POINTER_REGNUM): New.
24161 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
24162 (FIXED_REGS, CALL_USED_REGS): Update.
24163 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
24164 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
24165 (HARD_REGNO_NREGS): Update for SFP.
24166 (STACK_POINTER_OFFSET): Include bias here ...
24167 (FIRST_PARM_OFFSET): ... not here.
24168 (STACK_BIAS): Remove.
24169 (INIT_EXPANDERS): New.
24170 (STARTING_FRAME_OFFSET): Do not include bias.
24171 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
24172 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
24173 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
24174 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
24175 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
24176 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
24177 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
24178 (MUST_SAVE_REGISTER): Likewise.
24179 (sparc_flat_function_prologue): Likewise.
24180 (sparc_flat_function_epilogue): Likewise.
24181 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
24182 (sparc_init_modes): SFP is GENERAL_REGS.
24183 (sparc_builtin_saveregs): SFP does not have bias applied.
24184
14691f8d
RH
241852002-02-04 Richard Henderson <rth@redhat.com>
24186
24187 * config/alpha/alpha.c (current_function_is_thunk): Don't check
24188 current_function_is_thunk.
24189 (alpha_sa_mask): Distinguish between current_function_is_thunk
24190 called from ASM_OUTPUT_MI_THUNK and not.
24191 (alpha_does_function_need_gp): Thunks always need gp.
24192 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
24193 (alpha_output_mi_thunk_osf): New.
24194 * config/alpha/alpha-protos.h: Update.
24195 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
24196
af702de8
RS
241972002-02-04 Richard Sandiford <rsandifo@redhat.com>
24198
24199 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
24200 function types, not when they're taken away.
24201
5b1cacd8
JL
24202Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
24203
24204 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
24205 CODE_LABEL and jump table when replacing a table jump with a
24206 simple jump.
24207
f3e9edff
UW
242082002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
24209
24210 * config/s390/s390-protos.h (legitimize_la_operand,
24211 s390_secondary_input_reload_class, s390_plus_operand,
24212 s390_expand_plus_operand): Add prototypes.
24213
24214 config/s390/s390.c (s390_secondary_input_reload_class,
24215 s390_plus_operand, s390_expand_plus_operand): New functions.
24216
24217 (struct s390_address): New member 'pointer'.
24218 (s390_decompose_address): Compute it.
24219 (legitimate_la_operand_p): Use it.
24220 (legitimize_la_operand): New function.
24221 (movti, movdi, movdf splitters): Call it.
24222
24223 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
24224 (PREDICATE_CODES): Add s390_plus_operand.
24225
24226 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
24227 (la_ccclobber): Allow GENERAL_REGS as output operand.
24228
24229 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
24230 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
24231 (*la_64, *la_31, reload_indi, reload_insi): ... these.
24232
3c9a08ec
UW
242332002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
24234
24235 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
24236 register names for regular asm () construct.
24237
ac300a45
JJ
242382002-02-04 Jakub Jelinek <jakub@redhat.com>
24239
24240 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
24241 registers.
24242
fa852403
JJ
242432002-02-04 Jakub Jelinek <jakub@redhat.com>
24244
24245 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
24246 pat for recog.
24247
fecaac37
HP
242482002-02-04 Hartmut Penner <hpenner@de.ibm.com>
24249
831c4e87
KC
24250 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
24251 constant pool to be identical by string address and index.
fecaac37 24252
10c45943
AG
242532002-02-04 Anthony Green <green@redhat.com>
24254
24255 * output.h (SECTION_OVERRIDE): Define.
24256 * varasm.c (named_section): Obey SECTION_OVERRIDE.
24257
69474c3c
JT
242582002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
24259
24260 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
24261 by existing arm*-*-netbsd* (a.out) target.
24262 (ns32k-*-netbsdelf*): Likewise.
24263 (sparc-*-netbsdelf*): Likewise.
24264 (vax-*-netbsdelf*): Likewise.
24265
939a46f6 242662002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
24267
24268 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
24269 headers and libobjc headers.
24270
242712002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
24272
24273 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
24274 (_mingw.h): Remove duplicate include.
24275
2fd95d71
JT
242762002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
24277
24278 * config.gcc: Set cpu_type to m68k for 68010, as well.
24279 (m68010-*-netbsdelf*): New...
24280 (m68k*-*-netbsdelf*): ...targets.
24281 * config/m68k/netbsd-elf.h: New file.
24282
0ea6f6a0
KH
242832002-02-02 Kazu Hirata <kazu@hxi.com>
24284
24285 * config/h8300/h8300.c (hand_list): Move inside function_arg.
24286
cbf1b2da
KH
242872002-02-02 Kazu Hirata <kazu@hxi.com>
24288
24289 * config/h8300/h8300.c (h8_push_ops): Move inside
24290 h8300_init_once.
24291 (h8_pop_ops): Likewise.
24292 (h8_move_ops): Likewise.
24293
0869f126
KH
242942002-02-02 Kazu Hirata <kazu@hxi.com>
24295
24296 * config/h8300/h8300.c (os_task): Make it static.
24297 (monitor): Likewise.
24298 (pragma_saveall): Likewise.
24299
90e65b70
AO
243002002-02-02 Alexandre Oliva <aoliva@redhat.com>
24301
24302 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
24303 constant is a valid sign-extension for Pmode.
24304
9cbcd983
KH
243052002-02-02 Kazu Hirata <kazu@hxi.com>
24306
24307 * config/h8300/h8300.c: Fix formatting.
24308
7a27efc4
KH
243092002-02-02 Kazu Hirata <kazu@hxi.com>
24310
24311 * config/h8300/h8300.md: Fix formatting.
24312
54175a44
KH
243132002-02-02 Kazu Hirata <kazu@hxi.com>
24314
24315 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
24316 predicates of operands[1]. Split the patterns for each
24317 processor variant.
24318
eceb1755
KH
243192002-02-02 Kazu Hirata <kazu@hxi.com>
24320
24321 * config/h8300/h8300.md (xor patterns): Tighten the predicates
24322 of operands[1] to register_operand.
24323
0fef3fd0
NB
243242002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
24325
24326 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
24327 * cpphash.c (_cpp_init_hashtable): Similarly.
24328 * cppinit.c (cpp_create_reader): Default the signed_char flag.
24329 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
24330 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
24331 (cpp_handle_option): Handle the new options.
24332 * cpplex.c (cpp_interpret_charconst): Use new flag.
24333 * cpplib.h (struct cpp_options): New member signed_char.
24334 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
24335 (cpp_options): Handle -fsigned-char and -funsigned-char.
24336 (static_specs): Remove signed_char_spec.
24337 (do_spec1): Don't handle %c.
24338 * system.h: Poison SIGNED_CHAR_SPEC.
24339 * tradcif.y (yylex): Use flag_signed_char.
24340 * tradcpp.h (flag_signed_char): New.
24341 * tradcpp.c (flag_signed_char): New.
24342 (main): Handle new command-line options.
24343 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
24344config:
24345 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
24346 * avr/avr.h: Remove old comments.
24347 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
24348 (CC1_SPEC): Pass -fsigned-char if -mic*.
24349 (SIGNED_CHAR_SPEC): Remove.
24350doc:
24351 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
24352
0617ed52
EC
243532002-02-01 Eric Christopher <echristo@redhat.com>
24354
24355 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
24356 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
24357 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
24358 (ASM_OUTPUT_REG_POP): Ditto.
24359
dfd48d76
NB
243602002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
24361
24362 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
24363 patch.
24364
4a23409e
JJ
243652002-02-02 Jakub Jelinek <jakub@redhat.com>
24366
24367 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
24368
d3c52658
JJ
243692002-02-02 Jakub Jelinek <jakub@redhat.com>
24370
24371 PR c/5304:
24372 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
24373 unconditionally.
24374
02c5a3bd
JJ
243752002-02-01 Janis Johnson <janis187@us.ibm.com>
24376
24377 * cfganal.c: Include tm_p.h.
24378 (keep_with_call_p): Fix the test that determines if a register holds
24379 the return value of a call.
24380
3968de80
DD
243812002-02-01 DJ Delorie <dj@redhat.com>
24382
24383 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
24384 we are given conflicting registers, switch to the other one we
24385 had allocated for us.
24386 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
24387 as TImode so we know when the "other" register is available.
24388
1338ea6c
DB
243892002-02-01 David O'Brien <obrien@FreeBSD.org>
24390
24391 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
24392 sparc/sparc_bi.h.
24393
f015be23
JJ
243942002-02-01 Janis Johnson <janis187@us.ibm.com>
24395
24396 * cfganal.c (keep_with_call_p): New function.
24397 (flow_call_edges_add): Prevent splitting a block between a call and
24398 a single-set instruction that should be kept in the same block.
24399
63708ffc
CR
244002002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
24401
24402 * doc/install.texi (avr): Update outdated URL.
24403
5ee4950e
AH
244042002-01-30 Andrew Haley <aph@cambridge.redhat.com>
24405
831c4e87
KC
24406 * config/stormy16/stormy16.md (pushqi): New.
24407 (popqi): New.
24408 (pushhi): New.
24409 (pophi): New.
24410 (movhi): Remove stack operands.
24411 (movqi): Likewise.
24412 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
24413 nonimmediate_nonstack_operand.
24414 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
24415 New.
24416 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
24417 New.
5ee4950e 24418
b88c0704
JM
244192002-01-31 Jason Merrill <jason@redhat.com>
24420
24421 * Makefile.in (c-parse.c): Handle .output file.
24422 * objc/Make-lang.in (objc-parse.c): Likewise.
24423
ac282977
AO
244242002-02-01 Alexandre Oliva <aoliva@redhat.com>
24425
24426 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
24427 the -me[lb] option is given. Don't output the default flag
24428 twice.
24429
bebc7e8b
ZW
244302002-01-31 Zack Weinberg <zack@codesourcery.com>
24431
24432 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
24433 the primary source file; this has not been done yet.
24434 * c-decl.c (c_expand_body): Reset input_filename from
24435 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
24436
5809eb5f
KH
244372002-01-31 Kazu Hirata <kazu@hxi.com>
24438
24439 * rtlanal.c (subreg_regno_offset): Do not use
24440 SUBREG_REGNO_OFFSET.
24441 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
24442 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
24443
8512bbd7
JM
244442002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24445
24446 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
24447 version rather than GNATS version in --version output.
24448
74cb3cc8
RS
244492002-01-31 Richard Sandiford <rsandifo@redhat.com>
24450
24451 * ifcvt.c (noce_process_if_block): Make a copy of the destination
24452 when copying back from a temporary.
24453
874b5b14
RH
244542002-01-30 Richard Henderson <rth@redhat.com>
24455
24456 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
24457 and new_dest are the same.
24458
e803a64b
RH
244592002-01-30 Richard Henderson <rth@redhat.com>
24460
89cf7be5 24461 PR opt/5076
e803a64b
RH
24462 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
24463 * rtl.c (note_insn_name): Update.
24464 * emit-rtl.c (remove_unnecessary_notes): Kill it.
24465 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
24466 to perform loop rotation.
24467 (expand_exit_loop_top_cond): New.
24468 * tree.h (expand_exit_loop_top_cond): Declare it.
24469 * c-semantics.c (genrtl_while_stmt): Use it.
24470 (genrtl_for_stmt): Likewise.
24471
0b51254d
AO
244722002-01-30 Alexandre Oliva <aoliva@redhat.com>
24473
24474 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
24475 arguments to 64-bit boundaries on 64-bit ABIs.
24476
71cef493
SE
244772002-01-30 Steve Ellcey <sje@cup.hp.com>
24478
24479 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
24480
6169e5fd
JM
244812002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24482
24483 * c-decl.c (grokdeclarator): Handle type being a typedef for an
24484 invalid type.
24485
86f808dc
DB
244862002-01-30 David O'Brien <obrien@FreeBSD.org>
24487
24488 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
24489 * config/sparc/sparc_bi.h: Remove file.
24490 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
24491
5748ebeb
RH
244922002-01-30 Richard Henderson <rth@redhat.com>
24493
24494 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
24495
20d32cc2
ZW
244962002-01-30 Zack Weinberg <zack@codesourcery.com>
24497
24498 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
24499
b88c0704 245002002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
24501
24502 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
24503 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
24504 (reg_save): Use DW_CFA_offset_extended_sf instead.
24505
24506 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
24507
37060e78
JJ
245082002-01-29 Jakub Jelinek <jakub@redhat.com>
24509
24510 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
24511 in cselib_lookup.
24512
d18dba68
AH
245132002-01-29 Aldy Hernandez <aldyh@redhat.com>
24514
bebc7e8b
ZW
24515 * rs6000.md ("*call_value_local32"): Remove constraints.
24516 ("*call_value_local64"): Same.
24517 ("*call_value_indirect_nonlocal_aix32"): Same.
24518 ("*call_value_nonlocal_aix32"): Same.
24519 ("*call_value_indirect_nonlocal_aix64"): Same.
24520 ("*call_value_nonlocal_aix64"): Same.
24521 ("*call_value_nonlocal_sysv"): Same.
d18dba68 24522
80a8aac6
RH
245232002-01-29 Richard Henderson <rth@redhat.com>
24524
24525 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
24526
12beba6f
RH
245272002-01-29 Richard Henderson <rth@redhat.com>
24528
24529 * expr.c (force_operand): Ignore flag_pic for detecting pic
24530 address loads.
24531 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
24532 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
24533 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
24534 instead of open-coded loop.
24535 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
24536 be fixed when in use.
24537
2583081e
RH
245382002-01-29 Richard Henderson <rth@redhat.com>
24539
24540 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
24541 * sched-rgn.c (propagate_deps): Update them.
24542 * sched-deps.c (sched_analyze_insn): Update them. Flush the
24543 clobbers list when either gets too long.
24544
3b8d200e
JJ
245452002-01-29 Jakub Jelinek <jakub@redhat.com>
24546
24547 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
24548 and INDEX_REGS the same as GENERAL_REGS.
24549 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
24550
2d3115eb
NB
245512002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
24552
bebc7e8b 24553 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 24554
ecbe845e
UW
245552002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
24556
bebc7e8b 24557 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 24558 movstrsix_31): Remove, replace by ...
bebc7e8b 24559 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
24560 movstrsi_long): ... these. New.
24561 (movstrdi, movstrsi): Adapt.
24562
24563 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 24564 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
24565 Remove unnecessary CC clobber.
24566 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
24567 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
24568
24569 (divmoddi4): Don't partially initialize TImode register.
24570
0b32fca5
GK
245712002-01-29 Geoffrey Keating <geoffk@redhat.com>
24572
24573 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
24574
08ef5437
RH
245752002-01-29 Richard Henderson <rth@redhat.com>
24576
24577 * flow.c (print_rtl_and_abort): Remove.
24578 (print_rtl_and_abort_fcn): Remove.
24579 (verify_local_live_at_start): Use dump_bb instead.
24580 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
24581 (verify_wide_reg_1): Return 2 on mode test failure.
24582
8469e54e
NB
245832002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
24584
24585 PR c/3325, c/3326, c/2511, c/3347
24586 * c-decl.c (enum_decl_context): Remove BITFIELD.
24587 (grokdeclarator): Take bitfield width as an input.
24588 Ensure bitfields are given the correct type. Perform
24589 bitfield width validation with build_bitfield_integer_type
24590 rather than waiting for finish_struct.
24591 (grok_typename, grok_typename_in_parm_context, start_decl,
24592 push_parmdecl, grokfield, start_function): Update calls to
24593 grokdeclarator.
24594 (build_bitfield_integer_type): New function.
24595 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 24596 and build_bitfield_integer_type.
8469e54e
NB
24597 * tree.c (build_nonstandard_integer_type): New function.
24598 * tree.h (build_nonstandard_integer_type): New prototype.
24599objc:
24600 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
24601
ffdeea47
JJ
246022002-01-29 Jakub Jelinek <jakub@redhat.com>
24603
24604 PR other/1502:
24605 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
24606 don't ignore unrecognized -W* options.
24607 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
24608 * cpplib.h (cpp_handle_option): Adjust prototype.
24609 * c-decl.c (c_decode_options): Pass 0 as last argument to
24610 cpp_handle_option.
24611
24612 PR c/2896:
24613 * gcc.c (cpp_unique_options): Split from cpp_options.
24614 (cpp_options): Source cpp_unique_options.
24615 (default_compilers): Use cpp_unique_options instead of cpp_options
24616 when used together with cc1_options.
24617 (static_specs): Add cpp_unique_options.
24618 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
24619 when used together with cc1_options.
24620
1a275226
KH
246212002-01-29 Kazu Hirata <kazu@hxi.com>
24622
24623 * config/h8300/h8300-protos.h: Update the prototype of
24624 output_a_shift.
24625 * config/h8300/h8300.c (output_a_shift): Remove an unused
24626 argument 'insn'. Remove redundant code.
24627 * config/h8300/h8300.md: Adust to the new prototype of
24628 output_a_shift.
24629
a11d9dfc
KH
246302002-01-29 Kazu Hirata <kazu@hxi.com>
24631
24632 * config/h8300/h8300-protos.h: Update the prototypes of
24633 emit_a_rotate and expand_a_rotate.
24634 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
24635 first argument to 'enum rtx_code'.
24636 (expand_a_rotate): Likewise.
24637
871f73e3
KH
246382002-01-28 Kazu Hirata <kazu@hxi.com>
24639
24640 * config/h8300/h8300-protos.h: Update the prototype of
24641 output_simode_bld.
24642 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
24643 'log2'.
24644 * config/h8300/h8300.md: Adjust to the new prototype.
24645
5fc4b751
KH
246462002-01-28 Kazu Hirata <kazu@hxi.com>
24647
24648 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
24649 redundant code.
24650
2d67bd7b
JDA
246512002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
24652
24653 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
24654 is a fixed register before returning pic_offset_table_rtx.
24655 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
24656 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
24657
5a852b3e
JM
246582002-01-28 Jason Merrill <jason@redhat.com>
24659
6bb28965 24660 * dwarf2.h: Sync with src version.
5a852b3e 24661
3bca17dd
PK
246622002-01-28 Paul Koning <pkoning@equallogic.com>
24663
24664 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
24665 BT_FN_VOID_PTR_VAR.
24666 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
24667 * doc/extend.texi (__builtin_prefetch): Update documentation:
24668 first argument is now const void ptr.
24669
7dc3f8c0
KH
246702002-01-28 Kazu Hirata <kazu@hxi.com>
24671
24672 * config/h8300/h8300-protos.h: Remove an unused prototype.
24673
e83cb5f0
RZ
246742002-01-28 Roman Zippel <zippel@linux-m68k.org>
24675
24676 * toplev.c (lang_independent_init): Round up identifier size.
24677
5721cd84
RE
246782002-01-28 Richard Earnshaw <rearnsha@arm.com>
24679
24680 * config.gcc: Revert previous change.
24681
d534119e
AP
246822002-01-28 Andris Pavenis <pavenis@latnet.lv>
24683
24684 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
24685
5a721dab
RE
246862002-01-28 Richard Earnshaw <rearnsha@arm.com>
24687
24688 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
24689 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
24690 other non-elf netbsd config frags.
24691 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
24692 collect2 will does that.
24693 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
24694 shared-lib frobbing will work.
24695
da1775d6
KH
246962002-01-28 Kazu Hirata <kazu@hxi.com>
24697
24698 * config/h8300/h8300.h: Fix formatting.
24699 * config/h8300/h8300.md: Likewise.
24700
8f2e963b
LR
247012002-01-28 Loren J. Rittle <ljrittle@acm.org>
24702
24703 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
24704 the old, removed AAA_standards fix.
24705 * fixinc/fixincl.x: Rebuilt.
24706
fdae5767
HPN
247072002-01-28 Hans-Peter Nilsson <hp@axis.com>
24708
24709 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
24710 atexit call in crtbegin, hooked in after call to frame_dummy;
24711 register EH before registering __fini__start.
24712
2a2ecb63
AH
247132002-01-28 Aldy Hernandez <aldyh@redhat.com>
24714
24715 * config/rs6000/altivec.h: Remove spurious semicolons.
24716
8ed43adf
KH
247172002-01-27 Kazu Hirata <kazu@hxi.com>
24718
24719 * config/h8300/h8300.md: Replace dead bit extraction patterns
24720 with ones that work.
24721
917afb0c
RK
24722Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24723
24724 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
24725 if not STRICT_ALIGNMENT.
24726 * rtl.h (MEM_ALIGN): Likewise.
24727
f70a54cb
CR
247282002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
24729
24730 * doc/invoke.texi (-fdump-translation-unit): Revert this
24731 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
24732
d8fd4914
KH
247332002-01-27 Kazu Hirata <kazu@hxi.com>
24734
24735 * config/h8300/h8300.md (define_constants): New.
24736 (anonymous patterns) Use defined constants appropriately.
24737
15e0e275
KH
247382002-01-27 Kazu Hirata <kazu@hxi.com>
24739
24740 * config/h8300/h8300.c (function_arg): Remove redundant code.
24741
37a0f8a5
RH
247422002-01-26 Richard Henderson <rth@redhat.com>
24743
24744 * sched-deps.c (reg_pending_uses_head): New.
24745 (reg_pending_barrier): Rename from reg_pending_sets_all.
24746 (find_insn_list): Don't mark inline.
24747 (find_insn_mem_list): Remove.
24748 (add_dependence_list, add_dependence_list_and_free): New.
24749 (flush_pending_lists): Replace only_write param with separate
24750 for_read and for_write parameters. Update all callers. Use
24751 add_dependence_list_and_free.
24752 (sched_analyze_1): Do not add reg dependencies here; just set
24753 the pending bits. Use add_dependence_list.
24754 (sched_analyze_2): Likewise.
24755 (sched_analyze_insn): Replace schedule_barrier_found with
24756 reg_pending_barrier. Add all dependencies for pending reg
24757 uses, sets, and clobbers.
24758 (sched_analyze): Don't add reg dependencies for calls, just
24759 set pending bits. Use regs_invalidated_by_call. Treat
24760 sched_before_next_call as a normal list, not a fake insn.
24761 (init_deps): No funny init for sched_before_next_call.
24762 (free_deps): Free pending mems lists. Don't zero reg_last.
24763 (init_deps_global): Init reg_pending_uses.
24764 (finish_deps_global): Free it.
24765 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
24766 (find_insn_mem_list): Remove.
24767 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
24768 (propagate_deps): Use them. Zero temp mem lists.
24769
cea3bd3e
RH
247702002-01-26 Richard Henderson <rth@redhat.com>
24771
24772 * Makefile.in (CRTSTUFF_CFLAGS): New.
24773 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
24774 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
24775 crtstuff.c instead of alpha assembly version.
24776 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
24777 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
24778 not FORCE_{INIT,FINI}_SECTION_ALIGN.
24779 (__do_global_dtors_aux): Mark used.
24780 (frame_dummy, __do_global_ctors_aux): Mark used.
24781 (fini_dummy, init_dummy): Remove.
24782
24783 * config/alpha/crtbegin.asm: Remove file.
24784 * config/alpha/crtend.asm: Remove file.
24785 * config/alpha/t-crtbe: Remove file.
24786 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
24787 (LINK_EH_SPEC): New.
24788
24789 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
24790 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
24791 calling constructors.
24792 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
24793
24794 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
24795 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
24796 CRT_END_INIT_DUMMY hack.
24797 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
24798 FORCE_{INIT,FINI}_SECTION_ALIGN.
24799
24800 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
24801 FORCE_{INIT,FINI}_SECTION_ALIGN.
24802
24803 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
24804 invocation sequence.
24805 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
24806
24807 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
24808 (FORCE_CODE_SECTION_ALIGN): New.
24809
60ffa0e5
RH
248102002-01-26 Richard Henderson <rth@redhat.com>
24811
24812 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
24813
61334ebe
RH
248142002-01-26 Richard Henderson <rth@redhat.com>
24815
24816 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
24817 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
24818
1d788fb6
KH
248192002-01-26 Kazu Hirata <kazu@hxi.com>
24820
24821 * config/h8300/h8300.md: Remove bit extraction patterns that
24822 cannot be triggered.
24823 Restrict each bit extraction pattern to a variant on which the
24824 pattern is tested.
24825
87611f88
JM
248262002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
24827
24828 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
24829
cd74ec59
KH
248302002-01-26 Kazu Hirata <kazu@hxi.com>
24831
24832 * config/h8300/h8300.md: Remove bit test patterns that cannot
24833 be triggered.
24834 Restrict each bit test pattern to a variant on which the
24835 pattern is tested.
24836
93051e0f
KG
248372002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
24838
24839 * builtins.c (expand_builtin_strncat): Remove redundant check for
24840 INTEGER_CST.
24841
216c995f
DB
248422002-01-25 David O'Brien <obrien@FreeBSD.org>
24843
24844 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
24845 default setting.
24846 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
24847 existing setting.
24848
33c7f925
GK
248492002-01-25 Geoffrey Keating <geoffk@redhat.com>
24850
24851 * dbxout.c (dbxout_init): Use assemble_name rather than just
24852 stripping off the first character.
24853 (dbxout_source_file): Likewise.
24854
6cd444b4
DD
248552002-01-25 DJ Delorie <dj@redhat.com>
24856
24857 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
24858 using rtx_equal_p, not by comparing pointers.
24859
751551d5
SE
248602002-01-25 Steve Ellcey <sje@cup.hp.com>
24861
24862 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
24863 for PIC_OFFSET_TABLE_REGNUM.
24864 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
24865
e564e618
DB
248662002-01-25 David O'Brien <obrien@FreeBSD.org>
24867
24868 * config.gcc (x86_64-*-freebsd*): New target.
24869 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
24870 value.
24871 (i[34567]86-*-freebsd*): Don't include svr4.h.
24872 * config/i386/freebsd64.h: New file.
24873
ff3aaf17
DR
248742002-01-25 Douglas B Rupp <rupp@gnat.com>
24875
4857d29d
DR
24876 * config/alpha/x-vms (version): Make static.
24877
24878 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
24879 in previous checkin.
24880
ff3aaf17
DR
24881 * Makefile.in (install-headers-cp): New target.
24882 * config.gcc (alpha-dec-*vms*): Install headers with
24883 install-headers-cp
24884
48d79c43
JH
24885Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
24886
24887 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
24888 avoid it's copies.
24889
995b5904
RK
24890Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24891
24892 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
24893 of compare_tree_int.
24894 (expand_builtin_strncat): Likewise.
24895 * c-decl.c (finish_struct): Use tree_low_cst.
24896 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
24897 * tree.c (compare_tree_int): Likewise.
24898
75eefe3f
UW
248992002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
24900
24901 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
24902 adjustments even if they are implemented by more than two insns.
24903
5a133afd
JH
24904Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
24905
995b5904 24906 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
24907 * df.h (struct ref): Kill B.
24908 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
24909
24910 * basic-block.h (PROP_EQUAL_NOTES): New flag.
24911 * flow.c (propagate_one_insn): Use it.
24912 (mark_used_regs): Handle NIL.
24913
ead39bdf 249142002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
24915
24916 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
24917 to help folding.
24918
01a2ccd0
DE
249192002-01-25 David Edelsohn <edelsohn@gnu.org>
24920
24921 * rs6000.md (prefetch): Make address V4SI mode so that the address
24922 is restricted to legitimate form for instruction.
24923
fd29f6ea
BW
249242002-01-25 Bob Wilson <bob.wilson@acm.org>
24925
24926 * doc/install.texi (xtensa-*-elf): New target.
24927 (xtensa-*-linux*): New target.
24928 * doc/contrib.texi: Add myself.
24929
55492b32
NC
249302002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
24931
24932 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
24933 purpose register to hold an SImode (or smaller) value.
24934
72c7c913
JJ
249352002-01-25 Jakub Jelinek <jakub@redhat.com>
24936
24937 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
24938 registry only.
24939 * crtstuff.c: Likewise.
24940
c4df4ceb
KH
249412002-01-25 Kazu Hirata <kazu@hxi.com>
24942
24943 * config/h8300/h8300.md (negation patterns): Tighten
24944 predicates to register_operand.
24945
70e531f5
AH
249462002-01-24 Aldy Hernandez <aldyh@redhat.com>
24947
3bca17dd
PK
24948 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
24949 mode, not Pmode.
70e531f5 24950
3bca17dd 24951 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 24952
a4f76ef9
AO
249532002-01-24 Alexandre Oliva <aoliva@redhat.com>
24954
24955 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
24956 modes.
24957
9bf25b09
KH
249582002-01-24 Kazu Hirata <kazu@hxi.com>
24959
24960 * config/h8300/h8300.c (print_operand): Remove support for
24961 operand character 'A'.
24962 * config/h8300/h8300.md (three anonymous patterns): Replace
24963 operand character 'A' with either 'T' or 'S'.
24964
974af6a5
KH
249652002-01-24 Kazu Hirata <kazu@hxi.com>
24966
24967 * config/h8300/h8300.c (print_operand): Remove support for
24968 operand character 'U'.
24969
7a5bb7b8
AP
249702002-01-24 Andris Pavenis <pavenis@latnet.lv>
24971
3bca17dd 24972 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 24973
92a4639e
NC
249742002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
24975
24976 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
24977 values to be assigned to the stack pointer.
24978
467cb2da
HP
249792002-01-14 Hartmut Penner <hpenner@de.ibm.com>
24980
bebc7e8b 24981 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
24982 to const_double needs to be done right for big-endian systems.
24983
3b6cb920
JM
249842002-01-24 Jason Merrill <jason@redhat.com>
24985
b08dd119 24986 PR c++/2432
3b6cb920
JM
24987 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
24988 to can_throw_internal.
24989
f3077311
RH
249902002-01-23 Richard Henderson <rth@redhat.com>
24991
24992 * fold-const.c (fold): Change UINT_MAX test to check vs precision
24993 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
24994
e1d71275
AO
249952002-01-24 Alexandre Oliva <aoliva@redhat.com>
24996
24997 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
24998 (symGOT2reg): Use them, then set as GOT value as unchanging.
24999 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
25000 as a temporary, if possible.
25001 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
25002 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
25003
dc271dbe
KH
250042002-01-23 Kazu Hirata <kazu@hxi.com>
25005
25006 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
25007 accept to accept 0x80 as operands[2].
25008
1a9017f9
AO
250092002-01-24 Alexandre Oliva <aoliva@redhat.com>
25010
25011 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
25012
6932f033
RH
250132002-01-23 Richard Henderson <rth@redhat.com>
25014
25015 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
25016
709619d9
AH
250172002-01-23 Aldy Hernandez <aldyh@redhat.com>
25018
3bca17dd
PK
25019 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
25020 (parmlist_or_identifiers_1): Verify that only a parmlist follows
25021 an attribute.
709619d9 25022
3d709fd3
RH
250232002-01-23 Richard Henderson <rth@redhat.com>
25024
25025 * expr.c (move_by_pieces_1): Extend size before negation.
25026
88a446c0
RH
25027 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
25028 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
25029 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
25030 * config/m68k/t-m68kelf: Likewise.
25031
03984308
BW
250322002-01-23 Bob Wilson <bob.wilson@acm.org>
25033
25034 * config/xtensa/elf.h: New file.
25035 * config/xtensa/lib1funcs.asm: New file.
25036 * config/xtensa/lib2funcs.S: New file.
25037 * config/xtensa/linux.h: New file.
25038 * config/xtensa/t-xtensa: New file.
25039 * config/xtensa/xtensa-config.h: New file.
25040 * config/xtensa/xtensa-protos.h: New file.
25041 * config/xtensa/xtensa.c: New file.
25042 * config/xtensa/xtensa.h: New file.
25043 * config/xtensa/xtensa.md: New file.
25044 * config.gcc (xtensa-*-elf*): New target.
25045 (xtensa-*-linux*): New target.
25046 * cse.c (canon_hash): Compare rtx pointers instead of register
25047 numbers. This is required for the Xtensa port.
25048 * integrate.c (copy_insn_list): Handle case where the static
25049 chain is in memory and the memory address has to be copied to
25050 a register.
25051 * doc/invoke.texi (Option Summary): Add Xtensa options.
25052 (Xtensa Options): New node.
25053 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
25054
c3d5c3fa
ZW
250552002-01-23 Zack Weinberg <zack@codesourcery.com>
25056
a63bea75
ZW
25057 * diagnostic.c (internal_error): Do ICE suppression only
25058 when ENABLE_CHECKING is not defined.
25059
c3d5c3fa
ZW
25060 * c-typeck.c (require_complete_type): Return error_mark_node
25061 if type is error_mark_node.
25062
1398974c
JJ
250632002-01-23 Janis Johnson <janis187@us.ibm.com>
25064
25065 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
25066 -Os and issue a warning.
25067
807633e5
ZW
250682002-01-23 Zack Weinberg <zack@codesourcery.com>
25069
25070 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
25071 current (lack of) need for host configuration by hand.
25072
25073 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
25074 references. Documentation of some target macros moved from
25075 hostconfig.texi to tm.texi.
25076
cf8002d0
WC
250772002-01-23 Will Cohen <wcohen@redhat.com>
25078
25079 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
25080 defined.
25081
d1e76310
KH
250822002-01-23 Kazu Hirata <kazu@hxi.com>
25083
25084 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
25085 operand[3].
25086
b2115575
JM
250872002-01-23 Jason Merrill <jason@redhat.com>
25088
f893c16e
JM
25089 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
25090
b2115575
JM
25091 * function.c (assign_parms): Don't put args of inline functions
25092 into registers when not optimizing.
25093
6bacc7b0
NC
250942002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
25095
25096 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
25097 (prologue_use): New pattern.
25098 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
25099 preference to gen_rtx_USE.
25100 (thumb_expand_prologue): Use gen_prologue_use in preference to
25101 gen_rtx_USE.
25102 (thumb_expand_epilogue): Use gen_prologue_use in preference to
25103 gen_rtx_USE.
25104
a415f7bc
HPN
251052002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
25106
25107 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
25108
5372b3fb
NB
251092002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
25110
25111 PR c/3504
25112 * doc/extend.texi: Correct documentation of __alignof__.
25113
bd571ffc
ZW
251142002-01-22 Zack Weinberg <zack@codesourcery.com>
25115
25116 * params.h: Rename arguments of DEFPARAM so that it will be
25117 recognized as a translation keyword.
25118
333c8841
AH
251192002-01-22 Aldy Hernandez <aldyh@redhat.com>
25120
bd571ffc
ZW
25121 * extend.texi: Document altivec functions.
25122 Fix N-bit adjectives in X86 builtin documentation.
333c8841 25123
38979c65
AO
251242002-01-22 Alexandre Oliva <aoliva@redhat.com>
25125
25126 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
25127 auto_inc_dec values.
25128
7458a9f0
RE
251292002-01-22 Richard Earnshaw <rearnsha@arm.com>
25130
25131 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
25132 after backslash.
25133 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
25134
129bd0c4
AO
251352002-01-22 Alexandre Oliva <aoliva@redhat.com>
25136
25137 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
25138
8b9b74a9
RH
251392002-01-22 Richard Henderson <rth@redhat.com>
25140
25141 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
25142 copy_insn not copy_rtx.
25143
d0c9db30
AM
251442002-01-23 Alan Modra <amodra@bigpond.net.au>
25145
25146 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
25147 "nonzero" as that might add "1" bits. Ensure "constop" is
25148 properly sign extened.
25149 (force_to_mode): Tweak for sign extended constop.
25150
1e7e480e
RH
251512002-01-22 Richard Henderson <rth@redhat.com>
25152
25153 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
25154 for_each_rtx instead of assuming we're already looking at the MEM.
25155 (split_small_symbolic_mem_operand): Likewise.
25156 * config/alpha/alpha.h (PREDICATE_CODES): Update.
25157 * config/alpha/alpha.md (small symbolic memory splitters): Update.
25158
251592002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
25160
25161 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
25162 sequence number for the literal.
25163 (divmoddi_internal_er): Likewise.
25164
b7f2fb96
CR
251652002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
25166
25167 PR java/4972
25168 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
25169 in LIBICONV variable.
25170 * configure: Regenerated.
25171
f66a0046
KW
251722002-01-22 Krister Walfridsson <cato@df.lth.se>
25173
25174 * dependence.c (build_def_use): Remove array_idx.
25175
e3b0efd1
KW
25176 * dwarfout.c (last_filename): Remove.
25177 (output_compile_unit_die): Remove last_filename.
25178
d8086cbb
RS
251792002-01-22 Roger Sayle <roger@eyesopen.com>
25180 Richard Henderson <rth@redhat.com>
25181
25182 PR opt/3640
25183 * fold-const.c (fold): Optimize unsigned comparisons against
25184 UINT_MAX (and similar unsigned constants).
25185
e8d52ba0
JJ
251862002-01-22 Janis Johnson <janis187@us.ibm.com>
25187
d8086cbb 25188 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 25189 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 25190 against the predicate.
11303d15 25191
e8d52ba0
JJ
25192 PR target/5379
25193 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
25194 for the address operand.
25195
cc7b420e
RH
251962002-01-22 Richard Henderson <rth@redhat.com>
25197
25198 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
25199
816e265a
CR
252002002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
25201
25202 PR other/5450
cc7b420e
RH
25203 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
25204 preprocessor flags.
816e265a 25205
7c884404
JT
252062002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
25207
25208 * config.gcc (x86_64-*-netbsd*): New target.
25209 * config/i386/netbsd64.h: New file.
25210
2b672c08
AH
252112002-01-22 Aldy Hernandez <aldyh@redhat.com>
25212
d8086cbb 25213 * regrename.c (kill_value): Fix typo.
2b672c08
AH
25214
252152002-01-22 Aldy Hernandez <aldyh@redhat.com>
25216
d8086cbb 25217 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 25218
d8086cbb 25219 * config/rs6000/rs6000.h: Same.
2b672c08 25220
d8086cbb
RS
25221 * function.c (instantiate_virtual_regs): Remove
25222 STARTING_FRAME_PHASE.
25223 (assign_stack_local_1): Same.
25224 Calculate frame phase.
2b672c08 25225
4b02997f
NC
252262002-01-22 Nick Clifton <nickc@redhat.com>
25227
25228 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
25229 variable declaration to outer scope in order to simplify
25230 future extensions.
25231 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
25232 arm_hard_regno_mode_ok.
25233 * config/arm/arm-protos.h: Add a prototype for
25234 arm_hard_regno_mode_ok.
25235 * config/arm/arm.c (soft_df_operand): Remove now redundant
25236 check for DImode values using IP_REGNUM.
25237 (nonimmediate_soft_df_operand): Remove now redundant check for
25238 DImode values using IP_REGNUM.
25239 (arm_hard_regno_mode_ok): New function. New check: make sure
25240 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
25241
25242 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
25243 note with a USE.
25244 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
25245
8a827ab2
JM
252462002-01-22 Jason Merrill <jason@redhat.com>
25247
25248 * c-semantics.c (genrtl_compound_stmt): Only check nesting
25249 consistency if this COMPOUND_STMT is scoped.
25250
cf403648
KH
252512002-01-22 Kazu Hirata <kazu@hxi.com>
25252
25253 * predict.c: Fix formatting.
25254 * print-tree.c: Likewise.
25255 * protoize.c: Likewise.
25256 * real.h: Likewise.
25257 * rtl.h: Likewise.
25258 * sbitmap.h: Likewise.
25259 * scan.c: Likewise.
25260 * sched-deps.c: Likewise.
25261 * sched-vis.c: Likewise.
25262 * sdbout.c: Likewise.
25263 * sibcall.c: Likewise.
25264 * ssa.c: Likewise.
25265 * ssa-ccp.c: Likewise.
25266 * ssa-dce.c: Likewise.
25267 * stmt.c: Likewise.
25268 * stor-layout.c: Likewise.
25269 * system.h: Likewise.
25270
aea9695c
RK
25271Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25272
a8765ae7
RK
25273 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
25274 if fits in bounds of base type.
25275
aea9695c
RK
25276 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
25277 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
25278 (add_bound_info, default): If can't find a context, make a
25279 SAVE_EXPR.
25280 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
25281
58bf601b
HPN
252822002-01-22 Hans-Peter Nilsson <hp@axis.com>
25283
25284 * c-typeck.c (parser_build_binary_op): If result from
25285 build_binary_op is ERROR_MARK just return error_mark_node without
25286 further processing.
25287
f982f805
JT
252882002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
25289
25290 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
25291 Split a.out-specific bits into...
25292 * config/netbsd-aout.h: ...this.
25293 * config/netbsd-elf.h: New file.
25294 * config/alpha/netbsd-elf.h: Remove.
25295 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
25296 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 25297 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
25298 (ENDFILE_SPEC): Likewise.
25299 (LINK_SPEC): Likewise.
25300 (CPP_SPEC): Likewise.
25301 (ASM_SPEC): Likewise.
25302 (LIB_SPEC): Likewise.
25303 (SWITCH_TAKES_ARG): Likewise.
25304 (TARGET_MEM_FUNCTIONS): Likewise.
25305 (CPP_PREDEFINES): Redefine.
25306 (ASM_FINAL_SPEC): Remove redefinition.
25307 (ASM_COMMENT_START): Redefine.
25308 (FUNCTION_PROFILER): Define.
25309 (TARGET_VERSION): Redefine.
25310 Comment and formatting cleanup.
25311 * config/i386/netbsd.h: Include <netbsd-aout.h>.
25312 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
25313 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
25314 big- or little-endian.
25315 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
25316 * config.gcc (*-*-netbsd*): Add definitions common to all
25317 NetBSD configs.
25318 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
25319 gnu_ld definitions. Add netbsd-elf.h to and remove
25320 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
25321 tmake_file, and don't lose previous tmake_file contents.
25322 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
25323 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
25324 gnu_ld definitions. Add netbsd-elf.h to tm_file.
25325 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
25326 (mipsel-*-netbsd*): Rename this to...
25327 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
25328 mips/little.h to tm_file for mips*el-*.
25329 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
25330 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
25331 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
25332
2e396476
JDA
253332002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
25334
25335 * pa-protos.h (reg_before_reload_operand): New function prototype.
25336 * pa.c (reg_before_reload_operand): New function implementation.
25337 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
25338 contraints to "*m".
25339
3b5708e7
FS
253402002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
25341
25342 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
25343
85e79f96
JDA
253442002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
25345
25346 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
25347 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
25348 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
25349 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
25350 (ENDFILE_SPEC): Undefine.
25351 (STARTFILE_SPEC): Redefine for PA.
25352
38abadee
FS
253532002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
25354
25355 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
25356
94f1d97c
DJ
253572002-01-21 Daniel Jacobowitz <drow@mvista.com>
25358
25359 * config.gcc: Add entries to supported PowerPC --with-cpu
25360 types.
25361
0333394e
JJ
253622002-01-21 Jakub Jelinek <jakub@redhat.com>
25363
25364 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
25365 true for 64-bit mode only SSE registers in 32-bit mode.
25366
e9d1b155
KH
253672002-01-21 Kazu Hirata <kazu@hxi.com>
25368
25369 * unwind-dw2.c: Fix formatting.
25370 * unwind-dw2-fde.c: Likewise.
25371 * unwind-dw2-fde.h: Likewise.
25372 * unwind-pe.h: Likewise.
25373 * varasm.c: Likewise.
25374 * varray.h: Likewise.
25375
07338cf8
HPN
253762002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
25377
25378 Remove workaround for register stack overwrite bug in mmix.
25379 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
25380 support for TARGET_REG_STACK_FILL_BUG.
25381 * config/mmix/mmix.h: Remove member has_call_without_parameters.
25382 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
25383 Delete.
25384 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
25385 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
25386 -mno-reg-stack-fill-bug-workaround.
25387 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
25388 machine member has_call_without_parameters.
25389 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
25390 -mreg-stack-fill-bug-workaround and
25391 -mno-reg-stack-fill-bug-workaround.
25392 (MMIX Options): Ditto.
25393
7192cbf1
KH
253942002-01-21 Kazu Hirata <kazu@hxi.com>
25395
25396 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
25397 as appropriate.
25398 Remove redundant code.
25399
d1552d7b
JM
254002002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
25401
25402 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
25403 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
25404 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
25405 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
25406 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
25407 out target macro definitions and non-target-specific comments
25408 mostly taken from old versions of the manual.
25409
ed168e45
KH
254102002-01-20 Kazu Hirata <kazu@hxi.com>
25411
25412 * config/h8300/h8300.h: Fix comment formatting.
25413 * config/ia64/aix.h: Likewise.
25414 * config/ia64/ia64-protos.h: Likewise.
25415 * config/ia64/ia64.c: Likewise.
25416 * config/ia64/ia64.h: Likewise.
25417 * config/ia64/ia64intrin.h: Likewise.
25418 * config/ia64/linux.h: Likewise.
25419 * config/ia64/unwind-aix.c: Likewise.
25420 * config/ia64/unwind-ia64.c: Likewise.
25421
005e3e05
KH
254222002-01-20 Kazu Hirata <kazu@hxi.com>
25423
25424 * config/h8300/h8300.c: Revise comments about shift code.
25425
64bead4c
KH
254262002-01-20 Kazu Hirata <kazu@hxi.com>
25427
25428 * config/h8300/h8300.c (function_arg): Update a comment.
25429
ed863595
KH
254302002-01-20 Kazu Hirata <kazu@hxi.com>
25431
25432 * config/h8300/h8300.md: Update the comments at the beginning
25433 of the file.
25434
5904dc87
KH
254352002-01-20 Kazu Hirata <kazu@hxi.com>
25436
25437 * config/i370/i370.c: Fix comment formatting.
25438 * config/i370/i370.h: Likewise.
25439 * config/i370/i370.md: Likewise.
25440 * config/i370/linux.h: Likewise.
25441
9702143f
RK
25442Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25443
cbafacd1
RK
25444 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
25445
9702143f
RK
25446 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
25447 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
25448 in incomplete case.
25449
6b6996b8
GS
254502002-01-20 Graham Stott <grahams@redhat.com>
25451
25452 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
25453
eab854f6
JDA
254542002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
25455
25456 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
25457
5b029315
TR
254582002-01-19 Tom Rix <trix@redhat.com>
25459
25460 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
25461
1d690052
AH
254622002-01-18 Aldy Hernandez <aldyh@redhat.com>
25463
d8086cbb 25464 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 25465
d8086cbb
RS
25466 * function.c (assign_stack_local_1): Adjust x_frame_offset with
25467 STARTING_FRAME_PHASE.
25468 (STARTING_FRAME_PHASE): New.
25469 (instantiate_virtual_regs): Check saneness of
25470 STARTING_FRAME_PHASE.
1d690052 25471
d8086cbb 25472 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 25473
4dd8c093
AO
254742002-01-19 Alexandre Oliva <aoliva@redhat.com>
25475
25476 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
25477
6f2a28d7
CR
254782002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
25479
25480 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
25481 be used for bootstrapping GCC 3.0.
25482
8763a465
KH
254832002-01-18 Kazu Hirata <kazu@hxi.com>
25484
25485 * config/h8300/h8300.md: Fix an insn length.
25486
3ef42a0c
KH
254872002-01-18 Kazu Hirata <kazu@hxi.com>
25488
25489 * bitmap.h: Fix comment formatting.
25490 * combine.c: Likewise.
25491 * cppfiles.c: Likewise.
25492 * c-pragma.h: Likewise.
25493 * c-typeck.c: Likewise.
25494 * df.c: Likewise.
25495 * dwarf2out.c: Likewise.
25496 * function.c: Likewise.
25497 * gcc.c: Likewise.
25498 * genattrtab.c: Likewise.
25499 * gthr-win32.h: Likewise.
25500 * haifa-sched.c: Likewise.
25501 * predict.c: Likewise.
25502 * rtlanal.c: Likewise.
25503 * rtl.h: Likewise.
25504 * unwind-dw2-fde.h: Likewise.
25505 * unwind-pe.h: Likewise.
25506 * vmsdbgout.c: Likewise.
25507
dd4dc3cd
RK
25508Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25509
25510 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
25511 if type_required and passed decl.
25512
5fb4cf24
AH
255132002-01-17 Aldy Hernandez <aldyh@redhat.com>
25514
d8086cbb
RS
25515 * config.gcc (cpu_type): Include altivec.h in powerpc
25516 extra_headers.
25517 Same for darwin.
5fb4cf24 25518
d8086cbb 25519 * config/rs6000/altivec.h: New.
5fb4cf24 25520
2705baf5
DE
255212002-01-17 David Edelsohn <edelsohn@gnu.org>
25522
25523 * doc/install.texi (*-ibm-aix*): Update assembler and exception
25524 handling information.
25525 * doc/trouble.texi (Interoperation): Add libstdc++ information
25526 for AIX.
25527 (Misunderstandings): Add template instantiation and static template
25528 member information for AIX.
25529
dbd680e1
JM
255302002-01-17 Jason Merrill <jason@redhat.com>
25531
821adc5e
JM
25532 * dbxout.c (dbxout_type): Support const and volatile.
25533
dbd680e1
JM
25534 * except.c (add_partial_entry): Remove backwards compatibility code.
25535 (end_protect_partials): Likewise.
25536
d0e82870
JJ
255372002-01-17 Jakub Jelinek <jakub@redhat.com>
25538
25539 * config/ia64/ia64.md (prologue_use): New.
25540 * config/ia64/ia64.c (ia64_expand_prologue): Use
25541 gen_prologue_use instead of gen_rtx_USE.
25542 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
25543 as CODE_FOR_pred_rel_mutex.
25544 (ia64_sched_reorder2): Likewise.
25545
f9f45c65
EC
255462002-01-16 Eric Christopher <echristo@redhat.com>
25547
25548 * config/mips/r3900.h: Reformat.
25549 (SUBTARGET_CPP_SIZE_SPEC): Remove.
25550 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
25551 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
25552 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
25553 * config/mips/t-elf: Remove mips3 multilib.
25554
c66c8b0e
L
255552002-01-16 H.J. Lu <hjl@gnu.org>
25556
25557 * config/mips/linux.h: Include "mips/abi64.h".
25558
5f083b72
L
255592002-01-16 H.J. Lu <hjl@gnu.org>
25560
25561 * config/mips/t-linux: New.
25562
25563 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
25564
25565 * config/mips/linux.h: Don't include "gofast.h".
25566 (INIT_SUBTARGET_OPTABS): Removed.
25567
af3c90a6
KH
255682002-01-16 Kazu Hirata <kazu@hxi.com>
25569
25570 * config/h8300/h8300-protos.h: Replace emit_a_shift with
25571 output_a_shift.
25572 * config/h8300/h8300.c: Likewise.
25573 * config/h8300/h8300.md: Likewise.
25574
a1bf0a16
KH
255752002-01-16 Kazu Hirata <kazu@hxi.com>
25576
25577 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
25578 spaces after an opcode name.
25579 (pushqi1_h8300hs): Likewise.
25580 (pushhi1_h8300hs): Likewise.
25581
88ab0d1c
KH
255822002-01-16 Kazu Hirata <kazu@hxi.com>
25583
25584 * doc/extend.texi: Replace "option" with "attribute"
25585 appropriately.
25586
51c561e3
JJ
255872002-01-16 Jakub Jelinek <jakub@redhat.com>
25588
25589 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
25590 (and:DI () (const_int -8)).
25591 (split_small_symbolic_mem_operand): Split
25592 (mem (and:DI () (const_int -8)).
25593
b8c1a6b8
JJ
255942002-01-16 Jakub Jelinek <jakub@redhat.com>
25595
25596 PR target/5309:
d8086cbb 25597 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
25598 same way as TYPE_IMUL.
25599 (ultrasparc_sched_reorder): Likewise.
25600 * config/sparc/sparc.md (type): Add comment to update
25601 ultrasparc_sched_reorder when making changes.
25602
1e4e4df2
KH
256032002-01-16 Kazu Hirata <kazu@hxi.com>
25604
25605 * doc/invoke.texi: Change the dump file name of block
25606 reordering pass from 28.bbro to 29.bbro.
25607 Mention -dk option.
25608
14d920c0
JH
25609Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
25610
25611 * i386.md (minsf splitter): Fix pasto.
25612
2e99323f
NC
256132002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
25614
25615 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
25616 to frame pointer initialisation instruction.
25617 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
25618 initialisation instruction.
ab8081c1
NC
25619 (soft_df_operand): Do not accept the IP register.
25620 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 25621
c4031a04
JJ
256222002-01-16 Jakub Jelinek <jakub@redhat.com>
25623
25624 PR target/5357:
25625 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
25626 MASK_V8 being both set.
25627
44b8152b
UW
256282002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
25629
25630 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
25631 insn for GOT register; add REG_MAYBE_DEAD notes instead.
25632 config/s390/s390.md (call, call_value): Add GOT register to
25633 CALL_INSN_FUNCTION_USAGE where needed.
25634 (call_exp, call_value_exp): New.
25635
1d6e90ac
NC
256362002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
25637
25638 * config/arm/arm.c: General formatting tidy up.
25639
256402002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
25641
25642 * calls.c (try_to_integrate): Use "(size_t)" intermediate
25643 cast and when casting an integer literal to "rtx" pointer.
25644 (expand_call): Likewise.
25645 * flow.c (try_pre_increment): Likewise.
25646 (find_use_as_address): Likewise.
25647 * integrate.c (expand_iline_function): Likewise.
25648 * regmove.c (try_auto_increment): Likewise.
25649
1d6e90ac 256502002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
25651
25652 * sched-rgn.c (passed): Use sbitmap_free.
25653 (header): Likewise.
25654 (inner): Likewise.
25655 (in_queue): Likewise.
25656 (in_stack): Likewise.
25657
31fce3c4
EC
256582002-01-15 Eric Christopher <echristo@redhat.com>
25659
25660 * flow.c (propagate_one_insn): Change to use fatal_insn.
25661
c99d986a
KH
256622002-01-15 Kazu Hirata <kazu@hxi.com>
25663
25664 * expmed.c (extract_fixed_bit_field): Remove unused code.
25665 * system.h: Poison SLOW_ZERO_EXTEND.
25666 * doc/tm.texi: Remove.
25667 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
25668 * config/arm/arm.h: Likewise.
25669 * config/avr/avr.h: Likewise.
25670 * config/clipper/clipper.h: Likewise.
25671 * config/convex/convex.h: Likewise.
25672 * config/d30v/d30v.h: Likewise.
25673 * config/dsp16xx/dsp16xx.h: Likewise.
25674 * config/elxsi/elxsi.h: Likewise.
25675 * config/fr30/fr30.h: Likewise.
25676 * config/h8300/h8300.h: Likewise.
25677 * config/i370/i370.h: Likewise.
25678 * config/i386/i386.h: Likewise.
25679 * config/m68k/m68k.h: Likewise.
25680 * config/mips/mips.h: Likewise.
25681 * config/ns32k/ns32k.h: Likewise.
25682 * config/pdp11/pdp11.h: Likewise.
25683 * config/pj/pj.h: Likewise.
25684 * config/s390/s390.h: Likewise.
25685 * config/sh/sh.h: Likewise.
25686 * config/stormy16/stormy16.h: Likewise.
25687 * config/v850/v850.h: Likewise.
25688 * config/vax/vax.h: Likewise.
25689 * config/we32k/we32k.h: Likewise.
25690
acfab996
AH
256912002-01-15 Aldy Hernandez <aldyh@redhat.com>
25692
d8086cbb
RS
25693 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
25694 (altivec_lvsl): Change constraint to b.
25695 (altivec_lvsr): Same.
25696 (altivec_lvebx): Same.
25697 (altivec_lvehx): Same.
25698 (altivec_lvewx): Same.
25699 (altivec_lvxl): Same.
25700 (altivec_lvx): Same.
25701 (altivec_stvx): Add parallel.
25702 (altivec_stvxl): Same.
25703 (altivec_stvehx): Same.
25704 (altivec_stvebx): Same.
25705 (altivec_stvebx): Same.
acfab996 25706
5e505bc9
AH
257072002-01-15 Aldy Hernandez <aldyh@redhat.com>
25708
d8086cbb 25709 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 25710
d8086cbb 25711 * config/rs6000/altivec.h: Delete.
5e505bc9 25712
d8086cbb 25713 * config/rs6000/altivec-defs.h: Add.
5e505bc9 25714
5c41fdfb
JDA
257152002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
25716
25717 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
25718 and UMOD modes.
25719
25720 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
25721 less than or equal to eight bytes.
25722
25723 * vax.md (andsi3): Remove constraints and change SET destination
25724 operand type to nonimmediate_operand.
25725 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
25726 when it is a CONST_INT.
25727
de097a2d
JM
257282002-01-15 Jason Merrill <jason@redhat.com>
25729
25730 * c-common.def (FILE_STMT): New code.
25731 * c-common.c (statement_code_p): It's a statement.
25732 * c-common.h (stmt_tree_s): Add x_last_filename.
25733 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
25734 (last_expr_filename): New macro.
25735 * c-semantics.c (begin_stmt_tree): Initialize it.
25736 (add_stmt): If the filename changed, also insert a
25737 FILE_STMT.
25738 (expand_stmt): Handle seeing one.
25739
4a913dd6
EC
257402002-01-15 Eric Christopher <echristo@redhat.com>
25741
25742 * flow.c (propagate_one_insn): Add error message and print out
25743 insn for debugging.
25744
006946e4
JM
257452002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
25746
25747 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
25748 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
25749 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
25750 TRAMPOLINE_ALIGNMENT.
25751 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
25752 to be in bits.
25753 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
25754 PCC_BITFIELD_TYPE_MATTERS.
25755 * config/interix.h (STDC_VALUE): Remove. Use
25756 STDC_0_IN_SYSTEM_HEADERS.
25757 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
25758 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
25759 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
25760
751a1458
CR
257612002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
25762
25763 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
25764 not work on this platform currently.
25765
57771fe8
JM
257662002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
25767
25768 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
25769 readonly_warning in _().
25770
0e83ceb1 257712002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 25772
0e83ceb1 25773 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 25774
8e2e89f7
KH
257752002-01-15 Kazu Hirata <kazu@hxi.com>
25776
0e83ceb1
DR
25777 * config/h8300/h8300.c (print_operand): Remove support for
25778 unused operand characters.
25779
8e2e89f7
KH
25780 * read-rtl.c: Fix formatting.
25781 * real.c: Likewise.
25782 * recog.c: Likewise.
25783 * regclass.c: Likewise.
25784 * regmove.c: Likewise.
25785 * reg-stack.c: Likewise.
25786 * reload1.c: Likewise.
25787 * rtlanal.c: Likewise.
25788
b531087a
KH
257892002-01-15 Kazu Hirata <kazu@hxi.com>
25790
25791 * config/i386/i386.c: Fix formatting.
25792
7c94ce7f
JJ
257932002-01-15 Jakub Jelinek <jakub@redhat.com>
25794
25795 * c-typeck.c (process_init_element): Don't save_expr
25796 COMPOUND_LITERAL_EXPR if just its initializer will be used.
25797
6041bf2f
DE
257982002-01-15 David Edelsohn <edelsohn@gnu.org>
25799
25800 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
25801 emit optional traceback table if optimize_size or TARGET_ELF.
25802 * config/rs6000/rs6000.md (prefetch): New.
25803
8559c8c0
AJ
258042002-01-15 Andreas Jaeger <aj@suse.de>
25805
25806 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
25807
70f122f2
KH
258082002-01-15 Kazu Hirata <kazu@hxi.com>
25809
25810 * mips-tfile.c: Fix formatting.
25811
6a7b4ca6
JH
25812Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
25813
25814 * unroll.c (final_reg_note_copy): Fix previous commit.
25815
e7afe229
KH
258162002-01-14 Kazu Hirata <kazu@hxi.com>
25817
25818 * config/h8300/h8300-protos.h: Remove the prototype for
25819 eq_operator.
25820 * config/h8300/h8300.c (eq_operator): Remove.
25821
7d378549
RH
258222002-01-14 Richard Henderson <rth@redhat.com>
25823
25824 * config/i386/i386.md (prefetch): Tidy.
25825 (prefetch_3dnow): Fix locality operand.
25826
ab093b81
RH
258272002-01-14 Richard Henderson <rth@redhat.com>
25828
25829 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
25830 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
25831
d300f51f
HPN
258322002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
25833
25834 * reload1.c (reload_combine): Pass reg_sum replacement through
25835 copy_rtx in loop performing multiple changes.
25836
655dd289
JJ
258372002-01-14 Jakub Jelinek <jakub@redhat.com>
25838
25839 * except.c (remove_unreachable_regions): New.
25840 (free_eh_status): Clear exception_handler_labels.
25841 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
25842 (find_exception_handler_labels): Don't add the same label more than
25843 once.
25844 (remove_exception_handler_label): Don't die if
25845 find_exception_handler_labels hasn't been called for the current
25846 function yet.
25847
1fba46a7
JH
25848Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
25849
25850 * toplev.c (rest_of_compilation): Rebuild jump labels after
25851 gcse.
25852
0975678f
JM
258532002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
25854
25855 * doc/extend.texi: Move documentation of X86 built-in functions
25856 here.
25857 * doc/invoke.texi: From here.
25858 * doc/sourcebuild.texi: Document location of documentation for
25859 machine built-in functions.
25860
969815c7
CF
258612002-01-13 Christopher Faylor <cgf@redhat.com>
25862
25863 * cppfiles.c (TEST_THRESHOLD): New macro.
25864 (SHOULD_MMAP): Ditto.
25865 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
25866 be used.
25867
494c950b
JH
25868Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
25869
25870 * unroll.c (final_reg_note_copy): Properly handle
25871 REG_LABEL
25872 (unroll_loops): Fix LOOP_CONDITION heuristics.
25873
69a0611f
GK
258742002-01-14 Geoffrey Keating <geoffk@redhat.com>
25875
25876 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
25877 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
25878
b90e45ae
JH
25879Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
25880
25881 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
25882 threaded loop.
25883
8377288b
TR
258842002-01-14 Tom Rix <trix@redhat.com>
25885
25886 * config/rs6000/rs6000.md: Fix typo with sradi.
25887
9f37ccb1
UW
258882002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
25889
25890 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
25891 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
25892 (clrstrdi, clrstrsi): Adapt callers.
25893
25894 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
25895
8559c8c0 25896 (movti splitter): Never use register 0 as base register.
9f37ccb1 25897
6c2d03d0
HP
258982002-01-14 Hartmut Penner <hpenner@de.ibm.com>
25899
8559c8c0
AJ
25900 * combine.c (simplify_shift_const): Always generate new rtx
25901 for shift expression instead of reusing given expression.
6c2d03d0 25902
d3e98208
RK
25903Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25904
25905 * config/alpha/alpha.c (alpha_expand_mov): Don't call
25906 alpha_legitimize_address unless mode is Pmode.
25907
9f339dde
GK
259082002-01-13 Geoffrey Keating <geoffk@redhat.com>
25909
25910 * doc/md.texi (Modifiers): Document the '*' constraint for the
25911 user.
25912
25913 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
25914 * doc/extend.texi (Function Attributes): 'interrupt' is valid
25915 for xstormy16 too.
25916
02a10130
RH
259172002-01-13 Richard Henderson <rth@redhat.com>
25918
25919 * reload.c (find_reloads): Use a hard reg destination as reload reg
25920 for an input reload of the source.
25921
61d47787
GP
259222002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
25923
25924 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
25925 more generic.
25926
f0df8029
DR
25927Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
25928
25929 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
25930 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
25931
d2a37256
DR
25932 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
25933
a9e8a5ee
RK
25934Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25935
25936 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
25937
bc06712d
TR
259382002-01-12 Tom Rix <trix@redhat.com>
25939
8559c8c0 25940 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
25941 TARGET_POWERPC64.
25942
7cbe9bb7
RH
259432002-01-12 Richard Henderson <rth@redhat.com>
25944
38b29e64
RH
25945 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
25946
58605ba0
RH
25947 * doc/invoke.texi: Update Alpha options.
25948
7cbe9bb7
RH
25949 * doc/invoke.texi: Update i386 built-in function lists.
25950
9d560860
JH
25951Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
25952
25953 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
25954 referencing outside.
25955
bb93b973
RK
25956Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25957
25958 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
25959 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
25960 offsets, and change line folding.
25961 * optabs.c (expand_binop): Remove warnings.
25962 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 25963
f9f6b7df
GS
259642002-01-12 Graham Stott <grahams@redhat.com>
25965
25966 * attribs.c (handle_deprecated_attribute): constify WHAT.
25967 * diagnostic.c (warn_deprecated_use): Add braces, fixes
25968 dangling else warning and constify WHAT.
25969 * except.h (struct function, struct inline_remap): Move
25970 struct tag forward defs before all prototypes.
25971 (duplicate_eh_regions): Whitespace.
25972
4a692617
NC
259732002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
25974
25975 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
25976 MODE_BASE_REG_CLASS.
25977 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
25978
e37af218
RH
259792002-01-12 Richard Henderson <rth@redhat.com>
25980
25981 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
25982 (ix86_expand_vector_move): New.
25983 (bdesc_2arg): Remove andps, andnps, orps, xorps.
25984 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
25985 Remove old prefetch builtins. Special case the logicals removed above.
25986 (ix86_expand_builtin): Likewise.
25987 (safe_vector_operand): Use V4SFmode, not TImode.
25988 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
25989 (ix86_expand_timode_binop_builtin): New.
25990 * config/i386/i386-protos.h: Update.
25991 * config/i386/i386.h (enum ix86_builtins): Update.
25992 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
25993 Use ix86_expand_vector_move in vector move expanders.
25994 (movti_internal, movti_rex64): Add xorps alternative.
25995 (sse_clrv4sf): Rename and adjust from sse_clrti.
25996 (prefetch): Don't work so hard.
25997 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
25998 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
25999 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
26000
6f1a6c5b
RH
260012002-01-11 Richard Henderson <rth@redhat.com>
26002
26003 * config/i386/mmintrin.h: New file.
26004 * config/i386/xmmintrin.h: New file.
26005 * config.gcc (i?86-*-*): Add extra_headers.
26006 * simplify-rtx.c (simplify_unary_operation): Handle saturating
26007 truncation codes.
26008 (simplify_binary_operation): Handle saturating arithmetic codes.
26009 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
26010 not the lowpart subreg.
26011 (ix86_expand_builtin): Return a TImode dummy register instead of 0
26012 on error.
26013 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
26014
cdb574d3
MH
260152002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
26016
26017 * conflict.c (conflict_graph_compute): Free regsets when finished.
26018 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 26019
cf11ac55
HB
260202002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
26021
26022 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
26023 every where we allocate a register.
26024
76ac938b
MH
260252002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
26026
26027 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
26028 * lcm.c (compute_earliest, compute_farthest): Likewise.
26029
a84b4898
JJ
260302002-01-11 Janis Johnson <janis187@us.ibm.com>
26031
26032 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
26033
aaef1c12
JJ
260342002-01-11 Janis Johnson <janis187@us.ibm.com>
26035
26036 * doc/rtl.texi (Insns): Fix 2 typos.
26037
5d22c1a5
JM
260382002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
26039
26040 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
26041 options. Use @table @gcctabopt for MMIX options. Add index
26042 entries for MMIX options. Start new paragraph with first
26043 heading of the machine-dependent options.
26044
3e92902c
CR
260452002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
26046
26047 PR other/5299
26048 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
26049 * combine.c (force_to_mode): Same.
26050 * reload1.c (clear_reload_reg_in_use): Same.
26051
96ae8197
NC
260522002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
26053
26054 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
26055 and 'subtargets'.
26056
9b780582
AJ
260572002-01-11 Andreas Jaeger <aj@suse.de>,
26058 Brad Lucier <lucier@math.purdue.edu>
26059
26060 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
26061 mcpu.
26062
12300dad
DR
26063Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
26064
26065 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
26066 Protect with IN_LIBGCC.
26067 (LINK_EH_SPEC): Add required trailing space.
26068
27511a9a
NP
26069Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
26070
9b780582 26071 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
26072 under the filename which contains them.
26073 (check_identifier, finish_decl_top_level,
26074 lookup_name_current_level_global, shadow_record_fields): Remove.
26075
4daeab16
AJ
260762002-01-11 Andreas Jaeger <aj@suse.de>
26077
26078 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
26079 march.
26080
40571d67
RH
260812002-01-10 Richard Henderson <rth@redhat.com>
26082
26083 * config/alpha/alpha.c (print_operand): Add 'J'.
26084 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
26085 new operand with the sequence number for the lituse. When splitting
26086 the insns, use gen_movdi_er_high_g and generate a sequence number.
26087 (gen_movdi_er_high_g): Print the sequence number if non-zero.
26088
6525c0e7
AH
260892002-01-10 Aldy Hernandez <aldyh@redhat.com>
26090
d8086cbb
RS
26091 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
26092 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
26093 stvxl.
26094 (altivec_expand_builtin): Same.
26095 (altivec_expand_stv_builtin): New.
26096
26097 * config/rs6000/rs6000.h (rs6000_builtins): Same.
26098
26099 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
26100 ("altivec_lvehx"): New.
26101 ("altivec_lvewx"): New.
26102 ("altivec_lvxl"): New.
26103 ("altivec_lvx"): New.
26104 ("altivec_stvx"): New.
26105 ("altivec_stvebx"): New.
26106 ("altivec_stvehx"): New.
26107 ("altivec_stvewx"): New.
26108 ("altivec_stvxl"): New.
6525c0e7 26109
cda94cbb
RH
261102002-01-10 Richard Henderson <rth@redhat.com>
26111
26112 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
26113 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
26114 care not to delete instructions twice.
26115
df2c9a44
ZW
261162002-01-10 Zack Weinberg <zack@codesourcery.com>
26117
26118 * toplev.c: Don't declare environ (it's not used anywhere).
26119 * configure.in: Don't check for declaration of environ.
26120 * config/i386/xm-mingw32.h: Don't #define environ.
26121 * config.in, configure: Regenerate.
26122
5dd8a9b1
ZW
261232002-01-10 Zack Weinberg <zack@codesourcery.com>
26124
26125 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
26126 * configure: Regenerate.
26127
26128 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
26129 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
26130 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
26131 alpha/xm-vms.h.
26132 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
26133 LIMITS_H_TEST here, not in m68k/x-next.
26134 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
26135 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
26136
26137 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
26138 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
26139 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
26140
26141 * config/i386/x-djgpp: Renamed i386/t-djgpp.
26142 * config/m88k/x-dolph: Renamed m88k/t-dolph.
26143 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
26144 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
26145 replacement of quadlib.asm with quadlib.c.
26146
26147 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
26148 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
26149 config/rs6000/xm-beos.h: Delete file.
26150
26151 * config.gcc: Update to match above changes.
26152
d10dd44c
KH
261532002-01-10 Kazu Hirata <kazu@hxi.com>
26154
26155 * config/h8300/h8300.h: Fix comment typos.
26156 * config/h8300/h8300.md: Likewise.
26157 * config/h8300/lib1funcs.asm: Likewise.
26158
04894c5a
DJ
261592002-01-10 Dale Johannesen <dalej@apple.com>
26160
26161 PR optimization/5269
26162 * unroll.c (precondition_loop_p): Make *increment be the correct
26163 sign when n_iterations known, to avoid confusing caller.
26164
adc9fe67
KH
261652002-01-10 Kazu Hirata <kazu@hxi.com>
26166
26167 * doc/extend.texi (deprecated): Fix a typo.
26168
b446e5a2
JH
26169Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
26170
26171 * basic-block.h (update_br_prob_note): Declare.
26172 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
26173 (try_forward_edges): Care negative frequencies and update note.
26174 (outgoing_edges_match): Tweek conditional merging heuristics.
26175 (try_crossjump_to_edge): use update_br_prob_note.
26176 * cfglayout.c (fixup_reorder_chain): Likewise.
26177 * cfrtl.c (update_br_prob_note): New.
26178 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
26179
26180 * i386.c (ix86_decompose_address): Return -1 if address contains
26181 shift.
26182 (legitimate_address_p): Require ix86_decompose_address to return 1.
26183
26184 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
26185 (cprop_insn): Likewise.
26186
a01da83b
KH
261872002-01-10 Kazu Hirata <kazu@hxi.com>
26188
26189 * toplev.c: Fix formatting.
26190 * tree.c: Likewise.
26191 * tree-dump.c: Likewise.
26192 * unroll.c: Likewise.
26193 * unwind-dw2.c: Likewise.
26194 * unwind-dw2-fde.c: Likewise.
26195 * unwind-dw2-fde-glibc.c: Likewise.
26196 * unwind-sjlj.c: Likewise.
26197
9f85bca7
JM
261982002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
26199
26200 * doc/invoke.texi: Document PDP-11 options.
26201
f48f56b1
KH
262022002-01-10 Kazu Hirata <kazu@hxi.com>
26203
26204 * config/h8300/h8300.h: Fix formatting.
26205
ead39bdf 262062002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
26207
26208 Add __attribute__ ((deprecated)).
26209 * extend.texi: Document __attribute__ ((deprecated)).
26210 * invoke.texi: Document -Wno-deprecated-declarations.
26211 * testsuite/g++.dg/other/deprecated.C: New C++ test.
26212 * testsuite/gcc.dg/deprecated.c: New C test.
26213 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
26214 (c_common_attribute_table): Add "deprecated" entry.
26215 (handle_deprecated_attribute): New function.
26216 * c-decl.c (deprecated_states): New enum.
26217 deprecated_state: State of "deprecated" handling.
26218 (start_decl): Set deprecated_state based on attributes.
26219 (grokdeclarator): Test for deprecated uses, propagate attribute.
26220 * c-typeck.c (build_component_ref): Test for deprecated fields.
26221 (build_external_ref): Test for deprecated primaries.
26222 * diagnostic.c (warn_deprecated_use) New function to issue
26223 warnings about __attribute__ ((depricated)) references.
26224 * flags.h (warn_deprecated_decl): Extern declared for
26225 -W[no-]deprecated-declarations option.
26226 * print-tree.c (print_node): Show deprecated flag status.
26227 * toplev.c (warn_deprecated_decl): Defined.
26228 (W_options): Added "deprecated-declaration".
26229 * toplev.h (warn_deprecated_use): Extern declared.
26230 * tree.h (struct tree_common): Define deprecated_flag.
26231 (TREE_DEPRECATED): New macro to access flag.
26232 * cp/call.c (build_call): Test for deprecated calls.
26233 * cp/class.c (add_implicitly_declared_members): Set global
26234 flag to tell grokdeclarator to not issue deprecated warnings.
26235 * cp/cp-tree.h: Add extern for adding_implicit_members.
26236 * cp/decl.c (deprecated_states): New enum.
26237 (start_decl): Set deprecated_state based on attributes.
26238 (grokdeclarator): Test for deprecated uses, propagate attribute.
26239 * cp/lex.c (do_identifier): Test for deprecated primaries.
26240 * cp/typeck.c (build_component_ref): Test for deprecated fields.
26241
ead39bdf 262422002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
26243
26244 Fix to assign attributes to inline member functions.
26245 * cp/decl.c (start_method): Handle attrlist.
26246
47073a38
KH
262472002-01-10 Kazu Hirata <kazu@hxi.com>
26248
26249 * combine.c (expand_field_assignment): Use subreg_lsb().
26250
d288e53d
DE
262512002-01-10 David Edelsohn <edelsohn@gnu.org>
26252
26253 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
26254 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
26255 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
26256 Recurse for any operand of AND as long as constant is non-zero.
26257
08a02ffa
KH
262582002-01-10 Kazu Hirata <kazu@hxi.com>
26259
26260 * config/h8300/h8300.md: Remove constraints from expanders.
26261
c203e7fe
KH
262622002-01-10 Kazu Hirata <kazu@hxi.com>
26263
26264 * varasm.c: Fix formatting.
26265 * varray.c: Likewise.
26266 * vmsdbgout.c: Likewise.
26267 * xcoffout.c: Likewise.
26268
bcb3bc6d
JH
26269Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
26270
26271 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 26272 update edge probabilities to match.
bcb3bc6d 26273
0a553c7e
JM
262742002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
26275
26276 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
26277 dependencies.
26278 * doc/languages.texi, doc/sourcebuild.texi: New files.
26279 * doc/configfiles.texi: Make a subsubsection. Update.
26280 * doc/configterms.texi: Add @node. Remove warning that this isn't
26281 instructions for building GCC.
26282 * doc/makefile.texi: Make a subsection.
26283 * doc/gccint.texi: Update.
26284
adc7fcb8
JH
26285Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
26286
26287 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
26288
5a4dd0b3
NP
26289Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
26290
26291 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
26292
3987b9db
JH
26293Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
26294
26295 * optabs.c (expand_fix): Look for wider integer modes first.
26296
26297 * i386.md (mov?f): Avoid the fake const double trick for medium
26298 memory model.
26299 (min?f*/max?f*): Prohibit memory operands for i387 variant.
26300 (fop_df_4): Disable for SSE compilation.
26301
ceb15948 263022002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
26303
26304 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 26305 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 26306
e1623399
RH
263072002-01-10 Richard Henderson <rth@redhat.com>
26308
26309 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
26310
c4abb293
RH
263112002-01-10 Richard Henderson <rth@redhat.com>
26312
26313 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
26314 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
26315
d2604ae9
KH
263162002-01-10 Kazu Hirata <kazu@hxi.com>
26317
26318 * combine.c (can_combine_p): Fix a comment typo.
26319
766c7ad1
ZW
263202002-01-09 Zack Weinberg <zack@codesourcery.com>
26321
26322 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
26323 empty list correctly. Change loop index $t to $f for
26324 consistency with rest of Makefile.
26325
95385cbb
AH
263262002-01-08 Aldy Hernandez <aldyh@redhat.com>
26327
26328 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
26329 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
26330
26331 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
26332 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
26333 (altivec_init_builtins): Same.
26334 (altivec_expand_unop_builtin): Return NULL_RTX on error.
26335 (altivec_expand_binop_builtin): Same.
26336 (altivec_expand_ternop_builtin): Same.
26337 (bdesc_dst): New.
26338
26339 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
26340 ("altivec_vctuxs"): Fix typo.
26341 ("altivec_vnmsubfp"): Same.
26342 ("altivec_dssall"): New.
26343 ("altivec_mfvscr"): New.
26344 ("altivec_dss"): New.
26345 ("altivec_lvsl"): New.
26346 ("altivec_lvsr"): New.
26347 ("altivec_dstt"): New.
26348 ("altivec_dstst"): New.
26349 ("altivec_dststt"): New.
26350 ("altivec_dst"): New.
26351
26352 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
26353 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
26354
e4ac76b4
RH
263552002-01-09 Richard Henderson <rth@redhat.com>
26356
26357 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
26358
c893e4a4
HPN
263592002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
26360
26361 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
26362 function.
26363 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
26364 prototype.
7387c700 26365 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 26366
f4f4d0f8
KH
263672002-01-09 Kazu Hirata <kazu@hxi.com>
26368
26369 * read-rtl.c: Fix formatting.
26370 * real.c: Likewise.
26371 * regclass.c: Likewise.
26372 * regrename.c: Likewise.
26373 * reg-stack.c: Likewise.
26374 * reload1.c: Likewise.
26375 * reload.c: Likewise.
26376 * rtl.c: Likewise.
26377
cc863bea
KH
263782002-01-09 Kazu Hirata <kazu@hxi.com>
26379
26380 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
26381 to extract items in the expr_list chain.
26382
7b4dfe3d
RH
263832002-01-09 Richard Henderson <rth@redhat.com>
26384
26385 * config/vax/vax.c (vax_rtx_cost): Never abort.
26386
1d969638
RH
26387 * config/vax/vax.h (REAL_ARITHMETIC): Define.
26388
7d5ab30e
JH
263892002-01-09 Jan Hubicka <jh@suse.cz>
26390
26391 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
26392
9503f3d1
RH
263932002-01-09 Richard Henderson <rth@redhat.com>
26394
26395 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
26396 Unify code from various alternatives.
26397
42bd17b7
RH
263982002-01-09 Richard Henderson <rth@redhat.com>
26399
26400 * regrename.c (copy_value): Ignore the copy if the source register
26401 is present in the value chain with a narrower mode.
26402
bdca3c33
HB
264032002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
26404
cda94cbb
RH
26405 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
26406 for the c4x target. Also improve layout.
bdca3c33 26407
c73a5e94
RH
264082002-01-09 Richard Henderson <rth@redhat.com>
26409
26410 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
26411 * config/m32r/m32r.md (and ior xor splitters): Swap operands
26412 to match insn patterns.
26413
dd0a18c0
RH
264142002-01-09 Richard Henderson <rth@redhat.com>
26415
26416 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
26417 (copyprop_hardreg_forward_1): Likewise.
26418
1fd9ac1e
JDA
264192002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
26420
26421 * pa.md (decrement_and_branch_until_zero): Change predicate for
26422 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
26423
5cb265ec
BM
264242002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
26425
26426 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
26427 gets undefined. For Darwin.
26428
fcd8fa8b
HB
264292002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
26430
26431 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
26432
bd3ab23a
MH
264332002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
26434
26435 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
26436
21e16bd6
RH
264372002-01-08 Richard Henderson <rth@redhat.com>
26438
26439 * regrename.c (copy_value): Ignore overlapping copies.
26440
a5376276
RH
264412002-01-08 Richard Henderson <rth@redhat.com>
26442
26443 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
26444 as needed to avoid shared structure.
26445
18cf8dda
KH
264462002-01-08 Kazu Hirata <kazu@hxi.com>
26447
26448 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
26449 H8/300H and H8/S.
26450
16c484c7
JM
264512002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26452
26453 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
26454 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
26455 documentation of obsolete macros.
26456 * system.h: Poison these macros.
26457 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
26458 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
26459 config/c4x/c4x.h, config/clipper/clipper.h,
26460 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
26461 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
26462 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
26463 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
26464 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
26465 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
26466 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
26467 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
26468 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
26469 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
26470 config/sparc/sparc.h, config/stormy16/stormy16.h,
26471 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
26472 definitions and commented out definitions of obsolete macros.
26473 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
26474 of MAX_INT_TYPE_SIZE.
26475
14b3e8ef
UW
264762002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26477
26478 * config/s390/s390.c (s390_preferred_reload_class): Never
26479 return ADDR_REGS if it isn't a subset of the given class.
26480 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
26481 FP_REGS, but all superclasses as well.
26482
26483 * config/s390/s390.c (s390_function_profiler): Fix thinko.
26484
26485 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
26486 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
26487 must not be a const_int.
26488
a693284d
RH
264892002-01-08 Richard Henderson <rth@redhat.com>
26490
26491 * Makefile.in (toplev.o): Depend on options.h.
26492 (gcc.o): Depend on specs.h.
26493
b3ca30df
JJ
264942002-01-08 Jakub Jelinek <jakub@redhat.com>
26495
26496 * expr.c (store_expr): Convert VOIDmode constants back to target's
26497 mode.
26498
24dbb440
GP
264992002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
26500
26501 * doc/invoke.texi: Markup gcc as @command. Refer to
26502 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
26503 of http://gcc.gnu.org/thanks.html.
26504
234e114c
DJ
265052002-01-08 Dale Johannesen <dalej@apple.com>
26506
26507 * config/rs6000/rs6000.md: Add missing int register
26508 target case to movdf_low.
26509
0d24f4d1
ZW
265102002-01-08 Zack Weinberg <zack@codesourcery.com>
26511
26512 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
26513 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
26514 (cppinit.o): Depend on except.h.
26515 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
26516 s-specs): New rules.
26517
26518 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
26519 Don't create specs.h/options.h/gencheck.h here. Remove
26520 unnecessary variable settings from last argument of AC_OUTPUT.
26521 * config.in, configure: Regenerate.
26522 * intl.c: Hardcode package name as "gcc".
26523
26524 * cppinit.c: Include except.h.
26525 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
26526 appropriate.
26527 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
26528 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
26529 (!)USING_SJLJ_EXCEPTIONS.
26530 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
26531
ed722f66
JM
265322002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26533
26534 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
26535 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
26536 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
26537 documentation of obsolete macros.
26538 * system.h: Poison these macros.
26539 * config/d30v/d30v.h, config/ns32k/encore.h,
26540 config/stormy16/stormy16.h: Remove definitions and commented out
26541 definitions of obsolete macros.
26542
31e5e29a
NP
26543Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
26544
26545 * objc/objc-act.c (handle_class_ref): Mark the declaration of
26546 %sobjc_class_ref_%s as used - to prevent unwanted compiler
26547 warnings.
26548
bc1fa59c
UW
265492002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26550
26551 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
26552 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
26553 to insn adjusting stack/frame pointer.
0d24f4d1 26554 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
26555 accept operands that cause the insn to be non-splittable.
26556
a8086abf
GS
265572002-01-08 Graham Stott <grahams@redhat.com>
26558
26559 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
26560 (C_TYPE_FIELDS_VOLATILE): Likewise.
26561 (C_TYPE_BEING_DEFINED): Likewise.
26562 (C_IS_RESERVED_WORD): Likewise.
26563 (C_TYPE_VARIABLE_SIZE): Likewise.
26564 (C_DECL_VARIABLE_SIZE): Likewise.
26565 (C_MISSING_PROTOTYPE_WARNED): Likewise.
26566 (C_SET_EXP_ORIGINAL_CODE): Likewise.
26567 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
26568 parenthesis.
26569 (C_DECL_ANTICIPATED): Likewise.
26570 (c_build_type_variant): Add parenthesis.
26571
3f595aa1
JM
265722002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26573
26574 * gcc.c (option_map): Remove --version.
26575 (process_command): Handle -fversion following the GNU Coding
26576 Standards. Partially addresses PR other/704.
26577
5bc5a8f9
GS
265782002-01-08 Graham Stott <grahams@redhat.com>
26579
26580 * combine.c (combine_instructions): Fix typo.
26581
16ec4ebf
GS
265822002-01-08 Graham Stott <grahams@redhat.com>
26583
26584 * debug.h: Use "tree" and "rtx" throughout.
26585
26586 * debug.c: Likewise.
26587
4b69f385
NC
265882002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
26589
26590 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
26591 constant pool, use the pool's version of the symbol instead.
26592
57d1019b
RH
265932002-01-07 Richard Henderson <rth@redhat.com>
26594
26595 * regrename.c (find_oldest_value_reg): Ignore the value chain if
26596 the original register was copied in a mode with a fewer number of
26597 hard registers than the desired mode.
26598 (copyprop_hardreg_forward_1): Likewise.
26599 (debug_value_data): Fix loop test.
26600 * toplev.c (parse_options_and_default_flags): Reenable
26601 -fcprop-registers at -O1.
26602
266032002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 26604
0d24f4d1
ZW
26605 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
26606 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 26607
0d24f4d1
ZW
26608 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
26609 predicates.
fa066a23 26610
0d24f4d1 26611 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 26612
8f949e7e
JDA
266132002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
26614
26615 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
26616 (pa_output_function_prologue): Output local label at the beginning of
26617 the prologue when profiling.
26618 (hppa_profile_hook): Use the local label rather than the function label.
26619 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
26620
c62f2db5
AH
266212002-01-07 Aldy Hernandez <aldyh@redhat.com>
26622
0d24f4d1
ZW
26623 * config/rs6000/rs6000.c (print_operand): Remove extra space.
26624 (altivec_expand_unop_builtin): Fix thinko.
26625 (altivec_expand_binop_builtin): Same.
26626 (altivec_expand_ternop_builtin): Same.
26627 (altivec_expand_builtin): Same.
c62f2db5 26628
b5235ba7
RH
266292002-01-07 Richard Henderson <rth@redhat.com>
26630
26631 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
26632
7d8ac293
JM
266332002-01-07 Jason Merrill <jason@redhat.com>
26634
26635 * unwind-dw2.c (execute_cfa_program): Use < again.
26636
571a03b8
JJ
266372002-01-07 Jakub Jelinek <jakub@redhat.com>
26638
26639 * predict.c (combine_predictions_for_insn): Avoid division by zero.
26640
2e951384
JJ
266412002-01-07 Jakub Jelinek <jakub@redhat.com>
26642
26643 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
26644 Don't allow -1 - x -> ~x simplifications in the first pass.
26645
20e26713
AH
266462002-01-07 Aldy Hernandez <aldyh@redhat.com>
26647
0d24f4d1
ZW
26648 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
26649 arguments.
26650 (altivec_expand_binop_builtin): Same.
26651 (altivec_expand_unop_builtin): Same.
26652 (print_operand): Fix typo.
26653 (bdesc_1arg): Add vupk* variants.
20e26713 26654
0d24f4d1 26655 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 26656
0d24f4d1 26657 * rs6000.md: Add altivec_vupk* variants.
20e26713 26658
4dd57c18
JM
266592002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
26660
26661 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
26662 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
26663 and last update dates.
26664
0341c5d2
JJ
266652002-01-07 Janis Johnson <janis187@us.ibm.com>
26666
26667 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
26668
c7f3e0b0
MM
266692002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
26670
26671 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
26672 * config/avr/avr.h (CPP_SPEC): Likewise.
26673 (LINK_SPEC): Likewise.
26674 (CRT_BINUTILS_SPECS): Likewise.
26675 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
26676 * doc/invoke.texi (AVR Options): Document them.
26677
6ba4d630
JH
26678Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
26679
26680 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
26681 LABEL_NUSES.
26682
6253d571
GS
266832002-01-07 Graham Stott <grahams@redhat.com>
26684
0d24f4d1
ZW
26685 * config/i386/i386.h: Update copyright date.
26686 (HALF_PIC_PTR): Add parenthesis.
26687 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
26688 (CONSTANT_ALIGNMENT): Add parenthesis.
26689 (DATA_ALIGNMENT): Likewise.
26690 (LOCAL_ALIGNMENT): Likewise.
26691 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
26692 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
26693 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
26694 (HARD_REGNO_NREGS): Add paranethesis.
26695 (VALID_SSE_REG_MODE): Whitespace.
26696 (VALID_MMX_REG_MODE): Whitespace.
26697 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
26698 (ix86_hard_regno_mode_ok): Add parenthesis.
26699 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
26700 (RETURN_IN_MEMORY): Whitespace.
26701 (N_REG_CLASSES): Add parenthesis.
26702 (INTEGER_CLASS_P): Add parenthesis and wrap.
26703 (FLOAT_CLASS_P): Likewise.
26704 (SSE_CLASS_P): Likewise.
26705 (MMX_CLASS_P): Likewise.
26706 (MAYBE_INTEGER_CLASS_P): Likewise.
26707 (MAYBE_FLOAT_CLASS_P): Likewise.
26708 (MAYBE_SSE_CLASS_P): Likewise.
26709 (MAYBE_MMX_CLASS_P): Likewise.
26710 (Q_CLASS_P): Likewise.
26711 (GENERAL_REGNO_P): Uppercase macro parameter.
26712 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
26713 (FP_REGNO_P): Likewise.
26714 (ANY_FP_REGNO_P): Uppercase macro parameter.
26715 (SSE_REGNO_P): Likewise.
26716 (SSE_REGNO): Likewise.
26717 (SSE_REG_P): Likewise.
26718 (SSE_FLOAT_MODE_P): Likewise.
26719 (MMX_REGNO_P): Likewise.
26720 (MMX_REG_P):Likewise.
26721 (STACK_REG_P): Likewise.
26722 (NON_STACK_REG_P): Likewise.
26723 (STACK_TOP_P): Likewise.
26724 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
26725 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
26726 (SECONDARY_MEMORY_NEEDED): Likewise.
26727 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
26728 (MD_ASM_CLOBBERS): Whitespace and wrap.
26729 (MUST_PASS_IN_STACK): Whitespace and wrap.
26730 (RETURN_POPS_ARGS): Add parenthesis.
26731 (INIT_CUMULATIVE_ARGS): Likewise.
26732 (FUNCTION_ARG): Likewise.
26733 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
26734 (SETUP_INCOMING_VARARGS): Likewise.
26735 (BUILD_VA_LIST_TYPE): Add parenthesis.
26736 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
26737 parenthsis.
26738 (EXPAND_BUILTIN_VA_ARG): Likewise.
26739 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
26740 (INITIALIZE_TRAMPOLINE): Add parenthesis.
26741 (INITIAL_ELIMINATION_OFFSET): Likewise.
26742 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
26743 (REGNO_OK_FOR_BASE_P): Likewise.
26744 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
26745 (REGNO_OK_FOR_DIREG_P): Likewise.
26746 (REG_OK_FOR_INDEX_P): Whitespace.
26747 (REG_OK_FOR_BASE_P): Whitespace.
26748 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
26749 parenthesis.
26750 (FIND_BASE_TERM): Fix typo.
26751 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
26752 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
26753 (SYMBOLIC_CONST; Whitespace.
26754 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
26755 (ENCODE_SECTION_INFO): Whitespace.
26756 (FINALIZE_PIC): Remove do { ... } while (0).
26757 (PROMOTE_MODE): Wrap in do { ... } while (0).
26758 (CONST_COSTS): Whitespace.
26759 (RTX_COSTS): Add paramethesis, whitespace and wrap.
26760 (REGISTER_MOVE_COST): Add parenthesis.
26761 (MEMORY_MOVE_COST): Likewise.
26762 (EXTRA_CC_MODES): Whitespace.
26763 (SELECT_CC_MODE): Add parenthesis and whitespace.
26764 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
26765 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
26766 (ASM_OUTPUT_LABEL): Add paramethesis.
26767 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
26768 (ASM_OUTPUT_REG_POP): Likewise.
26769 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
26770 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 26771
07933f72
GS
26772 * config/i386/i386.c: Update copyright.
26773 (CHECK_STACK_LIMIT): Add parenthesis.
26774 (AT_BP): Uppercase macro parameter.
26775 (x86_64_int_parameter_registers): Constify.
26776 (x86_64_int_return_registers): Likewise.
26777 (ix86_compare_op0): Use rtx.
26778 (construct_container): Constify INTREG parameter.
26779 (function_arg): Use rtx.
26780
0b4d32c9
GS
26781 * diagnostic.h: Update copyright date.
26782 (output_buffer_state): Add parenthesis.
26783 (output_buffer_format_args): Likewise.
26784
6253d571
GS
26785 * combine.c (combine_instructions): Replace XEXP (links, 0)
26786 with link.
26787
68f3f6f1
L
267882002-01-06 H.J. Lu <hjl@gnu.org>
26789
26790 * cfgcleanup.c (thread_jump): Fix 2 typos.
26791
267922002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 26793
0d24f4d1 26794 * config.gcc: Add support for --enable-altivec.
480f7f3a 26795
13b8c631
CR
267962002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
26797
26798 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
26799
58ad89b1
JJ
268002002-01-06 Jakub Jelinek <jakub@redhat.com>
26801
26802 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
26803 __objc_class_name_*.
26804
e403b4bc
CR
268052002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
26806
26807 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
26808
e41c7831
RH
268092002-01-06 Richard Henderson <rth@redhat.com>
26810
26811 * reorg.c (emit_delay_sequence): Remove death notes, not merely
26812 nop them out. Increment label reference count for REG_LABEL.
26813 (fill_slots_from_thread): Frob label reference count around
26814 delete_related_insns.
26815
3b3b1e32
RH
268162002-01-05 Richard Henderson <rth@redhat.com>
26817
26818 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
26819 jump threading.
26820
c28abdf0
RH
268212002-01-05 Richard Henderson <rth@redhat.com>
26822
26823 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
26824 * integrate.c (output_inline_function): Likewise.
26825 * toplev.c (rest_of_compilation): Do it here instead. Move call
26826 to remove_unnecessary_notes after emitting abstract instance.
26827 Force an emitted nested function to have its parent emited as well.
26828 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
26829 for null.
26830 (rtl_for_decl_location): Do not look at reload data structures
26831 before reload has run.
26832
c4f2c499
KH
268332002-01-05 Kazu Hirata <kazu@hxi.com>
26834
26835 * cse.c: Fix formatting.
26836 * dwarf2asm.c: Likewise.
26837 * dwarf2out.c: Likewise.
26838 * explow.c: Likewise.
26839 * expmed.c: Likewise.
26840 * function.c: Likewise.
26841 * gcov.c: Likewise.
26842 * gencheck.c: Likewise.
26843 * genrecog.c: Likewise.
26844 * ggc-common.c: Likewise.
26845 * ggc-page.c: Likewise.
26846 * global.c: Likewise.
26847
cf0d9408
KH
268482002-01-05 Kazu Hirata <kazu@hxi.com>
26849
26850 * combine.c: Fix formatting.
26851
bedca03a
CR
268522002-01-05 Craig Rodrigues <crodrigu@bbn.com>
26853
26854 PR middle-end/1557
26855 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
26856
0134bf2d
DE
268572002-01-05 David Edelsohn <edelsohn@gnu.org>
26858
26859 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
26860 as 1 for __powerpc64__ as well.
26861
26862 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
26863
26864 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
26865 return it.
26866
9ca88d5a
DB
268672002-01-05 Daniel Berlin <dan@dberlin.org>
26868
26869 * lcm.c: Revert change, due to performance regression it causes on
26870 SPEC because it's slightly more conservative (sigh, I hate
26871 edge-based LCM).
0d24f4d1 26872
1c570418
JH
26873Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
26874
26875 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
26876
d83bb9f7
NB
268772002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
26878
26879 * doc/cppinternals.texi: Update.
26880
3e0f61ac
HPN
268812002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
26882
26883 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
26884 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
26885 negatives.
26886 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
26887 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
26888 kludge for pre-october-14th mmix versions to handle new-found bug
26889 with PUSHJ/PUSHGO and the register stack.
26890 * config/mmix/mmix.h (struct machine_function): Rename member
26891 has_call_value_without_parameters to has_call_without_parameters.
26892 All referers changed.
26893 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
26894 TARGET_MASK_BRANCH_PREDICT): New macros.
26895 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
26896 -mno-reg-stack-fill-bug-workaround.
26897 * config/mmix/mmix.md ("call"): Set struct machine member
26898 has_call_without_parameters.
26899
4deaa2f8
JH
26900Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
26901
26902 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
26903
9f16e871
JH
26904Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
26905
26906 * cfgcleanup.c: Include tm_p.h
26907 (mark_effect): Fix handling of hard register; fix handling of SET
26908
96eb1157
KH
269092002-01-04 Kazu Hirata <kazu@hxi.com>
26910
26911 * config/h8300/h8300.md (anonymous patterns): Check that
26912 operands are registers before using REGNO on them.
26913
48180d68
RM
269142002-01-03 Roland McGrath <roland@frob.com>
26915
26916 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
26917
b0832fe1
JJ
269182002-01-04 Jakub Jelinek <jakub@redhat.com>
26919
26920 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
26921 * c-common.h (genrtl_expr_stmt_value): Likewise.
26922 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
26923 (expand_expr_stmt_value): Add maybe_last argument.
26924 Don't warn about statement with no effect if it is the last statement
26925 in expression statement.
26926 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
26927 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
26928 expand_expr_stmt_value.
26929 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
26930 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
26931 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
26932 as maybe_last to expand_expr_stmt_value.
26933
c1e14513
JL
26934Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
26935
0d24f4d1
ZW
26936 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
26937 be passed in, do not build it.
26938 (c_begin_if_stmt): New function.
26939 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
26940 * c-common.h (c_expand_start_cond): Update prototype.
26941 (c_begin_if_stmt): Prototype new function.
26942 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
26943 * c-parse.in (if_prefix): Use c_begin_if_stmt,
26944 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 26945
b6ec437a
WC
269462002-01-04 William Cohen <wcohen@redhat.com>
26947
26948 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
26949 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
26950 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
26951 * config/pa/som.h (ASM_FILE_START): Likewise.
26952
ead39bdf 269532002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
26954
26955 * lcm.c: Include df.h.
26956 Add available_transfer_function prototype.
26957 (compute_available): Rework to use iterative dataflow framework.
26958 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
26959 with bb_info in df.h
26960 (available_transfer_function): New function.
26961
26962 * Makefile.in (lcm.o): add df.h to dependencies.
26963
551cc6fd
RH
269642002-01-04 Richard Henderson <rth@redhat.com>
26965
26966 * config/alpha/alpha.c (some_operand): Accept HIGH.
26967 (input_operand): Likewise; accept simple references to globals.
26968 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
26969 (alpha_const_double_ok_for_letter_p): Likewise.
26970 (alpha_extra_constraint): Likewise.
26971 (alpha_preferred_reload_class): Likewise. Do not force
26972 symbolic constants to memory.
26973 (alpha_legitimate_address_p): Accept simple references
26974 to small_symbolic_operand.
26975 (alpha_legitimize_address): New arg scratch. Be prepared to be
26976 called when no_new_pseudos. Emit simple symbolic references.
26977 Split integers into low, high, and rest.
26978 (alpha_expand_mov): Use alpha_legitimize_address.
26979 (some_small_symbolic_mem_operand): New.
26980 (split_small_symbolic_mem_operand): New.
26981 * config/alpha/alpha-protos.h: Update.
26982 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
26983 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
26984 (EXTRA_CONSTRAINT): Likewise.
26985 (PREFERRED_RELOAD_CLASS): Likewise.
26986 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
26987 (PREDICATE_CODES): Update.
26988 * config/alpha/alpha.md: New post-reload splitters to convert
26989 simplfied symbolic operands to the form that references $29.
26990 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
26991 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
26992
1eaea054
RH
269932002-01-03 Richard Henderson <rth@redhat.com>
26994
26995 * local-alloc.c (function_invariant_p): Update commentary.
26996
c4cc12b7
L
269972002-01-04 H.J. Lu <hjl@gnu.org>
26998
26999 * toplev.c (rest_of_compilation): Fix a typo when calling
27000 cleanup_cfg.
27001
173bf5be
KH
270022002-01-03 Kazu Hirata <kazu@hxi.com>
27003
27004 * c-common.c: Fix formatting.
27005 * diagnostic.c: Likewise.
27006 * doloop.c: Likewise.
27007 * dwarf2out.c: Likewise.
27008
187462ac
KH
270092002-01-03 Kazu Hirata <kazu@hxi.com>
27010
27011 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
27012 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
27013
5d8ebbd8
NB
270142002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
27015
27016 * cpperror.c: Update comments and copyright.
27017 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
27018 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
27019
518c1311
JDA
270202002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
27021
27022 * collect2.c (main): Use strcmp when testing for "-shared".
27023
d15a58c0
NB
270242002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
27025
27026 * cppmacro.c: Don't include intl.h. Update comments.
27027 (new_number_token): Allocate enough buffer for 64-bit unsigned
27028 integers; update prototype.
27029 * cppmain.c: Update comments.
27030
70f4f91c
WC
270312002-01-03 William Cohen <wcohen@redhat.com>
27032
27033 * function.h (struct function): Add profile.
27034 (current_function_profile): New.
27035 doc/extend.texi: Update documentation.
27036 * final.c (final_start_function): Use current_function_profile
27037 instead of profile_flag.
27038 (profile_after_prologue): Likewise.
27039 * function.c (expand_function_start): Likewise.
27040 (expand_function_start): Likewise.
c4cc12b7 27041 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
27042 (alpha_does_function_need_gp): Likewise.
27043 (alpha_expand_prologue): Likewise.
27044 * config/arm/arm.c (arm_expand_prologue): Likewise.
27045 thumb_expand_prologue: Likewise.
27046 * config/d30v/d30v.c (d30v_stack_info): Likewise.
27047 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
27048 (fr30_expand_prologue): Likewise.
27049 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
27050 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
27051 * config/i386/i386.h (FINALIZE_PIC): Likewise.
27052 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
27053 * config/i960/i960.c (i960_output_function_prologue): Likewise.
27054 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
27055 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
27056 (m32r_expand_prologue): Likewise.
27057 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
27058 (m88k_expand_prologue): Likewise.
27059 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
27060 * config/mips/mips.c (compute_frame_size): Likewise.
27061 (mips_expand_prologue): Likewise.
27062 (mips_can_use_return_insn): Likewise.
27063 * config/pa/elf.h (ASM_FILE_START): Likewise.
27064 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
27065 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
27066 * config/pa/som.h (ASM_FILE_START): Likewise.
27067 * config/romp/romp.c (romp_using_r14): Likewise.
27068 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
27069 (rs6000_stack_info): Likewise.
27070 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 27071 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
27072 * config/v850/v850.c (compute_register_save_size): Likewise.
27073
cb1ac742
JJ
270742002-01-03 Jakub Jelinek <jakub@redhat.com>
27075
27076 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
27077 gen_lowpart_common fails, use gen_lowpart_SUBREG.
27078
61d951df 270792002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 27080
61d951df
TC
27081 * darwin.c (machopic_output_possible_stub_label): Don't generate
27082 stub routines for pseudo-stubs which we've just defined.
27083
505ddab6
KH
270842002-01-03 Kazu Hirata <kazu@hxi.com>
27085
27086 * builtins.c: Fix formatting.
27087 * c-typeck.c: Likewise.
27088 * combine.c: Likewise.
27089 * expr.c: Likewise.
27090 * loop.c: Likewise.
27091
b7e30d8a
AS
270922002-01-03 Andreas Schwab <schwab@suse.de>
27093
27094 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
27095 and return true if _cpp_push_next_buffer pushed a new include
27096 file.
27097 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
27098 _cpp_pop_file_buffer did not push a new file.
27099 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
27100
ff81832f
EC
271012002-01-02 Eric Christopher <echristo@redhat.com>
27102
27103 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
27104 FIND_REG_INC_NOTE call. Update copyright.
27105 * loop.c (canonicalize_condition): Ditto.
27106 * reorg.c (delete_scheduled_jump): Ditto.
27107
8e42ace1
KH
271082002-01-03 Kazu Hirata <kazu@hxi.com>
27109
27110 * gcse.c: Fix formatting.
27111
fb2bf631
GS
271122002-01-03 Graham Stott <grahams@redhat.com>
27113
27114 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
27115 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 27116 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
27117
27118 * system.h: Move forward defs for struct tags rtx_def, union_tree,
27119 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 27120 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
27121
271222002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
27123
27124 * tree.h: Update copyright date.
27125 (IS_EXPR_CODE_CLASS): Add parenthesis.
27126 (TREE_SET_CODE): Add whitespace.
27127 (TREE_CHECK): Add parenthesis.
27128 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
27129 (CST_OR_CONSTRUCTOR_CHECK):
27130 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
27131 (TREE_SYMBOL_REFERENCED): Whitespace.
27132 (INT_CST_LT): Likewise.
27133 (INT_CST_LT_UNSIGNED): Likewise.
27134 (tree_real_cst): Unwrap comment.
27135 (tree_string): Likewise.
27136 (tree_complex): Likewise.
27137 (IDENTIFIER_POINTER): correct cast.
27138 (SAVE_EXPR_CONTEXT): Whitespace.
27139 (EXPR_WFL_FILENAME_NODE): Likewise.
27140 (EXPR_WFL_FILENAME): Remove parenthesis.
27141 (DECL_ORIGIN): Add parenthesis.
27142 (DECL_FROM_INLINE): Use NULL_TREE.
27143 (build_int_2): Whitespace.
27144 (build_type_variant): Add parenthesis.
27145
27146 * gcc/jcf-parse.c: Update copyright date.
27147 (yyparse): Constify resource_filename.
27148
f52eda29
GS
271492002-01-03 Graham Stott <grahams@redhat.com>
27150
27151 * rtl.h: Update copyright date.
27152 (RTL_CHECK1): Wrap long line.
27153 (RTL_CHECK2): Likewise.
27154 (RTL_CHECKC1): Wrap long line and whitespace.
27155 (RTL_CHECKC2): Likewise.
27156 (XWINT): Whitespace.
27157 (XINT): Likewise.
27158 (XSTR): Likewise.
27159 (XEXP): Likewise.
27160 (XVEC): Likewise.
27161 (XMODE): Likewise.
27162 (XBITMAP): Likewise.
27163 (XTREE): Likewise.
27164 (XBBDEF): Likewise.
27165 (XTMPL): Likewise.
27166 (X0WINT): Likewise.
27167 (X0INT):Likewise.
27168 (X0UINT): Likewise.
27169 (X0STR): Likewise.
27170 (X0EXP): Likewise.
27171 (X0VEC): Likewise.
27172 (X0MODE): Likewise.
27173 (X0BITMAP): Likewise.
27174 (X0TREE): Likewise.
27175 (X0BBDEF): Likewise.
27176 (X0ADVFLAGS): Likewise.
27177 (X0CSELIB): Likewise.
27178 (X0MEMATTR): Likewise.
27179 (XCWINT): Likewise.
27180 (XCINT): Likewise.
27181 (XCUINT): Likewise.
27182 (XCSTR): Likewise.
27183 (XCEXP): Likewise.
27184 (XCVEC): Likewise.
27185 (XCMODE): Likewise.
27186 (XCBITMAP): Likewise.
27187 (XCTREE): Likewise.
27188 (XCBBDEF): Likewise.
27189 (XCADVFLAGS): Likewise.
27190 (XCCSELIB): Likewise.
27191 (XC2EXP): Likewise.
27192 (INSN_UID): Likewise.
27193 (PREV_INSN): Likewise.
27194 (PATTERN): Likewise.
27195 (INSN_CODE): Likewise.
27196 (PUT_REG_NOTE_KIND): Likewise.
27197 (CODE_LABEL_NUMBER): Likewise.
27198 (NOTE_SOURCE_FILE): Likewise.
27199 (NOTE_BLOCK): Likewise.
27200 (NOTE_EH_HANDLER): Likewise.
27201 (NOTE_RANGE_INFO): Likewise.
27202 (NOTE_LIVE_INFO): Likewise.
27203 (NOTE_BASIC_BLOCK): Likewise.
27204 (NOTE_EXPECTED_VALUE): Likewise.
27205 (NOTE_LINE_NUMBER): Likewise.
27206 (LABEL_NAME): Likewise.
27207 (LABEL_NUSES): Likewise.
27208 (LABEL_ALTERNATE_NAME): Likewise.
27209 (ADDRESSOF_DECL): Likewise.
27210 (JUMP_LABEL): Likewise.
27211 (LABEL_NEXTREF): Likewise.
27212 (REGNO): Likewise.
27213 (ORIGINAL_REGNO: Likewise.
27214 (HARD_REGISTER_NUM_P): Add parenthesis.
27215 (SUBREG_REG): Whitespace.
27216 (SUBREG_BYTE): Likewise.
27217 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
27218 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
27219 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
27220 (ASM_OPERANDS_INPUT_VEC): Likewise.
27221 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
27222 (ASM_OPERANDS_INPUT): Likewise.
27223 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
27224 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
27225 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
27226 (ASM_OPERANDS_INPUT_MODE): Likewise.
27227 (ASM_OPERANDS_SOURCE_FILE): Likewise.
27228 (ASM_OPERANDS_SOURCE_LINE): Likewise.
27229 (MEM_SET_IN_STRUCT_P): Minor reformat.
27230 (TRAP_CONDITION): Whitespace.
27231 (TRAP_CODE): Likewise.
27232 (COND_EXEC_TEST): Likewise.
27233 (COND_EXEC_CODE): Likewise.
27234 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
27235 (PHI_NODE_P): Add parenthesis.
27236 (plus_constant): Whitespace and add parenthesis.
27237
e03f5d43
KH
272382002-01-03 Kazu Hirata <kazu@hxi.com>
27239
27240 * config/avr/avr.c: Fix comment typos.
27241 * config/c4x/c4x.md: Likewise.
27242 * config/dsp16xx/dsp16xx.h: Likewise.
27243 * config/dsp16xx/dsp16xx.md: Likewise.
27244 * config/i386/i386.md: Likewise.
27245 * config/ia64/ia64.c: Likewise.
27246 * config/m32r/m32r.h: Likewise.
27247 * config/m68hc11/m68hc11.md: Likewise.
27248 * config/mmix/mmix.c: Likewise.
27249 * config/mn10200/mn10200.c: Likewise.
27250 * config/romp/romp.c: Likewise.
27251 * config/sh/sh.c: Likewise.
27252 * config/stormy16/stormy16.c: Likewise.
27253 * config/stormy16/stormy16.h: Likewise.
27254 * config/stormy16/stormy16.md: Likewise.
27255
97e300e9
GS
272562002-01-03 Graham Stott <grahams@redhat.com>
27257
27258 * loop.h: Update copyright date.
0d24f4d1
ZW
27259 (LOOP_MOVABLES): Fix typo.
27260 (LOOP_REGS): Likewise.
27261 (LOOP_IVS): Likewise.
ff81832f 27262
745b26b3
GS
272632002-01-03 Graham Stott <grahams@redhat.com>
27264
27265 * cppinit.c: Update copyright date.
27266 Don't include output.h
27267 * Makefile.in: Update copyright date.
27268 Update dependency.
27269
0a379b7a
CR
272702002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
27271
27272 PR c/5226
27273 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
27274 (-pthread) Add to RS/6000 options.
27275
a8154559
KH
272762002-01-02 Kazu Hirata <kazu@hxi.com>
27277
27278 * except.c: Fix comment typos.
27279 * loop.c: Likewise.
27280 * varasm.c: Likewise.
27281 * doc/tm.texi: Fix a typo.
27282
e6ecc89b
JJ
272832002-01-02 Jakub Jelinek <jakub@redhat.com>
27284
27285 * c-typeck.c (output_init_element): Allow initializing static storage
27286 duration objects with compound literals.
27287
d1094b40
RH
272882002-01-02 Richard Henderson <rth@redhat.com>
27289
27290 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
27291 after abusing it.
27292
0c5d8c82
KG
272932002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
27294
5e65297b
KG
27295 * gcc.c (default_compilers): Const-ify.
27296 * mips-tdump.c (stab_names): Likewise.
27297 * mips-tfile.c (map_coff_types, map_coff_storage,
27298 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
27299 pseudo_ops_t, pseudo_ops): Likewise.
27300 * protoize.c (default_include): Likewise
27301
0c5d8c82
KG
27302 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
27303 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
27304 Add array size in declaration.
27305 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
27306 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
27307 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
27308 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
27309 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
27310 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
27311 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
27312 emtens, make_nan): Const-ify.
27313 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
27314 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
27315
817e13c4
JM
273162002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
27317
27318 * config.gcc (ia64-*-*): Set extra_headers.
27319 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
27320 * config/alpha/t-osf: Remove.
27321 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
27322
98095e2b
DE
273232002-01-02 David Edelsohn <edelsohn@gnu.org>
27324
27325 * config/rs6000/t-aix43: Revert previous change.
27326
a4200657
JM
273272002-01-02 Jason Merrill <jason@redhat.com>
27328
27329 * c-decl.c (c_expand_body): Call outlining_inline_function when
27330 emitting an inline function out of line.
27331
54ba1f0d
RH
273322002-01-02 Richard Henderson <rth@redhat.com>
27333
27334 * dwarf2out.c (limbo_die_node): Add created_for member.
27335 (new_die): New argument created_for. Update all callers.
27336 (mark_limbo_die_list): New.
27337 (dwarf2out_init): Register limbo_die_list as a root.
27338 (dwarf2out_finish): Force insert limbo dies into their function
27339 context.
27340
323728aa
NS
273412002-01-02 Nathan Sidwell <nathan@codesourcery.com>
27342
27343 PR c++/5089
27344 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
27345
aefc5826
KH
273462002-01-02 Kazu Hirata <kazu@hxi.com>
27347
27348 * config/h8300/fixunssfsi.c: Update copyright.
27349 Fix comment typos.
27350 Fix formatting.
27351 * config/h8300/h8300.c: Update copyright.
27352 Eliminate warnings.
27353
b1c9bc51
KH
273542002-01-02 Kazu Hirata <kazu@hxi.com>
27355
27356 * config/romp/romp.c: Fix comment formatting.
27357 * config/romp/romp.h: Likewise.
27358 * config/romp/romp.md: Likewise.
27359 * config/s390/s390.c: Likewise.
27360 * config/stormy16/stormy16.c: Likewise.
27361 * config/stormy16/stormy16.h: Likewise.
27362
1574ef13
AO
273632002-01-02 Alexandre Oliva <aoliva@redhat.com>
27364
27365 * c-common.h (genrtl_expr_stmt_value): Declare.
27366 * c-semantics.c (genrtl_goto_stmt): Redirect to...
27367 (genrtl_goto_stmt_value): ... this new function. Pass new
27368 argument down to expand_expr_stmt_value, taking
27369 TREE_ADDRESSABLE into account.
27370 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
27371 STMT_EXPR as addressable, i.e., one whose result we want.
27372 * expr.c (expand_expr): Don't save expression statement value
27373 of labeled_blocks or loop_exprs.
27374 * stmt.c (expand_expr_stmt): Redirect to...
27375 (expand_expr_stmt_value): ... this new function. Use new
27376 argument to tell whether to save expression value.
27377 (expand_end_stmt_expr): Reset last_expr_type and
27378 last_expr_value if we don't have either.
27379 * tree-inline.c (declare_return_variable): Mark its use
27380 statement as addressable.
27381 * tree.h: Document new use of TREE_ADDRESSABLE.
27382 (expand_expr_stmt_value): Declare.
27383
252b88f7
TR
273842002-01-01 Tom Rix <trix@redhat.com>
27385
27386 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
27387 rs6000_emit_allocate_stack.
27388
29f7a208
JM
273892002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
27390
27391 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
27392 ${srcdir}/ginclude/ to every entry in extra_headers.
27393 * configure: Regenerate.
27394 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
27395 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
27396 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
27397 * ginclude/proto.h: Rename to config/convex/proto.h.
27398
2cc2d4bb
RK
27399Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
27400
27401 * attribs.c (handle_vector_size_attribute): Use host_integerp
27402 and tree_int_cst; remove warnings.
27403 * caller-save.c (insert_restore): Add cast to get rid of warning.
27404 (insert_save): Likewise.
27405 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
27406 * regmove.c (find_matches): Add temporary var to kill a warning.
27407
f01c9bcd
DR
274082002-01-01 Douglas B Rupp <rupp@gnat.com>
27409
16b61764
DR
27410 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
27411 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
27412 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
27413 (vms-dwarf2eh.o): Add Makefile rule.
27414 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
27415 * config/alpha/vms-dwarf2eh.asm: New file.
27416
f01c9bcd
DR
27417 * gcc.c (delete_if_ordinary): Delete all versions.
27418
91312b81
HPN
274192002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
27420
27421 * config/mmix/mmix.md: Update FIXME to not mention
27422 define_constants.
27423 (MMIX_rJ_REGNUM): New define_constants constant.
27424 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
27425 "*movdicc_real"): Adjust contraints formatting.
27426 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
27427 for branch prediction.
27428 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
27429 output template.
27430 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
27431 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
27432 number. Delete related FIXMEs.
27433 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
27434 from number to MMIX_rJ_REGNUM.
27435 (TARGET_MASK_BRANCH_PREDICT): New.
27436 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
27437 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
27438 value. Add -mbranch-predict and -mno-branch-predict.
27439 (TARGET_VERSION): Drop date.
27440 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
27441 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
27442 for finding out global symbols.
27443 (mmix_asm_output_labelref): Revert condition for global symbol.
27444 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
27445 (mmix_print_operand_punct_valid_p): A '+' is valid.
27446
619acae7 27447See ChangeLog.6 for earlier changes.
This page took 3.671331 seconds and 5 git commands to generate.