]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
MAINTAINERS: Add self and realphabetize.
[gcc.git] / gcc / ChangeLog
CommitLineData
f41a6bf1
DD
12002-04-29 DJ Delorie <dj@redhat.com>
2
3 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
4 given in upper case.
5
d8af0868
RO
62002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7
8 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
9 Solaris 2 <widec.h> if missing.
10 * fixinc/fixincl.x: Regenerate.
11 * fixinc/tests/base/widec.h: New file.
12
1034407f
NC
132002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
14
15 * toplev.c (f_options): Add "profile" switch so that
16 -fno-profile can be used to disable -p.
17
fbe5eb6d
BS
182002-04-29 Bernd Schmidt <bernds@redhat.com>
19
20 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
21 UV2DImode.
22 * tree.c (build_common_tree_nodes_2): Likewise.
23 * tree.h (enum tree_index): Likewise.
24 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
25
26 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
27 entries.
28 (init_mmx_sse_builtins): Initialize SSE2 builtins.
29 (ix86_expand_builtin): Add support for SSE2 builtins.
30 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
31 (VALID_SSE_REG_MODE): Use it.
32 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
33 (enum ix86_builtins): Add SSE2 builtins.
34 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
35 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
36 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
37 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
38 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
39 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
40 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
41 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
42 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
43 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
44 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
45 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
46 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
47 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
48 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
49 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
50 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
51 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
52 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
53 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
54 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
55 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
56 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
57 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
58 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
59 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
60 lfence_insn): New patterns.
61 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
62 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
63
44aefada
JH
64Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
65
66 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
67
d5482cdc
GP
682002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
69
70 * doc/contrib.texi (Contributors): Add Paolo Carlini and
71 Janis Johnson.
72 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
73 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
74 and CPU instead of cpu.
75
2c4b77f3
JH
76Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
77
78 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
79 variables.
80 (lang_independent_options): Add -fif-conversion, -fif-conversion2
81 (rest_of_compilation): Do if conversion only when asked for.
82 (parse_options_and_default_flags): Set new variables to 1 for -O1
83 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
84
3de72741
JH
85Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
86
87 * i386.c (dbx64_register_map): Fix typo.
88
8aa18a7d
JH
89Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
90
91 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
92 real_one_half, real_bb_freq_max): New static variables.
93 (debug_profile_bbauxs): Kill.
94 (process_note_predictions): Kill unused variable.
95 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
96 volatile double.
97 (propagate_freq): Use REAL_ARITHMETICS.
98 (estimate_bb_frequencies): Likevise; init new static variables.
99 * Makefile.in (predict.o): Add dependency on real.h
100
1bbad4c6
DM
1012002-04-28 David S. Miller <davem@redhat.com>
102
103 PR target/6500
104 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
105 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
106 several {reads,writes} instead.
107 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
108 Define.
109
3ef3f384
DM
1102002-04-27 David S. Miller <davem@redhat.com>
111
112 PR target/6494
113 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
114 of the stack bias.
115
116 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
117 including signal.h and sys/ucontext.h, not needed.
118
ec493bcb
HPN
1192002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
120
121 * varasm.c (output_constant_def): Correct test for not calling
122 ENCODE_SECTION_INFO for INTEGER_CST.
123
60284a59
NB
1242002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
125
126 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
127 keep most cases as function eval_token.
128 (eval_token): New function.
129 (_cpp_parse_expr): Read token here for improved diagnostics.
130 Don't use op_as_text. Detect bad ':' here.
131 (reduce): Don't detect bad ':' here.
132 (op_as_text): Remove.
133 * cpphash.h (_cpp_test_assertion): Change prototype.
134 * cpplib.c (_cpp_test_assertion): Change prototype.
135
349a4b40
RH
1362002-04-28 Richard Henderson <rth@redhat.com>
137
138 PR c/5154
139 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
140 (ggc_mark_rtx_children): New.
141
7a03f82f
JJ
1422002-04-28 Jakub Jelinek <jakub@redhat.com>
143
144 PR target/6496
145 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
146 after call peepholes for UltraSPARC.
147 (call + jump 64-bit peepholes): Remove.
148
80103f96
FS
1492002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
150
151 PR c/6497
152 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
153 result as temporary value.
154
06990986
JJ
1552002-04-28 Jakub Jelinek <jakub@redhat.com>
156
157 PR c++/6396
158 * toplev.c (rest_of_compilation): Only run regrename and copy
159 propagation if optimizing.
160
a20fd5ac
JJ
1612002-04-28 Jakub Jelinek <jakub@redhat.com>
162
163 PR optimization/6475
164 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
165 register of REGNO_DECL (i).
166 * Makefile.in (reload1.o): Add $(TREE_H).
167
87ed109f
NB
1682002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
169
170 * cppexp.c (lex): Update to use state.skip_eval.
171 (struct op): Remove prio and flags members.
172 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
173 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
174 (LEFT_ASSOC): New macro.
175 (optab): New table of operator priorities and flags.
176 (SHIFT): Update.
177 (_cpp_parse_expr): Clean up logic. Return bool. Use a
178 malloc-ed parser stack.
179 (reduce): New; reduce the operator stack.
180 (_cpp_expand_op_stack): Expand the operator stack as necessary.
181 * cpphash.h (struct op): Predeclare.
182 (struct cpp_reader): New members op_stack, op_limit.
183 (struct lexer_state): New member skip_eval.
184 (_cpp_parse_expr): Update.
185 (_cpp_expand_op_stack): New.
186 * cpplib.c (do_if): Update.
187 * cppinit.c (cpp_create_reader): Create op stack.
188 (cpp_destroy): And destroy it.
189 * cpplib.h (CPP_LAST_CPP_OP): Correct.
190 (TTYPE_TABLE): Correct.
191
45806a3f
FS
1922002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
193
194 PR c/6343
195 * c-decl.c (duplicate_decls): Call merge_weak.
196 * c-pragma.c (apply_pragma_weak): Warn about misuse.
197 * output.h (merge_weak): Prototype merge_weak.
198 * varasm.c (merge_weak): New function.
199 (declare_weak): Make sure we don't give an error on VAR_DECLs.
200 Mark RTL with SYMBOL_REF_WEAK.
201
a6227154
KG
2022002-04-27 Kurt Garloff <garloff@suse.de>
203
204 * tree-inline.c (inlinable_function_p): Improve heuristics
205 by using a smoother function to cut down allowable inlinable size.
206 * param.def: Add parameters max-inline-insns-single,
207 max-inline-slope, min-inline-insns that determine the exact
208 shape of the above function.
209 * param.h: Likewise.
210
94a50397
RH
2112002-04-26 Richard Henderson <rth@redhat.com>
212
213 * c-parse.in (malloced_yyss, malloced_yyvs): New.
214 (yyoverflow): Re-add. Set them.
215 (free_parser_stacks): New.
216 * c-common.h: Declare it.
217 * c-lex.c (c_common_parse_file): Call it.
218
9c0a0632
RH
2192002-04-26 Richard Henderson <rth@redhat.com>
220
221 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
222 for fallthru search.
223
b875d2ee
EC
2242002-04-26 Eric Christopher <echristo@redhat.com>
225
226 PR optimization/3700
227 * config/mips/mips.c (mips_issue_rate): Define. New function.
228 (TARGET_SCHED_ISSUE_RATE): Use.
229
1db828df
DM
2302002-04-25 David S. Miller <davem@redhat.com>
231
232 PR target/6422
233 * reorg.c (optimize_skip): Do not allow exception causing
234 instructions to be considered for delay slots.
235 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
236 (relax_delay_slots): Do not try to consider exception causing
237 instructions as redundant.
238
ae5d234e
RH
2392002-04-26 Richard Henderson <rth@redhat.com>
240
241 PR c/5225
242 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
243
7d793e9b
MM
2442002-04-26 Mark Mitchell <mark@codesourcery.com>
245
246 PR bootstrap/6445
247 * config/i386/i386.md (untyped_call): Return the value in a float
248 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
249 TARGET_80387.
250
b13ab42c
AO
2512002-04-26 Alexandre Oliva <aoliva@redhat.com>
252
253 * tree.c (tree_int_cst_lt): Compare constants whose types differ
254 in unsigned-ness correctly.
255
5e56f909
JDA
2562002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
257
258 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
259 portable runtime model.
260
bde3c0c0
RH
2612002-04-26 Richard Henderson <rth@redhat.com>
262
a6227154 263 * c-parse.in (yyoverflow): Revert.
bde3c0c0 264
5276df18
DE
2652002-04-26 David Edelsohn <edelsohn@gnu.org>
266 Richard Henderson <rth@redhat.com>
267
268 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
269 result as temporary value.
270
b84a3874
RH
2712002-04-26 Richard Henderson <rth@redhat.com>
272
273 PR c/3581
274 * c-common.c (fix_string_type): Split out of ...
275 (combine_strings): ... here. Take a varray, not a tree list.
276 (c_expand_builtin_printf): Use fix_string_type.
277 * c-common.h: Update decls.
278 * c-parse.in (string): Remove. Update all uses to use STRING
279 instead, and not call combine_strings.
280 (yylexstring): New.
281 (_yylex): Use it.
282 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
283 (build_asm_stmt): Likewise.
284 * objc/objc-act.c (my_build_string): Use fix_string_type.
285 (build_objc_string_object): Build varray for combine_strings.
286
d8ae8cd4
BT
2872002-04-26 Bo Thorsen <bo@suse.co.uk>
288
289 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
290 x86-64.
291
f8b954fc
NB
2922002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
293
294 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
295 (HAVE_NO_R_OPERAND): Remove.
296 (HAVE_VALUE): Remove.
297 (op_to_prio): Update.
298 (UNARY): Don't alter flags.
299 (_cpp_parse_expr): want_value used to indicate whether
300 a number or unary operator is expected next. Distinguish
301 unary and binary +/-.
302 (op_as_text): Update for unary operators.
303
6052bef0
RH
3042002-04-25 Richard Henderson <rth@redhat.com>
305
306 PR c/2161
307 * c-parse.in (yyoverflow): New.
308
5c5b2283
RH
3092002-04-25 Richard Henderson <rth@redhat.com>
310
311 PR c/2098
312 * c-common.c (shorten_compare): Simplfy conditions leading to
313 the generation of a warning.
314
28ce94d4
RH
3152002-04-25 Richard Henderson <rth@redhat.com>
316
317 PR c/2035
318 * expmed.c (extract_bit_field): Fall through to generic code rather
319 than aborting on subreg special case.
320
6bfd0c63
DM
3212002-04-25 David S. Miller <davem@redhat.com>
322
323 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
324 for DECL being NULL.
325
7a430e3b
SC
3262002-04-25 Steve Christiansen <smc@us.ibm.com>
327
328 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
329
45c42d7d
EB
3302002-04-25 Eric Botcazou <ebotcazou@multimania.com>
331
332 * c-decl.c (grokdeclarator): Remove outdated ??? note
333 on invalid declaration of flexible array members.
334
eb7715a4
RH
3352002-04-25 Richard Henderson <rth@redhat.com>
336
337 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
338
cf5ee720
UW
3392002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
340
341 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
342 needed by the compiler, even if they are used as global regs.
343
d604bca3
MH
3442002-04-25 Matt Hiller <hiller@redhat.com>
345
346 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
347 functions.
348 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
349 of the corresponding functions.
350 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
351 New prototypes.
b875d2ee 352
d604bca3
MH
3532002-04-25 Matt Hiller <hiller@redhat.com>
354
355 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
356
357 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
358 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
359 registers, adjust comment accordingly.
360 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
361 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
362 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
363 for coprocessor registers.
364 (ADDITIONAL_REGISTER_NAMES): Include
365 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 366
d604bca3
MH
367 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
368 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
369 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
370 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
371 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
372
373 (mips_char_to_class): Adjust comment to include coprocessor
374 constraint letters.
375
376 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
377 New functions.
378 (mips_reg_names, mips_regno_to_class): Include coprocessor
379 information.
380 (mips_sw_reg_names): Ditto, make non-static.
381 (mips_move_1word): Handle moves to and from coprocessor registers.
382 (mips_move_2words): Handle moves to and from coprocessor
383 registers.
384 (mips_class_max_nregs, mips_register_move_cost): Handle
385 coprocessor register classes.
386 (override_options): Initialize mips_char_to_class and
387 mips_hard_regno_mode_ok properly for coprocessor registers.
388
389 * config/mips/mips.md (movdi_internal, movdi_internal2,
390 movsi_internal1, movsi_internal2): Add constraint-sets for
391 coprocessor registers.
392 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
393 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
394 isn't mips.
395 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
396 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
397 isn't mips.
398 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
399 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
400 isn't mips.
401 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
402 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
403 isn't mips.
b875d2ee 404
d604bca3
MH
405 * doc/tm.texi: Document feature.
406
b9a26d09
NB
4072002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
408
409 * integrate.c (function_attribute_inlinable_p): Simplify.
410 Check the table pointer is not NULL.
411
ab5973b7
SB
4122002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
413
414 * doc/c-tree.texi: Fix typo in introduction.
415
ff45c01e
NB
4162002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
417
418 * c-common.h (c_common_parse_file): Update.
419 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
420 * c-lex.c (YYDEBUG): Get from c-lex.h.
421 (c_common_parse_file): Update.
422 * c-lex.h (YYDEBUG, yydebug): New.
423 * c-parse.in (YYDEBUG): Get from c-lex.h.
424 (c_set_yydebug): Remove.
425 * c-tree.h (c_set_yydebug): Remove.
426 * langhooks-def.h (lhd_do_nothing_i): New.
427 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
428 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
429 * langhooks.c (lhd_do_nothing_i): New.
430 (lhd_set_yydebug): Remove.
431 * langhooks.h (struct lang_hooks): Update.
432 * toplev.c (set_yydebug): New.
433 (compile_file): Update call to parse_file hook.
434 (decode_d_option): Update.
435objc:
436 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
437
fcae219a
R
438Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
439
440 * loop.c (load_mems): Don't change the interface of called functions.
441
442 * calls.c (expand_call): Take current_function_pretend_args_size
443 into account when setting argblock for sibcalls.
444
d0fea45a
MH
4452002-04-24 Matt Hiller <hiller@redhat.com>
446
447 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
448 * c-lex.c: Ditto.
449
450 * cpplex.c (skip_line_comment): Process comment one multibyte
451 character at a time rather than one char at a time, if
452 appropriate.
453 (parse_string): Process string one multibyte character at a time
454 rather than one char at a time, if appropriate.
455 * c-lex.c (lex_string): Lex and copy multibyte strings
456 appropriately.
457 * cpplib.h (cppchar_t): Change to unsigned.
458
2d1b5436
RH
4592002-04-24 Richard Henderson <rth@redhat.com>
460
461 PR c/3467
462 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
463 for c99.
464
5e039e6b
R
465Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
466
467 * sh.c (sh_va_arg): If argument was passed by reference,
468 dereference the pointer.
309d8365
R
469
470 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
471
472 * sh.md (divsi3_i4_media): Use match_operand for input values
473 rather than hard registers.
474 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
475 unnecessarily through hard registers. Keep copies of pseudo
476 registers outside of the libcall sequence.
477
478 * sh.md (casesi_shift_media): Add modes.
b700634a
R
479
480 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
481 values in memory.
482
349ae713
NB
4832002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
484
485 * attribs.c (c_common_attribute_table): Move table and handlers
486 to c-common.c.
487 (format_attribute_table, lang_attribute_table,
488 lang_attribute_common): Remove.
489 (init_attributes): Replace NULL pointers with pointers to the
490 empty table.
491 (handle_packed_attribute, handle_nocommon_attribute,
492 handle_common_attribute, handle_noreturn_attribute,
493 handle_noinline_attribute, handle_always_inline_attribute,
494 handle_used_attribute, handle_unused_attribute,
495 handle_const_attribute, handle_transparent_union_attribute,
496 handle_constructor_attribute, handle_destructor_attribute,
497 handle_mode_attribute, handle_section_attribute,
498 handle_aligned_attribute, handle_weak_attribute,
499 handle_alias_attribute, handle_visibility_attribute,
500 handle_no_instrument_function_attribute, handle_malloc_attribute,
501 handle_no_limit_stack_attribute, handle_pure_attribute,
502 handle_deprecated_attribute, handle_vector_size_attribute,
503 vector_size_helper): Move to c-common.c.
504 * c-common.c (c_common_attribute_table,
505 handle_packed_attribute, handle_nocommon_attribute,
506 handle_common_attribute, handle_noreturn_attribute,
507 handle_noinline_attribute, handle_always_inline_attribute,
508 handle_used_attribute, handle_unused_attribute,
509 handle_const_attribute, handle_transparent_union_attribute,
510 handle_constructor_attribute, handle_destructor_attribute,
511 handle_mode_attribute, handle_section_attribute,
512 handle_aligned_attribute, handle_weak_attribute,
513 handle_alias_attribute, handle_visibility_attribute,
514 handle_no_instrument_function_attribute, handle_malloc_attribute,
515 handle_no_limit_stack_attribute, handle_pure_attribute,
516 handle_deprecated_attribute, handle_vector_size_attribute,
517 vector_size_helper): Move from attribs.c.
518 * c-common.h (c_common_attribute_table,
519 c_common_format_attribute_table): New.
520 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
521 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
522 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
523 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
524 (LANG_HOOKS_INITIALIZER): Update.
525 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
526 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
527 * target.h: Update comment.
528 * tree.c (default_target_attribute_table): Remove.
529 * tree.h (default_target_attribute_table, format_attribute_table,
530 lang_attribute_table, lang_attribute_common): Remove.
531objc:
532 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
533 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
534
84f0ace0
JM
5352002-04-24 Jason Merrill <jason@redhat.com>
536
537 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
538 * dwarf2out.c (dwarf_attr_name): Support it.
539 (gen_array_type_die): Emit it.
540 (lookup_type_die): No special handling for VECTOR_TYPE.
541 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
542
120eaf28
RH
5432002-04-24 Richard Henderson <rth@redhat.com>
544
545 * config/mips/mips.md (movdi_usd): Renumber.
546
e732178c
DM
5472002-04-24 David S. Miller <davem@redhat.com>
548
549 PR target/6420
550 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
551 32-bit Sparc and current_function_returns_struct is true.
552
e879eb2f
JH
553Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
554
555 * loop.c (canonicalize_condition): Use gen_int_mode.
556
4287a893
AH
5572002-04-24 Aldy Hernandez <aldyh@redhat.com>
558
559 * config/rs6000/altivec.h: Cleanup file. Add non individual
560 variants.
561 (vec_vaddubm): New.
562 (vec_vadduhm): New.
563 (vec_vadduwm): New.
564 (vec_vaddfp): New.
565 (vec_vaddcuw): New.
566 (vec_vaddubs): New.
567 (vec_vaddsbs): New.
568 (vec_vadduhs): New.
569 (vec_vadduws): New.
570 (vec_vaddsws): New.
571 (vec_vand): New.
572 (vec_vandc): New.
573 (vec_vavgub): New.
574 (vec_vavgsb): New.
575 (vec_vavguh): New.
576 (vec_vavgsh): New.
577 (vec_vavguw): New.
578 (vec_vavgsw): New.
579 (vec_vrfip): New.
580 (vec_vcmpbfp): New.
581 (vec_vcmpequb): New.
582 (vec_vcmpequh): New.
583 (vec_vcmpequw): New.
584 (vec_vcmpeqfp): New.
585 (vec_vcmpgefp): New.
586 (vec_vcmpgtub): New.
587 (vec_vcmpgtsb): New.
588 (vec_vcmpgtuh): New.
589 (vec_vcmpgtsh): New.
590 (vec_vcmpgtuw): New.
591 (vec_vcmpgtsw): New.
592 (vec_vcmpgtfp): New.
593 (vec_vcmpgefp): New.
594 (vec_vcfux): New.
595 (vec_vcfsx): New.
596 (vec_vctsxs): New.
597 (vec_vctuxs): New.
598 (vec_vexptefp): New.
599 (vec_vrfim): New.
600 (vec_lvx): New.
601 (vec_lvebx): New.
602 (vec_lvehx): New.
603 (vec_lde): Add vector float variant.
604 (vec_lvewx): New.
605 (vec_lvxl): New.
606 (vec_vlogefp): New.
607 (vec_vmaddfp): New.
608 (vec_vmhaddshs): New.
609 (vec_vmaxub): New.
610 (vec_vmaxsb): New.
611 (vec_vmaxuh): New.
612 (vec_vmaxsh): New.
613 (vec_vmaxuw): New.
614 (vec_vmaxsw): New.
615 (vec_vmaxsw): New.
616 (vec_vmaxfp): New.
617 (vec_vmrghb): New.
618 (vec_vmrghh): New.
619 (vec_vmrghw): New.
620 (vec_vmrglb): New.
621 (vec_vmrglh): New.
622 (vec_vmrglw): New.
623 (vec_vminub): New.
624 (vec_vminsb): New.
625 (vec_vminuh): New.
626 (vec_vminsh): New.
627 (vec_vminuw): New.
628 (vec_vminsw): New.
629 (vec_vminfp): New.
630 (vec_vmladduhm): New.
631 (vec_vmhraddshs): New.
632 (vec_msumubm): New.
633 (vec_vmsummbm): New.
634 (vec_vmsumuhm): New.
635 (vec_vmsumshm): New.
636 (vec_vmsumuhs): New.
637 (vec_vmsumshs): New.
638 (vec_vmuleub): New.
639 (vec_vmulesb): New.
640 (vec_vmuleuh): New.
641 (vec_vmulesh): New.
642 (vec_vmuloub): New.
643 (vec_mulosb): New.
644 (vec_vmulouh): New.
645 (vec_vmulosh): New.
646 (vec_vnmsubfp): New.
647 (vec_vnor): New.
648 (vec_vor): New.
649 (vec_vpkuhum): New.
650 (vec_vpkuwum): New.
651 (vec_vpkpx): New.
652 (vec_vpkuhus): New.
653 (vec_vpkshss): New.
654 (vec_vpkuwus): New.
655 (vec_vpkswss): New.
656 (vec_vpkshus): New.
657 (vec_vpkswus): New.
658 (vec_vperm): New.
659 (vec_vrefp): New.
660 (vec_vrlb): New.
661 (vec_vrlh): New.
662 (vec_vrlw): New.
663 (vec_vrfin): New.
664 (vec_vrsqrtefp): New.
665 (vec_vsel): New.
666 (vec_vslb): New.
667 (vec_vslh): New.
668 (vec_vslw): New.
669 (vec_vsldoi): New.
670 (vec_vsl): New.
671 (vec_vslo): New.
672 (vec_vspltb): New.
673 (vec_vsplth): New.
674 (vec_vspltw): New.
675 (vec_vspltisb): New.
676 (vec_vspltish): New.
677 (vec_vspltisw): New.
678 (vec_vsrb): New.
679 (vec_vsrh): New.
680 (vec_vsrw): New.
681 (vec_vsrab): New.
682 (vec_vsrah): New.
683 (vec_vsraw): New.
684 (vec_vsr): New.
685 (vec_vsro): New.
686 (vec_stvx): New.
687 (vec_stvebx): New.
688 (vec_stvehx): New.
689 (vec_stvewx): New.
690 (vec_stvxl): New.
691 (vec_vsububm): New.
692 (vec_vsubuhm): New.
693 (vec_vsubuwm): New.
694 (vec_vsubfp): New.
695 (vec_vsubcuw): New.
696 (vec_vsububs): New.
697 (vec_vsubsbs): New.
698 (vec_vsubuhs): New.
699 (vec_vsubshs): New.
700 (vec_vsubuws): New.
701 (vec_vsubsws): New.
702 (vec_vsum4ubs): New.
703 (vec_vsum4sbs): New.
704 (vec_vsum4shs): New.
705 (vec_vsum2sws): New.
706 (vec_vsumsws): New.
707 (vec_vrfiz): New.
708 (vec_vupkhsb): New.
709 (vec_vupkhpx): New.
710 (vec_vupkhsh): New.
711 (vec_vupklsb): New.
712 (vec_vupklpx): New.
713 (vec_vupklsh): New.
714 (vec_vxor): New.
715
cff27795
EB
7162002-04-23 Eric Botcazou <ebotcazou@multimania.com>
717
718 PR c/5430
719 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
720 added literals from substracted literals.
721 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
722 (fold) [associate]: Preserve MINUS_EXPR if needed.
723
952bca84
ZW
7242002-04-23 Zack Weinberg <zack@codesourcery.com>
725
726 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
727 are obsoleted.
728
50cb2154
TT
7292002-04-23 Tom Tromey <tromey@redhat.com>
730
731 * gcc.c: Added --resource. For PR java/6314.
732
271f61fb
DB
7332002-04-23 David O'Brien <obrien@FreeBSD.org>
734
9566d1e9 735 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
736 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
737 these libraries.
738
bdabbc80
DB
7392002-04-23 David O'Brien <obrien@FreeBSD.org>
740
741 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
742
74411039
JH
743Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
744
745 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
746 workaround.
747 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
748 (ix86_expand_clrstr): Fix typo.
749 * loop.c (gen_load_of_final_value): New.
750 (loop_givs_rescan, strength_reduce, check_dbra_loop):
751 Use it.
752
1a887f86
RS
7532002-04-23 Roger Sayle <roger@eyesopen.com>
754
755 * builtins.c (builtin_memset_gen_str): New function.
756 (expand_builtin_memset): Optimize the case of constant length, but
757 unknown value.
758
8d3441e0
AH
7592002-04-23 Aldy Hernandez <aldyh@redhat.com>
760
cff27795
EB
761 * config/rs6000/altivec.h (vec_step): Remove extraneous
762 parentheses.
763 (vec_ctu): Cast return.
8d3441e0 764
f6f315fe
AM
7652002-04-23 Alan Modra <amodra@bigpond.net.au>
766
767 PR target/6413
768 * function.h: (struct function): Add profile_label_no field.
769 (current_function_profile_label_no): Define.
770 * function.c: (profile_label_no): New static var.
771 (expand_function_start): Increment it, and copy to
772 current_function_profile_label_no.
773 * output.h (profile_label_no): Delete.
774 * final.c (profile_label_no): Delete.
775 (profile_function): Use current_function_profile_label_no.
776 (final_end_function): Don't increment profile_label_no here.
777 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
778 profile_label_no with current_function_profile_label_no.
779 * config/pa/pa.c (current_function_number): Delete.
780 (pa_output_function_prologue): Don't output profile label here.
781 (hppa_profile_hook): Use label_no param rather than
782 current_function_number.
783 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
784 * config/pa/pa.h: .. here.
785 (FUNCTION_PROFILER): Output profile label here.
786
d239cdc0
EC
7872002-04-22 Eric Christopher <echristo@redhat.com>
788
789 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
790 patch of 2002-04-09 due to binutils issues.
791 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
792
04428ad4
AH
7932002-04-22 Aldy Hernandez <aldyh@redhat.com>
794
cff27795
EB
795 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
796 constraint to 'o' for m=r and r=m alternatives.
797 ("*movv8hi_internal1"): Same.
798 ("*movv16qi_internal1"): Same.
799 ("*movv4sf_internal1"): Same.
04428ad4 800
2adc7f12
JJ
8012002-04-22 Janis Johnson <janis187@us.ibm.com>
802
803 * rtl.h (RTX_FLAG): New macro.
804 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
805 * final.c (alter_subreg): Use macro to access rtx flag.
806 * integrate.c (copy_rtx_and_substitute): Use new access macro.
807 * print-rtl.c (print_rtx): Use new access macro.
808
809 * cse.c (insert): Check rtx code before accessing flag.
810
811 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
812 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
813 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
814 convert_const_symbol_ref, make_canonical, make_alternative_compare,
815 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
816 simplify_test_exp, optimize_attrs, simplify_by_exploding,
817 find_and_mark_used_attributes, unmark_used_attributes,
818 add_values_to_cover, simplify_with_current_value,
819 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
820 copy_rtx_unchanging, main): Use new access macros.
821
b7c89afe
TR
8222002-04-22 Tom Rix <trix@redhat.com>
823
824 * expmed.c (init_expmed): Generate shifted constant once.
825
9340544b
ZW
8262002-04-22 Zack Weinberg <zack@codesourcery.com>
827
828 * c-lex.c (lex_charconst): Call convert to get constant in
829 proper type; don't just smash the type field.
830 Fixes PR c/6300.
831
832 * config.gcc: Add list of obsolete configurations. Disallow
833 building these without --enable-obsolete.
834 * doc/install.texi: Document --enable-obsolete and obsoletion
835 policy. Mention obsoletion of individual targets in
836 appropriate places.
837
f942d7a5
RH
8382002-04-22 Richard Henderson <rth@redhat.com>
839
840 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
841
8422002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
843
844 PR f/6138.
845 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
846 (walk_fixup_memory_subreg): Likewise.
847 (fixup_var_refs_insn): Adjust accordingly.
848 (fixup_var_refs_1): Likewise.
849
232b0b45
UW
8502002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
851
852 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
853 LIBPATH_ARCH64_SPEC): Define.
854 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
855 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
856 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
857 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
858
1b61552b
JS
8592002-04-22 Joel Sherrill <joel@OARcorp.com>
860
861 * gthr-rtems.h: Correct prototypes to remove warnings.
862
0fe854a7
RH
8632002-04-22 Richard Henderson <rth@redhat.com>
864
865 PR c/6344
866 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
867
868 * gcse.c (free_insn_expr_list_list): New.
869 (clear_modify_mem_tables): Use it. Fix bit set usage.
870 (canon_list_insert): Use EXPR_LISTs for expressions.
871 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
872
af0d16cd
NB
8732002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
874
875 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
876 file change and include code to _cpp_pop_buffer.
877 * cpphash.h (struct pending_option): Predeclare.
878 (struct cpp_reader): New member next_include_file.
879 (_cpp_pop_file_buffer): Update.
880 (_cpp_push_next_buffer): Update, rename.
881 * cppinit.c (cpp_destroy): Free include chain and pending here.
882 (cpp_finish_options): Simplify.
883 (_cpp_push_next_buffer): Rename and clean up.
884 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
885 Clarify.
886 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
887
0d918572
AH
8882002-04-22 Aldy Hernandez <aldyh@redhat.com>
889
0fe854a7
RH
890 * config/rs6000/altivec.h (vec_xor): Add variant for both args
891 being vector signed int.
892 (vec_andc): Same.
893 (vec_xor): Add variant for both args being vector signed char.
894 Remove redundant variant.
895 (vec_andc): Same.
0d918572 896
77e2c290
DM
8972002-04-21 David S. Miller <davem@redhat.com>
898
899 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
900 compare mode in output RTL.
901
ee2ca2a2
DE
9022002-04-22 David Edelsohn <edelsohn@gnu.org>
903
904 * config/rs6000/rs6000.c (rs6000_override_options): Correct
905 style and formatting of previous patch.
906
894bdff6
AM
9072002-04-22 Alan Modra <amodra@bigpond.net.au>
908
909 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
910 flag_pic for ABI_AIX.
911
562a5c27
NB
9122002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
913
914 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
915 * cppfiles.c (read_include_file): Similarly.
916 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
917 uxstrdup ustrchr, ufputs): Similarly.
918 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
919 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
920 cpp_ideq, parse_identifier, parse_number): Similarly.
921 * cpplib.c (struct directive, dequote_string, D, run_directive,
922 cpp_push_buffer): Similarly.
923 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
924 _cpp_create_definition, check_trad_stringification,
925 cpp_macro_definition): Similarly.
926
9ac3b1be
NB
9272002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
928
929 * cppmacro.c (funlike_invocation_p): Don't step back
930 over CPP_EOF.
931
9dda4cc8
DE
9322002-04-21 David Edelsohn <edelsohn@gnu.org>
933
934 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
935 labelno.
936
20764052
JM
9372002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
938
939 * doc/invoke.texi: Remove Chill references.
940 * doc/gcc.texi: Update last modified date.
941
26b29884
KH
9422002-04-20 Kazu Hirata <kazu@hxi.com>
943
944 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
945 push and pop. Replace add.l with add.w.
946
59184677
TM
9472002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
948
949 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
950 multiply instructions for H8/300H case.
951
b1113e0a
TM
9522002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
953
954 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
955 Bum three instructions from each routine.
956
b03e38e1
NB
9572002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
958
959 * Makefile.in: Update.
960 * decl.c (push_c_function_context, pop_c_function_context,
961 mark_c_function_context): Rename for consistency.
962 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
963 * c-tree.h (push_c_function_context, pop_c_function_context,
964 mark_c_function_context): Rename for consistency.
965 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
966 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
967 * function.c (init_lang_status, save_lang_status,
968 restore_lang_status, mark_lang_status, free_lang_status):
969 Move to langhooks.h.
970 (push_function_context_to, pop_function_context_from,
971 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
972 Update.
973 * function.h (init_lang_status, save_lang_status,
974 restore_lang_status, mark_lang_status, free_lang_status):
975 Move to langhooks.h.
976 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
977 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
978 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
979 LANG_HOOKS_FUNCTION_INITIALIZER): New.
980 (LANG_HOOKS_INITIALIZER): Update.
981 (lhd_do_nothing_f): New.
982 * langhooks.h (struct lang_hooks_for_functions): New.
983 (struct lang_hooks): New hooks.
984 * langhooks.c (lhd_do_nothing_f): New.
985objc:
986 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
987 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
988
db430d26
DM
9892002-04-19 David S. Miller <davem@redhat.com>
990
991 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
992 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
993
0f2a3457
JJ
9942002-04-19 Jakub Jelinek <jakub@redhat.com>
995
996 PR optimization/3756
997 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
998 x = ((int) y < 0) ? cst1 : cst2.
999
ce5e43d0
JJ
10002002-04-19 Jakub Jelinek <jakub@redhat.com>
1001
1002 PR c/6358
1003 * function.c: Reapply patch for c/6358.
1004 (expand_function_end): Copy decl_rtl's mode, not
1005 current_function_return_rtx mode.
1006
10072002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
1008
1009 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
1010 targets.
1011
40e7f8ea
TT
10122002-04-19 Tom Tromey <tromey@redhat.com>
1013
1014 * doc/install.texi (Specific): Update status of Solaris 2.8.
1015 For PR libgcj/6158.
1016
62a12b27
AS
10172002-04-19 Andreas Schwab <schwab@suse.de>
1018
1019 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
1020 (PUT_REAL): Restore old definition.
1021
1405141b
DN
10222002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
1023 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1024
1025 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
1026 binutils 2.11.2 and higher generate smaller binaries than Sun's
1027 native tools.
1028
303a3927
MM
10292002-04-19 Mark Mitchell <mark@codesourcery.com>
1030
1031 PR c++/6352
1032 * toplev.c (rest_of_compilation): Do not defer functions for which
1033 TREE_SYMBOL_REFERENCED has already been set.
1034
de80110b
JH
1035Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
1036
1037 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
1038 alternative.
1039
ab393bf1
NB
10402002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
1041
1042 * builtins.c: Include langhooks.h.
1043 (lang_type_promotes_to): Remove.
1044 (expand_builtin_va_arg): Use new hook.
1045 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
1046 (simple_type_promotes_to): Move to c-typeck.c.
1047 * c-common.h (simple_type_promotes_to): Remove.
1048 * c-decl.c (duplicate_decls, grokdeclarator): Update.
1049 * c-format.c: Include langhooks.h.
1050 (check_format_types): Update.
1051 * c-tree.h (c_type_promotes_to): New.
1052 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
1053 (type_lists_compatible_p): Update.
1054 * langhooks-def.h (lhd_type_promotes_to): New.
1055 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
1056 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
1057 * langhooks.c (lhd_type_promotes_to): New.
1058 * langhooks.h (struct lang_hooks_for_types): New hook.
1059 * tree.h (lang_type_promotes_to): Remove.
1060objc:
1061 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
1062
0cd3301b
RH
10632002-04-18 Richard Henderson <rth@redhat.com>
1064
58533fa2 1065 * function.c: Revert patch for c/6358.
0cd3301b
RH
1066
10672002-04-18 Richard Henderson <rth@redhat.com>
1068
58533fa2
RH
1069 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
1070 blocks. Handle multiple references to the TRAP block. Handle
1071 non-adjacent THEN and OTHER blocks.
0cd3301b 1072
58533fa2
RH
10732002-04-18 Richard Henderson <rth@redhat.com>
1074
1075 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
1076 crash with no type for by-mode libcalls.
1077
1078 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 1079
57174693
BW
10802002-04-18 Bob Wilson <bob.wilson@acm.org>
1081
1082 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
1083 __xtensa_nonlocal_goto): Use a syscall instructions to flush
1084 the register windows.
1085
46468cd9
ZW
10862002-04-18 Zack Weinberg <zack@codesourcery.com>
1087
1088 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
1089 appropriate. Document need for extended precision even when
1090 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
1091 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
1092 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
1093 instead of relying on later syntax error when REAL_WIDTH > 5.
1094 * real.c: Define NE based only on whether or not we have a
1095 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
1096 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
1097 define GET_REAL and PUT_REAL as simple memcpy operations; no
1098 need to byteswap or round.
1099 Use #error instead of #ifdef-ing out the entire file, for
1100 prompt error detection.
1101
1102 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
1103
2f82dbf8
DM
11042002-04-18 David S. Miller <davem@redhat.com>
1105
1106 * config/sparc/sparc.h (BRANCH_COST): Define.
1107
1108 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
1109 does it.
1110
566576e7
HPN
11112002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
1112
1113 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
1114 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
1115 propagate_block calls after relaxation loop using new variable
1116 stabilized_prop_flags.
1117
51dcde6f
RH
11182002-04-18 Richard Henderson <rth@redhat.com>
1119
1120 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
1121 (ia64_va_arg): Expect variable sized types by reference.
1122 * config/ia64/ia64-protos.h: Update.
46468cd9 1123 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
1124 ia64_function_arg_pass_by_reference.
1125
26406018
RH
11262002-04-18 Richard Henderson <rth@redhat.com>
1127
46468cd9
ZW
1128 * ifcvt.c: Include except.h.
1129 (block_has_only_trap): Break out from find_cond_trap.
1130 (find_cond_trap): Use it. Always delete the trap block.
1131 (merge_if_block): Allow then block null. Be less simplistic about
1132 what insns can end a block.
1133 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 1134
26406018
RH
1135 * config/ia64/ia64.md (trap, conditional_trap): New.
1136
a3acf46d
JJ
11372002-04-18 Jakub Jelinek <jakub@redhat.com>
1138
1139 PR c/6358
1140 * function.c (assign_parms): Assign hard current_function_return_rtx
1141 register here...
1142 (expand_function_end): ...not here.
1143
7a228918
NB
11442002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
1145
1146 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
1147 * c-tree.h (c_incomplete_type_error): New.
1148 * c-typeck.c (require_complete_type, build_component_ref): Update.
1149 (incomplete_type_error): Rename.
1150 * langhooks-def.h (lhd_incomplete_type_error): New.
1151 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
1152 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
1153 * langhooks.c (lhd_incomplete_type_error): New.
1154 * langhooks.h (struct lang_hooks_for_types): New hook.
1155 * tree.c (size_in_bytes): Use new hook.
1156 * tree.h (incomplete_type_error): Remove.
1157objc:
1158 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
1159
f18664c1
ZW
11602002-04-18 Zack Weinberg <zack@codesourcery.com>
1161
1162 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
1163 TARGET_FLOAT_FORMAT blocks.
1164
8ecab453
GP
11652002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1166
1167 * doc/install.texi (Downloading the source): Do not mention Chill
1168 any longer, but mention Ada.
1169 (Configuration): Do not mention Chill any longer.
1170
528d8489
HPN
11712002-04-18 Hans-Peter Nilsson <hp@axis.com>
1172
1173 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
1174
91da27c5
JH
1175Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
1176
1177 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
1178 in last patch.
1179
a32db605
JJ
11802002-04-18 Jakub Jelinek <jakub@redhat.com>
1181
1182 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
1183 instead of unsigned_type.
1184
5a28d8cc
JH
1185Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
1186
1187 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
1188 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
1189 later.
1190
3d980b9f
BS
11912002-04-18 Bernd Schmidt <bernds@redhat.com>
1192
1193 * attribs.c (vector_type_node_list): New static variable.
1194 (handle_vector_size_attribute): Use it to avoid generating a
1195 new type node each time we are called.
1196
2e676d78
BS
1197 * combine.c (subst): Avoid trying to make a vector mode subreg of
1198 an integer constant.
1199 (gen_lowpart_for_combine): Likewise.
46468cd9 1200
58c2956c
RS
12012002-04-18 Roger Sayle <roger@eyesopen.com>
1202 Jakub Jelinek <jakub@redhat.com>
1203
1204 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
1205 for integer constant c (if x has unsigned type or sign bit is not
1206 set in c). This folds the zero/sign extension into the bit-wise and
1207 operation.
1208
692efa8e
JJ
12092002-04-18 Jakub Jelinek <jakub@redhat.com>
1210
1211 PR middle-end/6205
1212 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
1213 otherwise xorps.
1214
1372d4ce
NY
12152002-04-17 NIIBE Yutaka <gniibe@m17n.org>
1216
1217 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
1218
169ce44d
NC
12192002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
1220
1221 * gcc.c (read_specs): Detect and fail if an attempt is made to
1222 rename a spec string to an already existing string.
1223
b30d2115
UW
12242002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
1225
1226 * config/s390/s390.c (legitimize_pic_address): Do not generate
1227 illegal address constant without CONST.
1228
d6964c30
KG
12292002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1230
1231 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
1232 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1233
7c82a1ed
UW
12342002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
1235
1236 PR optimization/6305
1237 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
1238 to make sure previous reloads are taken into account. Generate
1239 better code if one operand is an in-range immediate constant.
1240
58db9d1a
AH
12412002-04-16 Andrew Haley <aph@cambridge.redhat.com>
1242
1243 * doc/install.texi (Building): libgcj requires GNU make.
1244
2a732575
JJ
12452002-04-17 Jakub Jelinek <jakub@redhat.com>
1246
1247 PR bootstrap/6315
1248 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
1249 even if hard quad and register is not floating.
1250 (movtf reg<-mem split): Disallow splitting if hard quad and
1251 register is floating.
1252 (movtf mem<-reg split): Likewise.
1253 * config/sparc/sparc.c (fp_register_operand): New predicate.
1254 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
1255
75a65e46
ZW
12562002-04-17 Zack Weinberg <zack@codesourcery.com>
1257
1258 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
1259 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
1260 (unprotoize.o): Ditto. Build from protoize.c. Define
1261 UNPROTOIZE on command line.
1262 * protoize.c: Include cppdefault.h. Delete include_defaults.
1263 (in_system_include_dir): Use cpp_include_defaults (defined in
1264 cppdefault.o).
1265 * unprotoize.c: Delete file.
1266
650f0e97
AH
12672002-04-17 Aldy Hernandez <aldyh@redhat.com>
1268
46468cd9
ZW
1269 * config/rs6000/altivec.h (vec_ld): Add array variants.
1270 (vec_lde): Same.
1271 (vec_ldl): Same.
650f0e97 1272
71a0ab0c 12732002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 1274 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 1275
46468cd9
ZW
1276 * config/rs6000/altivec.h: Define __ALTIVEC__.
1277 (bool): New.
1278 (__pixel): New.
1279 (pixel): New.
1280 (vec_cfux): New.
1281 (vec_vmaddfp): New.
1282 (vec_vsldoi): New.
1283 Add parentheses to all macro arguments.
71a0ab0c 1284
ff2c46ac
RH
12852002-04-16 Richard Henderson <rth@redhat.com>
1286
1287 PR c++/6320
1288 * except.c (remove_eh_handler): Insert inner regions at beginning
1289 of sibling chain. Refactor expressions.
1290
f1ba94dd
RH
12912002-04-16 Richard Henderson <rth@redhat.com>
1292
f0871dfe
RH
1293 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
1294 * config/sparc/sol2-gas-bi.h: New file.
1295 * config.gcc (sparc*-solaris): Add it as needed.
1296 * configure.in (AS_SPARC64_FLAG): Remove check.
1297 * config.in, configure: Regenerate.
1298
1299 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
1300
13012002-04-16 Richard Henderson <rth@redhat.com>
1302
1303 * config/mips/mips.c (override_options): Don't override N32 for
1304 a 64-bit ISA.
409d3c60 1305
f1ba94dd
RH
1306 PR 6202
1307 * config/mips/mips.md (can_delay): Split out of existing define_delays.
1308 (HILO_delay): Set can_delay false.
1309
178c3eff
DJ
13102002-04-16 Dale Johannesen <dalej@apple.com>
1311
1312 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
1313 instruction addresses.
1314 (rs6000_output_function_epilogue): Likewise.
1315
7d6f6369
PC
13162002-04-16 Paolo Carlini <pcarlini@unitus.it>
1317
1318 * c-parse.in (poplevel, compstmt_start,
1319 compstmt_primary_start): Add ending ';', in accordance
1320 with POSIX.
1321
8947df0c
RH
13222002-04-16 Richard Henderson <rth@redhat.com>
1323
1324 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
1325 Adjust tm_file order to get TARGET_DEFAULT set properly.
1326 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
1327 * doc/install.texi (sparc-solaris): Update.
1328
3148ad6d
DJ
13292002-04-16 Dale Johannesen <dalej@apple.com>
1330
1331 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
1332 comparison operands do not match each other or if modes of
1333 conditions do not match result.
1334
014cb9b6 13352002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 1336
014cb9b6
HP
1337 PR target/6305
1338 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 1339 multiword register.
562a69be 1340
014cb9b6 13412002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 1342
8947df0c 1343 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 1344
a9772b60
JJ
13452002-04-16 Jakub Jelinek <jakub@redhat.com>
1346
1347 PR middle-end/6279
1348 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
1349
1350 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
1351
861829ed
RH
13522002-04-15 Richard Henderson <rth@redhat.com>
1353
1354 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
1355 call_really_used_regs too.
1356
bcf2fe9c
RH
13572002-04-15 Richard Henderson <rth@redhat.com>
1358
1359 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
1360
629111c7
DM
13612002-04-15 David S. Miller <davem@redhat.com>
1362
1363 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
1364 as being CLOBBERed.
1365
98ef3137
JJ
13662002-04-16 Jakub Jelinek <jakub@redhat.com>
1367
1368 PR c/6290
1369 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
1370 CONST_VECTOR is { 0, ... 0 }.
1371
0aa911c5
LR
13722002-04-15 Loren J. Rittle <ljrittle@acm.org>
1373
1374 * doc/install.texi (Installing GCC: Configuration): Clarify
1375 the only supported ways to configure gcc.
1376
83248d49 13772002-04-15 Roland McGrath <roland@frob.com>
46468cd9 1378
83248d49
RM
1379 * config.gcc (alpha*-*-gnu*): New target configuration.
1380 * config/alpha/gnu.h: New file for it.
1381 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
1382
b2123dc0
MM
13832002-04-16 Mark Mitchell <mark@codesourcery.com>
1384
1385 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
1386 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
1387 * tree.h (expand_start_stmt_expr): Update prototype.
1388 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
1389 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
1390 on the STMT_EXPR created for the inline function.
46468cd9 1391
8fe2d853
RH
13922002-04-15 Richard Henderson <rth@redhat.com>
1393
1394 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
1395 config/i386/linux-aout.h, config/i386/linux-oldld.h,
1396 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
1397 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
1398 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
1399 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
1400 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
1401 Define __gnu_linux__, not gnu_linux.
1402 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
1403
07cdae91
MM
14042002-04-15 Mark Mitchell <mark@codesourcery.com>
1405
1406 Remove Chill front end.
1407 * gcc.c (default_compilers): Remove Chill entries.
1408 * ch: Remove directory.
1409 * doc/frontends.texi: Remove information about Chill.
1410 * doc/sourcebuild.texi: Likewise.
1411 * doc/standards.texi: Likewise.
1412
41823c5e
DR
14132002-04-15 Douglas B Rupp <rupp@gnat.com>
1414
1415 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
1416 (LONGLONG_STANDALONE): Define.
1417
eb29ddb6
DM
14182002-04-15 David S. Miller <davem@redhat.com>
1419
1420 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
1421 Call emit_library_call with LCT_NORMAL.
1422 (sparc_initialize_trampoline): Use LCT_foo instead of
1423 magic constant in emit_library_call invocations.
1424 (sparc64_initialize_trampoline): Likewise.
1425 (sparc_profile_hook): Likewise.
1426 * config/sparc/sparc.md: Likewise.
1427
1428 * config/sparc/sparc.c (sparc_extra_constraint_check):
1429 Fix type of argument 'c'.
1430 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
1431 Likewise.
1432
bd6bec6b
GDR
14332002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
1434
1435 * diagnostic.h (output_buffer_state): Redefine.
1436 (output_format_decoder): New macro.
1437 (output_prefixing_rule): Likewise.
1438 (output_line_cutoff): Likewise.
1439 (diagnostic_format_decoder): Adjust.
1440 (diagnostic_prefixing_rule): Likewise.
1441 (diagnostic_line_cutoff): Likewise.
1442 (diagnostic_state): Likewise.
1443 (diagnostic_kind_count): Likewise.
1444 (diagnostic_buffer): Now a macro.
1445
1446 * diagnostic.c (diagnostic_buffer): Remove definition.
1447 (output_is_line_wrapping): Adjust.
1448 (set_real_maximum_length): Likewise.
1449 (output_set_maximum_length): Likewise.
1450 (init_output_buffer): Likewise.
1451 (lhd_print_error_function): Likewise.
1452 (output_do_verbatim): Likewise.
1453
ebef4e8c
NB
14542002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
1455
1456 * cpperror.c (print_location): Don't print include chain
1457 if line == 0.
1458 (cpp_begin_message): Update to use DL_ macros.
1459 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
1460 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
1461 cpp_notice, cpp_notice_from_errno): Remove.
1462 (cpp_error, cpp_error_with_line): Update to take a diagnostic
1463 level.
1464 (cpp_errno): New.
1465 * cppexp.c (CPP_ICE): Remove.
1466 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
1467 lex, integer_overflow, _cpp_parse_expr): Update.
1468 * cppfiles.c (read_include_file, find_include_file,
1469 handle_missing_header, _cpp_read_file, remap_filename): Update.
1470 * cpphash.h (enum error_type): Remove.
1471 (_cpp_begin_message): Update.
1472 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
1473 cpp_handle_option, cpp_post_options): Update.
1474 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
1475 skip_whitespace, parse_identifier, parse_slow, parse_string,
1476 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
1477 cpp_interpret_charconst): Update.
1478 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
1479 lex_macro_node, do_undef, glue_header_name, parse_include,
1480 do_include_common, read_flag, do_line, do_linemarker, do_ident,
1481 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
1482 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
1483 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
1484 _cpp_pop_buffer, do_diagnostic): Update.
1485 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
1486 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
1487 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
1488 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
1489 cpp_notice, cpp_notice_from_errno): Remove.
1490 (cpp_error, cpp_error_with_line): Update to take a diagnostic
1491 level.
1492 (cpp_errno): New.
1493 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
1494 collect_args, enter_macro_context, save_parameter, parse_params,
1495 _cpp_create_definition, check_trad_stringification,
1496 cpp_macro_definition): Update.
1497 * cppmain.c (cpp_preprocess_file): Update.
1498 * fix-header.c (read_scan_file): Update.
1499
c19a3859
AS
15002002-04-14 Andreas Schwab <schwab@suse.de>
1501
1502 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
1503
10fdbed6
JD
15042002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1505
1506 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
1507
77660a9a
MM
15082002-04-13 Mark Mitchell <mark@codesourcery.com>
1509
1510 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
1511 not gnu_hurd.
1512
e0ff1ded
HPN
15132002-04-13 Hans-Peter Nilsson <hp@axis.com>
1514
1515 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
1516
2341c7ea
JS
15172002-04-13 Joel Sherrill <joel@OARcorp.com>
1518
1519 * config/sparc/t-elf: Enable v8 multilibs. Impacts
1520 sparc-elf and sparc-rtems targets.
1521
d29350c0
MM
15222002-04-13 Mark Mitchell <mark@codesourcery.com>
1523
1524 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
1525 defined, and __gnu_hurd__ wherever __GNU__ is defined.
1526 * arm/linux-elf.h: Likewise.
1527 * cris/aout.h: Likewise.
1528 * cris/linux.h: Likewise.
1529 * i370/linux.h: Likewise.
1530 * i386/gnu.h: Likewise.
1531 * i386/linux-aout.h: Likewise.
1532 * i386/linux-oldld.h: Likewise.
1533 * i386/linux.h: Likewise.
1534 * i386/linux64.h: Likewise.
1535 * ia64/linux.h: Likewise.
1536 * m68k/linux-aout.h: Likewise.
1537 * m68k/linux.h: Likewise.
1538 * mips/linux.h: Likewise.
1539 * pa/pa-linux.h: Likewise.
1540 * pj/linux.h: Likewise.
1541 * rs6000/sysv4.h: Likewise.
1542 * s390/linux.h: Likewise.
1543 * sh/linux.h: Likewise.
1544 * sparc/linux-aout.h: Likewise.
1545 * sparc/linux.h: Likewise.
1546 * sparc/linux64.h: Likewise.
1547 * xtensa/linux.h: Likewise.
1548
fc552851
RS
15492002-04-13 Richard Sandiford <rsandifo@redhat.com>
1550
1551 * stmt.c (check_unique_operand_names): Expect operand names to
1552 be strings rather than identifiers. Use simple_cst_equal to
1553 compare them.
1554 (resolve_operand_name_1): Make same identifier to string change here.
1555 * c-parse.in (asm_operand): Convert a named operand into a string.
1556 * cp/parse.y (asm_operand): Likewise.
1557
1d405c5e
AS
15582002-04-13 Andreas Schwab <schwab@suse.de>
1559
1560 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
1561
c740732f
MM
15622002-04-12 Mark Mitchell <mark@codesourcery.com>
1563
1564 Revert these changes:
1565
1566 2002-04-06 Mark Mitchell <mark@codesourcery.com>
1567
1568 PR c++/5571
1569 * stor-layout.c (layout_decl): Reset the RTL for the decl.
1570
3fc602a0
RH
15712002-04-12 Richard Henderson <rth@redhat.com>
1572
1573 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
1574 (sparc*-*-solaris): Clean up header files.
1575 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
1576 and plan on generating 64-bit code.
1577 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
1578 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
1579 * config/sparc/sol2-sld-64.h: Rename ...
1580 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
1581 for AS_SPARC64_FLAG not defined.
1582 * config/sparc/sol2-gld-bi.h: New.
1583 * config/sparc/sol2-sld.h: Remove.
1584 * config/sparc/sol26-sld.h: New.
1585 * config/sparc/sol2.h: Tidy comments.
1586 * doc/install.texi: Document sparc-solaris configury changes.
1587
2f15e255
RH
15882002-04-12 Richard Henderson <rth@redhat.com>
1589
1590 * recog.c (offsettable_address_p): Match the logic in adjust_address.
1591
1592 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
1593 in 64-bit mode only. Use only for 32-bit or MEDLOW.
1594
cc8475cb
RO
15952002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1596
1597 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
1598
6f133a4a
JL
1599Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
1600
ef1b8858 1601 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
1602 constrain_operands.
1603
1329e600
DR
16042002-04-12 Douglas B Rupp <rupp@gnat.com>
1605
1606 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
1607 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
1608 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 1609 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
1610 * config/i386/t-interix (USER_H): Remove.
1611
0339d239
DD
16122002-04-12 DJ Delorie <dj@redhat.com>
1613
1614 * integrate.c (compare_blocks): Make comparisons safe for when
1615 sizeof(int) < sizeof(char *).
1616 (find_block): Likewise.
1617
cc4d5fec
JH
16182002-04-12 Jan Hubicka <jh@suse.cz>
1619 David Edelsohn <edelsohn@gnu.org>
1620
1621 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
1622 registers.
1623 (symbol_ref_operand): New.
1624 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
1625 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
1626
93215a1b
AS
16272002-04-12 Andreas Schwab <schwab@suse.de>
1628
1629 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
1630 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
1631 overrides the definition in config/svr4.h.
46468cd9 1632
1d80248e
EN
16332002-04-12 Eric Norum <eric.norum@usask.ca>
1634
1635 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
1636 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
1637 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
1638 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
1639 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
1640 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
1641 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
1642 definitions to config/rtems.h and make the targets more similar.
1643
fa1591cb
RK
1644Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1645
fa06ab5c
RK
1646 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
1647 POINTERS_EXTEND_UNSIGNED.
1648 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
1649 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
1650
fa1591cb
RK
1651 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
1652 not specified.
1653
12e85a0e
R
1654Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
1655
1656 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
1657 depends on TARGET_SHMEDIA, not TARGET_SH5.
1658
1ab3e58a
HPN
16592002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
1660
1661 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
1662 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
1663
18778292
R
1664Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
1665
1666 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
1667 no r0 clobber.
1668
9002507c
AS
16692002-04-12 Andreas Schwab <schwab@suse.de>
1670
1671 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
1672
9be40833
RH
16732002-04-12 Richard Henderson <rth@redhat.com>
1674
1675 PR bootstrap/4191
1676 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
1677
1678 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
1679 modes spanning multiple hard regs.
46468cd9 1680
9be40833
RH
1681 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
1682
3d9268b6
JDA
16832002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1684
1685 * pa.c (pa_output_function_prologue): Don't accumulate the total
1686 number of code bytes when using TARGET_64BIT, or gas, SOM and not
1687 the portable runtime.
1688 (output_deferred_plabels): Handle 64bit plabels.
1689 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
1690 generating pic code using the GAS assembler for object formats that
1691 are not SOM (ie., ELF32 and ELF64).
1692 (output_millicode_call): Check attribute type if attribute length is 28.
1693 Likewise use $PIC_pcrel$0. Only call get_attr_length and
1694 dbr_sequence_length once.
1695 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
1696 dbr_sequence_length once.
1697 * pa.h (TARGET_SOM): Define if not defined.
1698 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
1699 with GAS and not SOM.
1700 (jump, call_internal_reg, call_value_internal_reg): Likewise.
1701 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
1702
d360fd18
DB
17032002-04-11 David O'Brien <obrien@FreeBSD.org>
1704
1705 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
1706 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
1707 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
1708 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
1709 elfos.h and dbxelf.h values are fine now.
1710 * config/i386/freebsd.h, config/alpha/freebsd.h
1711 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
1712
5b8fcab6
DB
17132002-04-11 David O'Brien <obrien@FreeBSD.org>
1714
1715 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
1716 or set Acpu or Amachine. Reformat.
1717 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
1718 define.
1719 (LINK_SPEC): Do not need to undef.
1720 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
1721 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
1722 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
1723 define.
1724 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
1725 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
1726 (LINK_SPEC): Do not need to undef.
1727 (DONT_USE_BUILTIN_SETJMP): Do not define.
1728 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
1729 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
1730 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
1731 Remove trailing spaces.
1732 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
1733 __ELF__, or set Acpu or Amachine. Reformat.
1734 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
1735 define.
1736
fee42cc1
DB
17372002-04-11 David O'Brien <obrien@FreeBSD.org>
1738
1739 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
1740 all other *-*-freebsd* targets.
1741
77a403e4
RH
17422002-04-11 Richard Henderson <rth@redhat.com>
1743
1744 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
1745
cf0005c6
DB
17462002-04-11 David O'Brien <obrien@FreeBSD.org>
1747
1748 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
1749 Include {cpu}/{cpu}.h thru tm_file.
1750 (alpha*-*-linux*ecoff): Remove target.
1751 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
1752 (LINK_SPEC): Remove, is not OS independent.
1753 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
1754 (LINK_SPEC): Do not need to #undef any longer.
1755 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
1756 any longer.
1757 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
1758 __ELF__.
1759 (LINK_SPEC): Moved here from alpha/elf.h.
1760 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
1761 SUB_CPP_PREDEFINES.
1762 * config/alpha/linux-ecoff.h: Remove.
1763 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
1764 (CPP_SPEC): Define _POSIX_SOURCE as needed.
1765 (CPP_SUBTARGET_SPEC): Do not define.
1766 (LINK_SPEC): Do not need to #undef any longer.
1767 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
1768 * config/alpha/vms.h: Likewise.
1769
9be40833 17702002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
1771
1772 * doc/extend.texi: Remove old claim that typedefs cannot have
1773 an alignment attribute.
1774
010f87c4
JJ
17752002-04-11 Jakub Jelinek <jakub@redhat.com>
1776
1777 PR optimization/6177
1778 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
1779 bitpos is 0 and bitsize CONCAT size.
1780
578fc63d
JJ
17812002-04-11 Jakub Jelinek <jakub@redhat.com>
1782
1783 PR c/6223
1784 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
1785
bf9b85ce
DB
17862002-04-10 David O'Brien <obrien@FreeBSD.org>
1787
1788 * config/alpha/freebsd.h: Minor reformatting.
1789 (CPP_SPEC): Define ELF and add cpp_subtarget.
1790 (ASM_SPEC): No longer needed.
1791
7425707d
RH
17922002-04-11 Richard Henderson <rth@redhat.com>
1793
1794 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
1795 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
1796 (dimode mem/zero splitter): New.
1797
1a05e874
HPN
17982002-04-11 Hans-Peter Nilsson <hp@axis.com>
1799
1800 * config/cris/cris.c (cris_override_options): Tweak error message
1801 for PIC not implemented.
1802
1803 * config/cris/cris.h: Tweak comments related to parameter-passing.
1804
1805 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
1806
6f3d0447
RH
18072002-04-10 Richard Henderson <rth@redhat.com>
1808
1809 * except.c (add_ehl_entry): Allow duplicates after landing pad
1810 creation.
1811
174bf2b1
DE
18122002-04-10 David Edelsohn <edelsohn@gnu.org>
1813
1814 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
1815
03f10472
TM
18162002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
1817
1818 * c-decl.c (c_init_decl_processing): Move generation of
1819 decls for g77_integer_type_node and friends from here ...
1820 * c-common.c (c_common_nodes_and_builtins): ... to here.
1821
2f460a0a
UW
18222002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
1823
1824 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
1825 is only used as frame pointer when frame_pointer_needed is true.
1826
0be5cf85
RE
18272002-04-10 Richard Earnshaw <rearnsha@arm.com>
1828
1829 PR target/817
1830 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
1831 for the fact that the pool entry uses two words.
1832 (movdf_hard_insn): Similarly. Also, ADR instruction can span
1833 1k bytes.
1834 (movdf_soft_insn): Similarly.
1835 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
1836 for the fact that the pool entry uses three words.
1837
bf6d4777
RS
18382002-04-10 Richard Sandiford <rsandifo@redhat.com>
1839
1840 * config/mips/mips.c (mips_va_arg): When using the struct version
1841 of the EABI va_list, allow arguments in the register save area to
1842 take up less room than a stack argument.
1843
c2e9dc85
RH
18442002-04-10 Richard Henderson <rth@redhat.com>
1845
1846 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
1847 if EXPAND_INITIALIZER.
1848
bc8e8e97
RH
18492002-04-09 Richard Henderson <rth@redhat.com>
1850
1851 * config/alpha/alpha.md (movdi_er_maybe_g): New.
1852 * config/alpha/alpha.c (alpha_expand_mov): Use it.
1853
a6a063b8
AM
18542002-04-10 Alan Modra <amodra@bigpond.net.au>
1855
1856 PR optimization/6233
1857 * rtlanal.c (pure_call_p): New function.
1858 * rtl.h (pure_call_p): Declare.
1859 * loop.c (prescan_loop): Use it to set has_nonconst_call.
1860 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
1861
7b2e1077
EC
18622002-04-09 Eric Christopher <echristo@redhat.com>
1863
1864 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
1865 information to .comm directive.
1866
d8a50944
RH
18672002-04-09 Richard Henderson <rth@redhat.com>
1868
1869 PR c/5078
1870 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
1871
6a58eee9
RH
18722002-04-09 Richard Henderson <rth@redhat.com>
1873
1874 * basic-block.h (flow_delete_block_noexpunge): Declare.
1875 (expunge_block_nocompact): Declare.
1876 * cfg.c (expunge_block_nocompact): Split out from ...
1877 (expunge_block): ... here.
1878 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
1879 (flow_delete_block_noexpunge): Split out from ...
1880 (flow_delete_block): ... here.
1881 * cfgcleanup.c (delete_unreachable_blocks): Compact while
1882 removing dead blocks.
1883 * except.c (exception_handler_labels): Remove.
1884 (exception_handler_label_map): New.
1885 (struct eh_region): Add aka member.
1886 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
1887 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
1888 (for_each_eh_label, for_each_eh_label_1): New.
1889 (init_eh): Register exception_handler_label_map.
1890 (free_eh_status): Use free_region.
1891 (find_exception_handler_labels): Use the map, not the list.
1892 (remove_exception_handler_label): Likewise.
1893 (maybe_remove_eh_handler): Likewise.
1894 (remove_eh_handler): Use the region aka bitmap.
1895 * except.h (exception_handler_labels): Remove.
1896 (for_each_eh_label): Declare.
1897 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
1898 * loop.c (invalidate_loops_containing_label): New.
1899 (find_and_verify_loops): Use it. Use for_each_eh_label.
1900 * sched-rgn.c (is_cfg_nonregular): Use
1901 current_function_has_exception_handlers.
1902
b47374fa
RH
19032002-04-09 Richard Henderson <rth@redhat.com>
1904
1905 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
1906 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
1907 Do not return changed status.
1908 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
1909 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
1910 New functions that do return changed status.
1911 * sbitmap.h: Update decls.
1912 * gcse.c, lcm.c: Use _cg functions as needed.
1913
1951818c
R
1914Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
1915
1916 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
1917 (sh64-*-elf*, sh-*-rtemself*): Likewise.
1918 * config/sh/embed_bb.c: New file.
1919 * config/sh/embed-elf.h: New file.
1920 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
1921 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
1922 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
1923 __PTRDIFF_TYPE__ .
1924 (SUBTARGET_CPP_PTR_SPEC): Don't define.
1925 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
1926 Add subtarget_asm_endian_spec.
1927 (ASM_SPEC): Use subtarget_asm_endian_spec.
1928 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
1929 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
1930 (WCHAR_UNSIGNED): Define.
1931 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
1932 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
1933 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
1934 Fix value.
1935 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
1936 (sh_adjust_cost): Likewise.
1937 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
1938 __PTRDIFF_TYPE__ .
1939 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
1940 (WCHAR_TYPE_SIZE): Likewise.
1941 (ASM_SPEC): Use subtarget_asm_endian_spec.
1942 (SH_ELF_WCHAR_TYPE): #undef/ #define.
1943 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
1944 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
1945 (MAX_WCHAR_TYPE_SIZE): Don't #define .
1946 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
1947 (USER_LABEL_PREFIX): Don't #undef /#define .
1948 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
1949 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
1950 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
1951 (ASM_SPEC): Likewise.
1952 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
1953 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
1954 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
1955 (LIB2FUNCS_EXTRA): Define.
1956 * t-sh64 (LIB2FUNCS_EXTRA): Define.
1957 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
1958 (LIB1ASMFUNCS_CACHE): Define.
1959 (LIB2FUNCS_EXTRA): Redefine empty.
1960
34295799
RH
19612002-04-08 Richard Henderson <rth@redhat.com>
1962
1963 * reorg.c (get_branch_condition): Use reversed_comparison_code.
1964
e8766a39
SC
19652002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1966
1967 * config/m68hc11/larith.asm (__map_data_section): Fix condition
1968 and optimize for size.
1969 (__do_global_ctors): Fix pointer comparison.
1970 (__do_global_dtors): Likewise.
1971
f451b552
DM
19722002-04-09 David S. Miller <davem@redhat.com>
1973
1974 * config/sparc/sparc.c (sparc_extra_constraint_check): New
1975 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
1976 allow reloading pseudos.
1977 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
1978 * config/sparc/sparc-protos.h: Declare it.
1979
1980 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
1981 unsigned comparison warning.
1982 (output_restore_regs): Mark leaf_function as unused.
1983
1ce7f3c2
RK
1984Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1985
1986 * expr.c (is_aligning_offset): New function.
1987 (expand_expr, case COMPONENT_EXPR): Call it.
1988
7a31a340
DM
19892002-04-08 David S. Miller <davem@redhat.com>
1990
1991 PR target/6082
1992 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
1993
1994 Make init_priority work on Sparc when using GNU ld.
1995 * config/sparc/linux.h, config/sparc/linux64.h,
1996 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
1997 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
1998 * config/sparc/sol2-gld.h: New file to do the same.
1999 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
2000 sparc/sol2-gld.h to tm_file.
2001
2002 PR optimization/4328
2003 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
2004 * doc/md.texi: Document it.
2005 * config/sparc/sparc.md (movdi_insn_sp64_novis,
2006 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
2007 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
2008 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
2009 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
2010
11579f33
AJ
20112002-04-08 Andreas Jaeger <aj@suse.de>
2012
2013 * stmt.c (expand_asm_operands): Revert last patch from Richard
2014 Henderson.
2015
b57215d9
GP
20162002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2017
2018 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
2019 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
2020
20212002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2022
2023 * doc/contrib.texi (Contributors): Add David O'Brien.
2024
534d0cc0
AM
20252002-04-08 Alan Modra <amodra@bigpond.net.au>
2026
2027 * configure.in (auto-build.h): Use target_alias and build_alias
2028 when running configure.
2029 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
2030 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
2031 * configure: Regenerate.
2032
19fe522a
DM
20332002-04-07 David S. Miller <davem@redhat.com>
2034
2035 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
2036
bf2d0b8e
JDA
20372002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
2038
2039 PR 5933
2040 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
2041 generating 32-bit pic code.
2042
477cdac7
JT
20432002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
2044
2045 * cppinit.c (cpp_create_reader): Initialize
2046 discard_comments_in_macro_exp.
2047 (COMMAND_LINE_OPTIONS): Add "-CC" option.
2048 (cpp_handle_option): Handle "-CC" option.
2049 * cpplex.c (save_comment): If saving a C++ comment in
2050 a directive, convert it to a C comment.
2051 (_cpp_lex_direct): Pass second comment start character to
2052 save_comment to indicate comment type.
2053 * cpplib.c (_cpp_handle_directive): If processing
2054 a "#define" directive and discard_comments_in_macro_exp
2055 is false, re-enable saving of comments.
2056 (lex_macro_node): If discard_comments_in_macro_exp is false,
2057 discard any comments before the macro identifier.
2058 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
2059 member.
2060 * cppmacro.c (cpp_get_token): If expanding a macro while
2061 processing a directive, discard any comments we might encounter.
2062 (parse_params): If discard_comments_in_macro_exp is false,
2063 ignore comments in the macro parameter list.
2064 * gcc.c (cpp_unique_options): Add "-CC" option.
2065 (option_map): Map "--comments-in-macros" to "-CC".
2066 * doc/cppopts.texi: Document "-CC" option.
2067 * f/lang-specs.h: Add "-CC" option.
2068 * testsuite/gcc.dg/cpp/maccom1.c: New test.
2069 * testsuite/gcc.dg/cpp/maccom2.c: New test.
2070 * testsuite/gcc.dg/cpp/maccom3.c: New test.
2071 * testsuite/gcc.dg/cpp/maccom4.c: New test.
2072 * testsuite/gcc.dg/cpp/maccom5.c: New test.
2073 * testsuite/gcc.dg/cpp/maccom6.c: New test.
2074
f1526122
JDA
20752002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
2076
2077 PR middle-end/6180
2078 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
2079
b1896e61
MM
20802002-04-06 Mark Mitchell <mark@codesourcery.com>
2081
0154eaa8
MM
2082 PR c++/5571
2083 * stor-layout.c (layout_decl): Reset the RTL for the decl.
2084
b1896e61
MM
2085 PR opt/5120
2086 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
2087 RTX_UNCHANGING_P for the functions arguments when a tail call
2088 is made.
2089
b0148884
JM
20902002-04-06 Jason Merrill <jason@redhat.com>
2091
2092 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
2093 (parse_options_and_default_flags): Set them appropriately.
2094 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
2095
392fc5b0
HPN
20962002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
2097
2098 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
2099 here.
2100
2101 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
2102 semicolon.
2103
2104 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
2105 types come in by-reference. Fix typo in comment.
2106
2d69e3cb
DM
21072002-04-05 David S. Miller <davem@redhat.com>
2108
2109 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
2110 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
2111 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
2112 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
2113
21142002-04-05 David S. Miller <davem@redhat.com>
2115
2116 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
2117 are not going to emit return instructions, emit at least a nop
2118 for the sake of sane backtraces.
2119
5f9fb0e3
RH
21202002-04-05 Richard Henderson <rth@redhat.com>
2121
2122 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
2123
49f37a0d
JJ
21242002-04-05 Jakub Jeilnek <jakub@redhat.com>
2125
2126 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
2127
974a3101
AO
21282002-04-05 Alexandre Oliva <aoliva@redhat.com>
2129
2130 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
2131 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
2132 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
2133
2e04a694
AS
21342002-04-05 Andreas Schwab <schwab@suse.de>
2135
a40179bd 2136 * c-convert.c: Include c-common.h.
2e04a694
AS
2137 * Makefile.in (c-convert.o): Updated.
2138
1f785b7c
JJ
21392002-04-05 Jakub Jelinek <jakub@redhat.com>
2140
2141 * mklibgcc.in: Use separate libgcc.map for each multilib.
2142 * Makefile.in (distclean): Don't remove libgcc.map here.
2143
4d2fb38b
JJ
21442002-04-05 Jakub Jelinek <jakub@redhat.com>
2145
2146 * Makefile.in (s-mlib): Handle --disable-multilib by separate
2147 genmultilib invocation.
2148
bb63e5a0
RS
21492002-04-04 Richard Sandiford <rsandifo@redhat.com>
2150
2151 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
2152 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
2153 to num_gprs for symmetry.
2154 * config/mips/mips.c: Adjust accordingly.
2155
8ab80eaa
NB
21562002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
2157
2158 * c-common.c (truthvalue_conversion): Rename, update.
2159 * c-common.h (c_common_truthvalue_conversion): New.
2160 * c-convert.c (convert): Update.
2161 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
2162 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
2163 * c-typeck.c (build_binary_op, build_unary_op,
2164 build_conditional_expr): Update.
2165 * fold-const.c (constant_boolean_node, fold): Use langhook.
2166 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
2167 * langhooks.h (struct lang_hooks): New hook.
2168 * stmt.c (expand_decl_cleanup): Use langhook.
2169 * tree.h (truthvalue_conversion): Remove.
2170objc:
2171 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
2172
a2e9374a
AM
21732002-04-05 Alan Modra <amodra@bigpond.net.au>
2174
2175 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
2176 Add rules to make null object file.
2177
64d08263
JB
21782002-04-04 Jim Blandy <jimb@redhat.com>
2179
2180 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
2181 macro formal parameter names.
2182
aa7634dd
DM
21832002-04-04 David S. Miller <davem@redhat.com>
2184
2185 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
2186
ecc114f7
RH
21872002-04-04 Richard Henderson <rth@redhat.com>
2188
2189 PR middle-end/5099
2190 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
2191 Support copies into and out of memory. Don't accept allows_reg
2192 and allows_mem as gospel.
2193
c4484b8f
RH
21942002-04-04 Richard Henderson <rth@redhat.com>
2195
2196 PR opt/6165
2197 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
2198 (write_dependence_p): Likewise.
2199
39002160
RH
22002002-04-04 Richard Henderson <rth@redhat.com>
2201
2202 * predict.c (estimate_bb_frequencies): Do frequency calculation
2203 with a volatile temporary.
2204
f53ebe71
UW
22052002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
2206
2207 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
2208
15e0ecab
JJ
22092002-04-04 Jakub Jelinek <jakub@redhat.com>
2210
2211 PR c++/6119
2212 * final.c (final_start_function): Don't bump profile_label_no here...
2213 (final_end_function): ...but here.
2214
ffd386b0
JJ
22152002-04-04 Jakub Jelinek <jakub@redhat.com>
2216
2217 * config/sparc/sparc.md (pic): New attribute.
2218 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
2219 into stack slots.
2220 (split after do_builtin_setjmp_setup): New.
2221
8b156b3e
JJ
22222002-04-04 Jakub Jelinek <jakub@redhat.com>
2223
2224 PR fortran/6106
2225 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
2226 change.
2227
014c0998
JJ
22282002-04-04 Jakub Jelinek <jakub@redhat.com>
2229
2230 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
2231 UNITS_PER_WORD for zero sized aggregates.
2232
4d8611d9
DM
22332002-04-03 David S. Miller <davem@redhat.com>
2234
2235 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
2236 one-character spec for this, just use %(link_gcc_c_sequence).
2237
b03ad99d
DM
22382002-04-03 David S. Miller <davem@redhat.com>
2239
2240 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
2241 handling.
2242
823fbbce
JDA
22432002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
2244
2245 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
2246 (DWARF_FRAME_RETURN_COLUMN): Move.
2247 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2248 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
2249 * pa.c (except.h, predict.h): Include.
2250 (FRP): Delete.
2251 (store_reg_modify, set_reg_plus_d): Revise prototypes.
2252 (output_ascii): Add cast.
2253 (store_reg_modify): Revise to add frame notes.
2254 (set_reg_plus_d): Likewise.
2255 (compute_frame_size): Include space for eh data registers in frame if
2256 the current function calls eh_return.
2257 (hppa_expand_prologue): Ensure register %r2 is saved if the current
2258 function calls eh_return. Save eh data registers if the current
2259 function calls eh_return. Fix code to add frame notes. Emit
2260 blockage to prevent insns with frame notes being scheduled in the
2261 delay slot of calls.
2262 (hppa_expand_epilogue): Restore eh data registers and do final stack
2263 adjustment if the current function calls eh_return. Don't add frame
2264 notes.
2265 (output_call): Revise for change in length of call insn. Don't do
2266 return pointer adjustment for an unconditional jump in the delay slot
2267 of a call when using frame notes.
2268 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
2269 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
2270 (ARG_POINTER_CFA_OFFSET): Define.
2271 * pa.md (return_external_pic): New pattern.
2272 (prologue): Correct formatting. Use return_external_pic if current
2273 function calls eh_return.
2274 (call_internal_symref, call_value_internal_symref,
2275 sibcall_internal_symref, sibcall_value_internal_symref): Change default
2276 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
2277 respectively.
2278 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
2279
2280 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
2281 list of targets to check using "nop" insn.
2282 * configure: Rebuilt.
2283
4078e224
AM
22842002-04-04 Alan Modra <amodra@bigpond.net.au>
2285
2286 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
2287
bbd7687d
DM
22882002-04-03 David S. Miller <davem@redhat.com>
2289
2290 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
2291 library sequence passed to the linker.
2292 (LINK_COMMAND_SPEC): Use it.
2293 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
2294 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
2295 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2296
659e5a7a
JM
22972002-04-03 Jason Merrill <jason@redhat.com>
2298
2299 * except.c (struct eh_status): Remove protect_list.
2300 (begin_protect_partials, end_protect_partials): Remove.
2301 (add_partial_entry): Remove.
2302 * except.h: Remove prototypes.
2303
2304 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
2305 expand_decl_cleanup_eh.
2306
2307 PR c++/5636
2308 * tree.h (CLEANUP_EH_ONLY): New macro.
2309 * stmt.c (expand_decl_cleanup_eh): New fn.
2310 (expand_cleanups): Check CLEANUP_EH_ONLY.
2311 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
2312 Use expand_decl_cleanup_eh.
2313 (expand_stmt): Adjust.
2314 * c-common.h: Adjust prototype.
2315
053d3344
HPN
23162002-04-04 Hans-Peter Nilsson <hp@axis.com>
2317
2318 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
2319 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
2320 (cris_target_asm_function_epilogue): Ditto.
2321 (cris_initial_frame_pointer_offset): Ditto.
2322 (cris_simple_epilogue): Ditto.
2323 (cris_expand_builtin_va_arg): Variable-size types come in
2324 by-reference.
2325
61ab5260
DM
23262002-04-03 David S. Miller <davem@redhat.com>
2327
2328 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
2329 little-endian.
2330 (set_fast_math): Correct 'fsr' type.
2331
ef4f94ac
RH
23322002-04-03 Richard Henderson <rth@redhat.com>
2333
36c2272c 2334 PR opt/3569
ef4f94ac
RH
2335 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
2336 * toplev.c (check_global_declarations): Use it.
2337 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
2338 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2339 (LANG_HOOKS_DECLS): Add it.
2340 * langhooks.c (lhd_warn_unused_global_decl): New.
2341 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2342 * c-objc-common.c (c_warn_unused_global_decl): New.
2343 * c-tree.h (c_warn_unused_global_decl): Declare.
2344 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2345
599bba86
NB
23462002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
2347
2348 * langhooks-def.h (lhd_set_decl_assembler_name,
2349 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2350 (LANG_HOOKS_INITIALIZER): Update.
2351 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
2352 * langhooks.h (struct lang_hooks): New hook.
2353 * tree.c (set_decl_assembler_name): Move to langhooks.c.
2354 (lang_set_decl_assembler_name): Remove.
2355 (init_obstacks): Don't set hook.
2356 (decl_assembler_name): New function.
2357 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
2358 (decl_assembler_name): New.
2359 (lang_set_decl_assembler_name): Remove.
2360
cf7b8b0d
JJ
23612002-04-03 Jakub Jelinek <jakub@redhat.com>
2362
2363 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
2364 works properly with .hidden symbols.
2365 * configure: Rebuilt.
2366 * config.in: Rebuilt.
2367 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
2368 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
2369 properly with .hidden symbols.
2370
faf6db38
JJ
23712002-04-03 Jakub Jelinek <jakub@redhat.com>
2372
2373 PR middle-end/6102
2374 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
2375 USE argument.
2376
68c17f30
RH
23772002-04-03 Richard Henderson <rth@redhat.com>
2378
2379 PR opt/4120
2380 * sched-rgn.c (sets_likely_spilled): New.
2381 (sets_likely_spilled_1): New.
2382 (add_branch_dependences): Use it.
2383
6584b4aa
RH
23842002-04-02 Richard Henderson <rth@redhat.com>
2385
2386 PR opt/4311
2387 * loop.h (LOOP_FIRST_PASS): New.
2388 * loop.c (strength_reduce): Mind it when deciding to unroll.
2389 * toplev.c (rest_of_compilation): Set it.
2390
0acf409f
DM
23912002-04-02 David S. Miller <davem@redhat.com>
2392
2393 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
2394 mems_ok_for_ldd_peep when the order of the loads being examined
2395 is reversed.
2396 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
2397 existing comment to increase comprehension of this situation.
2398
85654444
ZW
23992002-04-02 Zack Weinberg <zack@codesourcery.com>
2400
2401 * config/sh/sh.md: Don't use union real_extract.
2402
543828ca
RH
24032002-04-02 Richard Henderson <rth@redhat.com>
2404
2405 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
2406
39ed301b
DB
24072002-04-02 David O'Brien <obrien@FreeBSD.org>
2408
2409 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
2410 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
2411 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
2412 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
2413 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
2414 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
2415 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
2416 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
2417 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
2418 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
2419 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
2420 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
2421 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
2422 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
2423 Include as many configury headers via tm_file as possible. This
2424 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
2425 * config/openbsd-oldgas.h: New file.
2426 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
2427 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
2428 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
2429 config/i386/i386-coff.h, config/i386/i386-interix.h,
2430 config/i386/iscdbx.h, config/i386/linux-aout.h,
2431 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
2432 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
2433 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
2434 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
2435 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
2436 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
2437 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
2438 config/i386/vxi386.h: Do not directly include configury headers.
2439 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
2440 Directly include configury headers that are no longer automatically
2441 included by the above headers.
2442 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
2443 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
2444 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
2445 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
2446 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
2447 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
2448 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
2449 (TARGET_VERSION): Define.
2450 * config/i386/beos-elf.h, config/i386/freebsd.h,
2451 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
2452 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
2453 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
2454 config/i386/sco5.h, config/i386/sysv4.h
2455 (TARGET_VERSION): Do not need to protect.
2456 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
2457 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
2458 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
2459 config/i386/i386-interix.h, config/i386/linux-aout.h,
2460 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
2461 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
2462 (YES_UNDERSCORES): Do not define - not needed.
2463 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
2464 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
2465 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
2466 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
2467 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
2468 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
2469 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
2470 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
2471
9432c136
EB
24722002-04-02 Eric Botcazou <ebotcazou@multimania.com>
2473 Richard Henderson <rth@redhat.com>
2474
2475 PR c/5484
2476 * function.c (assign_temp): Accept either type or decl argument.
2477 Detect variables whose size is too large to fit into an integer.
2478 * stmt.c (expand_decl): Pass the decl, not the type.
2479
058b1275
DB
24802002-04-02 David O'Brien <obrien@FreeBSD.org>
2481
2482 * protoize.c: Match include directory usage with cppdefault.c.
2483
5add6d1a 24842002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 2485 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
2486
2487 * combine.c (simplify_comparison): Avoid narrowing a comparison
2488 with a paradoxical subreg when doing so would drop signficant bits.
2489
1e533e4b
SE
24902002-04-02 Steve Ellcey <sje@cup.hp.com>
2491
2492 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
2493 if POINTERS_EXTEND_UNSIGNED is defined.
2494
7a145e92
RH
24952002-04-02 Richard Henderson <rth@redhat.com>
2496
2497 PR opt/3967
2498 * local-alloc.c (contains_replace_regs): LO_SUM may contain
2499 replace regs.
2500
3a079822
RH
25012002-04-02 Richard Henderson <rth@redhat.com>
2502
2503 * doc/standards.texi: Document required freestanding libc entry points.
2504
c94ccb87
AM
25052002-04-02 Alan Modra <amodra@bigpond.net.au>
2506
2507 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
2508 associated splitter. Remove MQ constraint.
2509 (ctrdi_internal4): Correct CCmode clobber.
2510
fe660a1a
JDA
25112002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
2512
2513 * milli64.S ($$dyncall): New function.
2514 * t-linux (LIB1ASMFUNCS): Revise module list.
2515 (LIB1ASMSRC): Use pa/milli64.S.
2516
eadc0202
RH
25172002-04-02 Richard Henderson <rth@redhat.com>
2518
2519 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
2520 rename solaris_sys_varargs_h.
2521
a1471322
RK
2522Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2523
2524 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
2525 the same mode as its component.
2526
c8b94768
RH
25272002-04-02 Richard Henderson <rth@redhat.com>
2528
2529 PR opt/190
2530 * final.c (this_is_asm_operands): Export.
2531 * output.h (this_is_asm_operands): Declare.
2532 * config/i386/i386.c (print_operand): Error odd asm operands.
2533
161eb4fc
RH
25342002-04-02 Richard Henderson <rth@redhat.com>
2535
2536 PR opt/420
2537 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
2538
b88a94c6
RH
25392002-04-01 Richard Henderson <rth@redhat.com>
2540
2541 PR target/1538
2542 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
2543 * fixinc/fixincl.x: Rebuild.
2544
72e32876
RH
25452002-04-01 Richard Henderson <rth@redhat.com>
2546
2547 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
2548 (atomic_alloc, atomic_free): New.
2549 (SIZE, MASK_FOR, PTR_IN): New.
2550 (emergency_reg_state, emergency_reg_state_free): New.
2551 (emergency_labeled_state, emergency_labeled_state_free): New.
2552 (reg_state_alloced, labeled_state_alloced): New.
2553 (alloc_reg_state, free_reg_state): New.
2554 (alloc_label_state, free_label_state, free_label_states): New.
2555 (push, pop, dup_state_stack, free_state_stack): Use them.
2556 (desc_label_state): Likewise.
2557 (uw_frame_state_for): Free label states and state stack.
2558 (uw_update_reg_address): Eliminate warnings.
2559
84d76074
VM
25602002-04-01 Vladimir Makarov <vmakarov@redhat.com>
2561
2562 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 2563 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 2564
dffd7eb6
NB
25652002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
2566
2567 * c-decl.c (grokdeclarator): Update.
2568 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
2569 * c-tree.h (c_mark_addressable): New.
2570 * c-typeck.c (default_function_array_conversion, build_unary_op,
2571 build_array_ref, convert_for_assignment): Update.
2572 (mark_addressable): Rename.
2573 * calls.c (try_to_integrate, expand_call): Use langhook.
2574 * expr.c (expand_expr): Use langhook.
2575 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
2576 * langhooks.h (struct lang_hooks): New hook.
2577 * stmt.c (expand_asm_operands): Use langhook.
2578 * tree.h (mark_addressable): Remove.
2579objc:
2580 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
2581
544ef5b5
BW
25822002-04-01 Bob Wilson <bob.wilson@acm.org>
2583
9be40833
RH
2584 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
2585 in previous change.
544ef5b5 2586
bcf88f9b
BW
25872002-04-01 Bob Wilson <bob.wilson@acm.org>
2588
2589 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
2590 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
2591
ceef8ce4
NB
25922002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
2593
2594 * c-common.c (unsigned_conversion_warning, convert_and_check,
2595 unsigned_type, signed_type, shorten_compare,
2596 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
2597 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
2598 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
2599 New.
2600 * c-decl.c (grokdeclarator): Update.
2601 * c-format.c (check_format_types): Update.
2602 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
2603 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
2604 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
2605 * convert.c (convert_to_integer): Use new hooks.
2606 * expmed.c (make_tree): Use new hooks.
2607 * expr.c (store_expr): Use new hooks.
2608 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
2609 all_ones_mask_p, unextend, fold): Use new hooks.
2610 * langhooks.h (struct lang_hooks_for_types): New hooks.
2611 * tree.h (signed_or_unsigned_type, signed_type,
2612 unsigned_type): Remove.
2613objc:
2614 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
2615 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
2616
1d9ad0e0
RH
26172002-03-31 Richard Henderson <rth@redhat.com>
2618
2619 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
2620 (desc_frgr_mem): Fix reference to f16-f31.
2621
d544bc39
KG
26222002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2623
2624 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
2625 RTVEC_ELT): Const-ify.
d8750784
KG
2626 * varray.h (VARRAY_CHECK): Const-ify.
2627 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
2628 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 2629
b18101c7
NB
26302002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
2631
2632 * diagnostic.c: Include langhooks-def.h.
2633 * Makefile.in (diagnostic.o): Update.
2634
48a7a235
NB
26352002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
2636
2637 * c-common.c (c_unsafe_for_reeval): Rename.
2638 * c-common.h (c_unsafe_for_reeval): Rename.
2639 * c-decl.c (finish_incomplete_decl): Rename.
2640 (c_init_decl_processing): Don't set langhook.
2641 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
2642 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
2643 * c-objc-common.c (c_objc_common_init): Don't set langhook.
2644 * c-tree.h (finish_incomplete_decl): Rename.
2645 * langhooks-def.h (lhd_unsafe_for_reeval): New.
2646 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
2647 (LANG_HOOKS_INITIALIZER): Update.
2648 * langhooks.c (lhd_unsafe_For_reeval): New.
2649 * langhooks.h (struct langhooks): New hooks.
2650 * toplev.c (incomplete_decl_finalize_hook): Remove.
2651 (wrapup_global_declarations): Update.
2652 * tree.c (lang_unsafe_for_reeval): Remove.
2653 (unsafe_for_reeval): Update.
2654 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
2655 Remove.
2656objc:
2657 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
2658 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
2659
7cb32822
NB
26602002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
2661
2662 * diagnostic.c (print_error_function): Remove.
2663 (default_print_error_function): Rename.
2664 (report_error_function): Update.
2665 * diagnostic.h (print_error_function): Remove.
2666 (default_print_error_function): Remove.
2667 * langhooks-def.h (struct diagnostic_context): Predeclare.
2668 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
2669 (LANG_HOOKS_INITIALIZER): Update.
2670 * langhooks.h (struct diagnostic context): Predeclare.
2671 (struct lang_hooks): New hook.
2672
1db02437
FS
26732002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2674
2675 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
2676 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
2677 !flag_pic.
2678 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
2679 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
2680 of PIC_OFFSET_TABLE_REGNUM thruout.
2681 * config/rs6000/rs6000.md: Likewise.
2682 * config/rs6000/darwin.h: Likewise.
2683
3bf1e984
RK
2684Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2685
2686 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
2687 unsigned HOST_WIDE_INT, not unsigned int.
2688
0864c526
JJ
26892002-03-31 Jakub Jelinek <jakub@redhat.com>
2690
2691 PR middle-end/6096, middle-end/6098, middle-end/6099
2692 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
2693 CODE_LABELs.
2694 (fill_slots_from_thread): Likewise.
2695
105b2084
JJ
26962002-03-31 Jakub Jelinek <jakub@redhat.com>
2697
2698 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
2699 floating fields in float regs.
2700 (function_arg_record_value_2): Likewise.
2701
db08fddf
HPN
27022002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
2703
2704 * config/mmix/mmix.md (define_constants): Remove misleading
2705 FIXME. Add MMIX_fp_rO_OFFSET.
2706 ("nonlocal_goto_receiver"): Don't have stack-frame address of
2707 saved rO as part of the pattern. Remove FIXME.
2708 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
2709 here, at output-time.
2710
4f31cce8
JJ
27112002-03-31 Jakub Jelinek <jakub@redhat.com>
2712
2713 PR middle-end/6100
2714 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
2715 REG_BR_PRED.
2716 (output_v9branch): Likewise.
2717
ba2b7435
AO
27182002-03-31 Alexandre Oliva <aoliva@redhat.com>
2719
2720 * gcc.c: Revert previous patch for now.
2721 * config/i386/djgpp.h: Likewise.
2722
aa66aa5f 27232002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
2724
2725 * config/mmix/crti.asm (_init): Register _fini with atexit.
2726 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
2727
41ba8a20
RH
27282002-03-31 Richard Henderson <rth@redhat.com>
2729
2730 PR target/3997
2731 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
2732 (ASM_OUTPUT_DEF_FROM_DECLS): New.
2733
adc186ef
RH
27342002-03-31 Richard Henderson <rth@redhat.com>
2735
2736 * libgcc2.c (__bb_exit_func): Make static.
2737
9be40833 2738 * config/alpha/alpha.md (trap): New.
a7648399 2739
9602f5a0
RH
27402002-03-31 Richard Henderson <rth@redhat.com>
2741
2742 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
2743 promoted argument types; build trap.
2744 (expand_builtin_trap): New.
2745 (expand_builtin): Use it.
2746 * stmt.c (expand_nl_goto_receivers): Likewise.
2747 * expr.h (expand_builtin_trap): Declare.
2748 * libfuncs.h (LTI_abort, abort_libfunc): New.
2749 * optabs.c (init_optabs): Init abort_libfunc.
2750
1a0a7539
AO
27512002-03-31 Alexandre Oliva <aoliva@redhat.com>
2752
2753 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
2754 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 2755 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
2756 shared_name in the second copy.
2757 (init_spec): Test for duplicate
2758 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
2759
b5de1a27
DM
27602002-03-30 David S. Miller <davem@redhat.com>
2761
2762 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2763 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
2764
78414d74 27652002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 2766 Richard Henderson <rth@redhat.com>
78414d74 2767
9be40833
RH
2768 * regmove.c (combine_stack_adjustments_for_block): Avoid
2769 emitting a stack adjustment of zero bytes. Let delete_insn
2770 update bb->head.
78414d74 2771
33074e5f
RH
27722002-03-30 Richard Henderson <rth@redhat.com>
2773
2774 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
2775 (sparc_emitting_epilogue): New.
2776 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
2777 * config/sparc/sparc-protos.h: Update.
2778 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
2779 (TARGET_SWITCHES): Update.
2780 * config/sparc/sparc.md (return): Remove.
2781 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
2782 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
2783 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
2784 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
2785 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
2786 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
2787 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
2788 Remove MASK_EPILOGUE.
2789 * doc/invoke.texi: Update.
2790
606cc056
DB
27912002-03-30 Daniel Berlin <dan@dberlin.org>
2792
2793 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
2794 CPP will start the file for us.
7b2e1077 2795
bdbe5b8d
RH
27962002-03-30 Richard Henderson <rth@redhat.com>
2797
2798 PR target/5446
2799 * config/ia64/ia64.c (group_barrier_needed_p): Special case
2800 prologue_allocate_stack.
2801 (ia64_single_set): Use insn codes for recognition of special
2802 cases, not rtl matching.
2803 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
2804
4ab95d82
JH
2805Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
2806
2807 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
2808
89a8b315
RH
28092002-03-30 Richard Henderson <rth@redhat.com>
2810
2811 PR target/6032
2812 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
2813 or -fomit-frame-pointer with profiling.
2814 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2815 (FUNCTION_PROFILER): Do nothing.
2816 (PROFILE_HOOK): New.
2817 * config/sparc/sparc.c (sparc_override_options): Don't check
2818 code models for profiling.
2819 (sparc_function_profiler): Remove.
2820 (sparc_profile_hook): New.
2821 * config/sparc/sparc-protos.h: Update.
2822
30984c57
JJ
28232002-03-30 Jakub Jelinek <jakub@redhat.com>
2824
2825 PR optimization/6086
2826 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
2827 of SUBREG of volatile MEM or because the MEM was mode dependent,
2828 return CLOBBER instead of unmodified SUBREG.
2829
1540f9eb
JH
2830Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
2831
89a8b315
RH
2832 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
2833 when not optimizing.
1540f9eb
JH
2834
2835 * toplev.c (rest_of_compilation): Cann mark_constant_function
2836 only when optimizing.
2837
89a8b315
RH
2838 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
2839 are NULL.
1540f9eb
JH
2840
2841 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
2842 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
2843 (try_optimize_cfg): clear all AUX fields.
2844
2845 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
2846 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
2847 (ix86_address_cost): Be prepared for SUBREGed registers.
2848 (legitimate_address_p): Accept SUBREGed registers.
2849
70d95bac
RH
28502002-03-29 Richard Henderson <rth@redhat.com>
2851
2852 PR target/5672
2853 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
2854
d3294cd9
FS
28552002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2856
2857 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
2858 for aggregate and TFmode types.
2859
a106c875
HPN
28602002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
2861
2862 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
2863
7d7a5d6f
RH
28642002-03-29 Richard Henderson <rth@redhat.com>
2865
6e2d670b 2866 PR target/5886
7d7a5d6f
RH
2867 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
2868 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
2869
30c99a84
RH
28702002-03-29 Richard Henderson <rth@redhat.com>
2871
6e2d670b 2872 PR target/6041
30c99a84
RH
2873 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
2874 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
2875 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
2876 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
2877 conditional.
2878 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
2879
02a566dc
DJ
28802002-03-29 Dale Johannesen <dalej@apple.com>
2881
2882 * loop.c (combine_movables): Do allow combination of pseudos.
2883
bc3a44db
LR
28842002-03-29 Loren J. Rittle <ljrittle@acm.org>
2885
2886 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
2887 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
2888 No functional change except ...
2889 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
2890 * doc/install.texi (*-*-freebsd*): Document port configuration.
2891
b0c48229
NB
28922002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
2893
2894 * Makefile.in (convert.o, calls.o, expmed.o): Update.
2895 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
2896 Use new hooks.
2897 * builtin-types.def (BT_PTRMODE): Update.
2898 * c-common.c (type_for_size): Rename c_common_type_for_size.
2899 (type_for_mode): Similarly.
2900 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
2901 Use new hook.
2902 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
2903 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
2904 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
2905 Redefine.
2906 * c-typeck.c (common_type, comptypes, default_conversion):
2907 Use new hooks.
2908 * calls.c: Include langhooks.h.
2909 (emit_library_call_value_1): Use new hooks. Avoid redundant
2910 calls.
2911 * convert.c: Include langhooks.h
2912 (convert_to_pointer, convert_to_integer): Use new hooks.
2913 * except.c (init_eh): Similarly.
2914 * expmed.c: Include langhooks.h.
2915 (expand_mult_add): Use new hooks.
2916 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
2917 try_casesi): Similarly.
2918 * fold-const.c (optimize_bit_field_compare, make_range,
2919 decode_field_reference, fold_truthop, fold): Similarly.
2920 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
2921 put_var_into_stack): Similarly.
2922 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
2923 LANG_HOOKS_TYPE_FOR_SIZE): New.
2924 (LANG_HOOKS_TYPES_INITIALIZER): Update.
2925 * langhooks.h (lang_hooks_for_types): New hooks.
2926 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
2927 * tree.c (get_unwidened, get_narrower): Similarly.
2928 * tree.h (type_for_mode, type_for_size): Remove.
2929 * varasm.c (force_const_mem): Use new hooks.
2930 * utils2.c (nonbinary_modular_operation): Update.
2931objc:
2932 * objc-act.c (handle_impent): Update.
2933 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
2934 Redefine.
2935
e206a74f
SE
29362002-03-29 Steve Ellcey <sje@cup.hp.com>
2937
2938 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
2939 * config/ia64/ia64.c (basereg_operand): New.
2940 * config/ia64/ia64-protos.h (basereg_operand): Declare.
2941 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
2942
7d9b6378
HPN
29432002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
2944
2945 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
2946 unwind information when frame_pointer_needed.
2947 (mmix_assemble_integer): Tweak wording in comment.
2948
f1e639b1
NB
29492002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
2950
2951 * Makefile.in (except.o): Update.
2952 * except.c: Include langhooks.h.
2953 (init_eh): Use langhook.
2954 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
2955 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
2956 (LANG_HOOKS_INITIALIZER): Update.
2957 * langhooks.h (lang_hooks_for_types): New.
2958 (struct lang_hooks): Add it.
2959 * tree.c (make_lang_type_fn, make_lang_type): Remove.
2960 * tree.h (make_lang_type_fn, make_lang_type): Remove.
2961config:
2962 * alpha/alpha.c: Include langhooks.h.
2963 (alpha_build_va_list): Use langhook.
2964 * d30v/d30v.c: Include langhooks.h.
2965 (d30v_build_va_list): Use langhook.
2966 * i386/i386.c: Include langhooks.h.
2967 (ix86_build_va_list): Use langhook.
2968 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
2969 * s390/s390.c: Include langhooks.h.
2970 (s390_build_va_list): Use langhook.
2971 * stormy16/stormy16.c: Include langhooks.h.
2972 (stormy16_build_va_list): Use langhook.
2973
f17f9332
JJ
29742002-03-29 Jakub Jelinek <jakub@redhat.com>
2975
2976 PR c++/5964
2977 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
2978 attributes.
2979 (length): Compute variable length for branches/calls/jumps here.
2980 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
2981 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
2982 define branch_type attribute.
2983 (divsi3_sp32): Maximum length is 6 not 7.
2984 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
2985 call_address_untyped_struct_value_sp32,
2986 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
2987 * config/sparc/sparc.c (empty_delay_slot): New function.
2988 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
2989 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
2990
0a0440c9
JJ
29912002-03-29 Jakub Jelinek <jakub@redhat.com>
2992
2993 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
2994 nonzero_bits if not needed.
2995 (nonzero_bits) [XOR]: Likewise.
2996 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
2997 reg_last_set_mode and mode are both MODE_INT, but not equal.
2998 (record_value_for_reg): Compute reg_last_set_nonzero_bits
2999 in nonzero_bits_mode for MODE_INT modes.
3000
c9045f47
RH
30012002-03-28 Richard Henderson <rth@redhat.com>
3002
3003 PR target/5715
3004 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
3005 to GAS. Correct drift between alternatives.
3006
f8ed1958
RH
30072002-03-28 Richard Henderson <rth@redhat.com>
3008
3009 PR target/6087
3010 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
3011
54e20385
LR
30122002-03-28 Alexandre Oliva <aoliva@redhat.com>
3013
3014 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
3015 emulation to the linker.
3016
30172002-03-28 Loren J. Rittle <ljrittle@acm.org>
3018
3019 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
3020 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
3021
8bc52806
JL
3022Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
3023
3024 * combine.c (simplify_and_const_int): Make sure to apply mask
3025 when force_to_mode returns a constant integer. PR3311.
3026
279dccc5
JDA
30272002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
3028
3029 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
3030
62aaa62c
GP
30312002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3032
3033 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
3034 and Objective-C Dialect Options.
3035
b8de5050
RH
30362002-03-28 Richard Henderson <rth@redhat.com>
3037
3038 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
3039 comparison should be done vs !=0 not >0 return code. Tidy cases.
3040
619708cc
RH
30412002-03-28 Richard Henderson <rth@redhat.com>
3042
3043 * c-decl.c (finish_function): New arg can_defer_p. Pass it
3044 on to c_expand_body.
3045 * c-tree.h (finish_function): Update decl.
3046 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
3047
b1d874d7
JH
3048Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
3049
3050 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
3051
f5eb5fd0
JH
3052Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
3053
3054 * rtlanal.c: Include flags.h
3055 (may_trap_p): Do not mark FP operations if trapping
3056 if !flag_trapping_math
3057 * Makefile.in (rtlanal.o): Add dependency on flag.h
3058 * ifcvt.c (noce_operand_ok): Avoid the lameness.
3059
81b4c798
ZW
30602002-03-27 Zack Weinberg <zack@codesourcery.com>
3061
3062 * mips.md: Use dconst1, not 1.0, as first argument of
3063 REAL_VALUE_LDEXP. Don't use union real_extract.
3064
55a2ea2a
AM
30652002-03-28 Alan Modra <amodra@bigpond.net.au>
3066
3067 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
3068 rather than $target. Heed program_prefix and
3069 program_transform_name. Search for gas in cross-compiler case too.
3070 "test -x" rather than "test -f".
3071 (gcc_cv_ld): Likewise.
3072 (gcc_cv_nm): Heed program_prefix and program_transform_name.
3073 (gcc_cv_objdump): Likewise.
3074 * configure: Regenerate.
3075
7ffb4fd2
NB
30762002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
3077
3078 * Makefile.in (attribs.o): Update.
3079 * attribs.c: Include langhooks.h.
3080 (decl_attributes): Use langhook.
3081 * c-decl.c (insert_default_attributes): Rename.
3082 * c-tree.h (c_insert_default_attributes): New.
3083 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
3084 (LANG_HOOKS_INITIALIZER): Update.
3085 * langhooks.h (struct lang_hooks): New hook.
3086 * tree.h (insert_default_attributes): Remove.
3087objc:
3088 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
3089
e4dbaed5
AS
30902002-03-27 Andreas Schwab <schwab@suse.de>
3091
3092 * config/i386/i386.c (classify_argument): Also check for
3093 QUAL_UNION_TYPE.
3094
18b467f1
RO
30952002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3096
3097 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
3098 any more.
3099
d337d653
JH
3100Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
3101
3102 * i960.md (ret): Set PC.
3103 (nonlocal_goto): Fix expander.
3104 * builtins.c (epxand_builin_longjmp): Check that we've emitted
3105 some jump or call.
3106
218aa620
JH
3107Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
3108
3109 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
3110 of libcall regions.
3111
e27a4eaf
ZD
3112Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3113
3114 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
3115 assigning to BLOCK_FOR_INSN directly.
3116
8a12f34c
JH
3117Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
3118
3119 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
3120
c9d892a8
NB
31212002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
3122
3123 * c-common.c (c_expand_expr): Fix prototype.
3124 * c-common.h (c_expand_expr): Always declare, update.
3125 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
3126 * c-objc-common.c (c_objc_common_init): No global hook.
3127 * expr.c (expand_expr): Use langhook.
3128 * expr.h (enum expand_modifier): Conditionally declare.
3129 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
3130 (LANG_HOOKS_INITIALIZER): Update.
3131 * langhooks.c (lhd_expand_expr): New.
3132 * langhooks.h (struct lang_hooks): New hook.
3133 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
3134 (lang_independent_init): Don't default hook.
3135objc:
3136 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
3137
6dad5a56
RH
31382002-03-27 Richard Henderson <rth@redhat.com>
3139
3140 PR target/6054
3141 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
3142 TARGET_CONST_GP. Simplify conditions.
3143
59f96879
RH
31442002-03-27 Richard Henderson <rth@redhat.com>
3145
3146 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
3147 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
3148 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
3149
f3f1190d
DS
31502002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
3151
3152 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
3153 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
3154 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
3155 Remove unnecessary masks.
3156 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
3157 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
3158 -mwindows, -mdll switches and their negations.
3159
31c816cf
NB
31602002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
3161
3162 * gcc-common.c (lang_mark_false_label_stack): Remove.
3163 * ggc.h (lang_mark_false_label_stack): Similarly.
3164
7b2e1077 31652002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
3166
3167 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
3168
3169 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
3170 or __rtems_ is defined.
3171
1ef9531b
RH
31722002-03-26 Richard Henderson <rth@redhat.com>
3173
3174 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
3175 if a non-trivial load was emitted.
3176 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
3177 in high+extra+low case.
3178
300d4093
RH
31792002-03-26 Richard Henderson <rth@redhat.com>
3180
3181 * config.gcc (sparc*-solaris): Use float_format=sparc.
3182
b3689904
RH
31832002-03-26 Richard Henderson <rth@redhat.com>
3184
3185 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
3186 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
3187 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
3188 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
3189 (WINT_TYPE_SIZE): Fix at 32.
3190
1eefb6c1
RH
31912002-03-26 Richard Henderson <rth@redhat.com>
3192
3193 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
3194 until after eh landing pad generation.
3195 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
3196 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
3197
361ea006
RH
31982002-03-26 Richard Henderson <rth@redhat.com>
3199
3200 * expr.h (ADD_PARM_SIZE): One more convert for INC.
3201
1de38a88
PE
32022002-03-26 Phil Edwards <pme@gcc.gnu.org>
3203
3204 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
3205 and warning switches.
3206 (cc1_options): Likewise.
3207
d7e60e95 32082002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 3209
d7e60e95
HB
3210 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
3211 Restore more of the signal context. Set no_reg_stack_frame.
3212 * config/ia64/unwind-ia64.c (unw_state_record):
3213 Add no_reg_stack_frame, comments.
3214 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
3215 (uw_update_context): Adjust bsp when unwinding from leaf,
3216 but not signal frame.
3217
7032923b
DE
32182002-03-26 David Edelsohn <edelsohn@gnu.org>
3219
3220 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
3221
8be56275
BW
32222002-03-26 Bob Wilson <bob.wilson@acm.org>
3223
3224 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
3225
56fbb855
RE
32262002-03-26 Richard Earnshaw <rearnsha@arm.com>
3227
3228 PR target/5621
3229 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
3230 "Add a pool_range attribute", which was lost during the ARM/Thumb
3231 merge.
3232
3437320b
BW
32332002-03-26 Bob Wilson <bob.wilson@acm.org>
3234
3235 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
3236 a register into the MAC16 accumulator.
3237
173028e5
AC
32382002-03-26 Andrew Cagney <ac131313@redhat.com>
3239
3240 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
3241 (Warning Options): Document -Wswitch-enum.
3242 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
3243 -Wswitch.
3244 (warn_switch_enum): Define variables.
3245 * flags.h (warn_switch_enum): Declare variables.
3246 * stmt.c (expand_end_case_type): When warn_switch_enum /
3247 -Wswitch-enum, perform switch checks.
3248 Fix PR c/5044.
7b2e1077 3249
e14365a7
RE
32502002-03-26 Richard Earnshaw <rearnsha@arm.com>
3251
3252 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
3253 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
3254 (reload_muladdsi_compare0_scratch): Delete.
3255
46fc709d
LR
32562002-03-26 Loren J. Rittle <ljrittle@acm.org>
3257
3258 * doc/install.texi (*-*-freebsd*): Update.
3259
f36dea3c
RH
32602002-03-26 Richard Henderson <rth@redhat.com>
3261
8e5fe23f
RH
3262 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
3263 (SUB_PARM_SIZE): Cast DEC to ssizetype.
3264
3265 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
3266 types from the normal argument frame.
3267
f36dea3c
RH
3268 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
3269 variable sized objects by reference.
3270 (sparc_va_arg): Receive them by reference too.
3271
1447dc69
HP
32722002-03-26 Hartmut Penner <hpenner@de.ibm.com>
3273
3274 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 3275 code to not restoring global registers.
1447dc69 3276
4f0ade92
NB
32772002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
3278
3279 * Makefile.in (ggc-common.o): Update.
3280 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
3281 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
3282 * c-tree.h (c_mark_tree): New.
3283 * ggc-common.c: Include langhooks.h.
3284 (gcc_mark_trees): Use new langhook.
3285 * ggc-callbacks.c: Delete file.
3286 * ggc.h (lang_mark_tree): Remove.
3287 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
3288 (LANG_HOOKS_INITIALIZER): Update.
3289 * langhooks.h (struct lang_hooks): New hook.
3290objc:
3291 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
3292
caba570b
ZW
32932002-03-25 Zack Weinberg <zack@codesourcery.com>
3294
3295 * doc/cpp.texi: Exclude entire Top node from printed manual.
3296 Move option index after directive index. Insert page breaks
3297 before GFDL and concept index. Index environment variables
3298 with command line options.
3299 * doc/cppenv.texi: Use @vtable for environment variable list.
3300 Add paragraph explaining semantics of empty elements in path
3301 variables. Exclude a cross-reference to Fishkill from the
3302 manpage. Remove an unnecessary cross-reference of the entry
3303 right above the referer. Don't use @anchor in text that goes
3304 into manpage.
3305 * doc/cppopts.texi: Cross-reference the environment variables
3306 section, not the specific environment variable, for consistency.
3307
6b2e80b7
RH
33082002-03-25 Richard Henderson <rth@redhat.com>
3309
3310 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
3311 anywhere in the block. Don't refer to insns that have been
3312 removed from the chain. Iterate backward through the new insns.
3313 Don't refer to edges that have been removed.
3314
67e469d7
AM
33152002-03-26 Alan Modra <amodra@bigpond.net.au>
3316
3317 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
3318 test for overflow of constant.
3319
f2356393
RE
33202002-03-25 Richard Earnshaw <rearnsha@arm.com>
3321
3322 PR target/2623
3323 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
3324 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
3325 these patterns on arm_archv4.
3326
355426ab
DS
33272002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
3328
3329 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
3330 int".
3331
15e5ad76
ZW
33322002-03-25 Zack Weinberg <zack@codesourcery.com>
3333
3334 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
3335 float_handled, float_handler, float_signal, set_float_handler,
3336 and do_float_handler. Set handler for SIGFPE to crash_signal.
3337 * toplev.h: Don't prototype do_float_handler.
3338
3339 * c-lex.c: Fold parse_float into lex_number. Make warning
3340 about portability of hex float constants more informative, and
3341 don't issue it on top of a syntax error.
3342 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
3343 their callers.
3344 * real.h: Define REAL_VALUE_ABS here...
3345 * simplify-rtx.c: ... not here. Fold check_fold_consts,
3346 simplify_unary_real, simplify_binary_real, and
3347 simplify_binary_is2orm1 into their callers.
3348 * tree.c: Fold build_real_from_int_cst_1 into caller.
3349
3350 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
3351
3352 * tsystem.h: Include float.h here...
3353 * libgcc2.c: ... not here.
3354
56ae9405
NC
33552002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
3356
3357 Fixes for: PR bootstrap/3591, target/5676
3358 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
3359 defined. Do not disable exceptions or rtti.
3360 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
3361 mcore.h. Disable exceptions and rtti, since they are not
3362 supported by EPOC.
3363
c88770e9
NB
33642002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
3365
3366 * c-decl.c (maybe_build_cleanup): Remove.
3367 * expr.c (expand_expr): Use langhook.
3368 * langhooks-def.h (lhd_return_null_tree,
3369 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
3370 (LANGHOOKS_INITIALIZER): Update.
3371 * langhooks.c (lhd_return_null_tree): New.
3372 * langhooks.h (struct lang_hooks): New hook.
3373 * tree-inline.c (initialize_inlined_parameters): Use langhook.
3374 * tree.h (maybe_build_cleanup): Remove.
3375
2ed1f154
JJ
33762002-03-25 Jakub Jelinek <jakub@redhat.com>
3377
3378 * regrename.c (build_def_use): Move recog_memoized
3379 before extract_insn.
3380
6ddae612
JJ
33812002-03-25 Jakub Jelinek <jakub@redhat.com>
3382
3383 PR target/6043
3384 * expr.c (emit_group_store): Handle storing into CONCAT.
3385
ea475b23
JJ
33862002-03-25 Jakub Jelinek <jakub@redhat.com>
3387
3388 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
3389 corresponding MATCH_DUP.
3390
e7d482b9
RH
33912002-03-24 Richard Henderson <rth@redhat.com>
3392
cd39fc13
RH
3393 * unroll.c (unroll_loop): Zero label_map.
3394
e7d482b9
RH
3395 * gcse.c: Include except.h.
3396 * Makefile.in (gcse.o): Update.
3397
1bd6476f
RH
33982002-03-24 Richard Henderson <rth@redhat.com>
3399
3400 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
3401 Do resolve_unique_section before shared data clause.
3402
2e6c150a
RH
34032002-03-24 Richard Henderson <rth@redhat.com>
3404
3405 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
3406
b29afcf8
RH
34072002-03-24 Richard Henderson <rth@redhat.com>
3408
15e5ad76 3409 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
3410 generated in the middle of a block. Do global life update if
3411 zapped EH edges.
3412
05ed1296
RH
34132002-03-24 Richard Henderson <rth@redhat.com>
3414
3415 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
3416
3ddbb8a9
NB
34172002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
3418
3419 preprocessor/3951
15e5ad76 3420 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
3421 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
3422 (init_dependency_output): Don't make no_output decision here.
3423
740b77b6
AC
34242002-03-24 Andrew Cagney <ac131313@redhat.com>
3425
3426 * stmt.c (check_for_full_enumeration_handling): Remove tests of
3427 warn_switch. Update description.
3428 (expand_end_case_type): Call check_for_full_enumeration_handling
3429 when warn_switch.
3430
7590cfd0
SC
34312002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3432
3433 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
3434 (m68hc11_split_move): Call it to see if the source and destination
3435 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 3436 source an offsetable memory operand and generate an add.
7590cfd0 3437
2e3d3481
SC
34382002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3439
3440 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
3441 register for operand 2.
3442 ("*subsi3_zero_extendqi"): Likewise.
3443 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
3444 bits so that it is compatible with a pop.
3445 ("*andhi3_gen"): Likewise.
3446 ("xorhi3"): Likewise.
3447
2784528c
NB
34482002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
3449
3450 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
3451 -pedantic here...
3452 (cpp_post_options): ... not here.
3453
aaf93206
NB
34542002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
3455 Aldy Hernandez <aldyh@redhat.com>
3456
3457 Removal of separate preprocessor cpp0.
3458
3459 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
3460 cpp0, install-common): Update.
3461 * c-common.c (flag_preprocess_only): New.
3462 (c_common_init): Preprocess for -E.
3463 * c-common.h (flag_preprocess_only): New.
3464 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
3465 * c-objc-common.c (c_init_decl_processing): Exit quickly
3466 for NULL return from c_common_init.
3467 * cpplib.h (cpp_preprocess_file): New.
3468 * cppmain.c (main, general_init, pfile, progname): Remove.
3469 (do_preprocessing): Rename cpp_preprocess_file, don't call
3470 cpp_finish. Don't close stdout here.
3471 (setup_callbacks): Update prototype.
3472 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
3473 Update.
3474 * tradcpp.c (main): Ignore -quiet.
3475objc:
3476 * lang-specs.h (default_compilers): Preprocess with cc1obj.
3477
c6e6f5c1
RH
34782002-03-24 Richard Henderson <rth@redhat.com>
3479
3480 PR optimization/5742
3481 * machmode.def: Add inner mode field to complex modes.
3482 * config/mips/mips.c (mips_function_value): Always define. Add
3483 new argument to handle libcalls.
3484 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
3485 (FUNCTION_VALUE): Likewise.
3486 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
3487 * config/mips/mips-protos.h: Update.
3488
d88e57d1
RH
34892002-03-23 Richard Henderson <rth@redhat.com>
3490
3491 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
3492 * config/sparc/sparc-protos.h: Update.
3493 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
3494
6dfaf9ba
RH
34952002-03-23 Richard Henderson <rth@redhat.com>
3496
3497 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
3498 _start or _init begins the text segment.
3499
0c769cf8
DE
35002002-03-23 David Edelsohn <edelsohn@gnu.org>
3501
3502 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
3503 not HOST_WIDEST_INT.
3504 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
3505
64e92a26
RE
35062002-03-23 Richard Earnshaw <rearnsha@arm.com>
3507
3508 PR java/5489
3509 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
3510 operand argument to output_return_instruction.
15e5ad76 3511 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
3512 const_true_rtx then just return.
3513 (arm_print_operand, case 'D'): If the operand is const_true_rtx
3514 then abort.
3515
d6961341
AC
35162002-03-23 Andrew Cagney <ac131313@redhat.com>
3517
3518 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
3519 (Warning Options): Document -Wswitch-default.
3520 * toplev.c (W_options): Add -Wswitch-default. Update comment on
3521 -Wswitch.
3522 (warn_switch_default): Define variable.
3523 (warn_switch): Update comment.
3524 * flags.h (warn_switch_default): Declare variable.
3525 (warn_switch): Update comment.
3526 * stmt.c (expand_end_case): Check for and, when
3527 warn_switch_no_default, warn of a missing default case.
15e5ad76 3528
d4c5ac1f
AM
35292002-03-23 Alan Modra <amodra@bigpond.net.au>
3530
bbaa9790
AM
3531 * real.h (N): Special case 128 bit doubles.
3532
d4c5ac1f
AM
3533 * combine.c (simplify_comparison): When widening modes, ignore
3534 sign extension on CONST_INTs.
3535
84bf8c2c
BW
35362002-03-22 Bob Wilson <bob.wilson@acm.org>
3537
3538 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
3539 passed to adjust_address. Fix comment formatting.
3540
3541
b216cd4a
ZW
35422002-03-22 Zack Weinberg <zack@codesourcery.com>
3543
3544 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
3545 Always make REAL_VALUE_TYPE a struct containing an array of
3546 HOST_WIDE_INT, not a double. Tidy up the code deciding how
3547 big it is. Don't declare or use union real_extract.
3548
3549 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
3550 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
3551 (print_operand), config/arm/arm.c (output_move_double),
3552 config/arm/arm.md (consttable_4, consttable_8),
3553 config/romp/romp.c (output_fpops), config/s390/s390.h
3554 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
3555 (xtensa_output_literal): Don't use union real_extract.
3556
3557 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
3558 (sfmode_constant_to_ulong), config/ns32k/merlin.h
3559 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
3560 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
3561 (PRINT_OPERAND): Don't use local version of union
3562 real_extract.
3563
3564 * config/convex/convex.c (check_float_value), config/vax/vax.c
3565 (vax_float_literal), config/m88k/m88k.md (divdf3),
3566 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
3567 config/pdp11/pdp11.c (output_move_quad): Don't do host
3568 arithmetic on target floating point quantities.
3569
3570 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
3571 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
3572
3573 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
3574 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
3575
3576 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
3577 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
3578 INFINITY.
3579 * print-rtl.c (print_rtx): Disable code which needs
3580 floating-point emulator.
3581 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
3582 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
3583 depending on HOST_FLOAT_FORMAT to be defined properly.
3584
3585 * config/1750a/1750a.c (get_double, float_label): Delete.
3586 (print_operand): Delete huge commented-out chunk. Use
3587 REAL_VALUE_TO_DECIMAL.
3588 * config/1750a/1750a-protos.h: Delete prototypes of deleted
3589 functions.
3590 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
3591 IEEE_FLOAT_FORMAT.
3592 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
3593 Use REAL_VALUE_TO_DECIMAL as ELF version does.
3594 * config/m88k/m88k.c (real_power_of_2_operand,
3595 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
3596 real_extract out of the union; run the input through
3597 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
3598 from that into the union.
3599 * config/pdp11/pdp11.c (output_move_double): Rearrange
3600 parentheses to make automatic indenter happy.
3601
3602 * doc/tm.texi (Cross-compilation): Rename node to "Floating
3603 Point" and rewrite to describe current situation. Also adjust
3604 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
3605 match code.
3606 * doc/rtl.texi: Adjust cross reference.
3607
a8cacfd2
BW
36082002-03-22 Bob Wilson <bob.wilson@acm.org>
3609
3610 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
3611 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
3612 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
3613 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
3614 prevent use of sp as a reload register.
3615 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
3616 non_acc_reg_operand.
3617 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
3618 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
3619 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
3620 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
3621
d4e6133f
NB
36222002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
3623
b216cd4a
ZW
3624 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
3625 * cpplex.c (unterminated): Delete.
3626 (parse_string): No string literal may extend over multiple
3627 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
3628 * cppmain.c (scan_translation_unit): Strings are single-line.
3629
b216cd4a 3630 * doc/cpp.texi: Update to match.
d4e6133f 3631
65e6c005
JJ
36322002-03-22 Jakub Jelinek <jakub@redhat.com>
3633
3634 PR optimization/5854
3635 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
3636 Shut up warnings.
3637 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
3638 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
3639 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
3640 const0 if scratch register was not allocated.
3641 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
3642 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
3643 with GEN_INT (...).
3644 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
3645 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
3646 with GEN_INT (...) everywhere. Remove constraints in define_split
3647 patterns.
3648 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
3649 require scratch register for setting 0 into regs/non-pushable memory.
3650
7f48c9e1
AO
36512002-03-22 Alexandre Oliva <aoliva@redhat.com>
3652
3653 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
3654 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
3655
909de5da
PE
36562002-03-22 Phil Edwards <pme@gcc.gnu.org>
3657
3658 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
3659 * cppinit.c (cpp_create_reader): On by default.
3660 (cpp_handle_option): Handle -W[no-]endif-labels.
3661 (cpp_post_options): Also enable if -pedantic.
3662 * cpplib.c (do_else): Use it.
3663 (do_endif): Likewise.
3664 * doc/cppopts.texi: Document new option.
3665 * doc/invoke.texi: Document new option.
3666
d8bf17f9
LB
36672002-03-22 Lars Brinkhoff <lars@nocrew.org>
3668
3669 * config/i386/i386.c, config/i386/i386.md: Change all occurences
3670 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
3671
70e0ccd0
AO
36722002-03-22 Alexandre Oliva <aoliva@redhat.com>
3673
3674 * flow.c (calculate_global_regs_live): Clear aux fields of
3675 ENTRY and EXIT.
3676
68882f0f
JJ
36772002-03-22 Jakub Jelinek <jakub@redhat.com>
3678
3679 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
3680 REG or MEM subregs, pass rtx * instead of rtx to it.
3681 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
3682 rtx * instead of rtx to alter_subreg.
3683 * config/m32r/m32r.c (gen_split_move_double): Likewise.
3684 * config/pj/pj.c (pj_output_rval): Likewise.
3685
648fe28b
RH
36862002-03-22 Richard Henderson <rth@redhat.com>
3687
3688 PR target/3177
3689 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
3690 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
3691 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
3692 (ia64_expand_prologue): Look at int_regs, not words, for number
3693 of incomming int regs.
3694
e8dcd824
AM
36952002-03-22 Andrew MacLeod <amacleod@redhat.com>
3696
3697 * expr.c (expand_expr): A RESULT_DECL is part of a call.
3698
96327cdc
JH
3699Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
3700
3701 * toplev.c (flag_loop_optimize, flag_crossjumping):
3702 New static variables.
3703 (rest_of_compilation): Conditionalize crossjumping and
3704 loop optimizer.
3705 (parse_options_and_default_flags): Default loop_optimize and
3706 crossjumping.
3707 (lang_independent_options): Add -fcrossjumping and -floop-optimize
3708 * invoke.texi (crossjumping, loop-optimize): Document.
3709
bc185257
RS
37102002-03-22 Richard Sandiford <rsandifo@redhat.com>
3711
3712 * real.c (eiisneg): Move outside #ifdef NANS.
3713
0a2ed1f1
JH
3714Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
3715
3716 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
3717 frequencies match; avoid match on different loop depths.
3718 (try_crossjump_to_bb): Kill tests that no longer brings time
3719 savings.
3720 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
3721 updating code.
3722 (split_edge): Likewise.
3723
3724 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
3725 variable.
3726
3727 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
3728 * cfgrtl.c: Include insn-config.h
3729 (split_block) Dirtify block in presence of conditional execution
3730
4d72536e
RS
37312002-03-22 Richard Sandiford <rsandifo@redhat.com>
3732
3733 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
3734 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
3735 (function_arg): Constify CUMULATIVE_ARGS.
3736 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
3737 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
3738 (UNITS_PER_DOUBLE): New macro.
3739 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
3740 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
3741 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
3742 fp_regs and stack_words.
3743 (EABI_FLOAT_VARARGS_P): New macro.
3744 * config/mips/mips.c (struct mips_arg_info): New.
3745 (mips_arg_info): New function.
3746 (function_arg_advance): Use it. Add adjustment instructions here
3747 rather than in function_arg.
3748 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
3749 for VOIDmode at the beginning of the function.
3750 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
3751 (function_arg_pass_by_reference): Likewise.
3752 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
3753 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
3754 (mips_va_start): Likewise. Use the new stack_words field of
3755 CUMULATIVE_ARGS to set up overflow area. Reformat.
3756 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
3757 doubles and other types, aligning the overflow pointer for non-doubles
3758 too. Remove some code duplication. Replace hard-coded constants.
3759
e6f884cd
RS
37602002-03-22 Richard Sandiford <rsandifo@redhat.com>
3761
3762 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
3763 (CLASS_UNITS): Undefine.
3764 (CLASS_MAX_NREGS): Use FP_INC.
3765 * config/mips/mips.c (compute_frame_size): Likewise.
3766 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
3767
10cf9bde
NB
37682002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
3769
3770 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
3771 prototype, and handle lexing numbers and identifiers.
3772 (parse_identifier): Update to new form of parse_slow.
3773 (parse_number): Fast path only, use parse_slow otherwise.
3774 (_cpp_lex_direct): Update calls to parse_number.
3775
fbc2782e
DD
37762002-03-21 DJ Delorie <dj@redhat.com>
3777
3778 * bb-reorder.c (make_reorder_chain_1): Protect against
3779 when redundant edges are omitted.
3780 * predict.c (dump_prediction): Likewise.
3781
fba39eaf
RH
37822002-03-21 Richard Henderson <rth@redhat.com>
3783
3784 PR target/5996
3785 * fixinc/inclhack.def (solaris_stdio_tag): New.
3786 * fixinc/fixincl.x: Regenerate.
3787
eba80994
EB
37882002-03-21 Eric Botcazou <ebotcazou@multimania.com>
3789
3790 PR c/5597
3791 * c-typeck.c (process_init_element): Flag non-static
3792 initialization of a flexible array member as illegal.
3793
2a78758b
AM
37942002-03-22 Alan Modra <amodra@bigpond.net.au>
3795
3796 * config/rs6000/t-linux64: New.
3797 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
3798 t-ppccomm. Use t-rs6000 and t-linux64.
3799 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
3800 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
3801 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
3802 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 3803
2cb921f4
AH
38042002-03-21 Aldy Hernandez <aldyh@redhat.com>
3805
eba80994
EB
3806 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
3807 flag_really_no_inline instead of optimize == 0.
2cb921f4 3808
eba80994 3809 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 3810
eba80994 3811 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 3812
eba80994 3813 * flags.h (flag_really_no_inline): New.
2cb921f4 3814
659e5a7a 3815 * c-common.c (c_common_post_options): Initialize
eba80994 3816 flag_really_no_inline.
2cb921f4 3817
eba80994 3818 * toplev.c (flag_really_no_inline): New.
2cb921f4 3819
239b8b9d
JJ
38202002-03-21 Jakub Jelinek <jakub@redhat.com>
3821
3822 * config/avr/avr.md (length): Fix length computation for
3823 conditional branches.
3824
43577e6b
NB
38252002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
3826
3827 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
3828 sdbout.o, profile.o): Update.
3829 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
3830 langhook.
3831 * c-common.h (gettags): Move here from tree.h.
3832 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
3833 insert_block, getdecls, kept_level_p, global_bindings_p): New.
3834 * dbxout.c (dbxout_init): Use getdecls langhook.
3835 * expr.c (expand_expr): Use insert_block langhook.
3836 * fold-const.c: Include langhooks.h.
3837 (fold_range_test, fold_binary_op_with_conditional_arg,
3838 fold): Use global_bindings_p langhook.
3839 * integrate.c (expand_inline_function): Use insert_block langhook.
3840 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
3841 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
3842 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
3843 LANG_HOOKS_GETDECLS): New.
3844 (LANG_HOOKS_INITIALIZER): Update.
3845 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
3846 langhook.
3847 * langhooks.h (struct lang_hooks_for_decls): New.
3848 (struct lang_hooks): Update.
3849 * profile.c: Include langhooks.h.
3850 (output_func_start_profiler): Use new langhooks.
3851 * sdbout.c: Include langhooks.h.
3852 (sdbout_init, sdbout_finish): Use getdecls langhook.
3853 * stmt.c: Include langhooks.h.
3854 (expand_fixup, fixup_gotos): Use new langhooks.
3855 * stor-layout.c: Include langhooks.h.
3856 (variable_size): Use global_bindings_p langhook.
3857 * toplev.c (compile_file): Use getdecls langhook.
3858 * tree-inline.c (remap_block): Use insert_block langhook.
3859 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
3860 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
3861
5b19b10c
RH
38622002-03-21 Richard Henderson <rth@redhat.com>
3863
3864 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
3865 constants in .data when -fpic.
3866
e05af335
GP
38672002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3868
3869 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
3870 where appropriate.
3871
60ffc997
TT
38722002-03-21 Tom Tromey <tromey@redhat.com>
3873
3874 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
3875
75897075
RK
3876Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3877
a73afd69 3878 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 3879
75897075
RK
3880 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
3881
312687cf
EB
38822002-03-21 Eric Botcazou <ebotcazou@multimania.com>
3883 Richard Henderson <rth@redhat.com>
3884
3885 PR c/5354
3886 * c-common.c (c_expand_expr): Preserve result of a statement
3887 expression if needed.
3888
f0e1f482
JJ
38892002-03-21 Jakub Jelinek <jakub@redhat.com>
3890
3891 PR bootstrap/4195
3892 * genrecog.c (maybe_both_true_mode): Remove.
3893 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
3894 * machmode.def (Pmode): Likewise.
3895
c14b9960
JW
3896Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
3897
3898 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
3899 (nonlocal_mentioned_p_1): New function.
3900 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
3901 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
3902 (mark_constant_function): Recognize pure functions.
3903 * rtl.h (global_reg_mentioned_p): New prototype.
3904 * rtlanal.c (global_reg_mentioned_p,
3905 global_reg_mentioned_p_1): New function.
3906
aaa4d130
RO
39072002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3908
3909 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
3910 UNIX assert.h.
3911 * fixinc/fixincl.x: Regenerate.
3912
e5c4bd1b
JM
39132002-03-20 Jason Merrill <jason@redhat.com>
3914
3915 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
3916
852b81bb
MM
39172002-03-20 Michael Meissner <meissner@redhat.com>
3918
3919 * doc/invoke.texi (Optimize Options): Document that -O2 sets
3920 -fstrict-aliasing.
3921
86d8c251
BW
39222002-03-20 Bob Wilson <bob.wilson@acm.org>
3923
3924 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
3925 ".literal_position" directive before the constant pool.
3926
0a39c350
GP
39272002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3928
3929 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
3930 Add Craig Rodrigues.
3931 Add Brad Lucier to testers.
3932
71a83373
JJ
39332002-03-20 Jakub Jelinek <jakub@redhat.com>
3934
3935 PR target/4792
3936 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
3937 to if_then_else.
3938 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
3939 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
3940 instead of insn_extract.
3941
a29b099d
JJ
39422002-03-20 Jakub Jelinek <jakub@redhat.com>
3943
3944 PR bootstrap/4192
71a83373 3945 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
3946
3947 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
3948 stmt if some case has been output.
3949
048b1c95
JJ
39502002-03-20 Jakub Jelinek <jakub@redhat.com>
3951
3952 PR c/5972
3953 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
3954 movsfcc_1, movdfcc_1): Add %O2.
3955 * config/i386/i386.c (print_operand): Handle %ON.
3956 Print . before float condition codes in Sun as cmov syntax.
3957 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
3958 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
3959 no longer true.
3960
f4864588
PB
39612002-03-20 Philip Blundell <pb@nexus.co.uk>
3962
3963 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
3964 return instruction if PC was popped.
3965
3a307de4
BW
39662002-03-20 Bob Wilson <bob.wilson@acm.org>
3967
3968 * config/xtensa/xtensa.md: Remove unused type attributes.
3969 (adddi_carry, subddi_carry): Change type attribute to "multi".
3970
048b1c95 39712002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
3972
3973 PR optimization/5999, middle-end/5731
3974 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
3975 multiplications by reciprocals.
3976
7afff7cf
NB
39772002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
3978
3979 * Makefile.in: Update.
3980 * c-common.c: Include langhooks.h.
3981 (inline_forbidden_p): Use new hook.
3982 * diagnostic.c: Include langhooks.h.
3983 (format_with_decl, announce_function,
3984 default_print_error_function): Use new hook.
3985 * dwarf2out.c (dwarf2_name): Use new hook.
3986 * function.c: Include langhooks.h.
3987 (init_function_start): Use new hook.
3988 * langhooks-def.h (lhd_decl_printable_name): New.
3989 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
3990 (LANGHOOKS_INITIALIZER): Update.
3991 * langhooks.c (lhd_decl_printable_name): New.
3992 * langhooks.h (struct lang_hooks): New hook.
3993 * toplev.c (decl_name, decl_printable_name): Remove.
3994 (open_dump_file): Use new hook.
3995 (process_options): Remove old hook.
3996 * tree.h (decl_printable_name): Remove.
3997objc:
3998 * objc-act.c (objc_init): Remove old hook.
3999 (objc_printable_name): Export.
4000 * objc-act.h (objc_printable_name): New.
4001 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
4002
f78ce0b7
JB
40032002-03-19 Jim Blandy <jimb@redhat.com>
4004
4005 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
4006 the start_source_file debug hook, not the current line number.
4007
15b5aef3
RH
40082002-03-19 Richard Henderson <rth@redhat.com>
4009
4010 * flow.c (EH_USES): Provide default.
4011 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
4012 * doc/tm.texi (EH_USES): New.
4013
4014 * config/ia64/ia64.c (ia64_eh_uses): New.
4015 * config/ia64/ia64-protos.h: Update.
4016 * config/ia64/ia64.h (EH_USES): New.
4017
02a7a3fd
RH
40182002-03-19 Richard Henderson <rth@redhat.com>
4019
4020 * varasm.c (output_constant_def): Fix stupid typo.
4021
93f82d60
RH
40222002-03-19 Richard Henderson <rth@redhat.com>
4023
2842be05 4024 PR 5879
93f82d60
RH
4025 * except.c (current_function_has_exception_handlers): New.
4026 * except.h: Declare it.
4027 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
4028 Combine tests that disable all sibcalls for the function.
4029
ed4fbfa0
OH
40302002-03-19 Olivier Hainque <hainque@act-europe.fr>
4031
4032 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
4033 for INTEGER_CST.
4034
ebf0e888
RH
40352002-03-19 Richard Henderson <rth@redhat.com>
4036
1e82682b 4037 PR 5977, 5991
ebf0e888
RH
4038 * config/ia64/ia64.c: Revert 2002-03-01 patch.
4039 * config/ia64/ia64.h (INIT_EXPANDERS): New.
4040
e37b38d7
JB
40412002-03-19 Jim Blandy <jimb@redhat.com>
4042
4043 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
4044 name, even if the replacement list contains no tokens, as required
4045 by Dwarf.
4046
2a4ea326
JM
40472002-03-19 Jason Merrill <jason@redhat.com>
4048
f9d09ae5
JM
4049 * varasm.c (globalize_decl): Get the name from the RTL, not
4050 DECL_ASSEMBLER_NAME.
4051
2a4ea326
JM
4052 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
4053
99b96edb
BW
40542002-03-19 Bob Wilson <bob.wilson@acm.org>
4055
4056 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
4057 subdi_carry): Define.
4058
3774b567
DE
40592002-03-19 David Edelsohn <edelsohn@gnu.org>
4060
4061 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
4062 about -fpic/-fPIC if extra_warnings set.
4063
21ef78aa
DE
40642002-03-19 David Edelsohn <edelsohn@gnu.org>
4065
4066 * expr.c (expand_expr): Sign-extend CONST_INT generated from
4067 TREE_STRING_POINTER.
0c2fdcdf 4068 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 4069
91d4b3fd
RK
4070Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4071
4072 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
4073 in favor of SP if FRAME_POINTER_REQUIRED is false.
4074
2496c7bd
LB
40752002-03-19 Lars Brinkhoff <lars@nocrew.org>
4076
4077 * emit-rtl.c (gen_int_mode): New function.
4078 * rtl.h: Prototype for it.
4079 * combine.c (make_extraction, simplify_comparison), expmed.c
4080 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
4081 (convert_modes, store_field), optabs.c (expand_fix),
4082 simplify-rtx.c (neg_const_int, simplify_unary_real),
4083
4084 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
4085 Use it instead of GEN_INT (trunc_int_for_mode (...)).
4086
f735a153
JJ
40872002-03-19 Jakub Jelinek <jakub@redhat.com>
4088
4089 PR c/5656
4090 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
4091 convert_parm_for_inlining.
4092 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
4093 Define.
4094 * langhooks-def.h: Likewise.
4095 * objc/objc-lang.c: Likewise.
4096 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
4097 function.
4098 * tree-inline.c (initialize_inlined_parameters):
4099 Call convert_parm_for_inlining lang hook if needed.
4100 * c-typeck.c (c_convert_parm_for_inlining): New function.
4101 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
4102
1929c971
MM
41032002-03-18 Mark Mitchell <mark@codesourcery.com>
4104
b216cd4a 4105 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
4106 can be destroyed after expanding the argument.
4107 (expand_call): Likewise.
4108
c79ca0ac
EC
41092002-03-15 Eric Christopher <echristo@redhat.com>
4110
4111 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
4112 Fix register preference on last change.
4113 * config/mips/mips.c (mips_return_in_memory): New function.
4114 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
4115 * config/mips/mips-protos.h: Declare.
4116 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
4117 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
4118
07e2e444
AO
41192002-03-18 Alexandre Oliva <aoliva@redhat.com>
4120
1bfbbbcf
AO
4121 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
4122 a register too.
4123 (anddi3, iorsi3): Likewise.
4124
c066429e
AO
4125 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
4126 use %gprel for symbols that are going to be placed in linkonce
4127 sections.
4128
07e2e444
AO
4129 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
4130 RETURN_ADDRESS_POINTER_REGNUM to $ra.
4131 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
4132 not needed. Disregard leaf_function_p().
4133 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
4134 mips16 frame pointer.
4135 * config/mips/mips.md (store ra): Only to small SP offsets.
4136 2001-08-22 Graham Stott <grahams@redhat.com>
4137 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
4138 return a REG rtx for the return address register.
4139
eb8e00ea
BW
41402002-03-18 Bob Wilson <bob.wilson@acm.org>
4141
4142 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
4143 constant-pool addresses as "mode-dependent".
4144 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
4145
cbb92744
JJ
41462002-03-18 Jakub Jelinek <jakub@redhat.com>
4147
4148 PR target/5740
4149 * expr.c (emit_group_load): Use extract_bit_field if
4150 needed for CONCAT arguments.
4151
657d9449
RE
41522002-03-18 Richard Earnshaw <rearnsha@arm.com>
4153
91f3a802 4154 PR target/4863
657d9449
RE
4155 * arm.md (tablejump): Make this a define_expand. For PIC add the
4156 offset to the base of the table.
4157 (thumb_tablejump): Matcher for Thumb tablejump insn.
4158 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
4159 as the difference of two labels.
4160 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4161 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
4162 tables in the code.
4163 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
4164 * arm.c (get_jump_table_size): If the table is not in the text
4165 section, return zero.
c79ca0ac 4166
5d5603e2
BS
41672002-03-18 Bernd Schmidt <bernds@redhat.com>
4168
4169 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
4170 of gen_rtx_SUBREG.
4171 (arm_reload_out_hi): Use gen_lowpart instead of
4172 gen_rtx_SUBREG to access QImode components.
4173 * config/arm/arm.md: Disable zero_extend split for QImode
4174 subregs in BIG_ENDIAN mode.
4175 (storehi_bigend): Match use of least significant byte.
4176 (storeinthi): Remove extraneous SUBREG.
66c17b64 4177 Add missing construction of operands[2].
5d5603e2
BS
4178 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
4179 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
4180 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
4181
df15fbc7
AH
41822002-03-18 Aldy Hernandez <aldyh@redhat.com>
4183
2496c7bd
LB
4184 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
4185 any_operand.
df15fbc7 4186
b83b7fa3
RH
41872002-03-17 Richard Henderson <rth@redhat.com>
4188
4189 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
4190 explicitly.
4191
6f7c00fe
HPN
41922002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
4193
4194 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
4195 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
4196
155038f2
KG
41972002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4198
720d42fa
KG
4199 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
4200
155038f2
KG
4201 * predict.c (estimate_bb_frequencies): Delete unused variables.
4202
e6542f4e
RH
42032002-03-17 Richard Henderson <rth@redhat.com>
4204
4205 * config/ia64/ia64.c (ia64_attribute_table): Move before
4206 targetm definition. Make static.
4207
52dabb6c
NB
42082002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
4209
4210 * c-common.h (yyparse, c_common_parse_file): New.
4211 * c-lang.c: Include c-common.h.
4212 (LANG_HOOKS_PARSE_FILE): Redefine.
4213 * c-lex.c: Include c-common.h.
4214 (yyparse): Rename c_common_parse_file. Call yyparse.
4215 * c-parse.in (yyparse): Remove macro.
4216 * c-tree.h (yyparse_1): Remove.
4217 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
4218 (LANG_HOOKS_INITIALIZER): Update.
4219 * langhooks.h (struct lang_hoooks): New hook parse_file.
4220 * toplev.c (compile_file): Use parse_file hook.
4221 * tree.h (yyparse): Remove.
e6542f4e 4222 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 4223
b5ffe606
HPN
42242002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
4225
ba82f58b
HPN
4226 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
4227 float_truncate, not fix.
4228 ("*truncdfsf2_real"): Ditto.
4229 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
4230
b5ffe606
HPN
4231 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
4232
c8d1b2b7
AO
42332002-03-16 Alexandre Oliva <aoliva@redhat.com>
4234
cfb773f9
AO
4235 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
4236 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
4237 where appropriate. Make the second reference to
4238 leaf_function_p a function call, as intended. Reindented.
4239
4dffef52
AO
4240 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
4241 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
4242
4f5bd6d7
AO
4243 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
4244 add register to non-constant into sp.
4245
c8d1b2b7
AO
4246 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
4247 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
4248 (mips16_gp_pseudo_rtx): Lose.
4249 (INIT_EXPANDERS): Deleted.
4250 * config/mips/mips.c (mips_init_machine_status): New.
4251 (mips_free_machine_status): New.
4252 (mips_mark_machine_status): New.
4253 (override_options): Set them.
4254 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
4255 (struct machine_function): ... new. Replaced all references.
4256 (mips_add_gc_roots): Don't mark them.
4257 (embedded_pic_fnaddr_reg): New, extracted from...
4258 (embedded_pic_offset): ... here.
4259 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
4260 (movsi): Likewise.
4261
b3124fac
NB
42622002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
4263
4264 * cppinit.c: Revert -MD removal.
4265
121449b6
SC
42662002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4267
4268 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
4269 soft registers by default for 68HC12.
4270 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
4271 when compiling with -fomit-frame-pointer.
4272 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
4273 (expand_epilogue): Likewise.
4274 (m68hc11_gen_rotate): Use exg when rotating by 8.
4275
840e2ff1
SC
42762002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4277
4278 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
4279 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
4280 (splits): Remove unused add splits.
4281 ("*addhi3_68hc12"): Tune constraints.
4282 ("addhi_sp"): Try to use X instead of Y in all cases and if the
4283 constant fits in 8-bits and D is dead use abx/aby instructions.
4284 ("*addhi3"): Remove extern declaration of ix_reg.
4285 ("*subsi3"): Optimize and provide new split.
4286 ("subhi3"): Cleanup.
4287 ("*subhi3_sp"): Avoid saving X if we know it is dead.
4288 (arith splits): For 68hc12 save the address register on the stack
4289 and do the arithmetic operation with a pop.
4290
3c9a5efe
SC
42912002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4292
4293 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
4294 allocating QImode in address registers.
4295 ("*movqi_m68hc11"): Likewise.
4296
e41f3392
JH
4297Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
4298
4299 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
4300
576786b0
NB
43012002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
4302
4303 * cppinit.c (print_help): Display -MD and -MMD.
4304 Don't display usage string. Update assertion syntax and
4305 typo.
4306 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
4307 (cpp_handle_option): Update.
4308
1ac458d4
CD
43092002-03-15 Chris Demetriou <cgd@broadcom.com>
4310
4311 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
4312 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
4313 and define it so that regardless of target CPU size,
4314 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
4315 of "int" rather than "long."
4316
1fcd592b
RH
43172002-03-15 Richard Henderson <rth@redhat.com>
4318
4319 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
4320 size as a tree.
4321
a0df6910
SC
43222002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4323
4324 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
4325 ("tstqi" split): Avoid using memory for tstqi on address register.
4326 (splits): Remove constraints.
4327 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
4328 ("cmpdf", "cmpsf"): Remove since not used.
4329 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
4330 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
4331
015a2e59
SC
43322002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4333
4334 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
4335 ("neghi2"): Tighten constraints.
4336 ("one_cmplsi2"): Optimize and simplify split.
4337 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
4338
cd28557c
SC
43392002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4340
4341 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
4342 and split of AND operation to clear the upper bits.
4343 ("*logicalsi3_zextqi"): Likewise.
4344 ("*logicallhi3_zexthi_ashift8"): Likewise.
4345 ("*logicalsi3_silshr16"): Likewise.
4346 ("logicalsi3_silshl16"): Likewise.
4347 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
4348
932657df
SC
43492002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4350
4351 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
4352 (m68hc11_indirect_p): New function.
4353 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
4354 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
4355 TARGET_M6812.
4356 (asm_print_register): Likewise.
4357 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
4358 (m68hc11_indirect_p): Declare.
4359 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
4360 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
4361 (TARGET_SWITCHES): New option -mrelax.
4362 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
4363 destination.
4364 ("iorsi3", "xorsi3"): Likewise.
4365 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
4366 ("*andhi3_mem"): New to handle destination in memory with bclr
4367 and a scratch register.
4368 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
4369 ("*andhi3_const"): New when operand2 is constant.
4370 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
4371 ("*andhi3_gen"): Cleanup of the old "andhi3".
4372 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
4373 ("xorqi3"): Update constraints.
4374
fdffea1a
SC
43752002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4376
4377 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
4378 for reg_equiv_memory_loc when the operand is a register that does
4379 not get a hard register (stack location).
4380 (tst_operand): After reload, accept all memory operand.
4381 (symbolic_memory_operand): Fix detection of symbolic references.
4382 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
4383 accept symbols and any constant.
4384
6272bc68
SC
43852002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4386
4387 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
4388 note on the insn that sets the soft frame register.
4389 (must_parenthesize): ix and iy are also reserved names.
4390 (print_operand_address): One more place where parenthesis are required
4391 to avoid confusion with register names.
4392 (m68hc11_gen_movhi): Allow push of stack pointer.
4393 (m68hc11_check_z_replacement): Fix handling of parallel with a
4394 clobber.
4395 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
4396 the replacement register is.
4397 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
4398 and D8_REGS classes.
4399 (MODES_TIEABLE_P): All modes are tieable except QImode.
4400
1d2d9def
SC
44012002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4402
4403 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
4404 (___subdi3): Likewise.
4405 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
4406 (__map_data_section): Optimize 68hc11 case.
4407
a0ccf503
SC
44082002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4409
4410 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
4411 than a shift to avoid adding a register with itself.
4412 (m68hc11_memory_move_cost): Take into account NO_REGS.
4413 (m68hc11_register_move_cost): Update and use memory move cost
4414 for soft registers.
4415 (m68hc11_address_cost): Make cost of valid offset not 0 so that
4416 it gives more opportunities to cse to optimize.
4417 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
4418 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
4419
6e4ae815
MM
44202002-03-15 Mark Mitchell <mark@codesourcery.com>
4421
4422 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
4423 * c-common.def (CLEANUP_STMT): New tree node.
4424 * c-common.h (CLEANUP_DECL): New macro.
4425 (CLEANUP_EXPR): Likewise.
4426 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
4427 * expr.c (expand_expr): Tidy.
4428 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
4429 * tree-inline.c (initialize_inlined_parameters): Clean up
4430 new local variables.
4431
a42519be
JJ
44322002-03-15 Jakub Jelinek <jakub@redhat.com>
4433
4434 PR bootstrap/4128
4435 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
4436 before movrXX only, use reg_overlap_mentioned_p.
4437 Only special case NE if just one insn can be generated.
4438
15409448
JM
44392002-03-15 Jason Merrill <jason@redhat.com>
4440
4441 * varasm.c (assemble_variable): Call resolve_unique_section before
4442 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
4443 of error_mark_node.
4444
3a4edb44
RE
44452002-03-15 Richard Earnshaw <rearnsha@arm.com>
4446
4447 PR target/5170
4448 * arm.md (split pattern for thumb shiftable immediates): Add comment
4449 explaining non-obvious test.
4450
32defa36
RE
44512002-03-15 Richard Earnshaw <rearnsha@arm.com>
4452
4453 PR target/5712
4454 * arm.md (movaddr, movaddr_insn): Delete.
4455
5cc90635
JM
44562002-03-15 Jason Merrill <jason@redhat.com>
4457
4458 * toplev.c (wrapup_global_declarations): Clarify variable handling.
4459 -fkeep-static-consts doesn't apply to comdats.
4460
ecb0eece
RH
44612002-03-14 Richard Henderson <rth@redhat.com>
4462
4463 * c-decl.c: Include c-pragma.h.
4464 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
4465 (finish_function): Tidy.
4466 * c-pragma.c: Include c-common.h.
4467 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
4468 (handle_pragma_weak): Use them.
4469 (init_pragma): Register pending_weaks.
4470 * c-pragma.h (maybe_apply_pragma_weak): Declare.
4471 * print-tree.c (print_node): Print DECL_WEAK.
4472 * varasm.c (mark_weak_decls): Remove.
4473 (remove_from_pending_weak_list): Remove.
4474 (add_weak): Remove.
4475 (asm_emit_uninitialised): Call globalize_decl for weak commons.
4476 (weak_decls): Make a tree_list.
4477 (declare_weak): Cons weak_decls directly.
4478 (globalize_decl): Remove weak_decls elements directly.
4479 (weak_finish): Simplify weak_decls walk. Don't weaken unused
4480 symbols. Don't pretend to handle aliases.
4481 (init_varasm_once): Update weak_decls registry.
4482 * Makefile.in: Update dependencies.
4483
98d2b17e
RH
44842002-03-14 Richard Henderson <rth@redhat.com>
4485
4486 PR target/5312
4487 * config/ia64/ia64.c: Include tm_p.h last.
4488 (gen_nop_type): Remove duplicate definition.
4489 (cycle_end_fill_slots): Set sched_data for second L slot.
4490 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
4491 (nop_cycles_until): Fix typos.
4492
f2f4927e
JJ
44932002-03-15 Jakub Jelinek <jakub@redhat.com>
4494
4495 PR optimization/5891
4496 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
4497
5025a549
DM
44982002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
4499
4500 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
4501 descriptors correctly.
4502
03e9dbc9
MM
45032002-03-14 Michael Meissner <meissner@redhat.com>
4504
4505 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
4506 100, allowing MAX_UNROLLED_INSNS to be overridden.
4507
4508 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
4509 --param.
4510
4511 * unroll.c (params.h): Include.
4512 (MAX_UNROLLED_INSNS): Delete, now in params.h.
4513
4514 * doc/invoke.texi (--param max-unroll-insns): Document.
4515
4516 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
4517
12249385
RE
45182002-03-14 Richard Earnshaw <rearnsha@arm.com>
4519
4520 * arm.md: Fix warnings about constraints in peepholes and splits.
4521
f0cce04a
ZW
45222002-03-14 Zack Weinberg <zack@codesourcery.com>
4523
4524 * cpphash.h (struct lexer_state): Remove line_extension member.
4525 * cpplib.c (dequote_string, do_linemarker): New functions.
4526 (linemarker_dir): New data object.
4527 (DIRECTIVE_TABLE): No longer need to interpret #line in
4528 preprocessed source. Delete obsolete comment about return
4529 values of handlers.
4530 (end_directive, directive_diagnostics, _cpp_handle_directive):
4531 Don't muck with line_extension.
4532 (directive_diagnostics): No need to issue warnings for
4533 linemarkers here.
4534 (_cpp_handle_directive): Issue warnings for linemarkers here,
4535 when appropriate. Dispatch linemarkers to do_linemarker, not
4536 do_line.
4537 (do_line): Code to handle linemarkers split out to do_linemarker.
4538 Convert escape sequences in filename argument, both places.
4539
4540 * cppmacro.c (quote_string): Rename cpp_quote_string and
4541 export. All callers changed.
4542 * cpplib.h (cpp_quote_string): Prototype.
4543 * cppmain.c (print_line): Call cpp_quote_string on to_file
4544 before printing it.
4545
4546 * doc/cpp.texi: Document that escapes are now interpreted in
4547 #line and in linemarkers, and that non-printing characters are
4548 converted to octal escapes when linemarkers are generated.
4549
4550Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
4551
4552 * emit-rtl.c (try_split): Use delete_insns.
4553 * recog.c (split_all_insns): Fix terminating condition.
4554
c882c7ac
RE
45552002-03-14 Richard Earnshaw <rearnsha@arm.com>
4556 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4557
4558 PR target/5828
4559 * arm.c (arm_output_epilogue): Fix floating-point register save
4560 adjustment when using a frame pointer.
4561
3f26edaa
RS
45622002-03-14 Richard Sandiford <rsandifo@redhat.com>
4563
4564 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
4565 * config/mips/mips.c (compute_frame_size): Retrofit them here.
4566 (save_restore_insns, mips_expand_epilogue): And here.
4567 (build_mips16_call_stub): And here.
4568 (mips_function_value): Use the new macros to decide whether a single
4569 or complex float can be returned in floating-point registers. Return
4570 a parallel rtx in the complex case.
4571
1e3881c2
JH
4572Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
4573
4574 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
4575 call after liveness analysis.
4576
4577 * recog.c (split_insn): Use delete_insn_and_edges.
4578
4579 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
4580 instructions to have branch prediction notes.
4581 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
4582
200ef634
GK
45832002-03-14 Geoffrey Keating <geoffk@redhat.com>
4584
4585 * configure.in: Don't pass -Wno-long-long to a ADA compiler
4586 that doesn't support it.
4587 * configure: Regenerate.
4588
0b82d204
JJ
45892002-03-13 Jakub Jelinek <jakub@redhat.com>
4590
4591 PR target/5626
4592 * config/sparc/sparc.md (normal_branch, inverted_branch,
4593 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
4594 inverted_fp_branch): Adjust calls to output_cbranch.
4595 Set length attribute.
4596 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
4597 output_v9branch. Set length attribute.
4598 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
4599 predicates.
4600 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
4601 (output_cbranch): Likewise. Handle far branches.
4602 (output_v9branch): Handle far branches.
4603 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
4604 Adjust prototypes.
4605 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
4606 noov_compare64_op predicates.
4607
7a8de19b
JM
46082002-03-13 Jason Merrill <jason@redhat.com>
4609
4610 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
4611 into the function and constify it.
4612 * gthr-dce.h, gthr-solaris.h: Likewise.
4613
2a55fd42
DE
46142002-03-13 David Edelsohn <edelsohn@gnu.org>
4615
4616 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
4617 * config/rs6000/rs6000.c (rs6000_va_arg): Use
4618 std_expand_builtin_va_arg if not ABI_V4.
4619
19c5b1cf
JM
46202002-03-13 Jason Merrill <jason@redhat.com>
4621
4622 * varasm.c (globalize_decl): New fn.
4623 (assemble_start_function): Use it.
4624 (asm_emit_uninitialized): Use it.
4625 (assemble_alias): Use it.
4626 (assemble_variable): Use it.
4627
2a15f5e1
HPN
46282002-03-13 Hans-Peter Nilsson <hp@axis.com>
4629
4630 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 4631 2002-03-12 internal visibility change.
2a15f5e1
HPN
4632 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
4633 visibility into SYMBOL_REF_FLAG.
4634
c0a3eeac
UW
46352002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
4636
4637 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
4638 VOIDmode operand. Add compile-time optimization for constant results.
4639
a1652cee
JM
46402002-03-12 Jason Merrill <jason@redhat.com>
4641
4642 * c-typeck.c (convert_for_assignment): Don't allow conversions
4643 between pointers and references. Only allow lvalues to convert to
4644 reference.
4645
c52a375d
HP
46462002-03-13 Hartmut Penner <hpenner@de.ibm.com>
4647
f0cce04a
ZW
4648 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
4649 before prologue, to avoid scheduling problems.
c52a375d 4650
e387e99b
JJ
46512002-03-13 Jakub Jelinek <jakub@redhat.com>
4652
4653 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
4654 (ELIMINABLE_REGS): Add sfp->sp.
4655 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
4656
46572002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
4658
4659 PR optimization/5892
4660 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
4661
4061c1a3
JJ
46622002-03-13 Jakub Jelinek <jakub@redhat.com>
4663
4664 * loop.c (basic_induction_var): Don't call convert_modes if mode
4665 classes are different.
4666
5b43fed1
RH
46672002-03-12 Richard Henderson <rth@redhat.com>
4668
9f53e965
RH
4669 PR optimization/5901
4670 * function.c (reposition_prologue_and_epilogue_notes): Position
4671 the markers after/before the last/first insn not deleted.
4672
46732002-03-12 Richard Henderson <rth@redhat.com>
4674
4675 PR optimization/5878
5b43fed1
RH
4676 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
4677 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
4678 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
4679
4680 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
4681 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
4682 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
4683
4684 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
4685 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
4686 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
4687 also. Don't set it if not flag_pic.
4688 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
4689 to be INVALID_REGNUM when not used.
4690
4e9bb42b
AH
46912002-03-13 Aldy Hernandez <aldyh@redhat.com>
4692
5b43fed1
RH
4693 * expmed.c (store_bit_field): Reset alias set for memory.
4694 (extract_bit_field): Same.
4e9bb42b 4695
2f9834e8
KG
46962002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4697
4698 * c-common.c (c_tree_code_type, c_tree_code_length,
4699 c_tree_code_name, add_c_tree_codes): Delete.
4700 * c-common.h (add_c_tree_codes): Delete.
4701 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
4702 Define.
4703 * c-objc-common.c (c_objc_common_init): Don't call
4704 add_c_tree_codes, instead set lang_unsafe_for_reeval.
4705 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
4706 objc_tree_code_name, add_objc_tree_codes): Delete.
4707 (objc_init): Don't call add_objc_tree_codes.
4708 * objc/objc-lang.c (tree_code_type, tree_code_length,
4709 tree_code_name): Define.
4710 * toplev.c (lang_independent_init): Don't set
4711 tree_code_length[IDENTIFIER_NODE].
4712 * tree.c (tree_code_type, tree_code_length, tree_code_name):
4713 Delete definitions, moved to language front-ends.
4714 * tree.def (IDENTIFIER_NODE): Hardwire the length.
4715 * tree.h (tree_code_type, tree_code_length, tree_code_name):
4716 Const-ify.
4717 (tree_code_length): Change type to unsigned char.
4718
36ad2436
RH
47192002-03-12 Richard Henderson <rth@redhat.com>
4720
4721 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
4722 internal visibility change.
4723
0ae02efa
BW
47242002-03-12 Bob Wilson <bob.wilson@acm.org>
4725
4726 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
4727 validize_mem() instead of change_address to avoid clobbering
4728 memory attributes.
4729
35bb2bee
NB
47302002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
4731
4732 * c-lex.h (position_after_whitespace): Remove.
4733
62ae2529
JJ
47342002-03-12 Jakub Jelinek <jakub@redhat.com>
4735
4736 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
4737 (lex_string): Use unsigned char pointers.
4738
6a45951f
UW
47392002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
4740
4741 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
4742 is not a valid memory_operand.
4743
e2fb85da
BW
47442002-03-12 Bob Wilson <bob.wilson@acm.org>
4745
4746 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
4747 * config/xtensa/lib1funcs.asm: Fix copyright to include
4748 special case for libgcc files.
4749 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
4750 (__divsi3): Likewise.
4751 (__umodsi3): Likewise.
4752 (__modsi3): Likewise.
4753 * config/xtensa/lib2funcs.S: Fix copyright to include
4754 special case for libgcc files.
4755
5b8619f8
TR
47562002-03-12 Tom Rix <trix@redhat.com>
4757
4758 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 4759 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
4760 (ignore_library): Same.
4761
089c8f97
BW
47622002-03-12 Bob Wilson <bob.wilson@acm.org>
4763
4764 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
4765
958c70ff
BW
47662002-03-12 Bob Wilson <bob.wilson@acm.org>
4767
4768 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
4769 to function_section before writing out the constant pool.
4770
a65c591c
DE
47712002-03-12 David Edelsohn <edelsohn@gnu.org>
4772
4773 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
4774 zero_constant.
4775 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
4776
47772002-03-12 Alan Modra <amodra@bigpond.net.au>
4778
4779 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
4780 (adddi3): Likewise.
4781 (movdf): Likewise.
4782 (movdi): Likewise.
4783 (cmpsi splitter): Likewise.
4784 (modsi3): Fail if <= 0.
4785 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
4786 redundant test when HOST_BITS_PER_WIDE_INT != 32.
4787 (reg_or_sub_cint64_operand): Likewise.
4788 (num_insns_constant_wide): Optimize sign extension.
4789 (rs6000_legitimize_address): Likewise.
4790
17720332
AM
47912002-03-12 Andrew MacLeod <amacleod@redhat.com>
4792
4793 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
4794 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
4795
cd49f073
AM
47962002-03-12 Andrew MacLeod <amacleod@redhat.com>
4797
4798 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
4799 address calculation.
4800
6a4e49c1
UW
48012002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
4802
4803 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
4804 scratch register to DImode / TImode.
4805 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
4806 register used does not overlap the target.
4807
54b6670a
KG
48082002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4809
4810 * Makefile.in (debug.o): Depend on debug.h.
4811 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
4812 * debug.c (do_nothing_debug_hooks): Likewise.
4813 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
4814 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
4815 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
4816 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
4817 * dwarfout.c (dwarf_debug_hooks): Likewise.
4818 * integrate.c (output_inline_function): Likewise.
4819 * objc/objc-act.c (synth_module_prologue): Likewise.
4820 * sdbout.c (sdb_debug_hooks): Likewise.
4821 * toplev.c (debug_hooks): Likewise.
4822 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
4823
2465bf76
KG
48242002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4825
4826 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
4827 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
4828 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
4829 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
4830 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
4831 * defaults.h (POINTER_SIZE): Define.
4832 * doc/tm.texi (POINTER_SIZE): Document default.
4833
53f3e9ca
KG
48342002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4835
4836 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
4837
44d3eb5b
RH
48382002-03-11 Richard Henderson <rth@redhat.com>
4839
4840 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
4841 if rebuild_label_notes_after_reload.
4842
4a085d2e
HPN
48432002-03-12 Hans-Peter Nilsson <hp@axis.com>
4844
4845 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
4846 emit pic register load if "internal" visibility.
4847 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
4848 (cris_expand_builtin_va_arg): Do all computations on trees.
4849
bc204393
RH
48502002-03-11 Richard Henderson <rth@redhat.com>
4851
4852 * rtlanal.c: Include recog.h.
4853 (keep_with_call_p): Fix thinko.
4854 * Makefile.in (rtlanal.o): Update dependencies.
4855
6b8b9d7b
CM
48562002-03-11 Chris Meyer <cmeyer@gatan.com>
4857
4858 * genflags.c (gen_insn): Use IS_VSPACE.
4859 * genoutput.c (output_insn_data): Likewise.
4860 (process_template): Likewise.
4861
6c40858f
RH
48622002-03-11 Richard Henderson <rth@redhat.com>
4863
4864 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
4865
40adaa27
NB
48662002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
4867
4868 * Makefile.in: Update.
6c40858f 4869 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 4870 Update documentation.
6c40858f
RH
4871 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
4872 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 4873
049b03f4
ZW
48742002-03-11 Zack Weinberg <zack@codesourcery.com>
4875
4876 * Makefile.in: Give texi2pod its input file as a command line
4877 argument, not on stdin.
4878
61eece67
DN
48792002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
4880 Daniel Berlin <dan@dberlin.org>
4881
4882 C++ alias analysis improvement.
f0cce04a 4883 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
4884 classes too.
4885
a65c591c
DE
48862002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
4887
ff080aba
UW
4888 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
4889
1682dbb1
DR
48902002-03-11 Douglas B Rupp <rupp@gnat.com>
4891
fa2d765a
DR
4892 * toplev.c (vms_fopen): Remove, not needed.
4893
6f1fd286
DR
4894 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
4895
b230e057
DR
4896 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
4897
cb9a8e97
DR
4898 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
4899 for FP, already done later.
4900
1682dbb1
DR
4901 * toplev.c (debug_args): Add entry for VMS_DEBUG.
4902 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
4903
3fcaac1d
RS
49042002-03-11 Richard Sandiford <rsandifo@redhat.com>
4905
4906 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
4907 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
4908 LARGEST_EXPONENT_IS_NORMAL for the given mode.
4909 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
4910 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
4911 (ediv, emul, eldexp, esqrt): Likewise.
4912 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
4913 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
4914 (saturate): New function.
4915 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
4916 (make_nan): Use a saturation value instead of a NaN if
4917 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
4918 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
4919 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
4920 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
4921 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
4922 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
4923 !ROUND_TOWARDS_ZERO.
4924 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
4925 (ROUND_TOWARDS_ZERO): Document.
4926
d25558be
AJ
49272002-03-11 Andreas Jaeger <aj@suse.de>
4928
4929 * cfg.c (dump_flow_info): Remove unused variable.
4930
c71f9ae7
HPN
49312002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
4932
4933 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
4934 computations on trees.
4935
561c9153
RH
49362002-03-10 Richard Henderson <rth@redhat.com>
4937
932b4e3e 4938 PR 5693:
561c9153
RH
4939 * reload.c (copy_replacements_1): New.
4940 (copy_replacements): Use it to recurse through the rtx.
4941
26b738be
RH
49422002-03-10 Richard Henderson <rth@redhat.com>
4943
4944 * loop.c (strength_reduce): Compute number of iterations as
4945 unsigned HOST_WIDE_INT.
4946
8d8a083e
RH
49472002-03-10 Richard Henderson <rth@redhat.com>
4948
4949 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
4950 to move away from the end of the block.
4951
32810ba3
NB
49522002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
4953
4954 PR preprocessor/5899
4955 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 4956
2b03d201
KG
49572002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4958
f90c544c
KG
4959 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
4960
2b03d201
KG
4961 * attribs.c (decl_attributes): Fix signed/unsigned warning.
4962
3ec1b4cb
HPN
49632002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
4964
4965 * config/mmix/mmix.c: Improve comments.
4966 (mmix_target_asm_function_prologue): Drop variable
4967 empty_stack_frame. Don't allocate unused slot above fp.
4968 (mmix_target_asm_function_epilogue): Mirror prologue changes.
4969 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
4970 brace in first column.
4971 (enum reg_class): Ditto.
4972 (FIRST_PARM_OFFSET): Now 0.
4973 (USER_LABEL_PREFIX): Remove #if 0:d definition.
4974
27e486c5
KG
49752002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4976
4977 * combine.c (make_extraction): Fix error in last change.
4978
0139adca
KG
49792002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4980
4981 * c4x.c (c4x_fp_reglist): Const-ify.
4982 * cris.c (cris_print_operand): Likewise.
4983 * i386.c (ix86_va_arg): Likewise.
4984 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
4985 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
4986 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
4987 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
4988 * mcore.h (regno_reg_class): Likewise.
4989 * mips.c (gen_int_relational): Likewise.
4990 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
4991 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 4992 * pdp11.c (move_costs): Likewise.
0139adca
KG
4993 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
4994 * s390.c (s390_branch_condition_mnemonic, regclass_map):
4995 Likewise.
4996 * s390.h (regclass_map): Likewise.
4997 * sh.c (shift_amounts): Likewise.
a4334c36 4998 * sh.md (rotlsi3): Likewise.
0139adca 4999
889b90a1
GK
50002002-03-09 Geoffrey Keating <geoffk@redhat.com>
5001
5002 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
5003 (ne0+5): Use new clobber to generate proper shift pattern.
5004 Patch by Michael Matz <matz@kde.org>.
5005
2877e0ae
AS
50062002-03-09 Andreas Schwab <schwab@suse.de>
5007
5008 * gcc.c (validate_all_switches): Also handle `%W{...}'.
5009
79b51cd7
GK
50102002-03-09 Geoffrey Keating <geoffk@redhat.com>
5011
5012 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
5013
e0f1be5c
JJ
50142002-03-09 Jakub Jelinek <jakub@redhat.com>
5015
5016 PR middle-end/5877
5017 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
5018 even for non-representable constants.
5019
0a7ec763
RK
5020Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5021
93fe8e92
RK
5022 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
5023 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
5024 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
5025 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
5026 (pop_function_context): Compute MAY_SHARE parameter for
5027 fixup_var_refs.
5028 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
5029 (gen_mem_addressof): Call fixup_var_refs with new parm.
5030
0a7ec763
RK
5031 * combine.c (make_extraction): Don't make extension of CONST_INT.
5032
a85cd407
AO
50332002-03-09 Alexandre Oliva <aoliva@redhat.com>
5034
9445b814
AO
5035 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
5036 in o32 and o64 ABIs.
5037 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
5038 but getting fixed-size structs passed in registers regardless of
5039 padding in o32 and o64 ABIs.
5040
a85cd407
AO
5041 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
5042 offset before loading address of argument passed by transparent
5043 reference.
5044
c51fbe40
JDA
50452002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
5046
5047 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
5048
918e70dd
AO
50492002-03-09 Alexandre Oliva <aoliva@redhat.com>
5050
5051 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
5052 marker such that registers after it are saved.
5053
3070dd00
KG
50542002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5055
5056 * sparc.c (arith_4096_operand): Fix error in last change.
5057
e25d11b0
AO
50582002-03-08 Alexandre Oliva <aoliva@redhat.com>
5059
5060 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
5061 defaults for MEABI.
5062
41daaf0e
AH
50632002-03-08 Aldy Hernandez <aldyh@redhat.com>
5064
5b43fed1
RH
5065 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
5066 vectors.
41daaf0e 5067
fa139b00
AH
50682002-03-08 Aldy Hernandez <aldyh@redhat.com>
5069
5b43fed1 5070 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 5071
c51d95ec
JH
5072Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
5073
5074 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
5075 removed; fix return value.
5076 * combine.c (combine_instructions): Dirtify blocks where we failed to
5077 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
5078 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
5079
3b25fbfe
KG
50802002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5081
5082 * gcse.c (insert_insn_end_bb): Fix typo in last change.
5083
189ae0f4
JH
5084Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
5085
5086 * recog.c (peephole2_optimize): Re-distribute EH edges.
5087
24965e7a
NB
50882002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
5089
5090 * expr.c (expand_expr): Use unsave lang hook.
5091 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
5092 (LANG_HOOKS_INITIALIZER): Update.
5093 * langhooks.h (struct lang_hooks): New hook unsave.
5094 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
5095 (unsave_expr_1): Remove unused lang_unsave_expr_now.
5096 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
5097 (unsave_expr_now): Remove.
5098 * tree.h (unsave_expr_now, lang_unsave,
5099 lang_unsave_expr_now): Remove.
5100 (lhd_unsave): New.
5101
1e4e95d6
AJ
51022002-03-08 Andreas Jaeger <aj@suse.de>
5103
5104 * flow.c (propagate_block_delete_insn): Remove unused variable.
5105
054ef905
KH
51062002-03-08 Kazu Hirata <kazu@hxi.com>
5107
5108 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
5109 insn length for memory load/store.
5110
5304400d 51112002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 5112
5304400d
CR
5113 * doc/install.texi (--with-libiconv-prefix): Document.
5114
81034129
MB
51152002-03-08 Michael Y. Brukman <myb2@cornell.edu>
5116
5117 * doc/sourcebuild.texi: Fix typo.
5118
71db7d03
JJ
51192002-03-08 Jakub Jelinek <jakub@redhat.com>
5120
5121 PR c/3711
5122 * builtins.c (std_expand_builtin_va_arg): Do all computations on
5123 trees.
5124
127c1ba5
RK
5125Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5126
5127 * rtl.c (copy_most_rtx): Move from here ...
5128 * emit-rtl.c (copy_most_rtx): ... to here.
5129
8a13c092
AO
51302002-03-08 Alexandre Oliva <aoliva@redhat.com>
5131
5faae4f7
AO
5132 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
5133 SUBTARGET_CPP_SIZE_SPEC.
5134 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
5135
8a13c092
AO
5136 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
5137
4ec59de2
MH
51382002-03-07 Matt Hiller <hiller@redhat.com>
5139
5140 * gensupport.c (first_dir_md_include): Renamed from include;
5141 change all references.
5142 (last_dir_md_include): Renamed from last_include; change all
5143 references.
5144 (init_md_reader): Unconditionally initialize base_dir whether or
5145 not filename is a relative path.
5146
12f61e77
AO
51472002-03-07 Alexandre Oliva <aoliva@redhat.com>
5148
95356058
AO
5149 * config/fp-bit.c (_unord_f2): Compile it in even if
5150 US_SOFTWARE_GOFAST is enabled.
5151
12f61e77
AO
5152 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
5153 NULL_RTX. Set all HFmode operations as NULL_RTX.
5154 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
5155 NULL_RTX, try reversing the comparison and the operands.
5156
6d7a1c4c
UW
51572002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
5158
5159 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
5160 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
5161 and MATCH_OP_DUP.
5162
66d54344
JH
5163Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
5164
5165 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
5166
068473ec
JH
5167Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
5168
5169 * basic-block.h (fixup_abnormal_edges): Declare.
5170 * reload1.c (fixup_abnormal_edges): New function.
5171 * reg-stack.c (convert_regs): Use it.
5172
5173 * gcse.c (insert_insn_end_bb): Handle trapping insns.
5174
5175 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
5176
71925bc0
RS
51772002-03-07 Richard Sandiford <rsandifo@redhat.com>
5178
5179 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
5180 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
5181 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
5182 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
5183 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
5184 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
5185 unless x and y could be infinite.
5186 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
5187 Check that the common type of both arguments is a real, even for
5188 targets without unordered comparisons. Allow an integer argument
5189 to be compared against a real.
5190 (expand_tree_builtin): Use expand_unordered_cmp.
5191 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
5192 * cse.c (fold_rtx): Likewise. Fix indentation.
5193 * fold-const.c (fold_real_zero_addition_p): New.
5194 (fold): Use it, and the new HONOR_... macros.
5195 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
5196 * jump.c (reversed_comparison_code_parts): After searching for
5197 the true comparison mode, use HONOR_NANS to decide whether it
5198 can be safely reversed.
5199 (reverse_condition_maybe_unordered): Remove IEEE check.
5200 * simplify-rtx.c (simplify_binary_operation): Use the new macros
5201 to decide which simplifications are valid. Allow the following
5202 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
5203 and (a - -b) to (a + b).
5204 (simplify_relational_operation): Use HONOR_NANS.
5205 * doc/tm.texi: Document the MODE_HAS_... macros.
5206
145d3bf2
RE
52072002-03-07 Richard Earnshaw <rearnsha@arm.com>
5208
5209 * combine.c (simplify_comparison): If simplifying a logical shift
5210 right and compare with constant, force the comparison to unsigned.
5211
76a773f3
AH
52122002-03-07 Aldy Hernandez <aldyh@redhat.com>
5213
5b43fed1 5214 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 5215
5b43fed1
RH
5216 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
5217 -mabi=no-altivec
5218 (alt_reg_names): Remove % for vrsave.
76a773f3 5219
ab55f58c
RH
52202002-03-06 Richard Henderson <rth@redhat.com>
5221
5ddec02e 5222 PR optimization/5844
ab55f58c
RH
5223 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
5224 if used indicates we've already emitted one copy of an operand.
5225 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
5226 (gen_split): Supply a non-null used.
5227
e16e3291
UW
52282002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
5229
5b43fed1 5230 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 5231
1e4e95d6 5232 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
5233 but simply fail if the expression is too complex to simplify.
5234 (simplify_gen_binary): Handle simplify_plus_minus failures.
5235
2ca6672b
JH
5236Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
5237
5238 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
5239 consistently call delete_trivially_dead_insns after CSE and GCSE;
5240 fix DFI_life dumping; do jump threading after liveness; do crossjumping
5241 after liveness2; update comment in last crossjumping.
5242 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
5243
31d0dd4f
JL
5244Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
5245
d094b0b3
JL
5246 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
5247 after completing fast dead code elimination.
5248
31d0dd4f
JL
5249 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
5250 COMPARE operator.
1e4e95d6 5251
f2b958b1
PE
52522002-03-06 Phil Edwards <pme@gcc.gnu.org>
5253
5254 * version.c: Fix misplaced leading blanks on first line.
5255
a2877a09
JH
5256Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
5257
5258 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
5259
fe477d8b
JH
5260Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
5261
5262 * cfgcleanup.c (mentions_nonequal_regs): New function.
5263 (thread_jump): Use it.
5264 * toplev.c (rest_of_compilation): Run jump threading after
5265 liveness.
5266
2041cde4
JJ
52672002-03-06 Jakub Jelinek <jakub@redhat.com>
5268
5269 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
5270 patch.
5271
82d68d46
JH
5272Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
5273
5274 * predict.c (estimate_bb_frequencies): Do not reload the
5275 frequencies from notes.
5276
3dec4024
JH
5277Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
5278
5279 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
5280 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
5281
5282 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
5283 delete_noop_moves): Return indeger.
5284 * flow.c (ndead): New variable.
5285 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
5286 BB argument; update callers.
5287 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
5288 (life_analysis): Do not call purge_all_dead_edges.
5289 (update_life_info): Return number of deleted insns; print statistics.
5290 (update_life_info_in_dirty_blocks): likewise.
5291 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
5292 return number of insns deleted.
5293
5294 * cse.c: Include timevar.h
5295 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
5296 iterate until stabilizes; print statistics; return number of killed
5297 insns.
5298 * Makefile.in: (cse.o): Add timevar.h dependency
5299 * rtl.h (delete_trivially_dead_insns): New.
5300 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
5301 * toplev.c (rest_of_compilation): Update callers.
5302
5303 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
5304 (try_optimize_cfg): Do not update liveness.
5305 (cleanup-cfg): Loop until try_optimize_cfg and dead code
5306 removal stabilizes; use delete_trivially_dead_insns.
5307
5308 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
5309
c7544dd8
ZW
53102002-03-05 Zack Weinberg <zack@codesourcery.com>
5311
5312 * cppmain.c (setup_callbacks): Disable #pragma and #ident
5313 callbacks when processing assembly language.
5314
50b424a9
JDA
53152002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
5316
5317 * pa.h (ASM_FILE_END): Define.
5318 * som.h (ASM_FILE_END): Delete.
5319
5320 * pa.c (function_arg): Don't pass floats in general registers in
5321 indirect calls if TARGET_ELF32.
5322
6185f217
RH
53232002-03-05 Richard Henderson <rth@redhat.com>
5324
5325 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
5326
3020a4b2
DS
53272002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
5328
5329 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
5330
65649daa
JJ
53312002-03-05 Jakub Jelinek <jakub@redhat.com>
5332
5333 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
5334 -r command line. Don't hide any symbols if not building
5335 shared libgcc.
5336
5a1a3e5e
JH
5337Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
5338
5339 * cfg.c (dump_flow_info): Warn about profile mismatches.
5340 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
5341 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
5342
170c56da
JJ
53432002-03-05 Jakub Jelinek <jakub@redhat.com>
5344
5345 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
5346 wide volatile memory by parts.
5347
6d051694
JJ
53482002-03-05 Jakub Jelinek <jakub@redhat.com>
5349
5350 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
5351 is NULL.
5352
28bcfd4d
RH
53532002-03-05 Richard Henderson <rth@redhat.com>
5354
5b43fed1 5355 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 5356
75227a33
GK
53572002-03-04 Geoffrey Keating <geoffk@redhat.com>
5358
5359 * toplev.c (documented_lang_options): Document more
5360 language-specific options.
5361 * doc/invoke.texi (Warning Options): Correct documentation for
5362 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
5363 * c-decl.c (c_decode_option): Use a table to handle warning options.
5364
4f1aac42
HPN
53652002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
5366
5367 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
5368 parameter to mmix_encode_section_info.
5369 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
5370 relocatably. Always produce ELF, not mmo if linking relocatably.
5371 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
5372 first is non-zero, don't add symbol prefix.
5373 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
5374 prototype accordingly.
5375
12345543
KW
53762002-03-04 Krister Walfridsson <cato@df.lth.se>
5377
5378 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
5379
8e97db8f
JM
53802002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
5381
5382 * configure.in: Increase required makeinfo version to 4.1.
5383 * configure: Regenerate.
5384
06487868
GK
53852002-03-04 Geoffrey Keating <geoffk@redhat.com>
5386
5387 * .cvsignore: Remove *.info* and genrtl*; these files are generated
5388 elsewhere now.
5389
cff42170
JM
53902002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
5391
5392 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
5393 * doc/invoke.texi: Fix @math uses.
5394
974a7f56
JH
5395Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
5396
5397 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
5398 removal
5399
3b7d0e98
AH
54002002-03-03 Aldy Hernandez <aldyh@redhat.com>
5401
5b43fed1
RH
5402 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
5403 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 5404
5b43fed1 5405 * config/rs6000/t-ppcendian: New.
3b7d0e98 5406
65f2f288
HB
54072002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5408
5409 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
5410 nonimmediate_src_operand and nonimmediate_lsrc_operand to
5411 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
5412
8ce0a8a5
RH
54132002-03-03 Richard Henderson <rth@redhat.com>
5414
5415 * toplev.c (rest_of_decl_compilation): Revert last two changes.
5416
ba31d94e
ZW
54172002-03-03 Zack Weinberg <zack@codesourcery.com>
5418
5419 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
5420 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
5421 tree.c, config/m68k/m68k.c:
5422 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
5423 REAL_ARITHMETIC blocks unconditional. Delete some further
5424 #ifdef blocks predicated on REAL_ARITHMETIC.
5425 * flags.h, toplev.c: Delete remaining references to
5426 flag_pretend_float.
5427
5428 * doc/invoke.texi: Remove documentation of -fpretend-float.
5429 * doc/tm.texi: Describe the various REAL_* macros as provided by
5430 real.h, not by the target configuration files.
5431
5432 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
5433 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
5434 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
5435 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
5436 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
5437 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
5438 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
5439 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
5440 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
5441 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
5442 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
5443 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
5444 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
5445 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
5446 config/xtensa/xtensa.h:
5447 Do not define, undefine, or mention in comments any of
5448 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
5449 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
5450 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
5451 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
5452 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
5453 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
5454 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
5455 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
5456 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
5457
9a571cfd
KG
54582002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5459
e81dd381
KG
5460 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
5461 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
5462 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
5463 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
5464 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
5465 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
5466 Delete.
5467 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 5468 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 5469
9a571cfd
KG
5470 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
5471 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
5472 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
5473
ca7558fc
KG
54742002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5475
5476 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
5477 lieu of explicit sizeof/sizeof.
5478 * i386.c (override_options, ix86_init_mmx_sse_builtins,
5479 ix86_expand_builtin): Likewise.
5480 * mips.c (mips_add_gc_roots): Likewise.
5481 * mmix.c (mmix_output_condition): Likewise.
5482 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
5483 altivec_init_builtins): Likewise.
5484 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
5485 * cppexp.c (Nsuff, parse_number): Likewise.
5486 * cppinit.c (builtin_array_end): Likewise.
5487 * gcc.c (n_default_compilers, process_command): Likewise.
5488 * genpreds.c (output_predicate_decls): Likewise.
5489 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
5490 * lcm.c (N_ENTITIES): Likewise.
5491 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 5492
41c78c88
RH
54932002-03-03 Richard Henderson <rth@redhat.com>
5494
5495 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
5496 for types or labels.
5497
9e9b71e6
RH
54982002-03-03 Richard Henderson <rth@redhat.com>
5499
5500 * c-decl.c (start_decl): Initialized variables are not common.
5501
c26a6db8
PB
55022002-03-02 Per Bothner <per@bothner.com>
5503
5504 * gcc.c (option_map): Suport new --bootclasspath option.
5505 --CLASSPATH is now just an alias for --classpath.
5506
9e8aab55
RH
55072002-03-02 Richard Henderson <rth@redhat.com>
5508
5509 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
5510 load if "internal" visibility.
5511 * doc/extend.texi: Document visibility meanings.
5512
b3bbd220
RH
55132002-03-02 Richard Henderson <rth@redhat.com>
5514
5515 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
5516 to functions as well.
5517
b14707c3
RH
55182002-03-02 Richard Henderson <rth@redhat.com>
5519
5520 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
5521 (handle_visibility_attribute): Don't call assemble_visibility.
5522 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
5523 without asmspec. Invoke assemble_alias when needed.
5524 * varasm.c (maybe_assemble_visibility): New.
5525 (assemble_start_function, assemble_variable, assemble_alias): Use it.
5526
b2003250
RH
55272002-03-02 Richard Henderson <rth@redhat.com>
5528
5529 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
5530 invoke ENCODE_SECTION_INFO with first call flag.
5531
5532 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
5533 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 5534 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
5535 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
5536 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
5537 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
5538 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
5539 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
5540 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
5541 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
5542 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
5543 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
5544 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
5545 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
5546 config/mcore/mcore-protos.h, config/mcore/mcore.c,
5547 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
5548 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 5549 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
5550 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
5551 config/sh/sh.h, config/sparc/sparc.h,
5552 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
5553 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
5554 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
5555 FIRST argument. As needed, examine it and do nothing.
5556
ba31d94e 5557 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
5558 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
5559 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
5560
5561 * config/arm/t-pe (pe.o): Add dependencies.
5562
5c60f03d
KG
55632002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5564
5565 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
5566 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
5567 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
5568 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
5569 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
5570 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
5571 * defaults.h (BITS_PER_UNIT): Define.
5572 * doc/tm.texi (BITS_PER_UNIT): Document default value.
5573
86855e8c
KH
55742002-03-02 Kazu Hirata <kazu@hxi.com>
5575
5576 * config/h8300/h8300-protos.h: Add a prototype for
5577 compute_a_shift_length.
5578 * config/h8300/h8300.c (h8300_asm_insn_count): New.
5579 (compute_a_shift_length): Likewise.
5580 (h8300_adjust_insn_length): Do not adjust insn length of shift
5581 insns.
5582 * config/h8300/h8300.md (anonymous shift patterns): Use
5583 compute_a_shift_length.
5584
f6041ed8
RK
5585Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5586
35aa3c1c
RK
5587 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
5588 trunc_int_for_mode.
5589
f6041ed8
RK
5590 * emit-rtl.c (offset_address): Call update_temp_slot_address.
5591
27b41650
KG
55922002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5593
5594 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
5595 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
5596 * flags.h (flag_zero_initialized_in_bss): Declare.
5597 * toplev.c (flag_zero_initialized_in_bss): New flag.
5598 (lang_independent_options): Add flag_zero_initialized_in_bss.
5599 * tree.c (initializer_zerop): New function.
5600 * tree.h (initializer_zerop): Declare.
5601 * varasm.c (assemble_variable): If we can emit bss, put zero
5602 initializers in the bss section.
5603
ca734b39
AM
56042002-03-02 Alan Modra <amodra@bigpond.net.au>
5605
5606 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
5607 like more than one symbol per .weak directive.
5608
49b72306
RH
56092002-03-01 Richard Henderson <rth@redhat.com>
5610
5611 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
5612 adjust argument_pointer by pretend_args_size.
5613 (ia64_va_start): Adjust va_start address by -pretend_args_size.
5614
fbf0fe41
KH
56152002-03-01 Kazu Hirata <kazu@hxi.com>
5616
5617 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
5618
0010687d
JH
5619Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
5620
5621 * toplev.c (rest_of_compilation): Delete dead jumptables before
5622 loop.
5623 * flow.c (delete_dead_jumptables): Make global.
5624 * rtl.h (delete_dead_jumptables): Declare.
5625
9429c84c
DE
56262002-03-01 David Edelsohn <edelsohn@gnu.org>
5627
5628 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
5629 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 5630 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 5631
f0b6f9a6
KH
56322002-03-01 Kazu Hirata <kazu@hxi.com>
5633
5634 * config/h8300/h8300-protos.h: Fix formatting.
5635 * config/h8300/h8300.c: Likewise.
5636 * config/h8300/h8300.h: Likewise.
5637
bc8db8a1
KH
56382002-03-01 Kazu Hirata <kazu@hxi.com>
5639
5640 * config/h8300/h8300.c (print_operand): Support 16-bit
5641 constant addresses.
5642 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
5643
32b069d3
RH
56442002-02-28 Richard Henderson <rth@redhat.com>
5645
5646 * expmed.c (store_bit_field): Prevent generation of CONCATs;
5647 pun complex values as integers; use gen_lowpart instead of
5648 gen_rtx_SUBREG.
5649 (extract_bit_field): Likewise.
5650
79c4e63f
AM
56512002-03-01 Alan Modra <amodra@bigpond.net.au>
5652 David Edelsohn <edelsohn@gnu.org>
5653
5654 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
5655 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
5656 (SUPPORTS_WEAK): Likewise.
5657 * output.h (add_weak): Add tree param.
5658 * varasm.c (add_weak): Likewise. Save decl.
5659 (struct weak_syms): Add decl field.
5660 (mark_weak_decls): New function.
5661 (init_varasm_once): ggc_add_root mark_weak_decls.
5662 (assemble_start_function): Use ASM_WEAKEN_DECL.
5663 (assemble_variable): Likewise.
5664 (assemble_alias): Likewise.
5665 (declare_weak): Pass decl to add_weak.
5666 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
5667 (remove_from_pending_weak_list): Declare and define for
5668 ASM_WEAKEN_DECL.
5669 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
5670 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
5671 * defaults.h (SUPPORTS_WEAK): Likewise.
5672 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
5673 .weak for code sym. Do emit .size for descriptor sym.
5674 (ASM_DECLARE_FUNCTION_SIZE): Define.
5675 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
5676 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
5677 .lglobl unless TARGET_XCOFF. Formatting fixes.
5678 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
5679 .weak for code sym.
5680 (HANDLE_PRAGMA_WEAK): Remove.
5681 (ASM_WEAKEN_LABEL): Remove.
5682 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
5683
6f30f1f1
JM
56842002-03-01 Jason Merrill <jason@redhat.com>
5685
5686 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
5687 (TARGET_EXPR_CLEANUP): New macro.
5688
7879b81e
SE
56892002-02-28 Steve Ellcey <sje@cup.hp.com>
5690
5691 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
5692 to take ptr_extend into account as third type of extension.
5693 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
5694 fields used by SUBREG_PROMOTED_UNSIGNED_P.
5695 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
5696 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
5697 * calls.c (precompute_arguments): Use new macro.
5698 (expand_call): Ditto.
5699 * combine.c (nonzero_bits): Ditto.
5700 (record_promoted_value): Ditto.
5701 * expr.c (store_expr): Ditto.
5702 (expand_expr): Ditto.
5703 * function.c (assign_parms): Ditto.
5704
42d579d8
AO
57052002-02-28 Alexandre Oliva <aoliva@redhat.com>
5706
5707 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
5708 override -shared and -shared-libgcc.
5709
e0054185
DB
57102002-02-28 David O'Brien <obrien@FreeBSD.org>
5711
5712 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
5713 of "ultrasparc".
5714 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
5715 to be broken.
5716
abda4f1c
RH
57172002-02-28 Richard Henderson <rth@redhat.com>
5718
5719 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
5720 4 cycle latency from MM producers.
5721 (ia64_internal_sched_reorder): Likewise with pipeline flush.
5722
c0f08649
JJ
57232002-02-28 Jakub Jelinek <jakub@redhat.com>
5724
5725 * mklibgcc.in: Don't use GNU make extension.
5726
f79f2651
NB
57272002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
5728
5729 * c-parse.in (STATIC): New terminal.
5730 (scspec): New non-terminal. Update productions accordingly.
5731 (program): Remove bogus ifc / end ifc.
5732 (array_declarator): Simplify production using STATIC.
5733
001e3fee
JM
57342002-02-28 Jim Meyering <meyering@lucent.com>
5735
5736 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
5737 \a still means TARGET_BELL.
5738
89076bb3
RH
57392002-02-28 Richard Henderson <rth@redhat.com>
5740
5741 * haifa-sched.c (sched_emit_insn): New.
5742 (schedule_block): Use last_scheduled_insn to track last insn.
5743 * sched-int.h (sched_emit_insn): Prototype.
5744 * config/ia64/ia64.c (last_issued): Remove.
5745 (ia64_variable_issue): Don't set it.
5746 (nop_cycles_until): Use sched_emit_insn.
5747
e3aaacf4
AM
57482002-02-28 Andrew MacLeod <amacleod@redhat.com>
5749
5750 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
5751 extended constants.
5752
7f473594
KH
57532002-02-28 Kazu Hirata <kazu@hxi.com>
5754
5755 * config/h8300/h8300.c: Fix formatting.
5756 * config/h8300/h8300.h: Likewise.
5757
b96c434c
MM
57582002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
5759
5760 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
5761 which may overwrite the high byte of the frame pointer.
5762
9b420a6a
BT
57632002-02-28 Bo Thorsen <bo@suse.de>
5764
5765 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
5766 (STARTFILE_SPEC): Add 64 bit files.
5767 (ENDFILE_SPEC): Likewise.
5768
6f30f1f1 57692002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
5770
5771 * c-decl.c (finish_function): Only warn about missing return
5772 statement with -Wreturn-type.
5773
70da1d03
JH
5774Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
5775
5776 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
5777
5778 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
5779 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
5780
38c1593d
JH
5781Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
5782
5783 * basic-block.h (BB_REACHABLE): Renumber.
5784 (BB_DIRTY, BB_NEW): New flags.
5785 (clear_bb_flags): Declare.
5786 (update_life_info_in_dirty_blocks): Declare.
5787 * cfg.c (clear_bb_flags): New function.
5788 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
5789 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
5790 reorder_insns, emit_insn_after): Mark block as dirty.
5791 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
5792 (update_life_info_in_dirty_blocks): New function.
5793 * recog.c (apply_change_group): Dirtify block.
5794
5795 * cse.c (cse_insn): Reorder emitting of jump insn to keep
5796 cfg consistent.
5797 * gcse.c (delete_null_pointer_checks): Likewise.
5798
5799 * toplev.c (dump_file_index): Move cse2 after bp,
5800 add DFI_null
5801 (dump_file_info): Similary.
5802 (rest_of_compilation): Avoid most of CFG rebuilds;
5803 do first if converision after null pointer checks, do cse2
5804 after branch prediction; avoid full liveness rebuild after
5805 initializing subregs.
5806 * invoke.texi (-d options): Document -du, renumber.
5807
5808 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
5809 (notice_new_block): Do not set BB_UPDATE_LIFE.
5810 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
5811 merge_blocks_move_successor_nojumps, merge_blocks,
5812 try_crossjump_to_edge): Likewise.
5813 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
5814 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
5815 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
5816 (merge_of_block): Do not use life_data_ok.
5817 (find_if_case_1): Do not use SET_UPDATE_LIFE.
5818 (if_convert): Use BB_DIRTY mechanizm to update life.
5819 * lcm.c (optimize_mode_switching): Update
5820 update_life_info_in_dirty_blocks
5821
63e1b1c4
NB
58222002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
5823
5824 * Makefile.in (integrate.o): Update.
5825 * c-decl.c (copy_lang_decl): Rename.
5826 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
5827 * integrate.c: Include langhooks.h.
5828 (copy_decl_for_inlining): Update to use langhook.
5829 * langhooks-def.h (lhd_do_nothing_t,
5830 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
5831 (LANG_HOOKS_INITIALIZER): Update.
5832 * langhooks.c (lhd_do_nothing_t): New.
5833 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
5834 * tree.h (copy_lang_decl): Remove.
5835objc:
5836 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
5837
f472fa29
AM
58382002-02-27 Andrew MacLeod <amacleod@redhat.com>
5839
ba31d94e 5840 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
5841 POST_DEC, and POST_MODIFY.
5842
273cf2e4
ZW
58432002-02-27 Zack Weinberg <zack@codesourcery.com>
5844
5845 * c-typeck.c (digest_init): Remove unused parameter; all
5846 callers changed.
5847
4e07d762
GK
58482002-02-27 Geoffrey Keating <geoffk@redhat.com>
5849
5850 * expmed.c (expand_shift): Correctly test for low part of a
5851 subreg.
5852
6bc627b3
UW
58532002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
5854
5855 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
5856 insn UIDs with insn addresses.
5857
f458d1d5
ZW
58582002-02-27 Zack Weinberg <zack@codesourcery.com>
5859
5860 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
5861 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
5862 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
5863 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
5864 gcc.c, toplev.c: Delete code implementing -traditional mode.
5865
5866 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
5867 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
5868 Document removal of -traditional mode for compilation, and
5869 remove documentation only relevant to that mode.
5870
5871 * config/nextstep.h, config/ptx4.h, config/svr4.h,
5872 config/convex/convex.h, config/d30v/d30v.h,
5873 config/i386/dgux.h, config/i386/osf1elf.h,
5874 config/i386/osfelf.h, config/i386/osfrose.h,
5875 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
5876 config/m68k/hp310.h, config/m88k/dgux.h,
5877 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
5878 config/m88k/m88k.h, config/m88k/openbsd.h,
5879 config/mips/abi64.h, config/mips/osfrose.h,
5880 config/mips/svr4-5.h, config/mips/svr4-t.h,
5881 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
5882 config/stormy16/stormy16.h: Remove all references to
5883 -traditional from target specs. Delete all mention of the
5884 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
5885 delete a couple of commented-out definitions of
5886 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
5887 to -traditional.
5888
5889 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
5890 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
5891
e0b3a8ff
ZW
58922002-02-27 Zack Weinberg <zack@codesourcery.com>
5893
5894 * mklibgcc.in: Don't use \n in a line subject to
5895 interpretation by echo.
5896
5c6a85b7
GS
58972002-02-27 Graham Stott <grahams@redhat.com>
5898
72b05af1
GS
5899 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
5900 Constify NAME.
5901
7d104885
GS
5902 * loop.c (prescan_loop): Handle PARALLEL.
5903
8ed805d2
GS
5904 * unroll.c (loop_iterations): Return 0 if the add_val for
5905 a BIV is REG.
5906
fd478a0a
GS
5907 * final.c (output_operand_lossage): Constify PFX_STR.
5908
5c6a85b7
GS
5909 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
5910
cd98ad03
JH
5911Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
5912
5913 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
5914 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
5915
639ae55b
JH
5916Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
5917
5918 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
5919
e808ec9c
NB
59202002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
5921
5922 * cpplex.c (_cpp_lex_token): Handle directives in macro
5923 arguments.
5924 * cpplib.c (_cpp_handle_directive): Save and restore state
5925 if parsing macro args when entering a directive.
5926 * cppmacro.c (collect_args): No need to handle directives
5927 in macro arguments.
5928 (enter_macro_context, replace_args): Use the original macro
5929 definition in case it was redefined whilst collecting arguments.
5930doc:
5931 * cpp.texi: Update.
5932
f585a356
DE
59332002-02-26 David Edelsohn <edelsohn@gnu.org>
5934
5935 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
5936 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
5937 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
5938 method on AIX.
5939 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
5940 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
5941 (load_toc_v4_PIC_2): Same.
5942
59432002-02-26 Alan Modra <amodra@bigpond.net.au>
5944
5945 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
5946
d699058e
RH
59472002-02-26 Richard Henderson <rth@redhat.com>
5948
5949 * config/alpha/alpha.md (ashldi_se): Re-enable.
5950
eadccfbb
RH
59512002-02-26 Richard Henderson <rth@redhat.com>
5952
5953 * config/alpha/alpha.c (alpha_encode_section_info): Examine
5954 MODULE_LOCAL_P; improve commentary.
5955
7080ada1
ZW
59562002-02-26 Zack Weinberg <zack@codesourcery.com>
5957
5958 * doc/cpp.texi: Clarify documentation of relationship between
5959 #line and #include.
5960
b42cff6b
KH
59612002-02-26 Kazu Hirata <kazu@hxi.com>
5962
5963 * config/h8300/h8300-protos.h: Update the prototype for
5964 compute_logical_op_length. Add the prototype for
5965 compute_logical_op_cc.
5966 * config/h8300/h8300.c (compute_logical_op_length): Figure out
5967 code from operands.
5968 (compute_logical_op_cc): New.
5969 * config/h8300/h8300.md: Combine all the logical op patterns
5970 in HImode and SImode. Use compute_logical_op_cc.
5971
831c4e87
KC
59722002-02-26 Kelley Cook <kelleycook@comcast.net>
5973
5974 * config/i386/i386.c (print_operand): Don't append ATT-style
5975 length suffixs to x87 opcodes when in Intel mode.
5976
ff88fe10
RS
59772002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
5978
5979 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
5980 (init_emit_once): Update calls.
5981 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
5982 (init_syntax_once): Prototype.
5983
d4108589
JDA
59842002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
5985
5986 * pa-linux.h (LIB_SPEC): Update definition.
5987 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
5988
e013f3c7
RH
59892002-02-26 Richard Henderson <rth@redhat.com>
5990
5991 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
5992 if we emitted a stop bit.
5993
9e944a16
JJ
59942002-02-26 Jakub Jelinek <jakub@redhat.com>
5995
5996 * configure.in (libgcc_visibility): Substitute.
5997 * configure: Rebuilt.
5998 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
5999 defined symbols .hidden.
6000
47bd70b5
JJ
60012002-02-26 Jakub Jelinek <jakub@redhat.com>
6002
6003 * attribs.c (c_common_attribute_table): Add visibility.
6004 (handle_visibility_attribute): New function.
6005 * varasm.c (assemble_visibility): New function.
6006 * output.h (assemble_visibility): Add prototype.
6007 * tree.h (MODULE_LOCAL_P): Define.
6008 * crtstuff.c (__dso_handle): Use visibility attribute.
6009 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
6010 for MODULE_LOCAL_P symbols too.
6011 * config/ia64/ia64.c (ia64_encode_section_info): Handle
6012 MODULE_LOCAL_P symbols the same way as local symbols.
6013 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
6014 into .sdata/.sbss by the user.
6015 * doc/extend.texi (Function Attributes): Document visibility
6016 attribute.
6017
6d73371a
JJ
60182002-02-26 Jakub Jelinek <jakub@redhat.com>
6019
6020 PR debug/5770
6021 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
6022 STRING_CST initializer spanning the whole variable without
6023 embedded zeros.
6024 If expand_expr returned MEM, don't use it.
6025
06e224f7
AO
60262002-02-26 Alexandre Oliva <aoliva@redhat.com>
6027
6028 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
6029 generate a die for the lexical block.
6030
40367e2d
KH
60312002-02-26 Kazu Hirata <kazu@hxi.com>
6032
6033 * config/h8300/h8300-protos.h: Add a prototype for
6034 compute_logical_op_length.
6035 * config/h8300/h8300.c (compute_logical_op_length): New.
6036 * config/h8300/h8300.md (anonymous logical patterns): Use
6037 compute_logical_op_length for length.
6038
0e98f924
AH
60392002-02-26 Aldy Hernandez <aldyh@redhat.com>
6040
831c4e87
KC
6041 * dwarf2out.c (modified_type_die): Do not call type_main_variant
6042 for vectors.
6043 (gen_type_die): Same.
0e98f924 6044
831c4e87 6045 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 6046
a50cfd52
DE
60472002-02-26 Daniel Egger <degger@fhm.edu>
6048
831c4e87
KC
6049 * config/rs6000/rs6000.md: Swap define_insn attributes to
6050 fix incorrect generation of merge high instructions instead
6051 of merge low.
a50cfd52 6052
b7997284
AH
60532002-02-26 Aldy Hernandez <aldyh@redhat.com>
6054
831c4e87
KC
6055 * c-typeck.c (really_start_incremental_init): Use
6056 bitsize_zero_node for vectors.
b7997284 6057
376aec5d
AH
60582002-02-26 Aldy Hernandez <aldyh@redhat.com>
6059
831c4e87
KC
6060 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
6061 ("*set_vrsave_internal"): Same.
376aec5d 6062
3b40e71b
RH
60632002-02-25 Richard Henderson <rth@redhat.com>
6064
6065 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
6066 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
6067
232b8f52
JJ
60682002-02-25 Jakub Jelinek <jakub@redhat.com>
6069
6070 PR target/5755
6071 * config/i386/i386.c (ix86_return_pops_args): Only pop
6072 fake structure return argument if it was passed on the stack.
6073
67282790
JM
60742002-02-25 Jason Merrill <jason@redhat.com>
6075
6076 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
6077 RESULT_DECL.
6078
5c181756
AO
60792002-02-25 Alexandre Oliva <aoliva@redhat.com>
6080
6081 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
6082 link with shared_name only.
6083 * doc/invoke.texi (Link Options): Document new behavior.
6084
6786d201
AH
60852002-02-25 Aldy Hernandez <aldyh@redhat.com>
6086
831c4e87 6087 * c-typeck.c (push_init_level): Handle vectors.
6786d201 6088
7d6040e8
AO
60892002-02-25 Alexandre Oliva <aoliva@redhat.com>
6090
6091 * config/sparc/sparc.c (const64_high_operand): Zero-extend
6092 operands of SPARC_SETHI_P.
6093 (input_operand): Likewise.
6094 (sparc_emit_set_const32): Likewise.
6095 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
6096 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
6097 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
6098 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
6099 (movdi_insn_sp64_vis): Likewise.
6100 (movdi split, movdf split): Use SETHI32.
6101 * doc/md.texi: Document SPARC constraints L, M and N.
6102
b188f760
AH
61032002-02-25 Aldy Hernandez <aldyh@redhat.com>
6104
831c4e87
KC
6105 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
6106 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 6107
831c4e87
KC
6108 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
6109 gen_get_vrsave_internal.
b188f760 6110
8041889f
RK
6111Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6112
6113 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
6114
a47ed310
NB
61152002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
6116
6117 * cpplex.c (cpp_interpret_charconst): Get signedness or
6118 otherwise of wide character constants correct.
6119 * cppexp.c (lex): Get signedness of wide charconsts correct.
6120
cb8f73be
RK
6121Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6122
6123 * optabs.c (widen_operand): Only call convert_modes for
6124 promoted SUBREG if signedness matches.
6125 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
6126
2450e0b8
NB
61272002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
6128
6129 * cpplib.c (glue_header_name): Use local buffer to build up
6130 header name.
6131
70b6aaed
NB
61322002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
6133
6134 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
6135
6be580c7
KH
61362002-02-23 Kazu Hirata <kazu@hxi.com>
6137
6138 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
6139 H8/300[HS] separately.
6140 * config/h8300/h8300.md: Remove the early clobber constraint
6141 from bit field patterns.
6142
35dad9f1
KH
61432002-02-23 Kazu Hirata <kazu@hxi.com>
6144
6145 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
6146 register_operand.
6147 (mulhisi3): Likewise.
6148 (umulqisi3): Likewise.
6149 (umulhisi3): Likewise.
6150
ab8e2228
NB
61512002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
6152
6153 * cppinit.c (output_deps): Correct test for stdout output.
6154 (init_dependency_output): Cure warning.
6155
ac6f8a15
RK
6156Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6157
6158 * expr.c (store_expr): When converting expression to promoted
6159 equivalent type, allow using SUBREG_REG of TARGET as the target
6160 of the expansion of EXP.
6161 * loop.c (basic_induction_var, case SUBREG): Always look inside.
6162 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
6163 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
6164 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
6165 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
6166
f282ffb3
JM
61672002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
6168
6169 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
6170 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
6171 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
6172
44c5edc0
JJ
61732002-02-23 Jakub Jelinek <jakub@redhat.com>
6174
6175 PR optimization/5747
6176 * loop.c (scan_loop): Update reg info if move_movables created new
6177 pseudos.
6178
f98e43c0
DE
61792002-02-23 David Edelsohn <edelsohn@gnu.org>
6180
6181 * gcc.c (init_gcc_spec): Revert last change.
6182
e72247f4
DE
61832002-02-23 David Edelsohn <edelsohn@gnu.org>
6184
6185 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
6186 gpc_reg_operand constraint.
6187
61882002-02-23 Alan Modra <amodra@bigpond.net.au>
6189
6190 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
6191 Simplify comparison of `low'.
6192 (add_operand): Fix formatting.
6193 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 6194 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
6195 (rs6000_stack_info): Remove redundant test setting push_p.
6196 (output_toc): Fix formatting.
6197 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
6198 cc_reg_not_cr0_operand constraint.
6199 (booldi3, boolcdi3 splitters): Same.
6200
a5c30531
AH
62012002-02-23 Aldy Hernandez <aldyh@redhat.com>
6202
831c4e87 6203 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 6204
43710f9f
DE
62052002-02-22 David Edelsohn <edelsohn@gnu.org>
6206
6207 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
6208 gcc invoked with -shared-libgcc.
6209
3256b817
JJ
62102002-02-22 Jakub Jelinek <jakub@redhat.com>
6211
6212 PR c++/5748
6213 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
6214 decl if any of elements was TREE_USED.
6215
9e0625a3
AO
62162002-02-22 Alexandre Oliva <aoliva@redhat.com>
6217
6218 * config/sparc/sol2.h: Don't include sys/mman.h.
6219 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
6220 (arith_4096_operand): Don't throw high bits away.
6221 (const64_operand): Take sign extension of CONST_INTs into account.
6222 (const64_high_operand, sparc_emit_set_const32): Likewise.
6223 (GEN_HIGHINT64): Likewise.
6224 (sparc_emit_set_const64_quick1): Likewise.
6225 (const64_is_2insns): Likewise.
6226 (print_operand): Use trunc_int_for_mode for sign extension.
6227 * config/sparc/sparc.h (SMALL_INT32): Likewise.
6228 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
6229 chars. Assume CONST_INT is already properly sign-extended.
6230 (movdi split): Sign-extend each SImode part.
6231 (andsi3 split): Don't mask high bits off, so that result
6232 remains properly sign-extend.
6233 (iorsi3 split): Likewise.
6234 (xorsi3 split): Likewise.
6235
54fec3d5
RS
62362002-02-22 Richard Sandiford <rsandifo@redhat.com>
6237
6238 * fold-const.c (fold): Fix typo in comments.
6239
667ada9b
DN
62402002-02-21 Diego Novillo <dnovillo@redhat.com>
6241
6242 * Makefile.in (langhooks.o): Update dependencies.
6243
29ac78d5
DN
62442002-02-21 Diego Novillo <dnovillo@redhat.com>
6245
6246 * langhooks.c: Include flags.h.
6247
6aa77e6c
AH
62482002-02-21 Aldy Hernandez <aldyh@redhat.com>
6249
6250 * testsuite/gcc.dg/attr-alwaysinline.c: New.
6251
6252 * c-common.c (c_common_post_options): Set inline trees by
6253 default.
6254
6255 * doc/extend.texi (Function Attributes): Document always_inline
6256 attribute.
6257 Update documentation about inlining when not optimizing.
6258
6259 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
6260
6261 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
6262 unless DECL_ALWAYS_INLINE.
6263
6264 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
6265 unless DECL_ALWAYS_INLINE.
6266 (c_disregard_inline_limits): Disregard if always_inline set.
6267
6268 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
6269 Disregard if always_inline set.
6270 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
6271 unless DECL_ALWAYS_INLINE.
6272
6273 * attribs.c (handle_always_inline_attribute): New.
6274 (c_common_attribute_table): Add always_inline.
6275
6276 * config/rs6000/altivec.h: Add prototypes for builtins
6277 requiring the always_inline attribute.
6278
c410d49e
EC
62792002-02-21 Eric Christopher <echristo@redhat.com>
6280
6281 * expmed.c (store_bit_field): Try to simplify the subreg
6282 before generating a new one when when the mode size of
6283 value is less than maxmode.
6284
e3c8ea67
RH
62852002-02-21 Richard Henderson <rth@redhat.com>
6286
6287 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
6288 than gen_rtx_PLUS to form the sum.
6289 * explow.c (force_reg): Rearrange to not allocate new pseudo
6290 when force_operand returns a register.
6291 * expr.c (expand_assignment): Allow offset_rtx expansion to
6292 return a sum. Do not force addresses into registers.
6293 (expand_expr): Likewise.
6294 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
6295 to canonicalize arithmetic that didn't simpify.
6296 (simplify_plus_minus): New argument force; update
6297 all callers. Don't split CONST unless we can do something with it,
6298 and wouldn't lose the constness of the operands.
6299
6300 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
6301 that we generated earlier.
6302
c1a046e5
TT
63032002-02-21 Tom Tromey <tromey@redhat.com>
6304
6305 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
6306 (output_line_info): Use constant `1', with a long explanatory
6307 comment.
6308 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
6309
31fbaad4
R
6310Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
6311
6312 * jump.c (redirect_jump): If old label has no UID, don't try to
6313 delete it.
6314
a7f52356
R
6315Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
6316
6317 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
6318 If input is constant, do shifts at compile time.
6319
924fcc4e
JM
63202002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
6321
6322 * doc/extend.texi: Fix some more overfull hboxes.
6323
e5a20888
JJ
63242002-02-21 Jakub Jelinek <jakub@redhat.com>
6325
6326 PR optimization/4994
6327 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
6328 register moves.
6329
63302002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
6331
6332 PR c++/4574
6333 * expr.h (expand_and): Add mode argument.
6334 * expmed.c (expand_and): Add mode argument.
6335 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
6336 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
6337 * except.c (expand_builtin_extract_return_addr): Likewise.
6338 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
6339 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
6340 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
6341 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
6342 * config/c4x/c4x.md: Use GEN_INT (x) instead of
6343 gen_rtx (CONST_INT, VOIDmode, x).
6344
7133e992
JJ
63452002-02-21 Jakub Jelinek <jakub@redhat.com>
6346
6347 PR c/4697:
6348 * stmt.c (warn_if_unused_value): Move side effects test once more.
6349
e2ec05a6
TG
63502002-02-20 Torbjorn Granlund <tege@swox.com>
6351
6352 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 6353 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 6354
9dd791c8
AO
6355Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
6356
6357 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
6358 SUBREG or ZERO_EXTEND.
6359
7ab56274
R
6360Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
6361
6362 * sh.h (current_function_anonymous_args): Remove.
6363 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
6364 of current_function_varargs and current_function_stdarg is set.
6365 * sh.c (sh_expand_prologue): Check current_function_varargs /
6366 current_function_stdarg / TARGET_SH5 instead of
6367 current_function_anonymous_args.
6368
6369 * sh64.h (TARGET_VERSION): Define.
6370
b1765bde
DE
63712002-02-20 David Edelsohn <edelsohn@gnu.org>
6372
6373 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
6374 VRSAVE_REGNO on TARGET_ALTIVEC.
6375
63762002-02-20 Alan Modra <amodra@bigpond.net.au>
6377
6378 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
6379 bits of SImode const_int.
6380 (includes_rshift_p): Likewise.
6381 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 6382 mode.
b1765bde
DE
6383 (rs6000_output_function_epilogue): Pad traceback table to word.
6384 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
6385 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
6386 mask64_operand with correct mode.
b1765bde
DE
6387 (FUNCTION_ARG_REGNO_P): Correct parentheses.
6388
149d6f9e
JJ
63892002-02-20 Jakub Jelinek <jakub@redhat.com>
6390
6391 PR debug/4461
6392 * varasm.c (get_pool_constant_mark): New.
6393 * rtl.h (get_pool_constant_mark): Add prototype.
6394 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
6395 be represented if it has not been output.
6396
4161da12
AO
63972002-02-20 Alexandre Oliva <aoliva@redhat.com>
6398
6399 * combine.c (do_SUBST): Sanity check substitutions of
6400 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
6401 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
6402 CONST_INT into its operand.
6403 (known_cond): Likewise, for ZERO_EXTEND.
6404 * simplify-rtx.c (simplify_unary_operation): Fix condition to
6405 allow for simplification of wide modes. Reject CONST_INTs in
6406 ZERO_EXTEND when their actual mode is not given.
6407
3704ef74
AO
64082002-02-20 Alexandre Oliva <aoliva@redhat.com>
6409
6410 * c-decl.c (pushdecl): If no global declaration is found for an
6411 extern declaration in block scope, try a limbo one.
6412
7552da58
JJ
64132002-02-20 Jakub Jelinek <jakub@redhat.com>
6414
6415 PR c++/4401
6416 * c-common.c (pointer_int_sum): Moved from...
6417 * c-typeck.c (pointer_int_sum): ...here.
6418 * c-common.h (pointer_int_sum): Add prototype.
6419
00fae85d
JJ
64202002-02-20 Jakub Jelinek <jakub@redhat.com>
6421
6422 PR c++/5713
6423 * c-decl.c (duplicate_decls): Return 0 if issued error about
6424 redeclaration.
6425
4636c87e
JJ
64262002-02-20 Roger Sayle <roger@eyesopen.com>
6427 Jakub Jelinek <jakub@redhat.com>
6428
6429 PR c/4389
6430 * tree.c (host_integerp): Ensure that the constant integer is
6431 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
6432 when pos is zero or non-zero respectively. Clarify comment.
6433 * c-format.c (check_format_info_recurse): Fix host_integerp
6434 usage; the pos argument should be zero when assigning to a
6435 signed HOST_WIDE_INT.
6436
59bef189
RH
64372002-02-20 Richard Henderson <rth@redhat.com>
6438
6439 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
6440 of the operand, rather than assuming TImode.
6441 (ix86_expand_binop_builtin): Cope with commutative patterns
6442 using nonimmediate_operand for both operands.
6443 (ix86_expand_timode_binop_builtin): Likewise.
6444 (ix86_expand_store_builtin): Validate operand 1.
6445 (ix86_expand_unop1_builtin): Likewise.
6446
9338ffe6 64472002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 6448
9338ffe6
PB
6449 PR 5705
6450 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
6451
f322b423
RH
64522002-02-20 Richard Henderson <rth@redhat.com>
6453
6454 PR c/5615
6455 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
6456
d94084f7
TT
64572002-02-20 Tom Tromey <tromey@redhat.com>
6458
6459 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
6460 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
6461 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
6462 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
6463 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
6464 unconditionally.
6465
37fa124a
AM
6466Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
6467
6468 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
6469 for (const_int 0) in X not just INTVAL.
6470
6e5bb5ad
JM
64712002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
6472
6473 * doc/extend.texi: Avoid or reduce overfull hboxes.
6474
420e7dfa
DN
64752002-02-20 Diego Novillo <dnovillo@redhat.com>
6476
6477 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
6478 operations if the field does not start at a mode boundary.
6479
1b7a2af6
JS
64802001-02-20 Joel Sherrill <joel@OARcorp.com>
6481
6482 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
6483 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
6484 Also done for -Acpu and -Amachine.
6485
56cd5b95
NB
64862002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
6487
6488 * cppinit.c (init_dependency_output): Take deps output file
6489 from -o if none given with -MF. Suppress normal output.
c410d49e 6490 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
6491 * doc/cpp.texi, doc/invoke.texi: Update.
6492
042cdf71
ZW
64932002-02-19 Zack Weinberg <zack@codesourcery.com>
6494
6495 * toplev.c (output_quoted_string): Write unprintable
6496 characters with octal escapes.
6497
c1f11548
DE
64982002-02-19 David Edelsohn <edelsohn@gnu.org>
6499
6500 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
6501 really_call_used[VRSAVE_REGNO] if not Altivec.
6502
65032002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 6504
c1f11548
DE
6505 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
6506 MODE_MASK.
6507 (constant_pool_expr_1): Fix formatting.
6508 (rs6000_legitimize_reload_address): Likewise.
6509
c964d90e
RK
6510Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6511
6512 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
6513 now that we have one.
6514
ae34ac46
ZW
65152002-02-19 Zack Weinberg <zack@codesourcery.com>
6516
6517 * tree.h (struct tree_common): Remove aux. Add unused_0 at
6518 end of first block of bitfields (which was only seven bits);
6519 rename dummy to unused_1; remove comment which is no longer true.
6520
293c28ee
GS
65212002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
6522
6523 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
6524
7b8781c8
PB
65252002-02-19 Philip Blundell <pb@nexus.co.uk>
6526
0cb6c58d 6527 PR 5399
7b8781c8
PB
6528 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
6529 if generating PIC.
6530
6531 PR 5054
6532 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
6533 arm_is_longcall_p rather than inspecting call-type cookie
6534 directly.
6535 (call_value_insn) [TARGET_THUMB]: Likewise.
6536
5c464583
GS
65372002-02-19 Graham Stott <grahams@redhat.com>
6538
6539 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
6540
71c061e6
DE
65412002-02-19 David Edelsohn <edelsohn@gnu.org>
6542
6543 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
6544 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 6545 (FP_SAVE_INLINE): Delete.
71c061e6
DE
6546
6547 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
6548 * config/rs6000/eabi.asm: Remove ABI save restore routines.
6549 * config/rs6000/t-ppccomm: Build crtsavres.o.
6550 * config/rs6000/crtsavres.asm: New file.
6551
3a7731fd
PB
65522002-02-19 Philip Blundell <philb@gnu.org>
6553
6554 * config/arm/arm.c (use_return_insn): Don't reject interrupt
6555 functions.
6556 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
6557 (output_return_instruction): Allow interrupt functions to return with
6558 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
6559 (arm_expand_prologue): Subtract 4 before stacking LR in an
6560 interrupt function.
6561
14f583b8
PB
65622002-02-19 Philip Blundell <pb@nexus.co.uk>
6563
6564 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
6565 decl, not just FUNCTION_DECL.
6566 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
6567 (arm_assemble_integer): Likewise.
6568 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
6569 marked local.
c410d49e 6570
4cb7482c
MG
65712002-02-19 matthew green <mrg@eterna.com.au>
6572
6573 * config.gcc (sparc-*-netbsdelf*): Enable target.
6574 (sparc64-*-netbsd*): New target.
6575 * config/sparc/netbsd-elf.h: New file.
6576 * config/sparc/t-netbsd64: New file.
6577
2df3a718
GS
65782002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
6579
6580 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
6581
77f6c1eb
RS
65822002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
6583
6584 * doc/invoke.texi: explicitly list the style guidelines that
6585 -Weffc++ checks for.
6586
fd973d56
JH
6587Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
6588
6589 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
6590
30518e45
NB
65912002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
6592
6593 PR other/5718
6594 * gcc.c (cpp_unique_options): Treat -o as indicating object file
6595 only if not -E. If -E, pass -o through to the preprocessor.
6596
39ea5704
KH
65972002-02-19 Kazu Hirata <kazu@hxi.com>
6598
6599 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
6600 register number with an appropriate macro.
6601
7355dba7
BM
66022002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
6603
6604 * doc/rtl.texi (Constants): Close @code tag.
6605
91c8aa9e
AH
66062002-02-19 Aldy Hernandez <aldyh@redhat.com>
6607
6608 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
6609 ("mmx_uavgv4hi3"): Same.
6610 ("pmulhrwv4hi3"): Same.
6611
6612 * tree-inline.c (walk_tree): Handle vectors.
6613
6614 * c-common.c (constant_expression_warning): Handle vectors.
6615 (overflow_warning): Same.
6616
6617 * sched-deps.c (sched_analyze_2): Handle vectors.
6618
6619 * rtlanal.c (rtx_unstable_p): Handle vectors.
6620 (rtx_varies_p): Same.
6621 (count_occurrences): Same.
6622 (regs_set_between_p): Same.
6623 (modified_between_p): Same.
6624 (modified_in_p): Same.
6625 (volatile_insn_p): Same.
6626 (volatile_refs_p): Same.
6627 (side_effects_p): Same.
6628 (may_trap_p): Same.
6629 (inequality_comparisons_p): Same.
6630 (replace_regs): Same.
6631 (computed_jump_p_1): Same.
6632
6633 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
6634 argument.
6635 (inner_mode_array): New.
6636 (copy_rtx): Handle vectors.
6637 (copy_most_rtx): Same.
6638 (rtx_equal_p): Same.
6639 (get_mode_alignment): Adjust for vectors.
6640
6641 * resource.c (mark_referenced_resources): Handle vectors.
6642 (mark_set_resources): Same.
6643
6644 * reload1.c (eliminate_regs): Handle vectors.
6645 (elimination_effects): Same.
6646 (scan_paradoxical_subregs): Same.
6647
6648 * reload.c (subst_reg_equivs): Handle vectors.
6649
6650 * regrename.c (scan_rtx): Handle vectors.
6651
6652 * regclass.c (reg_scan_mark_refs): Handle vectors.
6653
6654 * recog.c (find_single_use_1): Handle vectors.
6655
6656 * local-alloc.c (equiv_init_varies_p): Handle vectors.
6657 (contains_replace_regs): Same.
6658 (memref_referenced_p): Same.
6659
6660 * integrate.c (copy_rtx_and_substitute): Handle vectors.
6661 (subst_constants): Same.
6662
6663 * genattrtab.c (attr_copy_rtx): Handle vectors.
6664 (encode_units_mask): Same.
6665 (clear_struct_flag): Same.
6666 (count_sub_rtxs): Same.
6667
6668 * gcse.c (want_to_gcse_p): Handle vectors.
6669 (oprs_unchanged_p): Same.
6670 (hash_expr_1): Same.
6671 (oprs_not_set_p): Same.
6672 (expr_killed_p): Same.
6673 (compute_transp): Same.
6674 (store_ops_ok): Same.
6675
6676 * function.c (purge_addressof_1): Do not allow paradoxical subregs
6677 of vectors.
6678 (fixup_var_refs_1): Same.
6679 (instantiate_virtual_regs_1): Same.
6680
6681 * fold-const.c (operand_equal_p): Handle vectors.
6682 (fold): Same.
6683 (rtl_expr_nonnegative_p): Same.
6684
6685 * flow.c (mark_used_regs): Handle vectors.
6686
6687 * df.c (df_uses_record): Handle vectors.
6688
6689 * cselib.c (cselib_subst_to_values): Handle vectors.
6690 (cselib_mem_conflict_p): Same.
6691 (hash_rtx): Same.
6692
6693 * cse.c (canon_reg): Handle vectors.
6694 (fold_rt): Same.
6695 (cse_process_notes): Same.
6696 (count_reg_usage): Same.
6697 (canon_hash): Same.
6698
6699 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
6700
6701 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
6702
6703 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
6704 (gen_rtx): Handle CONST_VECTOR.
6705 (gen_const_vector_0): New.
6706 (copy_rtx_if_shared): CONST_VECTORs can be shared.
6707 (reset_used_flags): Same.
6708 (copy_insn_1): Same.
6709 (initializer_constant_valid_p): Handle VECTOR_CST.
6710
6711 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
6712
6713 * doc/rtl.texi (Constants): Document const_vector.
6714 (CONST0_RTX): Update for vectors.
6715 (RTL sharing): Same.
6716
6717 * print-tree.c (print_node): Add case for VECTOR_CST.
6718
6719 * tree.h (TREE_VECTOR_CST_ELTS): New.
6720 (struct tree_vector): New.
6721 (union tree_node): Add vector node.
6722 (build_vector): Add prototype.
6723
6724 * tree.def (VECTOR_CST): New.
6725
6726 * tree.c (build_vector): New.
6727
6728 * expmed.c (make_tree): Handle CONST_VECTOR.
6729
6730 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
6731 (CONST_VECTOR_ELT): New.
6732 (CONST_VECTOR_NUNITS): New.
6733
6734 * machmode.h (GET_MODE_INNER): New.
6735 (DEF_MACHMODE): Accept 8th arg.
6736
6737 * machmode.def: Add 8th argument for vector inner mode.
6738 Add inner vector modes for vectors.
6739
6740 * rtl.def (VEC_CONST): Remove.
6741 (CONST_VECTOR): New.
6742
6743 * expr.c (clear_storage): Allow vectors.
6744 (is_zeros_p): Handle VECTOR_CST.
6745
6746 * varasm.c (output_constant_pool): Handle vectors.
6747 (rtx_const): Add veclo and vechi fields.
6748 (kind): Add RTX_VECTOR.
6749 (decode_rtx_const): Add case for vector.
6750
6751 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 6752
91c8aa9e
AH
6753 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
6754 constants. Force easy vector constants into memory.
6755 (easy_vector_constant): New.
6756 (emit_easy_vector_constant): New.
6757 (rs6000_legitimize_reload_address): Do not generate bad reloads on
6758 darwin.
6759
6760 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
6761 instruction does.
6762 ("altivec_lvxl"): Same.
6763 (altivec_lvebx): Same.
6764 (altivec_lvehx): Same.
6765 (altivec_lvewx): Same.
6766 ("*movv4si_const0"): New.
6767 ("*movv4sf_const0"): New.
6768 ("*movv8hi_const0"): New.
6769 ("*movv16qi_const0"): New.
6770
d4d6d0ce
KH
67712002-02-18 Kazu Hirata <kazu@hxi.com>
6772
6773 * config/h8300/h8300.c (notice_update_cc): Use
6774 cc_status.value2.
6775
4915d3aa
KH
67762002-02-18 Kazu Hirata <kazu@hxi.com>
6777
6778 * config/h8300/h8300.md (divmod patterns): Change the
6779 constraints for operands[1] to register_operand.
6780
82be00ee
KH
67812002-02-18 Kazu Hirata <kazu@hxi.com>
6782
6783 * config/h8300/h8300-protos.h: Remove the prototype for
6784 p_operand.
6785 * config/h8300/h8300.c (p_operand): Remove.
6786 * config/h8300/h8300.md: Replace p_operand with
6787 const_int_operand.
6788
1768c26f
PB
67892002-02-18 Philip Blundell <pb@nexus.co.uk>
6790
6791 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
6792 comment.
6793 (output_return_instruction): Allow use of LDR to unstack
6794 return addresss even for interrupt handlers or when
6795 interworking. If compiling for ARMv5, use interworking-safe
6796 return instructions by default. Remove duplicated code and
6797 lengthy "strcat" sequences.
6798
ccd84f51
FS
67992002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6800
6801 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
6802 (LINK_EH_SPEC): Define.
6803 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
6804
2c153108
UW
68052002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
6806
6807 * config/s390/s390.c (s390_emit_prologue): Do not set the
6808 frame_related flag for call-clobbered registers.
6809
e95d6b23
JH
6810Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
6811
6812 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
6813 (construct_container): Fix handling of SSE operands.
6814 (ix86_expand_builtin): Fix handling of 64bit pointers.
6815 (mmx_maskmovq_rex): New pattern.
6816
c43a12b5
JH
6817Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
6818
6819 * regrename.c (kill_set_value): Handle subregs properly.
6820
aeb85a15
DB
68212002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
6822
6823 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 6824 from objc_class_name.
aeb85a15 6825
a615ca3e
RH
68262002-02-17 Richard Henderson <rth@redhat.com>
6827
6828 * config/alpha/alpha.c (some_small_symbolic_operand,
6829 some_small_symbolic_operand_1, split_small_symbolic_operand,
6830 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
6831 Handle small SYMBOL_REFs anywhere, not just inside memories.
6832 * config/alpha/alpha-protos.h: Update.
6833 * config/alpha/alpha.h (PREDICATE_CODES): Update.
6834 * config/alpha/alpha.md (small symbolic operand splitter): Update.
6835
ddb28441
RM
68362002-02-17 Roland McGrath <roland@frob.com>
6837
6838 * config.gcc (powerpc-*-gnu-gnualtivec*,
6839 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
6840 * config/rs6000/gnu.h: New file.
6841 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
6842 Grok "gnu" in rs6000_abi_name.
6843 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
6844 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
6845 Grok -mcall-gnu analogous to -mcall-linux et al.
6846 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
6847 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
6848 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
6849
f6f8ada3
JJ
68502002-02-17 Jakub Jelinek <jakub@redhat.com>
6851
6852 PR c/3444:
6853 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
6854 shortening.
6855
e16b32fc
PT
68562002-02-17 Philipp Thomas <pthomas@suse.de>
6857
6858 * config/cris/cris.h: Undefine STARTFILE_SPEC and
6859 ENDFILE_SPEC before (re)defining them.
6860
f9477efd
KH
68612002-02-17 Kazu Hirata <kazu@hxi.com>
6862
6863 * config/h8300/h8300.c: Fix formatting.
6864 * config/h8300/h8300.h: Likewise.
6865
404ae494
PT
68662002-02-17 Philipp Thomas <pthomas@suse.de>
6867
6868 * doc/tm.texi: Explain why empty strings should not be
6869 marked for translation.
6870
a52453cc
PT
68712002-02-17 Philipp Thomas <pthomas@suse.de>
6872
6873 * final.c (output_operand_lossage): Changed to accept
6874 printf style arguments. Change calls where necessary.
6875 * output.h (output_operand_lossage): Change declaration
6876 accordingly. Update copyright.
6877 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
6878 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
6879 Update copyright date where necessary.
c410d49e 6880
a52453cc
PT
6881 * config/i386/i386.c (print_operand): Likewise. Remove use of
6882 sprintf.
6883
6884 * config/cris/cris.c (cris_operand_lossage): Likewise.
6885 Rename parameter so that exgettext recognizes it as
6886 translatable message.
6887 (LOSE_AND_RETURN): Rename parameter to msgid.
6888
1c11abc4
KH
68892002-02-17 Kazu Hirata <kazu@hxi.com>
6890
6891 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
6892 hard coded register number with an appropriate macro.
6893 (HARD_REGNO_MODE_OK): Likewise.
6894 (ARG_POINTER_REGNUM): Likewise.
6895 (STATIC_CHAIN_REGNUM): Likewise.
6896 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
6897 * config/h8300/h8300.md (define_constants): Define more
6898 register numbers.
6899
a5d17ff3
PT
69002002-02-17 Philipp Thomas <pthomas@suse.de>
6901
6902 * config/i386/i386.h: Don't mark empty strings for translation.
6903
1a7289c4
L
69042002-02-16 H.J. Lu <hjl@gnu.org>
6905
6906 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
6907
afb58288
ZW
69082002-02-16 Zack Weinberg <zack@codesourcery.com>
6909
6910 * cppinit.c (merge_include_chains): Check for brack being
6911 NULL before attempting to merge it with qtail.
6912
d2af4dbd
AC
69132002-02-16 Andrew Cagney <ac131313@redhat.com>
6914
6915 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
6916 DBX_DEBUG.
6917
2e1ed1e3
JDA
69182002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
6919
6920 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
6921
604c75b2
JDA
69222002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
6923
6924 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
6925 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
6926 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
6927
1a42b072
RK
6928Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6929
7303604f 6930 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
6931 now only if !TARGET_FIX.
6932 (*movsi_nt_vms_fix): New pattern.
6933
c2ea1ac6
DR
69342002-02-16 Douglas B Rupp <rupp@gnat.com>
6935
6936 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
6937 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
6938 (alpha_sa_mask, alpha_sa_size): Reflect above change.
6939 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
6940 (alpha_start_function, alpha_expand_epilogue): Likewise.
6941 (unicosmk_gen_dsib): Likewise.
6942
725e58b1
RK
6943Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6944
6945 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
6946
13e58269
UW
69472002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
6948
c410d49e 6949 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
6950 check_and_change_labels, s390_final_chunkify): Delete.
6951 (s390_split_branches, s390_chunkify_pool): New functions.
6952 (s390_function_prologue): Call them.
c410d49e 6953
13e58269
UW
6954 * config/s390/s390.h (S390_REL_MAX): Delete.
6955 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
6956
c410d49e 6957 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
6958 attribute calculation.
6959
6960
34d1b01d
DE
69612002-02-15 David Edelsohn <edelsohn@gnu.org>
6962
6963 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
6964 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
6965
be5cc51a
JDA
69662002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
6967
6968 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
6969 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
6970 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
6971
ee96ce90
RS
69722002-02-15 Richard Sandiford <rsandifo@redhat.com>
6973
6974 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
6975
05fa709d
RS
69762002-02-15 Richard Sandiford <rsandifo@redhat.com>
6977
6978 * reload.c (find_dummy_reload): Check that an output register
6979 is valid for its mode.
6980
4606272b
AO
69812002-02-14 Alexandre Oliva <aoliva@redhat.com>
6982
9a360704
AO
6983 * combine.c (known_cond): After replacing the REG of a SUBREG, try
6984 to simplify it.
6985
4606272b
AO
6986 * function.c (assign_parms): Demote promoted argument passed by
6987 transparent reference.
6988
e62d89a1
JS
69892001-02-14 Joel Sherrill <joel@OARcorp.com>
6990
6991 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
6992 -Acpu() and -Amachine() to eliminate warnings.
6993
6c4cf695
UW
69942002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
6995
6996 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
6997
037f11ef
KH
69982002-02-14 Kazu Hirata <kazu@hxi.com>
6999
7000 * config/h8300/h8300-protos.h: Update the prototype for
7001 const_costs.
7002 * config/h8300/h8300.c (const_costs): Treat SET as a little
7003 more expensive operation.
7004 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
7005 reference to const_costs.
7006
fdc76b09
HPN
70072002-02-14 Hans-Peter Nilsson <hp@axis.com>
7008
7009 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
7010
d76e6800
JJ
70112002-02-14 Jakub Jelinek <jakub@redhat.com>
7012
7013 PR c/5503:
7014 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
7015 use arguments from newtype.
7016
5ae590d7
EC
70172002-02-13 Eric Christopher <echristo@redhat.com>
7018
7019 * config/mips/mips.c (override_options): Add check for march/mipsX
7020 on the same command line. Fix error message in cpu processing.
7021 Remove architecture and ISA checks.
7022
b8513691
AH
70232002-02-14 Aldy Hernandez <aldyh@redhat.com>
7024
831c4e87 7025 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 7026
831c4e87 7027 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 7028
78c875e8
AH
70292002-02-14 Aldy Hernandez <aldyh@redhat.com>
7030
831c4e87
KC
7031 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
7032 alternatives.
7033 ("*movv8hi_internal1"): Same.
7034 ("*movv16qi_internal1"): Same.
7035 ("*movv4sf_internal1"): Same.
78c875e8 7036
831c4e87
KC
7037 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
7038 not push_reload for altivec modes.
78c875e8 7039
d76e6800 70402002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
7041
7042 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
7043 all RTEMS targets including removal of #includes from config/*/rtems*.h
7044 file and adding them to tm_file setting. Added xm_defines=POSIX to
7045 many targets.
7046 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
7047 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
7048 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
7049 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
7050 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
7051 config/m68k/rtemself.h: Ditto.
7052 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
7053 config/mips/rtems64.h: Ditto.
7054 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
7055 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
7056 Ditto.
7057 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
7058 config/sparc/rtemself.h: Ditto.
7059 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
7060 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
7061 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
7062 more like arm-elf.
7063 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
7064 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
7065 target made more similar to i386-elf.
7066 * config/i386/t-rtems-i386: Added soft float support and multilibs.
7067 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
7068 be similar to config/m68k/t-m68kelf.
7069 * gthr-rtems.h: Encapsulate with extern "C" for C++.
7070
8686336f
JH
7071Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
7072
7073 * regmove.c (kill_value): Handle subregs.
7074
558740bf
JH
7075Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
7076
7077 * i386.md (mul patterns): Allow memory operand to be first;
7078 add expanders where needed; fix constraints.
7079 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
7080 Allow memory operand to be the first.
7081
7082 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
7083 operands.
7084
21117a17
JJ
70852002-02-13 Jakub Jelinek <jakub@redhat.com>
7086
7087 PR c/5681:
7088 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
7089 GET_MODE (x).
7090
ec65b2e3
JJ
70912002-02-13 Jakub Jelinek <jakub@redhat.com>
7092
7093 PR optimization/5547:
7094 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
7095 all valid IA-32 address modes involving non-scaled %ebx and
7096 GOT/GOTOFF as displacement.
7097
ce50cae8
UW
70982002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
7099
7100 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
7101 after emitting ltorg insns.
7102
7103 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
7104 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
7105 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
7106 *abssf2): Fix "op_type" attribute.
7107
09eb789b
DR
71082002-02-13 Douglas B Rupp <rupp@gnat.com>
7109
2dbe67bb
DR
7110 * mkconfig.sh: Avoid using a subshell redirect.
7111 ($output.T): Change to $(output)T.
7112 (ENABLE_NLS): Remove unneeded undef.
7113
ea5b9a1f
DR
7114 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
7115 * config/alpha/x-vms (libsubdir): Define.
7116
3deb00ce
DR
7117 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
7118 register frame procedures. Optimize retrieving context.
7119
09eb789b
DR
7120 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
7121 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
7122 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
7123
1abade85
RK
7124Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7125
7126 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
7127 Make same change as for find_base_value.
7128
c283e63f
KH
71292002-02-13 Kazu Hirata <kazu@hxi.com>
7130
7131 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
7132 of QImode and SImode.
7133
86039100
KH
71342002-02-13 Kazu Hirata <kazu@hxi.com>
7135
7136 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
7137 length computation of movsi.
7138 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
7139
e1429da0
KH
71402002-02-13 Kazu Hirata <kazu@hxi.com>
7141
7142 * config/h8300/h8300.md (subqi3): Tighten the predicate for
7143 operands[2] to register_operand.
7144
aebfea10
JH
7145Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
7146
7147 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
7148
0ec4e2a8
AH
71492002-02-12 Aldy Hernandez <aldyh@redhat.com>
7150
831c4e87
KC
7151 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
7152 for altivec_lvx* and altivec_stvx*.
7153 ("*movv4si_internal"): Add constraint for loading from GPRs.
7154 ("*movv8hi_internal1"): Same.
7155 ("*movv16qi_internal1"): Same.
7156 ("*movv4sf_internal1"): Same.
0ec4e2a8 7157
831c4e87 7158 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 7159
831c4e87
KC
7160 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
7161 altivec_register_operand.
0ec4e2a8 7162
b007569d
HPN
71632002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
7164
7165 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
7166 handle SYMBOL_REF.
7167
e6834654
SS
71682002-02-13 Stan Shebs <shebs@apple.com>
7169
831c4e87
KC
7170 * c-typeck.c (digest_init): Handle vectors.
7171 (really_start_incremental_init): Same.
7172 (pop_init_level): Same.
7173 (process_init_element): Same.
e6834654 7174
831c4e87 7175 * varasm.c (output_constant): Same.
e6834654 7176
831c4e87
KC
7177 * expr.c (clear_storage): Same.
7178 (store_constructor): Same.
e6834654 7179
d9b3eb63
EC
71802002-02-12 Eric Christopher <echristo@redhat.com>
7181
7182 * explow.c (hard_function_value): Add comment explaining
7183 signed/unsigned comparison.
7184
56d44285
JJ
71852002-02-12 Jakub Jelinek <jakub@redhat.com>
7186
7187 * jump.c (never_reached_warning): Add finish argument.
7188 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
7189 real insn after end.
7190 * rtl.h (never_reached_warning): Adjust prototype.
7191 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
7192 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
7193 never_reached_warning.
7194
fc209487
GS
71952002-02-12 Graham Stott <grahams@redhat.com>
7196
7197 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
7198
1e41e866
KH
71992002-02-12 Kazu Hirata <kazu@hxi.com>
7200
7201 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
7202 logical shifts on H8/300.
7203 (shift_alg_si): Improve several shifts on H8/300.
7204 (get_shift_alg): Likewise.
7205
a36a47ad
GS
72062002-02-12 Graham Stott <grahams@redhat.com>
7207
7208 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
7209
0aacc8ed
RK
7210Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7211
7212 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
7213 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
7214
a02ac966
HPN
72152002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
7216
7217 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
7218 non-CONST_INT through default_assemble_integer.
7219 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
7220 <case 8>: Abort for CONST_DOUBLE.
7221
d6e06ddc
JDA
72222002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
7223
7224 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
7225 is specified.
7226 * config/pa/pa-linux.h (LIB_SPEC): Delete.
7227 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
7228
515342a8
AH
72292002-02-11 Andrew Haley <aph@cambridge.redhat.com>
7230
7231 * config/stormy16/stormy16.md (zero_extendqihi2): New.
7232
cddd8b72
AO
72332002-02-11 Alexandre Oliva <aoliva@redhat.com>
7234
66df7a98
AO
7235 * regrename.c (regrename_optimize): Don't accept a
7236 part-clobbered register if the replaced register is not part
7237 clobbered.
7238
841404cd
AO
7239 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
7240 take padding into account when computing the argument value.
7241
1d1ade42
AO
7242 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
7243
cddd8b72
AO
7244 * combine.c (try_combine): Apply substitutions in
7245 CALL_INSN_FUNCTION_USAGE too.
7246
5c665b88
AH
72472002-02-11 Aldy Hernandez <aldyh@redhat.com>
7248
77f6c1eb
RS
7249 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
7250 __builtin_altivec_abs*.
7251 (bdesc_abs): New.
5c665b88 7252
77f6c1eb
RS
7253 * config/rs6000/rs6000.h (rs6000_builtins): Add
7254 ALTIVEC_BUILTIN_ABS*.
5c665b88 7255
77f6c1eb
RS
7256 * config/rs6000/altivec.h: Use const char for builtins expecting
7257 literals.
7258 (vec_abs): New versions for C and C++.
7259 (vec_abss): Same.
5c665b88 7260
3494f1b4
KH
72612002-02-10 Kazu Hirata <kazu@hxi.com>
7262
7263 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
7264 using Pmode.
7265
72431aef
KH
72662002-02-10 Kazu Hirata <kazu@hxi.com>
7267
7268 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
7269 constant definition from h8300.md.
7270 (FRAME_POINTER_REGNUM): Likewise.
7271 * config/h8300/h8300.md (define_constants): Add FP_REG.
7272
87e4ee91
KH
72732002-02-10 Kazu Hirata <kazu@hxi.com>
7274
7275 * config/h8300/h8300.c (print_operand): Remove redundant code.
7276
9c188705
KH
72772002-02-10 Kazu Hirata <kazu@hxi.com>
7278
7279 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
7280 * config/h8300/h8300.c (byte_reg): Make it static.
7281
fba78abb
RH
72822002-02-10 Richard Henderson <rth@redhat.com>
7283
7284 PR c/5623
7285 * c-typeck.c (incomplete_type_error): Handle flexible array members.
7286
65739e62
RH
72872002-02-10 Richard Henderson <rth@redhat.com>
7288
7289 PR c++/5624
7290 * tree.c (append_random_chars): Don't abort if main_input_filename
7291 does not exist.
7292
247cb9df
HPN
72932002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
7294
7295 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
7296
232bd029
KH
72972002-02-10 Kazu Hirata <kazu@hxi.com>
7298
65739e62 7299 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
7300 (pushhi1): Likewise.
7301
276ef573
JDA
73022002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
7303
7304 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
7305 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
7306
617e9ee5
DB
73072002-02-09 David O'Brien <obrien@FreeBSD.org>
7308
7309 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
7310 remove MASK_VIS.
7311 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
7312
6dfa4005
KH
73132002-02-09 Kazu Hirata <kazu@hxi.com>
7314
7315 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
7316 a half of an SImode register on H8/300.
7317
749e7b80
JH
7318Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
7319
7320 * i386.md (movdi_2): Add missing '!'.
7321
ca77d87c
KH
73222002-02-09 Kazu Hirata <kazu@hxi.com>
7323
7324 * config/h8300/h8300.h: Fix formatting. Remove commented-out
7325 definitions.
7326
16c96304
KH
73272002-02-09 Kazu Hirata <kazu@hxi.com>
7328
7329 * config/h8300/h8300.md (length): Correct the distance valid
7330 for the short branch.
7331
a364bc90
KH
73322002-02-09 Kazu Hirata <kazu@hxi.com>
7333
7334 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
7335
e4ec2cac
AO
73362002-02-09 Alexandre Oliva <aoliva@redhat.com>
7337
a138247b
AO
7338 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
7339 registers in SImode.
7340 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
7341 part-clobbered.
7342
2b1fd83f
AO
7343 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
7344 patch.
d9b3eb63 7345
fa5322fa
AO
7346 Contribute sh64-elf.
7347 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
7348 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
7349 (sh_cannot_modify_jumps_p): New function.
7350 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
7351 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
7352 (sh_ms_bitfield_layout_p): New function.
7353 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
7354 Zack Weinberg <zack@codesourcery.com>
7355 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
7356 expand_simple_binop instead of expand_binop.
7357 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
7358 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
7359 use of .quad and .uaquad.
7360 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
7361 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
7362 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
7363 * config/sh/sh.md (movdi_const, movdi_const_32bit,
7364 movdi_const_16bit): Make sure all CONSTs have modes.
7365 (sym2PIC): Ditto, but by adjusting all callers.
7366 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
7367 if the prologue calls the SHmedia argument decoder or register
7368 saver.
7369 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
7370 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
7371 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
7372 (sh_expand_epilogue): Don't emit USE of return target register.
7373 (prepare_move_operands): Legitimize DImode PIC addresses.
7374 (sh_media_register_for_return): Skip tr0, used to initialize the
7375 PIC register.
7376 (sh_expand_prologue): Remove explicit USE of return register.
7377 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
7378 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
7379 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
7380 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
7381 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
7382 EXTRA_CONSTRAINT_T.
7383 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
7384 (MOVI_SHORI_BASE_OPERAND_P): New.
7385 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
7386 (EXTRA_CONSTRAINT_T): Define in terms of them.
7387 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
7388 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
7389 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
7390 alternatives supporting TARGET_REGS.
7391 (UNSPEC_GOTPLT): New constant.
7392 (movdi split): Move incrementing of LABEL_NUSES...
7393 (movdi_const, movdi_const_32bit): Here. Use
7394 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
7395 (movdi_const_16bit): New.
7396 (call, call_value) [flag_pic]: Use GOTPLT.
7397 (call_pop, call_value_pop): New expands.
7398 (call_pop_compact, call_pop_rettramp): New insns.
7399 (call_value_pop_compact, call_value_pop_rettramp): New insns.
7400 (sibcall) [flag_pic]: Use GOT.
7401 (builtint_setjmp_receiver): Remove bogus, unused expand.
7402 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
7403 (*pt, *ptb, ptrel): New insns.
7404 (sym2GOT): Handle DImode GOT.
7405 (sym2GOTPLT, symGOTPLT2reg): New expands.
7406 (sym2PIC): New expand.
7407 (shcompact_return_tramp): Use GOTPLT to return trampoline.
7408 (shcompact_return_tramp_i): Use return register explicitly.
7409 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
7410 disable flag_reorder_blocks.
7411 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
7412 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
7413 clobbers, for clarity.
7414 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
7415 restoring of r0 in macl as MAYBE_DEAD.
7416 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
7417 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
7418 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
7419 alter_subreg all over.
7420 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
7421 reload, instead of emitting instructions that would require
7422 reloading.
7423 (casesi_load_media): Add missing modes.
7424 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
7425 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
7426 as used if the argument decoder is called.
7427 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
7428 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
7429 Pmode, then extend it to DImode if necessary.
7430 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
7431 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
7432 constants in FPU-enabled SHmedia, let them be loaded from memory.
7433 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
7434 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
7435 Adjust whitespace in assembly output templates.
7436 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
7437 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
7438 mode of if_then_else.
7439 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
7440 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
7441 sh.h.
7442 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
7443 Joern Rennecke <amylaar@redhat.com>
7444 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
7445 (SUBTARGET_CPP_PTR_SPEC): New.
7446 (SUBTARGET_CPP_SPEC): Remove.
7447 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
7448 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
7449 Fix typo in previous checkin.
7450 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
7451 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
7452 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
7453 Alexandre Oliva <aoliva@redhat.com>
7454 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
7455 what single FP register can hold for SHmedia target.
7456 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
7457 Alexandre Oliva <aoliva@redhat.com>
7458 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
7459 Do not split into SUBREG.
7460 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
7461 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
7462 and added new functions as specified in SH5 ABI r9.
7463 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
7464 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
7465 8-byte boundary.
7466 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
7467 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
7468 gen_consttable_4 and gen_consttable_8. Emit multiple labels
7469 and consttable_window_ends.
7470 2001-06-03 Graham Stott <grahams@redhat,com>
7471 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
7472 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
7473 * config/sh/sh.c (print_operand): Handle floating-point pair,
7474 vector and matrix registers.
7475 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
7476 vector modes into account.
7477 * config/sh/sh.md (movv2sf): Split move between registers into
7478 movdf.
7479 (movv4sf, movv16sf): Introduce insns that get split only after
7480 reload.
7481 * config/sh/shmedia.h: Fix Copyright dates.
7482 * config/sh/ushmedia.h: Likewise. Move loop counter
7483 declarations into conditionals that uses them.
7484 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
7485 loop boundary.
7486 * config/sh/sshmedia.h: Fix Copyright dates.
7487 (sh_media_PUTCFG): Fix constraints.
7488 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
7489 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
7490 ptrmemfunc_vbit_in_delta for SH5.
7491 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
7492 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
7493 * invoke.texi: Likewise.
7494 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
7495 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
7496 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
7497 GCC_pop_shmedia_regs_nofpu): New global symbols.
7498 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
7499 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
7500 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
7501 compact function with nonlocal labels.
7502 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
7503 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
7504 (initial_elimination_offset): Account for their stack space.
7505 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
7506 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
7507 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
7508 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
7509 least one of the operands to be a register.
7510 (movv2sf): Likewise. Renamed to movv2sf_i.
7511 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
7512 prepare_move_operands() before emitting SHmedia insns.
7513 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
7514 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
7515 Don't save nor initialize r12. Don't mis-align the stack.
7516 Pad the code with a nop.
7517 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
7518 stack.
7519 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
7520 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
7521 [__SHMEDIA__]: Implement.
7522 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
7523 * config/sh/sh.md: Set latency of `pt' closer to reality.
7524 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
7525 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
7526 Set move, load and store type attributes.
7527 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
7528 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
7529 profiling.
7530 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
7531 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
7532 * config/sh/sh.c (sh_media_register_for_return): New function.
7533 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
7534 branch-target register.
7535 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
7536 * config/sh/sh.md (return_media_i): Use any call-clobbered
7537 branch-target register.
7538 (return_media): If r18 wasn't copied in the prologue, copy it
7539 here.
7540 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
7541 Clear class FP0_REGS.
7542 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
7543 from elf.h.
7544 2001-03-08 DJ Delorie <dj@redhat.com>
7545 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
7546 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
7547 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
7548 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
7549 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
7550 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
7551 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
7552 return value correctly for call_cookie.
7553 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
7554 * config/sh/crt1.asm (start): Modified so as to call
7555 ___setup_argv_and_call_main.
7556 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
7557 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
7558 SHmedia mode.
7559 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
7560 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
7561 (STRIP_NAME_ENCODING): Use it.
7562 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
7563 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
7564 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
7565 prepare_scc_operands().
7566 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
7567 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
7568 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
7569 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
7570 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
7571 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
7572 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
7573 used in shcompact_incoming_args.
7574 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
7575 change.
7576 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
7577 mode.
7578 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
7579 Adjust accordingly.
7580 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
7581 Simplify. Adjust. Add sanity check.
7582 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
7583 FPU_SINGLE_BIT.
7584 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
7585 TARGET_SHCOMPACT.
7586 (udivsi3, divsi3): Use them.
7587 (force_mode_for_call): New insn.
7588 (call, call_value, sibcall_value): Emit it before SHcompact
7589 calls.
7590 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
7591 * config/sh/sh.md (call, call_value, sibcall): Make sure the
7592 call cookie is non-NULL before taking its value.
7593 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
7594 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
7595 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
7596 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
7597 block.
7598 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
7599 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
7600 temporary for stack adjusts. Use MACL and MACH to pass
7601 arguments to shcompact_incoming_args.
7602 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
7603 clobber r1.
7604 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
7605 (nested_trampoline): Load static chain address into r1.
7606 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
7607 2001-01-07 Alexandre Oliva <aoliva@redhat.com
7608 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
7609 fp_arith_reg_operand().
7610 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
7611 * config/sh/sh.md (casesi): Sign-extend the first two operands,
7612 and use signed compares for them.
7613 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
7614 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
7615 ones properly aligned.
7616 (find_barrier): Account for extra alignment needed for 8-byte wide
7617 constants.
7618 (machine_dependent_reorg): Require a label for the second 4-byte
7619 constant after an 8-byte one.
7620 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
7621 change.
7622 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
7623 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
7624 last_float when switching float modes.
7625 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
7626 auto-increment for general-purpose registers.
7627 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
7628 result.
7629 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
7630 for stack adjust.
7631 * config/sh/sh.c (sh_builtin_saveregs): Support using all
7632 registers for varargs.
7633 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
7634 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
7635 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
7636 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
7637 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
7638 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
7639 call_cookie accordingly.
7640 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
7641 (SHCOMPACT_BYREF): Likewise.
7642 (SHCOMPACT_FORCE_ON_STACK): New macro.
7643 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
7644 (sh_builtin_saveregs): Likewise.
7645 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
7646 shcompact_incoming_args): Use new shift values. Support
7647 sequences of consecutive and non-consecutive pushes/pops.
7648 * config/sh/sh.md (return): Don't explicitly use PR_REG.
7649 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
7650 * config/sh/sh.h (TEXT_SECTION): Define.
7651 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
7652 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
7653 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
7654 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
7655 return values on FPU-enabled SHmedia.
7656 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
7657 FPU-enabled SHmedia.
7658 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
7659 value is returned in a non-FP reg and is not returned by
7660 reference.
7661 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
7662 jump_ind.
7663 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
7664 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
7665 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
7666 quad-aligned to be passed by callee-copy reference.
7667 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
7668 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
7669 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
7670 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
7671 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
7672 copying low-numbered FP regs to r7 and r8.
7673 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
7674 FP regs to general-purpose regs only if the copy was passed on the
7675 stack.
7676 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
7677 copying FP reg to r9.
7678 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
7679 copy FP regs to general-purpose regs only in outgoing calls.
7680 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 7681 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
7682 HOST_WIDE_INT.
7683 * config/sh/sh.h (struct sh_args): Document all fields.
7684 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
7685 passed partially on the stack should not consider making
7686 sibcalls.
7687 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
7688 stack_regs only for incoming calls. When passing FP args,
7689 make sure there are FP regs available before modifying
7690 call_cookie.
7691 (SHCOMPACT_BYREF): Pass double args in general-purpose
7692 registers by reference.
7693 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
7694 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
7695 attempt to generate sibcalls if the caller got any arguments
7696 by reference.
7697 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
7698 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
7699 to 8-byte boundaries.
7700 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
7701 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
7702 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
7703 stored in the stack.
7704 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
7705 for the offsets to have the ISA bit set.
7706 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
7707 invocation. Use beq instead of bgt to mark end of sequence of
7708 loads.
7709 (shcompact_incoming_args): Fix store of r2. Use beq instead of
7710 bgt to mark end of sequence of stores.
7711 * config/sh/sh.c (arith_operand): Don't check whether
7712 CONST_OK_FOR_J for now.
7713 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
7714 instead of long for conversion.
7715 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
7716 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
7717 before passing it to fprintf.
7718 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
7719 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
7720 Call set_fpscr before reading/writing SR.
7721 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
7722 Call set_fpscr.
7723 * config/sh/lib1funcs.asm: Add `.align 2' directives before
7724 SHmedia code.
7725 (FMOVD_WORKS): Define on SH5 with FPU.
7726 (set_fpscr): Define on SH5. Remove separate _fpscr_values
7727 setting.
7728 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
7729 _fpscr_values.
7730 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
7731 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
7732 address.
7733 (ia_main_table): Ditto.
7734 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
7735 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
7736 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
7737 the definitions from sh.h.
7738 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
7739 TARGET_SH5.
7740 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
7741 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
7742 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
7743 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
7744 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
7745 Increment LABEL_NUSES.
d9b3eb63 7746
fa5322fa
AO
7747 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
7748 TARGET_SH5.
7749 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
7750 defined.
7751 * config/sh/elf.h (SIZE_TYPE): Likewise.
7752 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
7753 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
7754 shcompact_incoming_args): Load switch table addresses using
7755 datalabel.
7756 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
7757 (NO_BUILTIN_SIZE_TYPE): Define.
7758 (SIZE_TYPE): Don't define.
7759 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
7760 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
7761 definition of __SH5__=32 for -m5-compact-nofpu.
7762 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
7763 ADDR_DIFF_VEC.
7764 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
7765 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
7766 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
7767 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
7768 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
7769 (INSN_LENGTH_ALIGNMENT): Likewise.
7770 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
7771 * config/sh/sh.md (call, call_value, sibcall): Simplify
7772 copying of non-branch-target register.
7773 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 7774 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
7775 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
7776 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
7777 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
7778 floating-point values as structs.
7779 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
7780 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
7781 general-purpose register.
7782 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
7783 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
7784 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
7785 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
7786 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
7787 (ENCODE_SECTION_INFO): Enclose variables and constants in
7788 DATALABEL unspecs.
7789 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
7790 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
7791 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
7792 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
7793 only for LABEL_REFs. For SYMBOL_REFs, prepend
7794 SH_DATALABEL_ENCODING to the symbol name.
7795 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
7796 convert_mode().
7797 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
7798 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
7799 UNSPEC_DATALABEL.
7800 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
7801 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
7802 (DATALABEL_REF_P): Don't require CONST.
7803 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
7804 REL label.
7805 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
7806 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
7807 right.
7808 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
7809 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
7810 Use shallow_copy_rtx and PUT_MODE to change the mode of
7811 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
7812 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
7813 on SHmedia using GENERAL_REGs.
7814 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
7815 bltu_media_i): Fix reversion of conditions.
7816 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
7817 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
7818 * config/sh/sh.c (output_far_jump): Save r13 in macl.
7819 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
7820 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
7821 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
7822 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
7823 (GCC_nested_trampoline): Likewise.
7824 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
7825 * config/sh/sh.c (gen_datalabel_ref): Define.
7826 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
7827 (INITIALIZE_TRAMPOLINE): Likewise.
7828 (TRAMPOLINE_ADJUST_ADDRESS): Define.
7829 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
7830 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
7831 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
7832 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
7833 (ic_invalidate): Adjust for SH5.
7834 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
7835 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
7836 _nested_trampoline.
7837 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
7838 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
7839 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
7840 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
7841 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
7842 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
7843 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
7844 * config/sh/sh.c (target_reg_operand): Match only target-branch
7845 registers and pseudos that aren't virtual registers.
7846 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
7847 Copy operands that don't match target_reg_operand to pseudos.
7848 (call_media, call_value_media, sibcall_media): Use
7849 target_reg_operand instead of target_operand.
7850 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 7851 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
7852 * config/sh/sh.c (target_reg_operand): Match hardware registers
7853 other than branch-target registers.
7854 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
7855 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
7856 (fpscr_values) [SH5 == 32]: Define.
7857 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
7858 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
7859 Handle function addresses coming in SUBREGs.
7860 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
7861 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
7862 shcompact_return_trampoline): Use datalabel where appropriate.
7863 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
7864 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
7865 general-purpose register to copy one branch-target register to
7866 another.
7867 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
7868 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
7869 SYMBOL_REFs with VOIDmode.
7870 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
7871 bltu_media_i): New insns.
7872 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
7873 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
7874 (INIT_CUMULATIVE_ARGS): Likewise.
7875 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
7876 * machmode.def (V16SFmode): New mode.
7877 * c-common.c (type_for_mode): Support V2SF and V16SF.
7878 * tree.c (build_common_tree_nodes_2): Likewise.
7879 * tree.h (tree_index): Likewise.
7880 * calls.c (emit_call_1): Take args_so_far. Adjust all
7881 callers. Introduce CALL_POPS_ARGS.
7882 * tm.texi (CALL_POPS_ARGS): Document.
7883 * config/sh/crt1.asm: Implement in SHmedia mode.
7884 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
7885 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
7886 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
7887 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
7888 Implement divsi and udivsi in SHmedia mode. Introduce
7889 SHcompact trampolines.
7890 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
7891 only in SHmedia64.
7892 (regno_reg_class): Rewrite.
7893 (fp_reg_names): Remove.
7894 (sh_register_names, sh_additional_register_names): New.
7895 (print_operand): Added `u'. Support SUBREGs in addresses.
7896 Add parentheses around shifted CONSTs.
7897 (output_file_start): Output .mode and .abi directives.
7898 (shiftcosts, addsubcosts, multcosts): Adjust.
7899 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
7900 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
7901 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
7902 bytes, not registers. Take into account the need for the
7903 SHcompact incoming args trampoline. Adjust all callers.
7904 (sh_expand_prologue): Take stack_regs into account. Call
7905 incoming args trampoline. Keep stack aligned as per SH5 ABI.
7906 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
7907 stack aligned as per SH5 ABI.
7908 (sh_builtin_saveregs): Support SH5 ABI.
7909 (sh_build_va_list, sh_va_start): Likewise.
7910 (initial_elimination_offset): Take alignment into account.
7911 Compute location of PR according to the SH5 stack frame.
7912 (arith_reg_operand): Reject branch-target registers.
7913 (shmedia_6bit_operand): New.
7914 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
7915 (target_reg_operand): Match DImode only. Accept SUBREGs.
7916 (target_operand): New.
7917 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
7918 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
7919 SIBCALL_REGS for SHmedia.
7920 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
7921 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
7922 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
7923 (TARGET_SWITCHES): New SH5 flags.
7924 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
7925 VALID_REGISTER_P to disable unsupported registers.
7926 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
7927 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
7928 (FUNCTION_ARG_PADDING): Define.
7929 (FASTEST_ALIGNMENT): Adjust.
7930 (SH_REGISTER_NAMES_INITIALIZER): New.
7931 (sh_register_names): Declare.
7932 (DEBUG_REGISTER_NAMES): Define.
7933 (REGISTER_NAMES): Define based on sh_register_names.
7934 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
7935 (sh_additional_register_names): Declare.
7936 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
7937 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
7938 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
7939 (REGISTER_NATURAL_MODE): Define.
7940 (FIRST_PSEUDO_REGISTER): Adjust.
7941 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
7942 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
7943 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
7944 (VECTOR_MODE_SUPPORTED_P): Define.
7945 (REG_CLASS_CONTENTS): Adjust.
7946 (SMALL_REGISTER_CLASSES): Adjust.
7947 (REG_ALLOC_ORDER): Adjust.
7948 (INDEX_REG_CLASS): Adjust.
7949 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
7950 (CONST_OK_FOR_LETTER_P): Adjust.
7951 (PREFERRED_RELOAD_CLASS): Adjust.
7952 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
7953 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
7954 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
7955 (FIRST_FP_PARM_REG): Adjust.
7956 (CALL_POPS_ARGS): Define.
7957 (FUNCTION_ARG_REGNO_P): Adjust.
7958 (struct sh_args): New fields.
7959 (GET_SH_ARG_CLASS): Adjust.
7960 (INIT_CUMULATIVE_ARGS): Adjust.
7961 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
7962 (FUNCTION_ARG_ADVANCE): Adjust.
7963 (FUNCTION_ARG): Adjust.
7964 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
7965 (FUNCTION_ARG_CALLEE_COPIES): Define.
7966 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
7967 (STRICT_ARGUMENT_NAMING): Define.
7968 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
7969 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
7970 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
7971 (SETUP_INCOMING_VARARGS): Adjust.
7972 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
7973 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
7974 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
7975 (SUBREG_OK_FOR_INDEX_P): Adjust.
7976 (EXTRA_CONSTRAINT_S): Update.
7977 (EXTRA_CONSTRAINT_T): New.
7978 (EXTRA_CONSTRAINT): Adjust.
7979 (GO_IF_LEGITIMATE_INDEX): Adjust.
7980 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
7981 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
7982 (MOVE_MAX): Adjust.
7983 (MAX_MOVE_MAX): Define.
7984 (Pmode): Adjust.
7985 (CONST_COSTS): Adjust.
7986 (REGISTER_MOVE_COST): Adjust.
7987 (BRANCH_COST): Adjust.
7988 (TEXT_SECTION_ASM_OP): Adjust.
7989 (DBX_REGISTER_NUMBER): Adjust.
7990 (ASM_OUTPUT_DOUBLE_INT): New.
7991 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7992 (PREDICATE_CODES): Adjust.
7993 (PROMOTE_MODE): Adjust.
7994 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
7995 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
7996 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
7997 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
7998 (DR0_REG, DR2_REG, DR4_REG): Renumber.
7999 (TR0_REG, TR1_REG, TR2_REG): New.
8000 (XD0_REG): Renumber.
8001 (UNSPEC_COMPACT_ARGS): New.
8002 (type): Added pt and ptabs.
8003 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 8004 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
8005 (pt): New function unit.
8006 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
8007 Add whitespace between operands of SHmedia instructions.
8008 (movdicc): Fix.
8009 (adddi3_media, addsi3_media): Adjust constraints.
8010 (subsi3) [SHmedia]: Force operand 1 into a register.
8011 (udivsi3_i1_media, udivsi3_i4_media): New.
8012 (udivsi3): Support SHmedia.
8013 (divsi3_i1_media, divsi3_i4_media): New.
8014 (divsi3): Support SHmedia.
8015 (anddi3, iordi3, xordi3): Adjust constraints.
8016 (zero_extendhidi2, zero_extendqidi2): New.
8017 (extendsidi2, extendhidi2, extendqidi2): New.
8018 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
8019 (pop_e, pop_fpul, pop_4): Likewise.
8020 (movsi_media): Support FP and BT registers.
8021 (movsi_media_nofpu): New. Adjust splits to DImode.
8022 (lduw, ldub): Renamed to zero_extend* above.
8023 (movqi_media): Fix typo.
8024 (movdi_media): Support FP and BT registers.
8025 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
8026 (movdi_const_32bit): New.
8027 (shori_media): Require immediate operand. Use `u' for output.
8028 (movdf_media, movsf_media): Simplified.
8029 (movdf_media_nofpu, movsf_media_nofpu): New.
8030 (movdf, movsf): Adjust
8031 (movv2sf, movv2sf, movv16sf): New.
8032 (beq_media, beq_media_i): Adjust constraints. Don't use
8033 scratch BT register.
8034 (bne_media, bne_media_i): Likewise.
8035 (bgt_media, bgt_media_i): Likewise.
8036 (bge_media, bge_media_i): Likewise.
8037 (bgtu_media, bgtu_media_i): Likewise.
8038 (bgeu_media, bgeu_media_i): Likewise.
8039 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
8040 bunordered): Emit jump insn. Force operands to registers when
8041 needed.
8042 (jump_media, jump): Simplify.
8043 (call_compact, call_compact_rettramp): New.
8044 (call_value_compact, call_value_compact_rettramp): New.
8045 (call_media, call_value_media): Simplify.
8046 (sibcall_compact, sibcall_media): New.
8047 (call, call_value): Adjust for SHmedia and SHcompact.
8048 (sibcall, sibcall_value, untyped_call): Likewise.
8049 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
8050 (indirect_jump): Adjust for SHmedia.
8051 (casesi_jump_media): New.
8052 (nop): Re-enable for SHmedia.
8053 (call_site): Restrict to SH1.
8054 (casesi): Adjust for SHmedia.
8055 (casesi_shift_media, casesi_load_media): New.
8056 (return): Explicitly use PR register. Call return trampoline
8057 on SHcompact.
8058 (return_i): Explicitly use PR register.
8059 (shcompact_return_tramp, shcompact_return_tramp_i): New.
8060 (return_media): Adjust.
8061 (shcompact_incoming_args): New.
8062 (epilogue): Adjust.
8063 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
8064 (movstrsi): Disable on SH5.
8065 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
8066 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
8067 (subsf3, subsf3_media): Likewise.
8068 (mulsf3, mulsf3_media, mac_media): Likewise.
8069 (divsf3, divsf3_media): Likewise.
8070 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
8071 (floatsisf2, fux_truncsfsi2): Likewise.
8072 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
8073 constraints.
8074 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
8075 (cmpunsf_media, cmpsf): Likewise.
8076 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
8077 (abssf2, abssf2_media): Likewise.
8078 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
8079 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
8080 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
8081 (floatsidf2, fix_truncdfsi2): Likewise.
8082 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
8083 constraints.
8084 (cmpeqdf_media, cmpgtdf_media): Likewise.
8085 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
8086 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
8087 (absdf2, absdf2_media): Likewise.
8088 (extendsfdf2, extendsfdf2_media): Likewise.
8089 (truncsfdf2, truncsfdf2_media): Likewise.
8090 * config/sh/sh64.h: New file.
8091 * config/sh/t-sh64: New file.
8092 * config/sh/shmedia.h: New file.
8093 * config/sh/ushmedia.h: New file.
8094 * config/sh/sshmedia.h: New file.
8095 * configure.in: Added sh64-*-elf.
8096 * configure: Rebuilt.
8097 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
8098 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
8099 (reg_class_from_letter): Use `b' for TARGET_REGS.
8100 (print_operand): Support `%M', `%m', `AND' and
8101 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
8102 (andcosts): Adjust for SHmedia.
8103 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
8104 Likewise.
8105 (target_reg_operand): New function.
8106 * config/sh/sh-protos.h (target_reg_operand): Declare.
8107 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
8108 FP registers on SH5.
8109 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
8110 on SH4.
8111 (TARGET_REGISTER_P): New macro.
8112 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
8113 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
8114 (EXTRA_CONSTRAINT_S): New macro.
8115 (EXTRA_CONSTRAINT): Adjust.
8116 (FLOAT_TYPE_SIZE): Define to 32.
8117 (Pmode): DImode on SHmedia.
8118 (CONST_COSTS): Adjust for SHmedia literals.
8119 (PREDICATE_CODES): Added target_reg_operand.
8120 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
8121 * config/sh/sh.md: Remove all attrs from SHmedia insns.
8122 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
8123 (cmpdi): Accept SHmedia.
8124 (movdicc_false, movdicc_true): New insns.
8125 (movdicc): New expand.
8126 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
8127 no_new_pseudos.
8128 (addsi3_media): Match `S' constraint.
8129 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
8130 (negdi2): Expand for SHmedia.
8131 (one_cmpldi2): New expand.
8132 (zero_extendsidi2): Change from expand to insn.
8133 (extendsidi2): Add constraints.
8134 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
8135 LD/ST address. Fix SI immediate loading split.
8136 (movhi_media, movqi_media, lduw, ldub): New insns.
8137 (movhi, movqi): Accept SHmedia.
8138 (shori_media, movdi_media): Relax input constraints. Split
8139 symbolic constants.
8140 (movdf_media, movsf_media): New insn. New split to movdi.
8141 (movdf, movsf): Match on SHmedia.
8142 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
8143 bgeu_media): New insns and splits. New insns with `_i' suffix.
8144 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
8145 (bunordered): New expand.
8146 (jump_compact): Renamed from `jump'.
8147 (jump_media): New insn.
8148 (jump): New expand.
8149 (call_media, call_value_media): New insns.
8150 (call, call_value): Adjust.
8151 (indirect_jump_compact): Renamed from `indirect_jump'.
8152 (indirect_jump_media): New insn.
8153 (indirect_jump): New expand.
8154 (untyped_call, return): Accept SHmedia.
8155 (return_media): New insn.
8156 (prologue, epilogue, blockage): Accept SHmedia.
8157 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
8158 (sunordered): New expand.
8159 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
8160 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
8161 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
8162 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
8163 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
8164 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
8165 abssf2_media): New insns.
8166 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
8167 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
8168 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
8169 floatdidf2, floatsidf2_media, fix_truncdfdi2,
8170 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
8171 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
8172 absdf2_media): New insns.
8173 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
8174 (extendsfdf2_media, truncdfsf2_media): New insns.
8175 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
8176 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
8177 * config/sh/sh.h (CONST_OK_FOR_J): Document.
8178 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
8179 * config/sh/sh.md (adddi3): New expand.
8180 (adddi3_media, adddi3z_media): New insns.
8181 (adddi3_compact): Renamed from adddi3.
8182 (addsi3_media): Use add.l r63 to add constant zero.
8183 (subdi3): New expand.
8184 (subdi3_media): New insn.
8185 (subdi3_compact): Renamed from subdi3.
8186 (mulsidi3): New expand.
8187 (mulsidi3_media): New insn.
8188 (mulsidi3_compact): Renamed from mulsidi3.
8189 (umulsidi3): New expand.
8190 (umulsidi3_media): New insn.
8191 (umulsidi3_compact): Renamed from umulsidi3.
8192 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
8193 (ashlsi3, ashrsi3, lshrsi3): Use them.
8194 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
8195 (ashldi3, ashrdi3, lshrdi3): Use them.
8196 (zero_extendsidi2): New expand.
8197 (extendsidi2): New insn.
8198 (movsi_media): New insn. Split to movdi to load constants.
8199 (movsi): Enable for shmedia.
8200 (movdi_media): New insn. Use shori_media to load wide constants.
8201 (short_media): New insn.
8202 (movdi): Enable for shmedia.
8203 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
8204 * config/sh/sh.h (CPP_SPEC): Added `m5'.
8205 (SUBTARGET_CPP_SPEC): Added `!m5'.
8206 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
8207 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
8208 to all other SH variants.
8209 (TARGET_DEFAULT): Set to SH1_BIT.
8210 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
8211 (BITS_PER_WORD): Raise to 64 on shmedia.
8212 (MAX_BITS_PER_WORD): Change to 64.
8213 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
8214 (INT_TYPE_SIZE): Keep as 32.
8215 (UNITS_PER_WORD): Raise to 8 on shmedia.
8216 (MIN_UNITS_PER_WORD): Keep as 4.
8217 (POINTER_SIZE): Raise to 64 on shmedia.
8218 (CONST_OK_FOR_J): New macro.
8219 (CONST_OK_FOR_LETTER_P): Use it.
8220 (processor_type): Add PROCESSOR_SH5.
8221 * config/sh/sh.md: Conditionalize all expands, insns and
8222 splits to TARGET_SH1.
8223 (cpu): Added sh5.
8224 (addsi3_compact): Renamed from...
8225 (addsi3): Now an expand.
8226 (addsi3_media, subsi3_media): New insns.
8227 (subsi3): Don't negate constants with SHmedia.
8228
e4ec2cac
AO
8229 * hooks.c: New file.
8230 * hooks.h: New file.
8231 * Makefile.in (HOOKS_H): New.
8232 (TARGET_DEF_H): Added $(HOOKS_H).
8233 (OBJS): Added hooks.o.
8234 (cfgcleanup.o, bb-reorder.o): Added target.h.
8235 (hooks.o): Added dependencies.
8236 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
8237 (TARGET_INITIALIZER): this.
8238 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
8239 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
8240 * bb-reorder.c: Include target.h.
8241 (reorder_basic_blocks): Skip if cannot modify jumps.
8242 * cfgcleanup.c: Include target.h.
8243 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
8244
246a46e0
CD
82452002-02-08 Chris Demetriou <cgd@broadcom.com>
8246
831c4e87
KC
8247 * config/mips/mips.md (casesi_internal, casesi_internal_di):
8248 Protect jump delay slot instructions with .set noreorder and
8249 .set nomacro.
246a46e0
CD
8250
82512002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
8252
8253 * config/mips/mips.md (casesi_internal_di): Calculate
8254 the index into the target offset table correctly.
8255
fdf473ae
RH
82562002-02-08 Richard Henderson <rth@redhat.com>
8257
8258 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
8259 * final.c (output_addr_const): Accept and discard SUBREG.
8260 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
8261 mark them unknown instead.
8262 (simplify_subtraction): Handle RTX_UNKNOWN.
8263 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
8264
c50503ac
DE
82652002-02-08 David Edelsohn <edelsohn@gnu.org>
8266
8267 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
8268
3660d217
RH
82692002-02-08 Richard Henderson <rth@redhat.com>
8270
8271 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
8272
56547299
AJ
82732002-02-08 Andreas Jaeger <aj@suse.de>
8274
8275 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
8276 * config/i386/t-linux64: New file.
8277
1cf537c5
JJ
82782002-02-08 Jakub Jelinek <jakub@redhat.com>
8279
8280 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
8281 * c-parse.in (compstmt): Clear last_expr_type.
8282
5c7f5a5f
RH
82832002-02-07 Richard Henderson <rth@redhat.com>
8284
8285 * loop.c (strength_reduce): Sink final_value when not
8286 eliminating a biv.
8287
b1138bf3
DB
82882002-02-07 David O'Brien <obrien@FreeBSD.org>
8289
8290 * config/sparc/freebsd.h: Fix mismatched spec {.
8291
b6878a45
RH
82922002-02-07 Richard Henderson <rth@redhat.com>
8293
8294 * cfgrtl.c: Include recog.h and insn-config.h.
8295 (keep_with_call_p): Fix general_operand invocation.
8296 * Makefile.in (cfgrtl.o): Update dependencies.
8297
ae19f5ef
KH
82982002-02-07 Kazu Hirata <kazu@hxi.com>
8299
8300 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
8301 comment. Accept HImode only if TARGET_H8300.
8302
b137f9fc
EC
83032002-02-07 Eric Christopher <echristo@redhat.com>
8304
8305 * config/mips/crtn.asm: Cleanup #ifdefs.
8306
83072002-02-07 Eric Christopher <echristo@redhat.com>
8308
8309 * config/mips/crti.asm: Add changes for mips16. mips16 uses
8310 register 7 as RA instead of $31.
8311 * config/mips/crtn.asm: Ditto.
8312 * config/mips/mips.c (mips_move_2words): Add case for
8313 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
8314 (compute_frame_size): Fix typo.
8315 (save_restore_insns): Ditto. Make documentation about using
8316 register $7 as return register more precise.
8317 (mips_expand_epilogue): Fix comment. Add code to work around not
8318 being able to add to the stack pointer directly.
8319 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
8320 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
8321 epilogue.
8322
768070a0
TR
83232002-02-07 Tom Rix <trix@redhat.com>
8324
b137f9fc 8325 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
8326 immediates in ldu and stdu DS opcode field.
8327 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
8328 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
8329 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
8330
225909c3
JS
83312002-02-07 Jeff Sturm <jsturm@one-point.com>
8332
8333 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
8334 offset for stack bias.
8335
15fae023
L
83362002-02-07 H.J. Lu <hjl@gnu.org>
8337
8338 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
8339
fde5badd
UW
83402002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
8341
8342 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
8343
162f023b
JH
8344Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
8345
8346 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
8347 * i386.c (x86_order_regs_for_local_alloc): New global function.
8348 * i386.h (REG_ALLOC_ORDER): CLeanup.
8349 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
8350
9b462c42
RH
83512002-02-07 Richard Henderson <rth@redhat.com>
8352
85aa876c 8353 PR optimization/2463
9b462c42
RH
8354 * alias.c (find_base_value): Recall base values for fixed hard regs.
8355 * loop.c (loop_regs_update): Don't use single_set on non-insns.
8356
06e455a9
AO
83572002-02-07 Alexandre Oliva <aoliva@redhat.com>
8358
8359 * config/mips/mips.md (define_delay) [mips16]: Adjust required
8360 length.
8361
edd1967d
RH
83622002-02-06 Richard Henderson <rth@redhat.com>
8363
8364 PR c/5609
8365 * stmt.c (resolve_operand_name_1): Take more care with mixed
8366 named and unnamed operands.
8367
a2cd028f
JJ
83682002-02-06 Janis Johnson <janis187@us.ibm.com>
8369 Jan Hubicka <jh@suse.cz>
8370
8371 * loop.c (remove_constant_addition): Avoid clobbering a shared
8372 CONST expression.
8373
e8487c04
UW
83742002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
8375
8376 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
8377 * config/s390/t-linux64: New file.
8378 * config/s390/libgcc-glibc.ver: New file.
8379
58d10f89
UW
83802002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
8381
8382 * config/s390/linux64.h: Delete file.
8383 * config/s390/s390x.h: New file.
8384 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
8385 as target header file.
8386 * config/s390/linux.h (TARGET_VERSION): Define depending on
8387 DEFAULT_TARGET_64BIT.
8388 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
8389 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
8390 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
8391 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
8392 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
8393 (EXTRA_SPEC): New define.
8394 * config/s390/s390.h (TARGET_VERSION): Define depending on
8395 DEFAULT_TARGET_64BIT.
8396 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
8397
5ce89b2e
JM
83982002-02-06 Jason Merrill <jason@redhat.com>
8399
8400 * c-decl.c (finish_function): Warn about a non-void function with
8401 no return statement and no abnormal exit.
8402 (current_function_returns_abnormally): New variable.
8403 (start_function): Clear it.
8404 (struct c_language_function): Add returns_abnormally.
8405 (push_c_function_context): Save it.
8406 (pop_c_function_context): Restore it.
8407 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
8408 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
8409 an explicit return type.
8410 * c-tree.h: Declare current_function_returns_abnormally.
8411 (C_FUNCTION_IMPLICIT_INT): New macro.
8412 * c-typeck.c (build_function_call): Set it.
8413 (c_expand_return): Set current_function_returns_value even if the
8414 value is erroneous.
8415
caaf2272
JJ
84162002-02-06 Jakub Jelinek <jakub@redhat.com>
8417
8418 PR c/5420:
8419 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
8420 unsafe for reevaluation.
8421
d5129288
JJ
84222002-02-06 Jakub Jelinek <jakub@redhat.com>
8423
8424 PR c/5482:
8425 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
8426 EXPR_STMT, but COMPOUND_STMT, recurse into it.
8427
7fb75099
RH
84282002-02-06 Richard Henderson <rth@redhat.com>
8429
8430 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
8431 be a general_operand. Dest for function value must be a pseudo.
8432
d3a8b6a6
NC
84332002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
8434
8435 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
8436 as SYMBOL_REFs from the constant pool.
8437
3c1299c5
AO
84382002-02-06 Alexandre Oliva <aoliva@redhat.com>
8439
8440 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
8441 passed by invisible reference.
8442
c2c9f6c9
RH
84432002-02-05 Richard Henderson <rth@redhat.com>
8444
8445 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
8446
a824924d
HPN
84472002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
8448
8449 Implement using "base addresses" in insn operands as default.
8450 * config/mmix/mmix.c (mmix_conditional_register_usage): if
8451 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
8452 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
8453 used to read the rtx value.
8454 (mmix_target_asm_function_epilogue): Fix spacing.
8455 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
8456 (mmix_legitimate_address): Ditto.
8457 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
8458 should be loaded with a GETA insn. Don't allocate needless extra
8459 char for nul termination and fix misleading comment.
8460 (mmix_print_operand_address): Handle constants if
8461 TARGET_BASE_ADDRESSES.
8462 (mmix_output_register_setting): Use base addressing if
8463 TARGET_BASE_ADDRESSES and the number of insns is 3.
8464 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
8465 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
8466 to use R as constraint, add LDA to match s.
8467 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
8468 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
8469 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
8470 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
8471 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
8472 order with other fixed registers.
8473 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
8474 other parameter/call-clobbered registers.
8475 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
8476 -mbase-addresses, -mno-base-addresses.
8477 (MMIX Options): Ditto.
8478
73c342b9
JDA
84792002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
8480
8481 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
8482
ef238c58
AH
84832002-02-06 Aldy Hernandez <aldyh@redhat.com>
8484
831c4e87 8485 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 8486
ad08e60e
JT
84872002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
8488
8489 * config/netbsd.h (WCHAR_TYPE): Define.
8490 (WCHAR_TYPE_SIZE): Ditto.
8491 (WINT_TYPE): Ditto.
8492 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
8493 (WCHAR_UNSIGNED): Ditto.
8494 (WCHAR_TYPE_SIZE): Ditto.
8495 (WINT_TYPE): Ditto.
8496 * config/arm/netbsd.h: Likewise.
8497 * config/i386/netbsd-elf.h: Likewise.
8498 * config/i386/netbsd.h: Likewise.
8499 * config/m68k/netbsd-elf.h: Likewise.
8500 * config/m68k/netbsd.h: Likewise.
8501 * config/ns32k/netbsd.h: Likewise.
8502 * config/sparc/netbsd.h: Likewise.
8503 * config/vax/netbsd.: Likewise.
8504
f913c102
AO
85052002-02-05 Alexandre Oliva <aoliva@redhat.com>
8506
8507 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
8508 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
8509 (TARGET_INITIALIZER): this.
8510 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
8511 (BITFIELD_NBYTES_LIMITED): Markup fix.
8512 * tree.h (default_ms_bitfield_layout_p): Declare.
8513 (record_layout_info): Added prev_field.
8514 * tree.c (default_ms_bitfield_layout_p): New fn.
8515 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
8516 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
8517 * stor-layout.c: Include target.h.
8518 (start_record_layout): Initialize prev_field.
8519 (place_field): Handle MS bit-field layout, and disregard
8520 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
8521 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
8522 * Makefile.in (stor-layout.o): Adjust dependencies.
8523
c13db5d1
JM
85242002-02-05 Jason Merrill <jason@redhat.com>
8525
c13db5d1
JM
8526 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
8527
4505024e
AJ
85282002-02-05 Andreas Jaeger <aj@suse.de>
8529
8530 * crtstuff.c: Fix comments.
8531
794ad79d
RH
85322002-02-05 Richard Henderson <rth@redhat.com>
8533
2e279a9b
RH
8534 PR fortran/3393
8535 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
8536 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
8537
794ad79d
RH
8538 PR fortran/3392
8539 * config/mips/mips.c (function_arg): Handle TImode.
8540 (function_arg_advance): Likewise.
8541
8f909017
AH
85422002-02-05 Aldy Hernandez <aldyh@redhat.com>
8543
c13db5d1
JM
8544 * config/rs6000/altivec.h (vec_step_help): Rename to
8545 __vec_step_help.
8f909017 8546
66daa9e3
AH
85472002-02-05 Aldy Hernandez <aldyh@redhat.com>
8548
c13db5d1 8549 * config/rs6000/altivec.h: Fix typos.
66daa9e3 8550
2696e97b
JT
85512002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
8552
8553 * config/arm/netbsd.h: Correct a comment.
8554
3deb2758
AH
85552002-02-05 Aldy Hernandez <aldyh@redhat.com>
8556
c13db5d1
JM
8557 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
8558 building void typed builtins.
3deb2758 8559
c13db5d1
JM
8560 * config/rs6000/altivec.h (vec_ld*): Fix typos.
8561 (vec_step): Implement for C++.
3deb2758 8562
c13db5d1 8563Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
8564
8565 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
8566
ebbb0a63
RH
85672002-02-04 Richard Henderson <rth@redhat.com>
8568
8569 * combine.c (nonzero_bits): Re-introduce special case for
8570 sp/fp/ap wrt REGNO_POINTER_ALIGN.
8571
ae4b4a02
AH
85722002-02-05 Aldy Hernandez <aldyh@redhat.com>
8573
c13db5d1
JM
8574 * doc/extend.texi: Warn about unsupported usage of altivec
8575 builtins.
ae4b4a02 8576
c13db5d1
JM
8577 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
8578 (altivec_predicate_*): New.
ae4b4a02 8579
c13db5d1
JM
8580 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
8581 Add C++ version of vec_*() functions.
ae4b4a02 8582
c13db5d1
JM
8583 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
8584 (bdesc_2arg): Remove altivec predicates.
8585 (altivec_expand_builtin): Handle predicates.
8586 (altivec_init_builtins): Handle predicates.
8587 (altivec_expand_predicate_builtin): New.
ae4b4a02 8588
f6bcf44c
JDA
85892002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8590
8591 * pa.c (DO_FRAME_NOTES): Move forward.
8592 (store_reg): Revise handling of frame notes.
8593 (load_reg): Likewise.
8594 (set_reg_plus_d): Likewise.
8595 (hppa_expand_prologue): Likewise.
8596 (hppa_expand_epilogue): Likewise.
b137f9fc 8597
703b0080
JDA
85982002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8599
8600 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
8601
6f9fdf4d
JJ
86022002-02-04 Jakub Jelinek <jakub@redhat.com>
8603
8604 PR c/4475, c++/3780:
8605 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
8606 * c-common.h (SWITCH_TYPE): Define.
8607 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
8608 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
8609 Rename spareness variable to sparseness.
8610 (expand_end_case_type): Renamed from expand_end_case, use orig_type
8611 if non-NULL instead of TREE_TYPE (orig_index).
8612 * tree.h (expand_end_case_type): Renamed from expand_end_case.
8613 (expand_end_case): Define using expand_end_case_type.
8614 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
8615 to expand_end_case_type.
8616 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
8617
79109502
JDA
86182002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8619
8620 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
8621 (BIGGEST_ALIGNMENT): Change to 128.
8622
e62a5987
JDA
86232002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8624
8625 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
8626
219f24a4
JDA
86272002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8628
8629 * pa.md (call_internal_reg_64bit): Remove unused variable.
8630
3cb66fd7
NC
86312002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
8632
8633 * config/arm/arm.h (machine_function): Add uses_anonymous_args
8634 field.
831c4e87 8635 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 8636 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
8637 replace uses with cfun->machine->uses_anonymous_args.
8638 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
8639
8640 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
8641 any geenral register.
b137f9fc 8642
5d5603e2 86432001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
8644
8645 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
8646 the entry block.
8647
563c12b0
RH
86482002-02-04 Richard Henderson <rth@redhat.com>
8649
8650 * combine.c (force_to_mode): Remove STACK_BIAS code.
8651 (nonzero_bits): Likewise. Replace sp/fp special case with
8652 REGNO_POINTER_ALIGN.
8653
8654 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
8655 (HARD_FRAME_POINTER_REGNUM): New.
8656 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
8657 (FIXED_REGS, CALL_USED_REGS): Update.
8658 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
8659 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
8660 (HARD_REGNO_NREGS): Update for SFP.
8661 (STACK_POINTER_OFFSET): Include bias here ...
8662 (FIRST_PARM_OFFSET): ... not here.
8663 (STACK_BIAS): Remove.
8664 (INIT_EXPANDERS): New.
8665 (STARTING_FRAME_OFFSET): Do not include bias.
8666 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
8667 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
8668 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
8669 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
8670 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
8671 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
8672 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
8673 (MUST_SAVE_REGISTER): Likewise.
8674 (sparc_flat_function_prologue): Likewise.
8675 (sparc_flat_function_epilogue): Likewise.
8676 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
8677 (sparc_init_modes): SFP is GENERAL_REGS.
8678 (sparc_builtin_saveregs): SFP does not have bias applied.
8679
14691f8d
RH
86802002-02-04 Richard Henderson <rth@redhat.com>
8681
8682 * config/alpha/alpha.c (current_function_is_thunk): Don't check
8683 current_function_is_thunk.
8684 (alpha_sa_mask): Distinguish between current_function_is_thunk
8685 called from ASM_OUTPUT_MI_THUNK and not.
8686 (alpha_does_function_need_gp): Thunks always need gp.
8687 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
8688 (alpha_output_mi_thunk_osf): New.
8689 * config/alpha/alpha-protos.h: Update.
8690 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
8691
af702de8
RS
86922002-02-04 Richard Sandiford <rsandifo@redhat.com>
8693
8694 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
8695 function types, not when they're taken away.
8696
5b1cacd8
JL
8697Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
8698
8699 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
8700 CODE_LABEL and jump table when replacing a table jump with a
8701 simple jump.
8702
f3e9edff
UW
87032002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
8704
8705 * config/s390/s390-protos.h (legitimize_la_operand,
8706 s390_secondary_input_reload_class, s390_plus_operand,
8707 s390_expand_plus_operand): Add prototypes.
8708
8709 config/s390/s390.c (s390_secondary_input_reload_class,
8710 s390_plus_operand, s390_expand_plus_operand): New functions.
8711
8712 (struct s390_address): New member 'pointer'.
8713 (s390_decompose_address): Compute it.
8714 (legitimate_la_operand_p): Use it.
8715 (legitimize_la_operand): New function.
8716 (movti, movdi, movdf splitters): Call it.
8717
8718 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
8719 (PREDICATE_CODES): Add s390_plus_operand.
8720
8721 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
8722 (la_ccclobber): Allow GENERAL_REGS as output operand.
8723
8724 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
8725 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
8726 (*la_64, *la_31, reload_indi, reload_insi): ... these.
8727
3c9a08ec
UW
87282002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
8729
8730 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
8731 register names for regular asm () construct.
8732
ac300a45
JJ
87332002-02-04 Jakub Jelinek <jakub@redhat.com>
8734
8735 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
8736 registers.
8737
fa852403
JJ
87382002-02-04 Jakub Jelinek <jakub@redhat.com>
8739
8740 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
8741 pat for recog.
8742
fecaac37
HP
87432002-02-04 Hartmut Penner <hpenner@de.ibm.com>
8744
831c4e87
KC
8745 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
8746 constant pool to be identical by string address and index.
fecaac37 8747
10c45943
AG
87482002-02-04 Anthony Green <green@redhat.com>
8749
8750 * output.h (SECTION_OVERRIDE): Define.
8751 * varasm.c (named_section): Obey SECTION_OVERRIDE.
8752
69474c3c
JT
87532002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
8754
8755 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
8756 by existing arm*-*-netbsd* (a.out) target.
8757 (ns32k-*-netbsdelf*): Likewise.
8758 (sparc-*-netbsdelf*): Likewise.
8759 (vax-*-netbsdelf*): Likewise.
8760
939a46f6 87612002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
8762
8763 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
8764 headers and libobjc headers.
8765
87662002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
8767
8768 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
8769 (_mingw.h): Remove duplicate include.
8770
2fd95d71
JT
87712002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
8772
8773 * config.gcc: Set cpu_type to m68k for 68010, as well.
8774 (m68010-*-netbsdelf*): New...
8775 (m68k*-*-netbsdelf*): ...targets.
8776 * config/m68k/netbsd-elf.h: New file.
8777
0ea6f6a0
KH
87782002-02-02 Kazu Hirata <kazu@hxi.com>
8779
8780 * config/h8300/h8300.c (hand_list): Move inside function_arg.
8781
cbf1b2da
KH
87822002-02-02 Kazu Hirata <kazu@hxi.com>
8783
8784 * config/h8300/h8300.c (h8_push_ops): Move inside
8785 h8300_init_once.
8786 (h8_pop_ops): Likewise.
8787 (h8_move_ops): Likewise.
8788
0869f126
KH
87892002-02-02 Kazu Hirata <kazu@hxi.com>
8790
8791 * config/h8300/h8300.c (os_task): Make it static.
8792 (monitor): Likewise.
8793 (pragma_saveall): Likewise.
8794
90e65b70
AO
87952002-02-02 Alexandre Oliva <aoliva@redhat.com>
8796
8797 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
8798 constant is a valid sign-extension for Pmode.
8799
9cbcd983
KH
88002002-02-02 Kazu Hirata <kazu@hxi.com>
8801
8802 * config/h8300/h8300.c: Fix formatting.
8803
7a27efc4
KH
88042002-02-02 Kazu Hirata <kazu@hxi.com>
8805
8806 * config/h8300/h8300.md: Fix formatting.
8807
54175a44
KH
88082002-02-02 Kazu Hirata <kazu@hxi.com>
8809
8810 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
8811 predicates of operands[1]. Split the patterns for each
8812 processor variant.
8813
eceb1755
KH
88142002-02-02 Kazu Hirata <kazu@hxi.com>
8815
8816 * config/h8300/h8300.md (xor patterns): Tighten the predicates
8817 of operands[1] to register_operand.
8818
0fef3fd0
NB
88192002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
8820
8821 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
8822 * cpphash.c (_cpp_init_hashtable): Similarly.
8823 * cppinit.c (cpp_create_reader): Default the signed_char flag.
8824 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
8825 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
8826 (cpp_handle_option): Handle the new options.
8827 * cpplex.c (cpp_interpret_charconst): Use new flag.
8828 * cpplib.h (struct cpp_options): New member signed_char.
8829 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
8830 (cpp_options): Handle -fsigned-char and -funsigned-char.
8831 (static_specs): Remove signed_char_spec.
8832 (do_spec1): Don't handle %c.
8833 * system.h: Poison SIGNED_CHAR_SPEC.
8834 * tradcif.y (yylex): Use flag_signed_char.
8835 * tradcpp.h (flag_signed_char): New.
8836 * tradcpp.c (flag_signed_char): New.
8837 (main): Handle new command-line options.
8838 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
8839config:
8840 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
8841 * avr/avr.h: Remove old comments.
8842 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
8843 (CC1_SPEC): Pass -fsigned-char if -mic*.
8844 (SIGNED_CHAR_SPEC): Remove.
8845doc:
8846 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
8847
0617ed52
EC
88482002-02-01 Eric Christopher <echristo@redhat.com>
8849
8850 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
8851 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
8852 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
8853 (ASM_OUTPUT_REG_POP): Ditto.
8854
dfd48d76
NB
88552002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
8856
8857 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
8858 patch.
8859
4a23409e
JJ
88602002-02-02 Jakub Jelinek <jakub@redhat.com>
8861
8862 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
8863
d3c52658
JJ
88642002-02-02 Jakub Jelinek <jakub@redhat.com>
8865
8866 PR c/5304:
8867 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
8868 unconditionally.
8869
02c5a3bd
JJ
88702002-02-01 Janis Johnson <janis187@us.ibm.com>
8871
8872 * cfganal.c: Include tm_p.h.
8873 (keep_with_call_p): Fix the test that determines if a register holds
8874 the return value of a call.
8875
3968de80
DD
88762002-02-01 DJ Delorie <dj@redhat.com>
8877
8878 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
8879 we are given conflicting registers, switch to the other one we
8880 had allocated for us.
8881 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
8882 as TImode so we know when the "other" register is available.
8883
1338ea6c
DB
88842002-02-01 David O'Brien <obrien@FreeBSD.org>
8885
8886 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
8887 sparc/sparc_bi.h.
8888
f015be23
JJ
88892002-02-01 Janis Johnson <janis187@us.ibm.com>
8890
8891 * cfganal.c (keep_with_call_p): New function.
8892 (flow_call_edges_add): Prevent splitting a block between a call and
8893 a single-set instruction that should be kept in the same block.
8894
63708ffc
CR
88952002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
8896
8897 * doc/install.texi (avr): Update outdated URL.
8898
5ee4950e
AH
88992002-01-30 Andrew Haley <aph@cambridge.redhat.com>
8900
831c4e87
KC
8901 * config/stormy16/stormy16.md (pushqi): New.
8902 (popqi): New.
8903 (pushhi): New.
8904 (pophi): New.
8905 (movhi): Remove stack operands.
8906 (movqi): Likewise.
8907 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
8908 nonimmediate_nonstack_operand.
8909 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
8910 New.
8911 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
8912 New.
5ee4950e 8913
b88c0704
JM
89142002-01-31 Jason Merrill <jason@redhat.com>
8915
8916 * Makefile.in (c-parse.c): Handle .output file.
8917 * objc/Make-lang.in (objc-parse.c): Likewise.
8918
ac282977
AO
89192002-02-01 Alexandre Oliva <aoliva@redhat.com>
8920
8921 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
8922 the -me[lb] option is given. Don't output the default flag
8923 twice.
8924
bebc7e8b
ZW
89252002-01-31 Zack Weinberg <zack@codesourcery.com>
8926
8927 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
8928 the primary source file; this has not been done yet.
8929 * c-decl.c (c_expand_body): Reset input_filename from
8930 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
8931
5809eb5f
KH
89322002-01-31 Kazu Hirata <kazu@hxi.com>
8933
8934 * rtlanal.c (subreg_regno_offset): Do not use
8935 SUBREG_REGNO_OFFSET.
8936 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
8937 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
8938
8512bbd7
JM
89392002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
8940
8941 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
8942 version rather than GNATS version in --version output.
8943
74cb3cc8
RS
89442002-01-31 Richard Sandiford <rsandifo@redhat.com>
8945
8946 * ifcvt.c (noce_process_if_block): Make a copy of the destination
8947 when copying back from a temporary.
8948
874b5b14
RH
89492002-01-30 Richard Henderson <rth@redhat.com>
8950
8951 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
8952 and new_dest are the same.
8953
e803a64b
RH
89542002-01-30 Richard Henderson <rth@redhat.com>
8955
89cf7be5 8956 PR opt/5076
e803a64b
RH
8957 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
8958 * rtl.c (note_insn_name): Update.
8959 * emit-rtl.c (remove_unnecessary_notes): Kill it.
8960 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
8961 to perform loop rotation.
8962 (expand_exit_loop_top_cond): New.
8963 * tree.h (expand_exit_loop_top_cond): Declare it.
8964 * c-semantics.c (genrtl_while_stmt): Use it.
8965 (genrtl_for_stmt): Likewise.
8966
0b51254d
AO
89672002-01-30 Alexandre Oliva <aoliva@redhat.com>
8968
8969 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
8970 arguments to 64-bit boundaries on 64-bit ABIs.
8971
71cef493
SE
89722002-01-30 Steve Ellcey <sje@cup.hp.com>
8973
8974 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
8975
6169e5fd
JM
89762002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
8977
8978 * c-decl.c (grokdeclarator): Handle type being a typedef for an
8979 invalid type.
8980
86f808dc
DB
89812002-01-30 David O'Brien <obrien@FreeBSD.org>
8982
8983 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
8984 * config/sparc/sparc_bi.h: Remove file.
8985 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
8986
5748ebeb
RH
89872002-01-30 Richard Henderson <rth@redhat.com>
8988
8989 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
8990
20d32cc2
ZW
89912002-01-30 Zack Weinberg <zack@codesourcery.com>
8992
8993 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
8994
b88c0704 89952002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
8996
8997 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
8998 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
8999 (reg_save): Use DW_CFA_offset_extended_sf instead.
9000
9001 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
9002
37060e78
JJ
90032002-01-29 Jakub Jelinek <jakub@redhat.com>
9004
9005 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
9006 in cselib_lookup.
9007
d18dba68
AH
90082002-01-29 Aldy Hernandez <aldyh@redhat.com>
9009
bebc7e8b
ZW
9010 * rs6000.md ("*call_value_local32"): Remove constraints.
9011 ("*call_value_local64"): Same.
9012 ("*call_value_indirect_nonlocal_aix32"): Same.
9013 ("*call_value_nonlocal_aix32"): Same.
9014 ("*call_value_indirect_nonlocal_aix64"): Same.
9015 ("*call_value_nonlocal_aix64"): Same.
9016 ("*call_value_nonlocal_sysv"): Same.
d18dba68 9017
80a8aac6
RH
90182002-01-29 Richard Henderson <rth@redhat.com>
9019
9020 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
9021
12beba6f
RH
90222002-01-29 Richard Henderson <rth@redhat.com>
9023
9024 * expr.c (force_operand): Ignore flag_pic for detecting pic
9025 address loads.
9026 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
9027 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
9028 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
9029 instead of open-coded loop.
9030 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
9031 be fixed when in use.
9032
2583081e
RH
90332002-01-29 Richard Henderson <rth@redhat.com>
9034
9035 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
9036 * sched-rgn.c (propagate_deps): Update them.
9037 * sched-deps.c (sched_analyze_insn): Update them. Flush the
9038 clobbers list when either gets too long.
9039
3b8d200e
JJ
90402002-01-29 Jakub Jelinek <jakub@redhat.com>
9041
9042 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
9043 and INDEX_REGS the same as GENERAL_REGS.
9044 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
9045
2d3115eb
NB
90462002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
9047
bebc7e8b 9048 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 9049
ecbe845e
UW
90502002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
9051
bebc7e8b 9052 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 9053 movstrsix_31): Remove, replace by ...
bebc7e8b 9054 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
9055 movstrsi_long): ... these. New.
9056 (movstrdi, movstrsi): Adapt.
9057
9058 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 9059 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
9060 Remove unnecessary CC clobber.
9061 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
9062 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
9063
9064 (divmoddi4): Don't partially initialize TImode register.
9065
0b32fca5
GK
90662002-01-29 Geoffrey Keating <geoffk@redhat.com>
9067
9068 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
9069
08ef5437
RH
90702002-01-29 Richard Henderson <rth@redhat.com>
9071
9072 * flow.c (print_rtl_and_abort): Remove.
9073 (print_rtl_and_abort_fcn): Remove.
9074 (verify_local_live_at_start): Use dump_bb instead.
9075 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
9076 (verify_wide_reg_1): Return 2 on mode test failure.
9077
8469e54e
NB
90782002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
9079
9080 PR c/3325, c/3326, c/2511, c/3347
9081 * c-decl.c (enum_decl_context): Remove BITFIELD.
9082 (grokdeclarator): Take bitfield width as an input.
9083 Ensure bitfields are given the correct type. Perform
9084 bitfield width validation with build_bitfield_integer_type
9085 rather than waiting for finish_struct.
9086 (grok_typename, grok_typename_in_parm_context, start_decl,
9087 push_parmdecl, grokfield, start_function): Update calls to
9088 grokdeclarator.
9089 (build_bitfield_integer_type): New function.
9090 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 9091 and build_bitfield_integer_type.
8469e54e
NB
9092 * tree.c (build_nonstandard_integer_type): New function.
9093 * tree.h (build_nonstandard_integer_type): New prototype.
9094objc:
9095 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
9096
ffdeea47
JJ
90972002-01-29 Jakub Jelinek <jakub@redhat.com>
9098
9099 PR other/1502:
9100 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
9101 don't ignore unrecognized -W* options.
9102 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
9103 * cpplib.h (cpp_handle_option): Adjust prototype.
9104 * c-decl.c (c_decode_options): Pass 0 as last argument to
9105 cpp_handle_option.
9106
9107 PR c/2896:
9108 * gcc.c (cpp_unique_options): Split from cpp_options.
9109 (cpp_options): Source cpp_unique_options.
9110 (default_compilers): Use cpp_unique_options instead of cpp_options
9111 when used together with cc1_options.
9112 (static_specs): Add cpp_unique_options.
9113 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
9114 when used together with cc1_options.
9115
1a275226
KH
91162002-01-29 Kazu Hirata <kazu@hxi.com>
9117
9118 * config/h8300/h8300-protos.h: Update the prototype of
9119 output_a_shift.
9120 * config/h8300/h8300.c (output_a_shift): Remove an unused
9121 argument 'insn'. Remove redundant code.
9122 * config/h8300/h8300.md: Adust to the new prototype of
9123 output_a_shift.
9124
a11d9dfc
KH
91252002-01-29 Kazu Hirata <kazu@hxi.com>
9126
9127 * config/h8300/h8300-protos.h: Update the prototypes of
9128 emit_a_rotate and expand_a_rotate.
9129 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
9130 first argument to 'enum rtx_code'.
9131 (expand_a_rotate): Likewise.
9132
871f73e3
KH
91332002-01-28 Kazu Hirata <kazu@hxi.com>
9134
9135 * config/h8300/h8300-protos.h: Update the prototype of
9136 output_simode_bld.
9137 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
9138 'log2'.
9139 * config/h8300/h8300.md: Adjust to the new prototype.
9140
5fc4b751
KH
91412002-01-28 Kazu Hirata <kazu@hxi.com>
9142
9143 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
9144 redundant code.
9145
2d67bd7b
JDA
91462002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
9147
9148 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
9149 is a fixed register before returning pic_offset_table_rtx.
9150 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
9151 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
9152
5a852b3e
JM
91532002-01-28 Jason Merrill <jason@redhat.com>
9154
6bb28965 9155 * dwarf2.h: Sync with src version.
5a852b3e 9156
3bca17dd
PK
91572002-01-28 Paul Koning <pkoning@equallogic.com>
9158
9159 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
9160 BT_FN_VOID_PTR_VAR.
9161 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
9162 * doc/extend.texi (__builtin_prefetch): Update documentation:
9163 first argument is now const void ptr.
9164
7dc3f8c0
KH
91652002-01-28 Kazu Hirata <kazu@hxi.com>
9166
9167 * config/h8300/h8300-protos.h: Remove an unused prototype.
9168
e83cb5f0
RZ
91692002-01-28 Roman Zippel <zippel@linux-m68k.org>
9170
9171 * toplev.c (lang_independent_init): Round up identifier size.
9172
5721cd84
RE
91732002-01-28 Richard Earnshaw <rearnsha@arm.com>
9174
9175 * config.gcc: Revert previous change.
9176
d534119e
AP
91772002-01-28 Andris Pavenis <pavenis@latnet.lv>
9178
9179 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
9180
5a721dab
RE
91812002-01-28 Richard Earnshaw <rearnsha@arm.com>
9182
9183 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
9184 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
9185 other non-elf netbsd config frags.
9186 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
9187 collect2 will does that.
9188 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
9189 shared-lib frobbing will work.
9190
da1775d6
KH
91912002-01-28 Kazu Hirata <kazu@hxi.com>
9192
9193 * config/h8300/h8300.h: Fix formatting.
9194 * config/h8300/h8300.md: Likewise.
9195
8f2e963b
LR
91962002-01-28 Loren J. Rittle <ljrittle@acm.org>
9197
9198 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
9199 the old, removed AAA_standards fix.
9200 * fixinc/fixincl.x: Rebuilt.
9201
fdae5767
HPN
92022002-01-28 Hans-Peter Nilsson <hp@axis.com>
9203
9204 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
9205 atexit call in crtbegin, hooked in after call to frame_dummy;
9206 register EH before registering __fini__start.
9207
2a2ecb63
AH
92082002-01-28 Aldy Hernandez <aldyh@redhat.com>
9209
9210 * config/rs6000/altivec.h: Remove spurious semicolons.
9211
8ed43adf
KH
92122002-01-27 Kazu Hirata <kazu@hxi.com>
9213
9214 * config/h8300/h8300.md: Replace dead bit extraction patterns
9215 with ones that work.
9216
917afb0c
RK
9217Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9218
9219 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
9220 if not STRICT_ALIGNMENT.
9221 * rtl.h (MEM_ALIGN): Likewise.
9222
f70a54cb
CR
92232002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
9224
9225 * doc/invoke.texi (-fdump-translation-unit): Revert this
9226 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
9227
d8fd4914
KH
92282002-01-27 Kazu Hirata <kazu@hxi.com>
9229
9230 * config/h8300/h8300.md (define_constants): New.
9231 (anonymous patterns) Use defined constants appropriately.
9232
15e0e275
KH
92332002-01-27 Kazu Hirata <kazu@hxi.com>
9234
9235 * config/h8300/h8300.c (function_arg): Remove redundant code.
9236
37a0f8a5
RH
92372002-01-26 Richard Henderson <rth@redhat.com>
9238
9239 * sched-deps.c (reg_pending_uses_head): New.
9240 (reg_pending_barrier): Rename from reg_pending_sets_all.
9241 (find_insn_list): Don't mark inline.
9242 (find_insn_mem_list): Remove.
9243 (add_dependence_list, add_dependence_list_and_free): New.
9244 (flush_pending_lists): Replace only_write param with separate
9245 for_read and for_write parameters. Update all callers. Use
9246 add_dependence_list_and_free.
9247 (sched_analyze_1): Do not add reg dependencies here; just set
9248 the pending bits. Use add_dependence_list.
9249 (sched_analyze_2): Likewise.
9250 (sched_analyze_insn): Replace schedule_barrier_found with
9251 reg_pending_barrier. Add all dependencies for pending reg
9252 uses, sets, and clobbers.
9253 (sched_analyze): Don't add reg dependencies for calls, just
9254 set pending bits. Use regs_invalidated_by_call. Treat
9255 sched_before_next_call as a normal list, not a fake insn.
9256 (init_deps): No funny init for sched_before_next_call.
9257 (free_deps): Free pending mems lists. Don't zero reg_last.
9258 (init_deps_global): Init reg_pending_uses.
9259 (finish_deps_global): Free it.
9260 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
9261 (find_insn_mem_list): Remove.
9262 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
9263 (propagate_deps): Use them. Zero temp mem lists.
9264
cea3bd3e
RH
92652002-01-26 Richard Henderson <rth@redhat.com>
9266
9267 * Makefile.in (CRTSTUFF_CFLAGS): New.
9268 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
9269 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
9270 crtstuff.c instead of alpha assembly version.
9271 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
9272 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
9273 not FORCE_{INIT,FINI}_SECTION_ALIGN.
9274 (__do_global_dtors_aux): Mark used.
9275 (frame_dummy, __do_global_ctors_aux): Mark used.
9276 (fini_dummy, init_dummy): Remove.
9277
9278 * config/alpha/crtbegin.asm: Remove file.
9279 * config/alpha/crtend.asm: Remove file.
9280 * config/alpha/t-crtbe: Remove file.
9281 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
9282 (LINK_EH_SPEC): New.
9283
9284 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
9285 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
9286 calling constructors.
9287 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
9288
9289 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
9290 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
9291 CRT_END_INIT_DUMMY hack.
9292 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
9293 FORCE_{INIT,FINI}_SECTION_ALIGN.
9294
9295 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
9296 FORCE_{INIT,FINI}_SECTION_ALIGN.
9297
9298 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
9299 invocation sequence.
9300 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
9301
9302 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
9303 (FORCE_CODE_SECTION_ALIGN): New.
9304
60ffa0e5
RH
93052002-01-26 Richard Henderson <rth@redhat.com>
9306
9307 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
9308
61334ebe
RH
93092002-01-26 Richard Henderson <rth@redhat.com>
9310
9311 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
9312 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
9313
1d788fb6
KH
93142002-01-26 Kazu Hirata <kazu@hxi.com>
9315
9316 * config/h8300/h8300.md: Remove bit extraction patterns that
9317 cannot be triggered.
9318 Restrict each bit extraction pattern to a variant on which the
9319 pattern is tested.
9320
87611f88
JM
93212002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
9322
9323 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
9324
cd74ec59
KH
93252002-01-26 Kazu Hirata <kazu@hxi.com>
9326
9327 * config/h8300/h8300.md: Remove bit test patterns that cannot
9328 be triggered.
9329 Restrict each bit test pattern to a variant on which the
9330 pattern is tested.
9331
93051e0f
KG
93322002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9333
9334 * builtins.c (expand_builtin_strncat): Remove redundant check for
9335 INTEGER_CST.
9336
216c995f
DB
93372002-01-25 David O'Brien <obrien@FreeBSD.org>
9338
9339 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
9340 default setting.
9341 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
9342 existing setting.
9343
33c7f925
GK
93442002-01-25 Geoffrey Keating <geoffk@redhat.com>
9345
9346 * dbxout.c (dbxout_init): Use assemble_name rather than just
9347 stripping off the first character.
9348 (dbxout_source_file): Likewise.
9349
6cd444b4
DD
93502002-01-25 DJ Delorie <dj@redhat.com>
9351
9352 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
9353 using rtx_equal_p, not by comparing pointers.
9354
751551d5
SE
93552002-01-25 Steve Ellcey <sje@cup.hp.com>
9356
9357 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
9358 for PIC_OFFSET_TABLE_REGNUM.
9359 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
9360
e564e618
DB
93612002-01-25 David O'Brien <obrien@FreeBSD.org>
9362
9363 * config.gcc (x86_64-*-freebsd*): New target.
9364 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
9365 value.
9366 (i[34567]86-*-freebsd*): Don't include svr4.h.
9367 * config/i386/freebsd64.h: New file.
9368
ff3aaf17
DR
93692002-01-25 Douglas B Rupp <rupp@gnat.com>
9370
4857d29d
DR
9371 * config/alpha/x-vms (version): Make static.
9372
9373 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
9374 in previous checkin.
9375
ff3aaf17
DR
9376 * Makefile.in (install-headers-cp): New target.
9377 * config.gcc (alpha-dec-*vms*): Install headers with
9378 install-headers-cp
9379
48d79c43
JH
9380Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
9381
9382 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
9383 avoid it's copies.
9384
995b5904
RK
9385Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9386
9387 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
9388 of compare_tree_int.
9389 (expand_builtin_strncat): Likewise.
9390 * c-decl.c (finish_struct): Use tree_low_cst.
9391 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
9392 * tree.c (compare_tree_int): Likewise.
9393
75eefe3f
UW
93942002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
9395
9396 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
9397 adjustments even if they are implemented by more than two insns.
9398
5a133afd
JH
9399Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
9400
995b5904 9401 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
9402 * df.h (struct ref): Kill B.
9403 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
9404
9405 * basic-block.h (PROP_EQUAL_NOTES): New flag.
9406 * flow.c (propagate_one_insn): Use it.
9407 (mark_used_regs): Handle NIL.
9408
ead39bdf 94092002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
9410
9411 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
9412 to help folding.
9413
01a2ccd0
DE
94142002-01-25 David Edelsohn <edelsohn@gnu.org>
9415
9416 * rs6000.md (prefetch): Make address V4SI mode so that the address
9417 is restricted to legitimate form for instruction.
9418
fd29f6ea
BW
94192002-01-25 Bob Wilson <bob.wilson@acm.org>
9420
9421 * doc/install.texi (xtensa-*-elf): New target.
9422 (xtensa-*-linux*): New target.
9423 * doc/contrib.texi: Add myself.
9424
55492b32
NC
94252002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
9426
9427 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
9428 purpose register to hold an SImode (or smaller) value.
9429
72c7c913
JJ
94302002-01-25 Jakub Jelinek <jakub@redhat.com>
9431
9432 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
9433 registry only.
9434 * crtstuff.c: Likewise.
9435
c4df4ceb
KH
94362002-01-25 Kazu Hirata <kazu@hxi.com>
9437
9438 * config/h8300/h8300.md (negation patterns): Tighten
9439 predicates to register_operand.
9440
70e531f5
AH
94412002-01-24 Aldy Hernandez <aldyh@redhat.com>
9442
3bca17dd
PK
9443 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
9444 mode, not Pmode.
70e531f5 9445
3bca17dd 9446 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 9447
a4f76ef9
AO
94482002-01-24 Alexandre Oliva <aoliva@redhat.com>
9449
9450 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
9451 modes.
9452
9bf25b09
KH
94532002-01-24 Kazu Hirata <kazu@hxi.com>
9454
9455 * config/h8300/h8300.c (print_operand): Remove support for
9456 operand character 'A'.
9457 * config/h8300/h8300.md (three anonymous patterns): Replace
9458 operand character 'A' with either 'T' or 'S'.
9459
974af6a5
KH
94602002-01-24 Kazu Hirata <kazu@hxi.com>
9461
9462 * config/h8300/h8300.c (print_operand): Remove support for
9463 operand character 'U'.
9464
7a5bb7b8
AP
94652002-01-24 Andris Pavenis <pavenis@latnet.lv>
9466
3bca17dd 9467 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 9468
92a4639e
NC
94692002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
9470
9471 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
9472 values to be assigned to the stack pointer.
9473
467cb2da
HP
94742002-01-14 Hartmut Penner <hpenner@de.ibm.com>
9475
bebc7e8b 9476 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
9477 to const_double needs to be done right for big-endian systems.
9478
3b6cb920
JM
94792002-01-24 Jason Merrill <jason@redhat.com>
9480
b08dd119 9481 PR c++/2432
3b6cb920
JM
9482 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
9483 to can_throw_internal.
9484
f3077311
RH
94852002-01-23 Richard Henderson <rth@redhat.com>
9486
9487 * fold-const.c (fold): Change UINT_MAX test to check vs precision
9488 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
9489
e1d71275
AO
94902002-01-24 Alexandre Oliva <aoliva@redhat.com>
9491
9492 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
9493 (symGOT2reg): Use them, then set as GOT value as unchanging.
9494 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
9495 as a temporary, if possible.
9496 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
9497 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
9498
dc271dbe
KH
94992002-01-23 Kazu Hirata <kazu@hxi.com>
9500
9501 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
9502 accept to accept 0x80 as operands[2].
9503
1a9017f9
AO
95042002-01-24 Alexandre Oliva <aoliva@redhat.com>
9505
9506 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
9507
6932f033
RH
95082002-01-23 Richard Henderson <rth@redhat.com>
9509
9510 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
9511
709619d9
AH
95122002-01-23 Aldy Hernandez <aldyh@redhat.com>
9513
3bca17dd
PK
9514 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
9515 (parmlist_or_identifiers_1): Verify that only a parmlist follows
9516 an attribute.
709619d9 9517
3d709fd3
RH
95182002-01-23 Richard Henderson <rth@redhat.com>
9519
9520 * expr.c (move_by_pieces_1): Extend size before negation.
9521
88a446c0
RH
9522 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
9523 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
9524 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
9525 * config/m68k/t-m68kelf: Likewise.
9526
03984308
BW
95272002-01-23 Bob Wilson <bob.wilson@acm.org>
9528
9529 * config/xtensa/elf.h: New file.
9530 * config/xtensa/lib1funcs.asm: New file.
9531 * config/xtensa/lib2funcs.S: New file.
9532 * config/xtensa/linux.h: New file.
9533 * config/xtensa/t-xtensa: New file.
9534 * config/xtensa/xtensa-config.h: New file.
9535 * config/xtensa/xtensa-protos.h: New file.
9536 * config/xtensa/xtensa.c: New file.
9537 * config/xtensa/xtensa.h: New file.
9538 * config/xtensa/xtensa.md: New file.
9539 * config.gcc (xtensa-*-elf*): New target.
9540 (xtensa-*-linux*): New target.
9541 * cse.c (canon_hash): Compare rtx pointers instead of register
9542 numbers. This is required for the Xtensa port.
9543 * integrate.c (copy_insn_list): Handle case where the static
9544 chain is in memory and the memory address has to be copied to
9545 a register.
9546 * doc/invoke.texi (Option Summary): Add Xtensa options.
9547 (Xtensa Options): New node.
9548 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
9549
c3d5c3fa
ZW
95502002-01-23 Zack Weinberg <zack@codesourcery.com>
9551
a63bea75
ZW
9552 * diagnostic.c (internal_error): Do ICE suppression only
9553 when ENABLE_CHECKING is not defined.
9554
c3d5c3fa
ZW
9555 * c-typeck.c (require_complete_type): Return error_mark_node
9556 if type is error_mark_node.
9557
1398974c
JJ
95582002-01-23 Janis Johnson <janis187@us.ibm.com>
9559
9560 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
9561 -Os and issue a warning.
9562
807633e5
ZW
95632002-01-23 Zack Weinberg <zack@codesourcery.com>
9564
9565 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
9566 current (lack of) need for host configuration by hand.
9567
9568 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
9569 references. Documentation of some target macros moved from
9570 hostconfig.texi to tm.texi.
9571
cf8002d0
WC
95722002-01-23 Will Cohen <wcohen@redhat.com>
9573
9574 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
9575 defined.
9576
d1e76310
KH
95772002-01-23 Kazu Hirata <kazu@hxi.com>
9578
9579 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
9580 operand[3].
9581
b2115575
JM
95822002-01-23 Jason Merrill <jason@redhat.com>
9583
f893c16e
JM
9584 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
9585
b2115575
JM
9586 * function.c (assign_parms): Don't put args of inline functions
9587 into registers when not optimizing.
9588
6bacc7b0
NC
95892002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
9590
9591 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
9592 (prologue_use): New pattern.
9593 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
9594 preference to gen_rtx_USE.
9595 (thumb_expand_prologue): Use gen_prologue_use in preference to
9596 gen_rtx_USE.
9597 (thumb_expand_epilogue): Use gen_prologue_use in preference to
9598 gen_rtx_USE.
9599
a415f7bc
HPN
96002002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
9601
9602 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
9603
5372b3fb
NB
96042002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
9605
9606 PR c/3504
9607 * doc/extend.texi: Correct documentation of __alignof__.
9608
bd571ffc
ZW
96092002-01-22 Zack Weinberg <zack@codesourcery.com>
9610
9611 * params.h: Rename arguments of DEFPARAM so that it will be
9612 recognized as a translation keyword.
9613
333c8841
AH
96142002-01-22 Aldy Hernandez <aldyh@redhat.com>
9615
bd571ffc
ZW
9616 * extend.texi: Document altivec functions.
9617 Fix N-bit adjectives in X86 builtin documentation.
333c8841 9618
38979c65
AO
96192002-01-22 Alexandre Oliva <aoliva@redhat.com>
9620
9621 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
9622 auto_inc_dec values.
9623
7458a9f0
RE
96242002-01-22 Richard Earnshaw <rearnsha@arm.com>
9625
9626 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
9627 after backslash.
9628 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
9629
129bd0c4
AO
96302002-01-22 Alexandre Oliva <aoliva@redhat.com>
9631
9632 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
9633
8b9b74a9
RH
96342002-01-22 Richard Henderson <rth@redhat.com>
9635
9636 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
9637 copy_insn not copy_rtx.
9638
d0c9db30
AM
96392002-01-23 Alan Modra <amodra@bigpond.net.au>
9640
9641 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
9642 "nonzero" as that might add "1" bits. Ensure "constop" is
9643 properly sign extened.
9644 (force_to_mode): Tweak for sign extended constop.
9645
1e7e480e
RH
96462002-01-22 Richard Henderson <rth@redhat.com>
9647
9648 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
9649 for_each_rtx instead of assuming we're already looking at the MEM.
9650 (split_small_symbolic_mem_operand): Likewise.
9651 * config/alpha/alpha.h (PREDICATE_CODES): Update.
9652 * config/alpha/alpha.md (small symbolic memory splitters): Update.
9653
96542002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
9655
9656 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
9657 sequence number for the literal.
9658 (divmoddi_internal_er): Likewise.
9659
b7f2fb96
CR
96602002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
9661
9662 PR java/4972
9663 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
9664 in LIBICONV variable.
9665 * configure: Regenerated.
9666
f66a0046
KW
96672002-01-22 Krister Walfridsson <cato@df.lth.se>
9668
9669 * dependence.c (build_def_use): Remove array_idx.
9670
e3b0efd1
KW
9671 * dwarfout.c (last_filename): Remove.
9672 (output_compile_unit_die): Remove last_filename.
9673
d8086cbb
RS
96742002-01-22 Roger Sayle <roger@eyesopen.com>
9675 Richard Henderson <rth@redhat.com>
9676
9677 PR opt/3640
9678 * fold-const.c (fold): Optimize unsigned comparisons against
9679 UINT_MAX (and similar unsigned constants).
9680
e8d52ba0
JJ
96812002-01-22 Janis Johnson <janis187@us.ibm.com>
9682
d8086cbb 9683 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 9684 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 9685 against the predicate.
11303d15 9686
e8d52ba0
JJ
9687 PR target/5379
9688 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
9689 for the address operand.
9690
cc7b420e
RH
96912002-01-22 Richard Henderson <rth@redhat.com>
9692
9693 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
9694
816e265a
CR
96952002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
9696
9697 PR other/5450
cc7b420e
RH
9698 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
9699 preprocessor flags.
816e265a 9700
7c884404
JT
97012002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
9702
9703 * config.gcc (x86_64-*-netbsd*): New target.
9704 * config/i386/netbsd64.h: New file.
9705
2b672c08
AH
97062002-01-22 Aldy Hernandez <aldyh@redhat.com>
9707
d8086cbb 9708 * regrename.c (kill_value): Fix typo.
2b672c08
AH
9709
97102002-01-22 Aldy Hernandez <aldyh@redhat.com>
9711
d8086cbb 9712 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 9713
d8086cbb 9714 * config/rs6000/rs6000.h: Same.
2b672c08 9715
d8086cbb
RS
9716 * function.c (instantiate_virtual_regs): Remove
9717 STARTING_FRAME_PHASE.
9718 (assign_stack_local_1): Same.
9719 Calculate frame phase.
2b672c08 9720
4b02997f
NC
97212002-01-22 Nick Clifton <nickc@redhat.com>
9722
9723 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
9724 variable declaration to outer scope in order to simplify
9725 future extensions.
9726 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
9727 arm_hard_regno_mode_ok.
9728 * config/arm/arm-protos.h: Add a prototype for
9729 arm_hard_regno_mode_ok.
9730 * config/arm/arm.c (soft_df_operand): Remove now redundant
9731 check for DImode values using IP_REGNUM.
9732 (nonimmediate_soft_df_operand): Remove now redundant check for
9733 DImode values using IP_REGNUM.
9734 (arm_hard_regno_mode_ok): New function. New check: make sure
9735 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
9736
9737 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
9738 note with a USE.
9739 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
9740
8a827ab2
JM
97412002-01-22 Jason Merrill <jason@redhat.com>
9742
9743 * c-semantics.c (genrtl_compound_stmt): Only check nesting
9744 consistency if this COMPOUND_STMT is scoped.
9745
cf403648
KH
97462002-01-22 Kazu Hirata <kazu@hxi.com>
9747
9748 * predict.c: Fix formatting.
9749 * print-tree.c: Likewise.
9750 * protoize.c: Likewise.
9751 * real.h: Likewise.
9752 * rtl.h: Likewise.
9753 * sbitmap.h: Likewise.
9754 * scan.c: Likewise.
9755 * sched-deps.c: Likewise.
9756 * sched-vis.c: Likewise.
9757 * sdbout.c: Likewise.
9758 * sibcall.c: Likewise.
9759 * ssa.c: Likewise.
9760 * ssa-ccp.c: Likewise.
9761 * ssa-dce.c: Likewise.
9762 * stmt.c: Likewise.
9763 * stor-layout.c: Likewise.
9764 * system.h: Likewise.
9765
aea9695c
RK
9766Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9767
a8765ae7
RK
9768 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
9769 if fits in bounds of base type.
9770
aea9695c
RK
9771 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
9772 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
9773 (add_bound_info, default): If can't find a context, make a
9774 SAVE_EXPR.
9775 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
9776
58bf601b
HPN
97772002-01-22 Hans-Peter Nilsson <hp@axis.com>
9778
9779 * c-typeck.c (parser_build_binary_op): If result from
9780 build_binary_op is ERROR_MARK just return error_mark_node without
9781 further processing.
9782
f982f805
JT
97832002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
9784
9785 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
9786 Split a.out-specific bits into...
9787 * config/netbsd-aout.h: ...this.
9788 * config/netbsd-elf.h: New file.
9789 * config/alpha/netbsd-elf.h: Remove.
9790 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
9791 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 9792 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
9793 (ENDFILE_SPEC): Likewise.
9794 (LINK_SPEC): Likewise.
9795 (CPP_SPEC): Likewise.
9796 (ASM_SPEC): Likewise.
9797 (LIB_SPEC): Likewise.
9798 (SWITCH_TAKES_ARG): Likewise.
9799 (TARGET_MEM_FUNCTIONS): Likewise.
9800 (CPP_PREDEFINES): Redefine.
9801 (ASM_FINAL_SPEC): Remove redefinition.
9802 (ASM_COMMENT_START): Redefine.
9803 (FUNCTION_PROFILER): Define.
9804 (TARGET_VERSION): Redefine.
9805 Comment and formatting cleanup.
9806 * config/i386/netbsd.h: Include <netbsd-aout.h>.
9807 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
9808 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
9809 big- or little-endian.
9810 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
9811 * config.gcc (*-*-netbsd*): Add definitions common to all
9812 NetBSD configs.
9813 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
9814 gnu_ld definitions. Add netbsd-elf.h to and remove
9815 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
9816 tmake_file, and don't lose previous tmake_file contents.
9817 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
9818 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
9819 gnu_ld definitions. Add netbsd-elf.h to tm_file.
9820 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
9821 (mipsel-*-netbsd*): Rename this to...
9822 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
9823 mips/little.h to tm_file for mips*el-*.
9824 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
9825 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
9826 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
9827
2e396476
JDA
98282002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
9829
9830 * pa-protos.h (reg_before_reload_operand): New function prototype.
9831 * pa.c (reg_before_reload_operand): New function implementation.
9832 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
9833 contraints to "*m".
9834
3b5708e7
FS
98352002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9836
9837 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
9838
85e79f96
JDA
98392002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
9840
9841 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
9842 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
9843 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
9844 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
9845 (ENDFILE_SPEC): Undefine.
9846 (STARTFILE_SPEC): Redefine for PA.
9847
38abadee
FS
98482002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9849
9850 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
9851
94f1d97c
DJ
98522002-01-21 Daniel Jacobowitz <drow@mvista.com>
9853
9854 * config.gcc: Add entries to supported PowerPC --with-cpu
9855 types.
9856
0333394e
JJ
98572002-01-21 Jakub Jelinek <jakub@redhat.com>
9858
9859 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
9860 true for 64-bit mode only SSE registers in 32-bit mode.
9861
e9d1b155
KH
98622002-01-21 Kazu Hirata <kazu@hxi.com>
9863
9864 * unwind-dw2.c: Fix formatting.
9865 * unwind-dw2-fde.c: Likewise.
9866 * unwind-dw2-fde.h: Likewise.
9867 * unwind-pe.h: Likewise.
9868 * varasm.c: Likewise.
9869 * varray.h: Likewise.
9870
07338cf8
HPN
98712002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
9872
9873 Remove workaround for register stack overwrite bug in mmix.
9874 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
9875 support for TARGET_REG_STACK_FILL_BUG.
9876 * config/mmix/mmix.h: Remove member has_call_without_parameters.
9877 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
9878 Delete.
9879 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
9880 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
9881 -mno-reg-stack-fill-bug-workaround.
9882 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
9883 machine member has_call_without_parameters.
9884 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
9885 -mreg-stack-fill-bug-workaround and
9886 -mno-reg-stack-fill-bug-workaround.
9887 (MMIX Options): Ditto.
9888
7192cbf1
KH
98892002-01-21 Kazu Hirata <kazu@hxi.com>
9890
9891 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
9892 as appropriate.
9893 Remove redundant code.
9894
d1552d7b
JM
98952002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
9896
9897 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
9898 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9899 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
9900 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
9901 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
9902 out target macro definitions and non-target-specific comments
9903 mostly taken from old versions of the manual.
9904
ed168e45
KH
99052002-01-20 Kazu Hirata <kazu@hxi.com>
9906
9907 * config/h8300/h8300.h: Fix comment formatting.
9908 * config/ia64/aix.h: Likewise.
9909 * config/ia64/ia64-protos.h: Likewise.
9910 * config/ia64/ia64.c: Likewise.
9911 * config/ia64/ia64.h: Likewise.
9912 * config/ia64/ia64intrin.h: Likewise.
9913 * config/ia64/linux.h: Likewise.
9914 * config/ia64/unwind-aix.c: Likewise.
9915 * config/ia64/unwind-ia64.c: Likewise.
9916
005e3e05
KH
99172002-01-20 Kazu Hirata <kazu@hxi.com>
9918
9919 * config/h8300/h8300.c: Revise comments about shift code.
9920
64bead4c
KH
99212002-01-20 Kazu Hirata <kazu@hxi.com>
9922
9923 * config/h8300/h8300.c (function_arg): Update a comment.
9924
ed863595
KH
99252002-01-20 Kazu Hirata <kazu@hxi.com>
9926
9927 * config/h8300/h8300.md: Update the comments at the beginning
9928 of the file.
9929
5904dc87
KH
99302002-01-20 Kazu Hirata <kazu@hxi.com>
9931
9932 * config/i370/i370.c: Fix comment formatting.
9933 * config/i370/i370.h: Likewise.
9934 * config/i370/i370.md: Likewise.
9935 * config/i370/linux.h: Likewise.
9936
9702143f
RK
9937Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9938
cbafacd1
RK
9939 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
9940
9702143f
RK
9941 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
9942 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
9943 in incomplete case.
9944
6b6996b8
GS
99452002-01-20 Graham Stott <grahams@redhat.com>
9946
9947 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
9948
eab854f6
JDA
99492002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
9950
9951 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
9952
5b029315
TR
99532002-01-19 Tom Rix <trix@redhat.com>
9954
9955 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
9956
1d690052
AH
99572002-01-18 Aldy Hernandez <aldyh@redhat.com>
9958
d8086cbb 9959 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 9960
d8086cbb
RS
9961 * function.c (assign_stack_local_1): Adjust x_frame_offset with
9962 STARTING_FRAME_PHASE.
9963 (STARTING_FRAME_PHASE): New.
9964 (instantiate_virtual_regs): Check saneness of
9965 STARTING_FRAME_PHASE.
1d690052 9966
d8086cbb 9967 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 9968
4dd8c093
AO
99692002-01-19 Alexandre Oliva <aoliva@redhat.com>
9970
9971 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
9972
6f2a28d7
CR
99732002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
9974
9975 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
9976 be used for bootstrapping GCC 3.0.
9977
8763a465
KH
99782002-01-18 Kazu Hirata <kazu@hxi.com>
9979
9980 * config/h8300/h8300.md: Fix an insn length.
9981
3ef42a0c
KH
99822002-01-18 Kazu Hirata <kazu@hxi.com>
9983
9984 * bitmap.h: Fix comment formatting.
9985 * combine.c: Likewise.
9986 * cppfiles.c: Likewise.
9987 * c-pragma.h: Likewise.
9988 * c-typeck.c: Likewise.
9989 * df.c: Likewise.
9990 * dwarf2out.c: Likewise.
9991 * function.c: Likewise.
9992 * gcc.c: Likewise.
9993 * genattrtab.c: Likewise.
9994 * gthr-win32.h: Likewise.
9995 * haifa-sched.c: Likewise.
9996 * predict.c: Likewise.
9997 * rtlanal.c: Likewise.
9998 * rtl.h: Likewise.
9999 * unwind-dw2-fde.h: Likewise.
10000 * unwind-pe.h: Likewise.
10001 * vmsdbgout.c: Likewise.
10002
dd4dc3cd
RK
10003Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10004
10005 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
10006 if type_required and passed decl.
10007
5fb4cf24
AH
100082002-01-17 Aldy Hernandez <aldyh@redhat.com>
10009
d8086cbb
RS
10010 * config.gcc (cpu_type): Include altivec.h in powerpc
10011 extra_headers.
10012 Same for darwin.
5fb4cf24 10013
d8086cbb 10014 * config/rs6000/altivec.h: New.
5fb4cf24 10015
2705baf5
DE
100162002-01-17 David Edelsohn <edelsohn@gnu.org>
10017
10018 * doc/install.texi (*-ibm-aix*): Update assembler and exception
10019 handling information.
10020 * doc/trouble.texi (Interoperation): Add libstdc++ information
10021 for AIX.
10022 (Misunderstandings): Add template instantiation and static template
10023 member information for AIX.
10024
dbd680e1
JM
100252002-01-17 Jason Merrill <jason@redhat.com>
10026
821adc5e
JM
10027 * dbxout.c (dbxout_type): Support const and volatile.
10028
dbd680e1
JM
10029 * except.c (add_partial_entry): Remove backwards compatibility code.
10030 (end_protect_partials): Likewise.
10031
d0e82870
JJ
100322002-01-17 Jakub Jelinek <jakub@redhat.com>
10033
10034 * config/ia64/ia64.md (prologue_use): New.
10035 * config/ia64/ia64.c (ia64_expand_prologue): Use
10036 gen_prologue_use instead of gen_rtx_USE.
10037 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
10038 as CODE_FOR_pred_rel_mutex.
10039 (ia64_sched_reorder2): Likewise.
10040
f9f45c65
EC
100412002-01-16 Eric Christopher <echristo@redhat.com>
10042
10043 * config/mips/r3900.h: Reformat.
10044 (SUBTARGET_CPP_SIZE_SPEC): Remove.
10045 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
10046 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
10047 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
10048 * config/mips/t-elf: Remove mips3 multilib.
10049
c66c8b0e
L
100502002-01-16 H.J. Lu <hjl@gnu.org>
10051
10052 * config/mips/linux.h: Include "mips/abi64.h".
10053
5f083b72
L
100542002-01-16 H.J. Lu <hjl@gnu.org>
10055
10056 * config/mips/t-linux: New.
10057
10058 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
10059
10060 * config/mips/linux.h: Don't include "gofast.h".
10061 (INIT_SUBTARGET_OPTABS): Removed.
10062
af3c90a6
KH
100632002-01-16 Kazu Hirata <kazu@hxi.com>
10064
10065 * config/h8300/h8300-protos.h: Replace emit_a_shift with
10066 output_a_shift.
10067 * config/h8300/h8300.c: Likewise.
10068 * config/h8300/h8300.md: Likewise.
10069
a1bf0a16
KH
100702002-01-16 Kazu Hirata <kazu@hxi.com>
10071
10072 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
10073 spaces after an opcode name.
10074 (pushqi1_h8300hs): Likewise.
10075 (pushhi1_h8300hs): Likewise.
10076
88ab0d1c
KH
100772002-01-16 Kazu Hirata <kazu@hxi.com>
10078
10079 * doc/extend.texi: Replace "option" with "attribute"
10080 appropriately.
10081
51c561e3
JJ
100822002-01-16 Jakub Jelinek <jakub@redhat.com>
10083
10084 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
10085 (and:DI () (const_int -8)).
10086 (split_small_symbolic_mem_operand): Split
10087 (mem (and:DI () (const_int -8)).
10088
b8c1a6b8
JJ
100892002-01-16 Jakub Jelinek <jakub@redhat.com>
10090
10091 PR target/5309:
d8086cbb 10092 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
10093 same way as TYPE_IMUL.
10094 (ultrasparc_sched_reorder): Likewise.
10095 * config/sparc/sparc.md (type): Add comment to update
10096 ultrasparc_sched_reorder when making changes.
10097
1e4e4df2
KH
100982002-01-16 Kazu Hirata <kazu@hxi.com>
10099
10100 * doc/invoke.texi: Change the dump file name of block
10101 reordering pass from 28.bbro to 29.bbro.
10102 Mention -dk option.
10103
14d920c0
JH
10104Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
10105
10106 * i386.md (minsf splitter): Fix pasto.
10107
2e99323f
NC
101082002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
10109
10110 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
10111 to frame pointer initialisation instruction.
10112 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
10113 initialisation instruction.
ab8081c1
NC
10114 (soft_df_operand): Do not accept the IP register.
10115 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 10116
c4031a04
JJ
101172002-01-16 Jakub Jelinek <jakub@redhat.com>
10118
10119 PR target/5357:
10120 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
10121 MASK_V8 being both set.
10122
44b8152b
UW
101232002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
10124
10125 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
10126 insn for GOT register; add REG_MAYBE_DEAD notes instead.
10127 config/s390/s390.md (call, call_value): Add GOT register to
10128 CALL_INSN_FUNCTION_USAGE where needed.
10129 (call_exp, call_value_exp): New.
10130
1d6e90ac
NC
101312002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
10132
10133 * config/arm/arm.c: General formatting tidy up.
10134
101352002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
10136
10137 * calls.c (try_to_integrate): Use "(size_t)" intermediate
10138 cast and when casting an integer literal to "rtx" pointer.
10139 (expand_call): Likewise.
10140 * flow.c (try_pre_increment): Likewise.
10141 (find_use_as_address): Likewise.
10142 * integrate.c (expand_iline_function): Likewise.
10143 * regmove.c (try_auto_increment): Likewise.
10144
1d6e90ac 101452002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
10146
10147 * sched-rgn.c (passed): Use sbitmap_free.
10148 (header): Likewise.
10149 (inner): Likewise.
10150 (in_queue): Likewise.
10151 (in_stack): Likewise.
10152
31fce3c4
EC
101532002-01-15 Eric Christopher <echristo@redhat.com>
10154
10155 * flow.c (propagate_one_insn): Change to use fatal_insn.
10156
c99d986a
KH
101572002-01-15 Kazu Hirata <kazu@hxi.com>
10158
10159 * expmed.c (extract_fixed_bit_field): Remove unused code.
10160 * system.h: Poison SLOW_ZERO_EXTEND.
10161 * doc/tm.texi: Remove.
10162 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
10163 * config/arm/arm.h: Likewise.
10164 * config/avr/avr.h: Likewise.
10165 * config/clipper/clipper.h: Likewise.
10166 * config/convex/convex.h: Likewise.
10167 * config/d30v/d30v.h: Likewise.
10168 * config/dsp16xx/dsp16xx.h: Likewise.
10169 * config/elxsi/elxsi.h: Likewise.
10170 * config/fr30/fr30.h: Likewise.
10171 * config/h8300/h8300.h: Likewise.
10172 * config/i370/i370.h: Likewise.
10173 * config/i386/i386.h: Likewise.
10174 * config/m68k/m68k.h: Likewise.
10175 * config/mips/mips.h: Likewise.
10176 * config/ns32k/ns32k.h: Likewise.
10177 * config/pdp11/pdp11.h: Likewise.
10178 * config/pj/pj.h: Likewise.
10179 * config/s390/s390.h: Likewise.
10180 * config/sh/sh.h: Likewise.
10181 * config/stormy16/stormy16.h: Likewise.
10182 * config/v850/v850.h: Likewise.
10183 * config/vax/vax.h: Likewise.
10184 * config/we32k/we32k.h: Likewise.
10185
acfab996
AH
101862002-01-15 Aldy Hernandez <aldyh@redhat.com>
10187
d8086cbb
RS
10188 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
10189 (altivec_lvsl): Change constraint to b.
10190 (altivec_lvsr): Same.
10191 (altivec_lvebx): Same.
10192 (altivec_lvehx): Same.
10193 (altivec_lvewx): Same.
10194 (altivec_lvxl): Same.
10195 (altivec_lvx): Same.
10196 (altivec_stvx): Add parallel.
10197 (altivec_stvxl): Same.
10198 (altivec_stvehx): Same.
10199 (altivec_stvebx): Same.
10200 (altivec_stvebx): Same.
acfab996 10201
5e505bc9
AH
102022002-01-15 Aldy Hernandez <aldyh@redhat.com>
10203
d8086cbb 10204 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 10205
d8086cbb 10206 * config/rs6000/altivec.h: Delete.
5e505bc9 10207
d8086cbb 10208 * config/rs6000/altivec-defs.h: Add.
5e505bc9 10209
5c41fdfb
JDA
102102002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
10211
10212 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
10213 and UMOD modes.
10214
10215 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
10216 less than or equal to eight bytes.
10217
10218 * vax.md (andsi3): Remove constraints and change SET destination
10219 operand type to nonimmediate_operand.
10220 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
10221 when it is a CONST_INT.
10222
de097a2d
JM
102232002-01-15 Jason Merrill <jason@redhat.com>
10224
10225 * c-common.def (FILE_STMT): New code.
10226 * c-common.c (statement_code_p): It's a statement.
10227 * c-common.h (stmt_tree_s): Add x_last_filename.
10228 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
10229 (last_expr_filename): New macro.
10230 * c-semantics.c (begin_stmt_tree): Initialize it.
10231 (add_stmt): If the filename changed, also insert a
10232 FILE_STMT.
10233 (expand_stmt): Handle seeing one.
10234
4a913dd6
EC
102352002-01-15 Eric Christopher <echristo@redhat.com>
10236
10237 * flow.c (propagate_one_insn): Add error message and print out
10238 insn for debugging.
10239
006946e4
JM
102402002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
10241
10242 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
10243 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
10244 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
10245 TRAMPOLINE_ALIGNMENT.
10246 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
10247 to be in bits.
10248 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
10249 PCC_BITFIELD_TYPE_MATTERS.
10250 * config/interix.h (STDC_VALUE): Remove. Use
10251 STDC_0_IN_SYSTEM_HEADERS.
10252 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
10253 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
10254 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
10255
751a1458
CR
102562002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
10257
10258 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
10259 not work on this platform currently.
10260
57771fe8
JM
102612002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
10262
10263 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
10264 readonly_warning in _().
10265
0e83ceb1 102662002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 10267
0e83ceb1 10268 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 10269
8e2e89f7
KH
102702002-01-15 Kazu Hirata <kazu@hxi.com>
10271
0e83ceb1
DR
10272 * config/h8300/h8300.c (print_operand): Remove support for
10273 unused operand characters.
10274
8e2e89f7
KH
10275 * read-rtl.c: Fix formatting.
10276 * real.c: Likewise.
10277 * recog.c: Likewise.
10278 * regclass.c: Likewise.
10279 * regmove.c: Likewise.
10280 * reg-stack.c: Likewise.
10281 * reload1.c: Likewise.
10282 * rtlanal.c: Likewise.
10283
b531087a
KH
102842002-01-15 Kazu Hirata <kazu@hxi.com>
10285
10286 * config/i386/i386.c: Fix formatting.
10287
7c94ce7f
JJ
102882002-01-15 Jakub Jelinek <jakub@redhat.com>
10289
10290 * c-typeck.c (process_init_element): Don't save_expr
10291 COMPOUND_LITERAL_EXPR if just its initializer will be used.
10292
6041bf2f
DE
102932002-01-15 David Edelsohn <edelsohn@gnu.org>
10294
10295 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
10296 emit optional traceback table if optimize_size or TARGET_ELF.
10297 * config/rs6000/rs6000.md (prefetch): New.
10298
8559c8c0
AJ
102992002-01-15 Andreas Jaeger <aj@suse.de>
10300
10301 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
10302
70f122f2
KH
103032002-01-15 Kazu Hirata <kazu@hxi.com>
10304
10305 * mips-tfile.c: Fix formatting.
10306
6a7b4ca6
JH
10307Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
10308
10309 * unroll.c (final_reg_note_copy): Fix previous commit.
10310
e7afe229
KH
103112002-01-14 Kazu Hirata <kazu@hxi.com>
10312
10313 * config/h8300/h8300-protos.h: Remove the prototype for
10314 eq_operator.
10315 * config/h8300/h8300.c (eq_operator): Remove.
10316
7d378549
RH
103172002-01-14 Richard Henderson <rth@redhat.com>
10318
10319 * config/i386/i386.md (prefetch): Tidy.
10320 (prefetch_3dnow): Fix locality operand.
10321
ab093b81
RH
103222002-01-14 Richard Henderson <rth@redhat.com>
10323
10324 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
10325 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
10326
d300f51f
HPN
103272002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
10328
10329 * reload1.c (reload_combine): Pass reg_sum replacement through
10330 copy_rtx in loop performing multiple changes.
10331
655dd289
JJ
103322002-01-14 Jakub Jelinek <jakub@redhat.com>
10333
10334 * except.c (remove_unreachable_regions): New.
10335 (free_eh_status): Clear exception_handler_labels.
10336 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
10337 (find_exception_handler_labels): Don't add the same label more than
10338 once.
10339 (remove_exception_handler_label): Don't die if
10340 find_exception_handler_labels hasn't been called for the current
10341 function yet.
10342
1fba46a7
JH
10343Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
10344
10345 * toplev.c (rest_of_compilation): Rebuild jump labels after
10346 gcse.
10347
0975678f
JM
103482002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
10349
10350 * doc/extend.texi: Move documentation of X86 built-in functions
10351 here.
10352 * doc/invoke.texi: From here.
10353 * doc/sourcebuild.texi: Document location of documentation for
10354 machine built-in functions.
10355
969815c7
CF
103562002-01-13 Christopher Faylor <cgf@redhat.com>
10357
10358 * cppfiles.c (TEST_THRESHOLD): New macro.
10359 (SHOULD_MMAP): Ditto.
10360 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
10361 be used.
10362
494c950b
JH
10363Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
10364
10365 * unroll.c (final_reg_note_copy): Properly handle
10366 REG_LABEL
10367 (unroll_loops): Fix LOOP_CONDITION heuristics.
10368
69a0611f
GK
103692002-01-14 Geoffrey Keating <geoffk@redhat.com>
10370
10371 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
10372 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
10373
b90e45ae
JH
10374Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
10375
10376 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
10377 threaded loop.
10378
8377288b
TR
103792002-01-14 Tom Rix <trix@redhat.com>
10380
10381 * config/rs6000/rs6000.md: Fix typo with sradi.
10382
9f37ccb1
UW
103832002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
10384
10385 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
10386 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
10387 (clrstrdi, clrstrsi): Adapt callers.
10388
10389 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
10390
8559c8c0 10391 (movti splitter): Never use register 0 as base register.
9f37ccb1 10392
6c2d03d0
HP
103932002-01-14 Hartmut Penner <hpenner@de.ibm.com>
10394
8559c8c0
AJ
10395 * combine.c (simplify_shift_const): Always generate new rtx
10396 for shift expression instead of reusing given expression.
6c2d03d0 10397
d3e98208
RK
10398Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10399
10400 * config/alpha/alpha.c (alpha_expand_mov): Don't call
10401 alpha_legitimize_address unless mode is Pmode.
10402
9f339dde
GK
104032002-01-13 Geoffrey Keating <geoffk@redhat.com>
10404
10405 * doc/md.texi (Modifiers): Document the '*' constraint for the
10406 user.
10407
10408 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
10409 * doc/extend.texi (Function Attributes): 'interrupt' is valid
10410 for xstormy16 too.
10411
02a10130
RH
104122002-01-13 Richard Henderson <rth@redhat.com>
10413
10414 * reload.c (find_reloads): Use a hard reg destination as reload reg
10415 for an input reload of the source.
10416
61d47787
GP
104172002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10418
10419 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
10420 more generic.
10421
f0df8029
DR
10422Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
10423
10424 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
10425 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
10426
d2a37256
DR
10427 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
10428
a9e8a5ee
RK
10429Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10430
10431 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
10432
bc06712d
TR
104332002-01-12 Tom Rix <trix@redhat.com>
10434
8559c8c0 10435 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
10436 TARGET_POWERPC64.
10437
7cbe9bb7
RH
104382002-01-12 Richard Henderson <rth@redhat.com>
10439
38b29e64
RH
10440 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
10441
58605ba0
RH
10442 * doc/invoke.texi: Update Alpha options.
10443
7cbe9bb7
RH
10444 * doc/invoke.texi: Update i386 built-in function lists.
10445
9d560860
JH
10446Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
10447
10448 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
10449 referencing outside.
10450
bb93b973
RK
10451Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10452
10453 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
10454 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
10455 offsets, and change line folding.
10456 * optabs.c (expand_binop): Remove warnings.
10457 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 10458
f9f6b7df
GS
104592002-01-12 Graham Stott <grahams@redhat.com>
10460
10461 * attribs.c (handle_deprecated_attribute): constify WHAT.
10462 * diagnostic.c (warn_deprecated_use): Add braces, fixes
10463 dangling else warning and constify WHAT.
10464 * except.h (struct function, struct inline_remap): Move
10465 struct tag forward defs before all prototypes.
10466 (duplicate_eh_regions): Whitespace.
10467
4a692617
NC
104682002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
10469
10470 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
10471 MODE_BASE_REG_CLASS.
10472 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
10473
e37af218
RH
104742002-01-12 Richard Henderson <rth@redhat.com>
10475
10476 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
10477 (ix86_expand_vector_move): New.
10478 (bdesc_2arg): Remove andps, andnps, orps, xorps.
10479 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
10480 Remove old prefetch builtins. Special case the logicals removed above.
10481 (ix86_expand_builtin): Likewise.
10482 (safe_vector_operand): Use V4SFmode, not TImode.
10483 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
10484 (ix86_expand_timode_binop_builtin): New.
10485 * config/i386/i386-protos.h: Update.
10486 * config/i386/i386.h (enum ix86_builtins): Update.
10487 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
10488 Use ix86_expand_vector_move in vector move expanders.
10489 (movti_internal, movti_rex64): Add xorps alternative.
10490 (sse_clrv4sf): Rename and adjust from sse_clrti.
10491 (prefetch): Don't work so hard.
10492 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
10493 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
10494 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
10495
6f1a6c5b
RH
104962002-01-11 Richard Henderson <rth@redhat.com>
10497
10498 * config/i386/mmintrin.h: New file.
10499 * config/i386/xmmintrin.h: New file.
10500 * config.gcc (i?86-*-*): Add extra_headers.
10501 * simplify-rtx.c (simplify_unary_operation): Handle saturating
10502 truncation codes.
10503 (simplify_binary_operation): Handle saturating arithmetic codes.
10504 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
10505 not the lowpart subreg.
10506 (ix86_expand_builtin): Return a TImode dummy register instead of 0
10507 on error.
10508 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
10509
cdb574d3
MH
105102002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10511
10512 * conflict.c (conflict_graph_compute): Free regsets when finished.
10513 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 10514
cf11ac55
HB
105152002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10516
10517 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
10518 every where we allocate a register.
10519
76ac938b
MH
105202002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10521
10522 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
10523 * lcm.c (compute_earliest, compute_farthest): Likewise.
10524
a84b4898
JJ
105252002-01-11 Janis Johnson <janis187@us.ibm.com>
10526
10527 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
10528
aaef1c12
JJ
105292002-01-11 Janis Johnson <janis187@us.ibm.com>
10530
10531 * doc/rtl.texi (Insns): Fix 2 typos.
10532
5d22c1a5
JM
105332002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
10534
10535 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
10536 options. Use @table @gcctabopt for MMIX options. Add index
10537 entries for MMIX options. Start new paragraph with first
10538 heading of the machine-dependent options.
10539
3e92902c
CR
105402002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
10541
10542 PR other/5299
10543 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
10544 * combine.c (force_to_mode): Same.
10545 * reload1.c (clear_reload_reg_in_use): Same.
10546
96ae8197
NC
105472002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
10548
10549 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
10550 and 'subtargets'.
10551
9b780582
AJ
105522002-01-11 Andreas Jaeger <aj@suse.de>,
10553 Brad Lucier <lucier@math.purdue.edu>
10554
10555 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
10556 mcpu.
10557
12300dad
DR
10558Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
10559
10560 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
10561 Protect with IN_LIBGCC.
10562 (LINK_EH_SPEC): Add required trailing space.
10563
27511a9a
NP
10564Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
10565
9b780582 10566 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
10567 under the filename which contains them.
10568 (check_identifier, finish_decl_top_level,
10569 lookup_name_current_level_global, shadow_record_fields): Remove.
10570
4daeab16
AJ
105712002-01-11 Andreas Jaeger <aj@suse.de>
10572
10573 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
10574 march.
10575
40571d67
RH
105762002-01-10 Richard Henderson <rth@redhat.com>
10577
10578 * config/alpha/alpha.c (print_operand): Add 'J'.
10579 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
10580 new operand with the sequence number for the lituse. When splitting
10581 the insns, use gen_movdi_er_high_g and generate a sequence number.
10582 (gen_movdi_er_high_g): Print the sequence number if non-zero.
10583
6525c0e7
AH
105842002-01-10 Aldy Hernandez <aldyh@redhat.com>
10585
d8086cbb
RS
10586 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
10587 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
10588 stvxl.
10589 (altivec_expand_builtin): Same.
10590 (altivec_expand_stv_builtin): New.
10591
10592 * config/rs6000/rs6000.h (rs6000_builtins): Same.
10593
10594 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
10595 ("altivec_lvehx"): New.
10596 ("altivec_lvewx"): New.
10597 ("altivec_lvxl"): New.
10598 ("altivec_lvx"): New.
10599 ("altivec_stvx"): New.
10600 ("altivec_stvebx"): New.
10601 ("altivec_stvehx"): New.
10602 ("altivec_stvewx"): New.
10603 ("altivec_stvxl"): New.
6525c0e7 10604
cda94cbb
RH
106052002-01-10 Richard Henderson <rth@redhat.com>
10606
10607 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
10608 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
10609 care not to delete instructions twice.
10610
df2c9a44
ZW
106112002-01-10 Zack Weinberg <zack@codesourcery.com>
10612
10613 * toplev.c: Don't declare environ (it's not used anywhere).
10614 * configure.in: Don't check for declaration of environ.
10615 * config/i386/xm-mingw32.h: Don't #define environ.
10616 * config.in, configure: Regenerate.
10617
5dd8a9b1
ZW
106182002-01-10 Zack Weinberg <zack@codesourcery.com>
10619
10620 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
10621 * configure: Regenerate.
10622
10623 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
10624 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
10625 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
10626 alpha/xm-vms.h.
10627 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
10628 LIMITS_H_TEST here, not in m68k/x-next.
10629 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
10630 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
10631
10632 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
10633 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
10634 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
10635
10636 * config/i386/x-djgpp: Renamed i386/t-djgpp.
10637 * config/m88k/x-dolph: Renamed m88k/t-dolph.
10638 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
10639 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
10640 replacement of quadlib.asm with quadlib.c.
10641
10642 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
10643 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
10644 config/rs6000/xm-beos.h: Delete file.
10645
10646 * config.gcc: Update to match above changes.
10647
d10dd44c
KH
106482002-01-10 Kazu Hirata <kazu@hxi.com>
10649
10650 * config/h8300/h8300.h: Fix comment typos.
10651 * config/h8300/h8300.md: Likewise.
10652 * config/h8300/lib1funcs.asm: Likewise.
10653
04894c5a
DJ
106542002-01-10 Dale Johannesen <dalej@apple.com>
10655
10656 PR optimization/5269
10657 * unroll.c (precondition_loop_p): Make *increment be the correct
10658 sign when n_iterations known, to avoid confusing caller.
10659
adc9fe67
KH
106602002-01-10 Kazu Hirata <kazu@hxi.com>
10661
10662 * doc/extend.texi (deprecated): Fix a typo.
10663
b446e5a2
JH
10664Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
10665
10666 * basic-block.h (update_br_prob_note): Declare.
10667 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
10668 (try_forward_edges): Care negative frequencies and update note.
10669 (outgoing_edges_match): Tweek conditional merging heuristics.
10670 (try_crossjump_to_edge): use update_br_prob_note.
10671 * cfglayout.c (fixup_reorder_chain): Likewise.
10672 * cfrtl.c (update_br_prob_note): New.
10673 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
10674
10675 * i386.c (ix86_decompose_address): Return -1 if address contains
10676 shift.
10677 (legitimate_address_p): Require ix86_decompose_address to return 1.
10678
10679 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
10680 (cprop_insn): Likewise.
10681
a01da83b
KH
106822002-01-10 Kazu Hirata <kazu@hxi.com>
10683
10684 * toplev.c: Fix formatting.
10685 * tree.c: Likewise.
10686 * tree-dump.c: Likewise.
10687 * unroll.c: Likewise.
10688 * unwind-dw2.c: Likewise.
10689 * unwind-dw2-fde.c: Likewise.
10690 * unwind-dw2-fde-glibc.c: Likewise.
10691 * unwind-sjlj.c: Likewise.
10692
9f85bca7
JM
106932002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
10694
10695 * doc/invoke.texi: Document PDP-11 options.
10696
f48f56b1
KH
106972002-01-10 Kazu Hirata <kazu@hxi.com>
10698
10699 * config/h8300/h8300.h: Fix formatting.
10700
ead39bdf 107012002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
10702
10703 Add __attribute__ ((deprecated)).
10704 * extend.texi: Document __attribute__ ((deprecated)).
10705 * invoke.texi: Document -Wno-deprecated-declarations.
10706 * testsuite/g++.dg/other/deprecated.C: New C++ test.
10707 * testsuite/gcc.dg/deprecated.c: New C test.
10708 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
10709 (c_common_attribute_table): Add "deprecated" entry.
10710 (handle_deprecated_attribute): New function.
10711 * c-decl.c (deprecated_states): New enum.
10712 deprecated_state: State of "deprecated" handling.
10713 (start_decl): Set deprecated_state based on attributes.
10714 (grokdeclarator): Test for deprecated uses, propagate attribute.
10715 * c-typeck.c (build_component_ref): Test for deprecated fields.
10716 (build_external_ref): Test for deprecated primaries.
10717 * diagnostic.c (warn_deprecated_use) New function to issue
10718 warnings about __attribute__ ((depricated)) references.
10719 * flags.h (warn_deprecated_decl): Extern declared for
10720 -W[no-]deprecated-declarations option.
10721 * print-tree.c (print_node): Show deprecated flag status.
10722 * toplev.c (warn_deprecated_decl): Defined.
10723 (W_options): Added "deprecated-declaration".
10724 * toplev.h (warn_deprecated_use): Extern declared.
10725 * tree.h (struct tree_common): Define deprecated_flag.
10726 (TREE_DEPRECATED): New macro to access flag.
10727 * cp/call.c (build_call): Test for deprecated calls.
10728 * cp/class.c (add_implicitly_declared_members): Set global
10729 flag to tell grokdeclarator to not issue deprecated warnings.
10730 * cp/cp-tree.h: Add extern for adding_implicit_members.
10731 * cp/decl.c (deprecated_states): New enum.
10732 (start_decl): Set deprecated_state based on attributes.
10733 (grokdeclarator): Test for deprecated uses, propagate attribute.
10734 * cp/lex.c (do_identifier): Test for deprecated primaries.
10735 * cp/typeck.c (build_component_ref): Test for deprecated fields.
10736
ead39bdf 107372002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
10738
10739 Fix to assign attributes to inline member functions.
10740 * cp/decl.c (start_method): Handle attrlist.
10741
47073a38
KH
107422002-01-10 Kazu Hirata <kazu@hxi.com>
10743
10744 * combine.c (expand_field_assignment): Use subreg_lsb().
10745
d288e53d
DE
107462002-01-10 David Edelsohn <edelsohn@gnu.org>
10747
10748 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
10749 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
10750 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
10751 Recurse for any operand of AND as long as constant is non-zero.
10752
08a02ffa
KH
107532002-01-10 Kazu Hirata <kazu@hxi.com>
10754
10755 * config/h8300/h8300.md: Remove constraints from expanders.
10756
c203e7fe
KH
107572002-01-10 Kazu Hirata <kazu@hxi.com>
10758
10759 * varasm.c: Fix formatting.
10760 * varray.c: Likewise.
10761 * vmsdbgout.c: Likewise.
10762 * xcoffout.c: Likewise.
10763
bcb3bc6d
JH
10764Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
10765
10766 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 10767 update edge probabilities to match.
bcb3bc6d 10768
0a553c7e
JM
107692002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
10770
10771 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
10772 dependencies.
10773 * doc/languages.texi, doc/sourcebuild.texi: New files.
10774 * doc/configfiles.texi: Make a subsubsection. Update.
10775 * doc/configterms.texi: Add @node. Remove warning that this isn't
10776 instructions for building GCC.
10777 * doc/makefile.texi: Make a subsection.
10778 * doc/gccint.texi: Update.
10779
adc7fcb8
JH
10780Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
10781
10782 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
10783
5a4dd0b3
NP
10784Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
10785
10786 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
10787
3987b9db
JH
10788Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
10789
10790 * optabs.c (expand_fix): Look for wider integer modes first.
10791
10792 * i386.md (mov?f): Avoid the fake const double trick for medium
10793 memory model.
10794 (min?f*/max?f*): Prohibit memory operands for i387 variant.
10795 (fop_df_4): Disable for SSE compilation.
10796
ceb15948 107972002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
10798
10799 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 10800 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 10801
e1623399
RH
108022002-01-10 Richard Henderson <rth@redhat.com>
10803
10804 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
10805
c4abb293
RH
108062002-01-10 Richard Henderson <rth@redhat.com>
10807
10808 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
10809 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
10810
d2604ae9
KH
108112002-01-10 Kazu Hirata <kazu@hxi.com>
10812
10813 * combine.c (can_combine_p): Fix a comment typo.
10814
766c7ad1
ZW
108152002-01-09 Zack Weinberg <zack@codesourcery.com>
10816
10817 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
10818 empty list correctly. Change loop index $t to $f for
10819 consistency with rest of Makefile.
10820
95385cbb
AH
108212002-01-08 Aldy Hernandez <aldyh@redhat.com>
10822
10823 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
10824 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
10825
10826 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
10827 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
10828 (altivec_init_builtins): Same.
10829 (altivec_expand_unop_builtin): Return NULL_RTX on error.
10830 (altivec_expand_binop_builtin): Same.
10831 (altivec_expand_ternop_builtin): Same.
10832 (bdesc_dst): New.
10833
10834 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
10835 ("altivec_vctuxs"): Fix typo.
10836 ("altivec_vnmsubfp"): Same.
10837 ("altivec_dssall"): New.
10838 ("altivec_mfvscr"): New.
10839 ("altivec_dss"): New.
10840 ("altivec_lvsl"): New.
10841 ("altivec_lvsr"): New.
10842 ("altivec_dstt"): New.
10843 ("altivec_dstst"): New.
10844 ("altivec_dststt"): New.
10845 ("altivec_dst"): New.
10846
10847 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
10848 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
10849
e4ac76b4
RH
108502002-01-09 Richard Henderson <rth@redhat.com>
10851
10852 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
10853
c893e4a4
HPN
108542002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
10855
10856 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
10857 function.
10858 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
10859 prototype.
7387c700 10860 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 10861
f4f4d0f8
KH
108622002-01-09 Kazu Hirata <kazu@hxi.com>
10863
10864 * read-rtl.c: Fix formatting.
10865 * real.c: Likewise.
10866 * regclass.c: Likewise.
10867 * regrename.c: Likewise.
10868 * reg-stack.c: Likewise.
10869 * reload1.c: Likewise.
10870 * reload.c: Likewise.
10871 * rtl.c: Likewise.
10872
cc863bea
KH
108732002-01-09 Kazu Hirata <kazu@hxi.com>
10874
10875 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
10876 to extract items in the expr_list chain.
10877
7b4dfe3d
RH
108782002-01-09 Richard Henderson <rth@redhat.com>
10879
10880 * config/vax/vax.c (vax_rtx_cost): Never abort.
10881
1d969638
RH
10882 * config/vax/vax.h (REAL_ARITHMETIC): Define.
10883
7d5ab30e
JH
108842002-01-09 Jan Hubicka <jh@suse.cz>
10885
10886 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
10887
9503f3d1
RH
108882002-01-09 Richard Henderson <rth@redhat.com>
10889
10890 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
10891 Unify code from various alternatives.
10892
42bd17b7
RH
108932002-01-09 Richard Henderson <rth@redhat.com>
10894
10895 * regrename.c (copy_value): Ignore the copy if the source register
10896 is present in the value chain with a narrower mode.
10897
bdca3c33
HB
108982002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10899
cda94cbb
RH
10900 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
10901 for the c4x target. Also improve layout.
bdca3c33 10902
c73a5e94
RH
109032002-01-09 Richard Henderson <rth@redhat.com>
10904
10905 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
10906 * config/m32r/m32r.md (and ior xor splitters): Swap operands
10907 to match insn patterns.
10908
dd0a18c0
RH
109092002-01-09 Richard Henderson <rth@redhat.com>
10910
10911 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
10912 (copyprop_hardreg_forward_1): Likewise.
10913
1fd9ac1e
JDA
109142002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
10915
10916 * pa.md (decrement_and_branch_until_zero): Change predicate for
10917 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
10918
5cb265ec
BM
109192002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
10920
10921 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
10922 gets undefined. For Darwin.
10923
fcd8fa8b
HB
109242002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10925
10926 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
10927
bd3ab23a
MH
109282002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10929
10930 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
10931
21e16bd6
RH
109322002-01-08 Richard Henderson <rth@redhat.com>
10933
10934 * regrename.c (copy_value): Ignore overlapping copies.
10935
a5376276
RH
109362002-01-08 Richard Henderson <rth@redhat.com>
10937
10938 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
10939 as needed to avoid shared structure.
10940
18cf8dda
KH
109412002-01-08 Kazu Hirata <kazu@hxi.com>
10942
10943 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
10944 H8/300H and H8/S.
10945
16c484c7
JM
109462002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
10947
10948 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
10949 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
10950 documentation of obsolete macros.
10951 * system.h: Poison these macros.
10952 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
10953 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
10954 config/c4x/c4x.h, config/clipper/clipper.h,
10955 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
10956 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
10957 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
10958 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
10959 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
10960 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
10961 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
10962 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
10963 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
10964 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
10965 config/sparc/sparc.h, config/stormy16/stormy16.h,
10966 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
10967 definitions and commented out definitions of obsolete macros.
10968 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
10969 of MAX_INT_TYPE_SIZE.
10970
14b3e8ef
UW
109712002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
10972
10973 * config/s390/s390.c (s390_preferred_reload_class): Never
10974 return ADDR_REGS if it isn't a subset of the given class.
10975 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
10976 FP_REGS, but all superclasses as well.
10977
10978 * config/s390/s390.c (s390_function_profiler): Fix thinko.
10979
10980 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
10981 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
10982 must not be a const_int.
10983
a693284d
RH
109842002-01-08 Richard Henderson <rth@redhat.com>
10985
10986 * Makefile.in (toplev.o): Depend on options.h.
10987 (gcc.o): Depend on specs.h.
10988
b3ca30df
JJ
109892002-01-08 Jakub Jelinek <jakub@redhat.com>
10990
10991 * expr.c (store_expr): Convert VOIDmode constants back to target's
10992 mode.
10993
24dbb440
GP
109942002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10995
10996 * doc/invoke.texi: Markup gcc as @command. Refer to
10997 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
10998 of http://gcc.gnu.org/thanks.html.
10999
234e114c
DJ
110002002-01-08 Dale Johannesen <dalej@apple.com>
11001
11002 * config/rs6000/rs6000.md: Add missing int register
11003 target case to movdf_low.
11004
0d24f4d1
ZW
110052002-01-08 Zack Weinberg <zack@codesourcery.com>
11006
11007 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
11008 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
11009 (cppinit.o): Depend on except.h.
11010 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
11011 s-specs): New rules.
11012
11013 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
11014 Don't create specs.h/options.h/gencheck.h here. Remove
11015 unnecessary variable settings from last argument of AC_OUTPUT.
11016 * config.in, configure: Regenerate.
11017 * intl.c: Hardcode package name as "gcc".
11018
11019 * cppinit.c: Include except.h.
11020 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
11021 appropriate.
11022 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
11023 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
11024 (!)USING_SJLJ_EXCEPTIONS.
11025 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
11026
ed722f66
JM
110272002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
11028
11029 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
11030 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
11031 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
11032 documentation of obsolete macros.
11033 * system.h: Poison these macros.
11034 * config/d30v/d30v.h, config/ns32k/encore.h,
11035 config/stormy16/stormy16.h: Remove definitions and commented out
11036 definitions of obsolete macros.
11037
31e5e29a
NP
11038Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
11039
11040 * objc/objc-act.c (handle_class_ref): Mark the declaration of
11041 %sobjc_class_ref_%s as used - to prevent unwanted compiler
11042 warnings.
11043
bc1fa59c
UW
110442002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
11045
11046 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
11047 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
11048 to insn adjusting stack/frame pointer.
0d24f4d1 11049 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
11050 accept operands that cause the insn to be non-splittable.
11051
a8086abf
GS
110522002-01-08 Graham Stott <grahams@redhat.com>
11053
11054 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
11055 (C_TYPE_FIELDS_VOLATILE): Likewise.
11056 (C_TYPE_BEING_DEFINED): Likewise.
11057 (C_IS_RESERVED_WORD): Likewise.
11058 (C_TYPE_VARIABLE_SIZE): Likewise.
11059 (C_DECL_VARIABLE_SIZE): Likewise.
11060 (C_MISSING_PROTOTYPE_WARNED): Likewise.
11061 (C_SET_EXP_ORIGINAL_CODE): Likewise.
11062 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
11063 parenthesis.
11064 (C_DECL_ANTICIPATED): Likewise.
11065 (c_build_type_variant): Add parenthesis.
11066
3f595aa1
JM
110672002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
11068
11069 * gcc.c (option_map): Remove --version.
11070 (process_command): Handle -fversion following the GNU Coding
11071 Standards. Partially addresses PR other/704.
11072
5bc5a8f9
GS
110732002-01-08 Graham Stott <grahams@redhat.com>
11074
11075 * combine.c (combine_instructions): Fix typo.
11076
16ec4ebf
GS
110772002-01-08 Graham Stott <grahams@redhat.com>
11078
11079 * debug.h: Use "tree" and "rtx" throughout.
11080
11081 * debug.c: Likewise.
11082
4b69f385
NC
110832002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
11084
11085 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
11086 constant pool, use the pool's version of the symbol instead.
11087
57d1019b
RH
110882002-01-07 Richard Henderson <rth@redhat.com>
11089
11090 * regrename.c (find_oldest_value_reg): Ignore the value chain if
11091 the original register was copied in a mode with a fewer number of
11092 hard registers than the desired mode.
11093 (copyprop_hardreg_forward_1): Likewise.
11094 (debug_value_data): Fix loop test.
11095 * toplev.c (parse_options_and_default_flags): Reenable
11096 -fcprop-registers at -O1.
11097
110982002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 11099
0d24f4d1
ZW
11100 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
11101 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 11102
0d24f4d1
ZW
11103 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
11104 predicates.
fa066a23 11105
0d24f4d1 11106 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 11107
8f949e7e
JDA
111082002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
11109
11110 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
11111 (pa_output_function_prologue): Output local label at the beginning of
11112 the prologue when profiling.
11113 (hppa_profile_hook): Use the local label rather than the function label.
11114 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
11115
c62f2db5
AH
111162002-01-07 Aldy Hernandez <aldyh@redhat.com>
11117
0d24f4d1
ZW
11118 * config/rs6000/rs6000.c (print_operand): Remove extra space.
11119 (altivec_expand_unop_builtin): Fix thinko.
11120 (altivec_expand_binop_builtin): Same.
11121 (altivec_expand_ternop_builtin): Same.
11122 (altivec_expand_builtin): Same.
c62f2db5 11123
b5235ba7
RH
111242002-01-07 Richard Henderson <rth@redhat.com>
11125
11126 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
11127
7d8ac293
JM
111282002-01-07 Jason Merrill <jason@redhat.com>
11129
11130 * unwind-dw2.c (execute_cfa_program): Use < again.
11131
571a03b8
JJ
111322002-01-07 Jakub Jelinek <jakub@redhat.com>
11133
11134 * predict.c (combine_predictions_for_insn): Avoid division by zero.
11135
2e951384
JJ
111362002-01-07 Jakub Jelinek <jakub@redhat.com>
11137
11138 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
11139 Don't allow -1 - x -> ~x simplifications in the first pass.
11140
20e26713
AH
111412002-01-07 Aldy Hernandez <aldyh@redhat.com>
11142
0d24f4d1
ZW
11143 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
11144 arguments.
11145 (altivec_expand_binop_builtin): Same.
11146 (altivec_expand_unop_builtin): Same.
11147 (print_operand): Fix typo.
11148 (bdesc_1arg): Add vupk* variants.
20e26713 11149
0d24f4d1 11150 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 11151
0d24f4d1 11152 * rs6000.md: Add altivec_vupk* variants.
20e26713 11153
4dd57c18
JM
111542002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
11155
11156 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
11157 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
11158 and last update dates.
11159
0341c5d2
JJ
111602002-01-07 Janis Johnson <janis187@us.ibm.com>
11161
11162 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
11163
c7f3e0b0
MM
111642002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
11165
11166 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
11167 * config/avr/avr.h (CPP_SPEC): Likewise.
11168 (LINK_SPEC): Likewise.
11169 (CRT_BINUTILS_SPECS): Likewise.
11170 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
11171 * doc/invoke.texi (AVR Options): Document them.
11172
6ba4d630
JH
11173Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
11174
11175 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
11176 LABEL_NUSES.
11177
6253d571
GS
111782002-01-07 Graham Stott <grahams@redhat.com>
11179
0d24f4d1
ZW
11180 * config/i386/i386.h: Update copyright date.
11181 (HALF_PIC_PTR): Add parenthesis.
11182 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
11183 (CONSTANT_ALIGNMENT): Add parenthesis.
11184 (DATA_ALIGNMENT): Likewise.
11185 (LOCAL_ALIGNMENT): Likewise.
11186 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
11187 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
11188 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
11189 (HARD_REGNO_NREGS): Add paranethesis.
11190 (VALID_SSE_REG_MODE): Whitespace.
11191 (VALID_MMX_REG_MODE): Whitespace.
11192 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
11193 (ix86_hard_regno_mode_ok): Add parenthesis.
11194 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
11195 (RETURN_IN_MEMORY): Whitespace.
11196 (N_REG_CLASSES): Add parenthesis.
11197 (INTEGER_CLASS_P): Add parenthesis and wrap.
11198 (FLOAT_CLASS_P): Likewise.
11199 (SSE_CLASS_P): Likewise.
11200 (MMX_CLASS_P): Likewise.
11201 (MAYBE_INTEGER_CLASS_P): Likewise.
11202 (MAYBE_FLOAT_CLASS_P): Likewise.
11203 (MAYBE_SSE_CLASS_P): Likewise.
11204 (MAYBE_MMX_CLASS_P): Likewise.
11205 (Q_CLASS_P): Likewise.
11206 (GENERAL_REGNO_P): Uppercase macro parameter.
11207 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
11208 (FP_REGNO_P): Likewise.
11209 (ANY_FP_REGNO_P): Uppercase macro parameter.
11210 (SSE_REGNO_P): Likewise.
11211 (SSE_REGNO): Likewise.
11212 (SSE_REG_P): Likewise.
11213 (SSE_FLOAT_MODE_P): Likewise.
11214 (MMX_REGNO_P): Likewise.
11215 (MMX_REG_P):Likewise.
11216 (STACK_REG_P): Likewise.
11217 (NON_STACK_REG_P): Likewise.
11218 (STACK_TOP_P): Likewise.
11219 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
11220 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
11221 (SECONDARY_MEMORY_NEEDED): Likewise.
11222 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
11223 (MD_ASM_CLOBBERS): Whitespace and wrap.
11224 (MUST_PASS_IN_STACK): Whitespace and wrap.
11225 (RETURN_POPS_ARGS): Add parenthesis.
11226 (INIT_CUMULATIVE_ARGS): Likewise.
11227 (FUNCTION_ARG): Likewise.
11228 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
11229 (SETUP_INCOMING_VARARGS): Likewise.
11230 (BUILD_VA_LIST_TYPE): Add parenthesis.
11231 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
11232 parenthsis.
11233 (EXPAND_BUILTIN_VA_ARG): Likewise.
11234 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
11235 (INITIALIZE_TRAMPOLINE): Add parenthesis.
11236 (INITIAL_ELIMINATION_OFFSET): Likewise.
11237 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
11238 (REGNO_OK_FOR_BASE_P): Likewise.
11239 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
11240 (REGNO_OK_FOR_DIREG_P): Likewise.
11241 (REG_OK_FOR_INDEX_P): Whitespace.
11242 (REG_OK_FOR_BASE_P): Whitespace.
11243 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
11244 parenthesis.
11245 (FIND_BASE_TERM): Fix typo.
11246 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
11247 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
11248 (SYMBOLIC_CONST; Whitespace.
11249 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
11250 (ENCODE_SECTION_INFO): Whitespace.
11251 (FINALIZE_PIC): Remove do { ... } while (0).
11252 (PROMOTE_MODE): Wrap in do { ... } while (0).
11253 (CONST_COSTS): Whitespace.
11254 (RTX_COSTS): Add paramethesis, whitespace and wrap.
11255 (REGISTER_MOVE_COST): Add parenthesis.
11256 (MEMORY_MOVE_COST): Likewise.
11257 (EXTRA_CC_MODES): Whitespace.
11258 (SELECT_CC_MODE): Add parenthesis and whitespace.
11259 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
11260 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
11261 (ASM_OUTPUT_LABEL): Add paramethesis.
11262 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
11263 (ASM_OUTPUT_REG_POP): Likewise.
11264 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
11265 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 11266
07933f72
GS
11267 * config/i386/i386.c: Update copyright.
11268 (CHECK_STACK_LIMIT): Add parenthesis.
11269 (AT_BP): Uppercase macro parameter.
11270 (x86_64_int_parameter_registers): Constify.
11271 (x86_64_int_return_registers): Likewise.
11272 (ix86_compare_op0): Use rtx.
11273 (construct_container): Constify INTREG parameter.
11274 (function_arg): Use rtx.
11275
0b4d32c9
GS
11276 * diagnostic.h: Update copyright date.
11277 (output_buffer_state): Add parenthesis.
11278 (output_buffer_format_args): Likewise.
11279
6253d571
GS
11280 * combine.c (combine_instructions): Replace XEXP (links, 0)
11281 with link.
11282
68f3f6f1
L
112832002-01-06 H.J. Lu <hjl@gnu.org>
11284
11285 * cfgcleanup.c (thread_jump): Fix 2 typos.
11286
112872002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 11288
0d24f4d1 11289 * config.gcc: Add support for --enable-altivec.
480f7f3a 11290
13b8c631
CR
112912002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
11292
11293 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
11294
58ad89b1
JJ
112952002-01-06 Jakub Jelinek <jakub@redhat.com>
11296
11297 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
11298 __objc_class_name_*.
11299
e403b4bc
CR
113002002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
11301
11302 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
11303
e41c7831
RH
113042002-01-06 Richard Henderson <rth@redhat.com>
11305
11306 * reorg.c (emit_delay_sequence): Remove death notes, not merely
11307 nop them out. Increment label reference count for REG_LABEL.
11308 (fill_slots_from_thread): Frob label reference count around
11309 delete_related_insns.
11310
3b3b1e32
RH
113112002-01-05 Richard Henderson <rth@redhat.com>
11312
11313 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
11314 jump threading.
11315
c28abdf0
RH
113162002-01-05 Richard Henderson <rth@redhat.com>
11317
11318 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
11319 * integrate.c (output_inline_function): Likewise.
11320 * toplev.c (rest_of_compilation): Do it here instead. Move call
11321 to remove_unnecessary_notes after emitting abstract instance.
11322 Force an emitted nested function to have its parent emited as well.
11323 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
11324 for null.
11325 (rtl_for_decl_location): Do not look at reload data structures
11326 before reload has run.
11327
c4f2c499
KH
113282002-01-05 Kazu Hirata <kazu@hxi.com>
11329
11330 * cse.c: Fix formatting.
11331 * dwarf2asm.c: Likewise.
11332 * dwarf2out.c: Likewise.
11333 * explow.c: Likewise.
11334 * expmed.c: Likewise.
11335 * function.c: Likewise.
11336 * gcov.c: Likewise.
11337 * gencheck.c: Likewise.
11338 * genrecog.c: Likewise.
11339 * ggc-common.c: Likewise.
11340 * ggc-page.c: Likewise.
11341 * global.c: Likewise.
11342
cf0d9408
KH
113432002-01-05 Kazu Hirata <kazu@hxi.com>
11344
11345 * combine.c: Fix formatting.
11346
bedca03a
CR
113472002-01-05 Craig Rodrigues <crodrigu@bbn.com>
11348
11349 PR middle-end/1557
11350 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
11351
0134bf2d
DE
113522002-01-05 David Edelsohn <edelsohn@gnu.org>
11353
11354 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
11355 as 1 for __powerpc64__ as well.
11356
11357 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
11358
11359 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
11360 return it.
11361
9ca88d5a
DB
113622002-01-05 Daniel Berlin <dan@dberlin.org>
11363
11364 * lcm.c: Revert change, due to performance regression it causes on
11365 SPEC because it's slightly more conservative (sigh, I hate
11366 edge-based LCM).
0d24f4d1 11367
1c570418
JH
11368Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
11369
11370 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
11371
d83bb9f7
NB
113722002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
11373
11374 * doc/cppinternals.texi: Update.
11375
3e0f61ac
HPN
113762002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
11377
11378 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
11379 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
11380 negatives.
11381 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
11382 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
11383 kludge for pre-october-14th mmix versions to handle new-found bug
11384 with PUSHJ/PUSHGO and the register stack.
11385 * config/mmix/mmix.h (struct machine_function): Rename member
11386 has_call_value_without_parameters to has_call_without_parameters.
11387 All referers changed.
11388 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
11389 TARGET_MASK_BRANCH_PREDICT): New macros.
11390 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
11391 -mno-reg-stack-fill-bug-workaround.
11392 * config/mmix/mmix.md ("call"): Set struct machine member
11393 has_call_without_parameters.
11394
4deaa2f8
JH
11395Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
11396
11397 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
11398
9f16e871
JH
11399Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
11400
11401 * cfgcleanup.c: Include tm_p.h
11402 (mark_effect): Fix handling of hard register; fix handling of SET
11403
96eb1157
KH
114042002-01-04 Kazu Hirata <kazu@hxi.com>
11405
11406 * config/h8300/h8300.md (anonymous patterns): Check that
11407 operands are registers before using REGNO on them.
11408
48180d68
RM
114092002-01-03 Roland McGrath <roland@frob.com>
11410
11411 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
11412
b0832fe1
JJ
114132002-01-04 Jakub Jelinek <jakub@redhat.com>
11414
11415 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
11416 * c-common.h (genrtl_expr_stmt_value): Likewise.
11417 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
11418 (expand_expr_stmt_value): Add maybe_last argument.
11419 Don't warn about statement with no effect if it is the last statement
11420 in expression statement.
11421 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
11422 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
11423 expand_expr_stmt_value.
11424 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
11425 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
11426 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
11427 as maybe_last to expand_expr_stmt_value.
11428
c1e14513
JL
11429Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
11430
0d24f4d1
ZW
11431 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
11432 be passed in, do not build it.
11433 (c_begin_if_stmt): New function.
11434 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
11435 * c-common.h (c_expand_start_cond): Update prototype.
11436 (c_begin_if_stmt): Prototype new function.
11437 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
11438 * c-parse.in (if_prefix): Use c_begin_if_stmt,
11439 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 11440
b6ec437a
WC
114412002-01-04 William Cohen <wcohen@redhat.com>
11442
11443 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
11444 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
11445 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
11446 * config/pa/som.h (ASM_FILE_START): Likewise.
11447
ead39bdf 114482002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
11449
11450 * lcm.c: Include df.h.
11451 Add available_transfer_function prototype.
11452 (compute_available): Rework to use iterative dataflow framework.
11453 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
11454 with bb_info in df.h
11455 (available_transfer_function): New function.
11456
11457 * Makefile.in (lcm.o): add df.h to dependencies.
11458
551cc6fd
RH
114592002-01-04 Richard Henderson <rth@redhat.com>
11460
11461 * config/alpha/alpha.c (some_operand): Accept HIGH.
11462 (input_operand): Likewise; accept simple references to globals.
11463 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
11464 (alpha_const_double_ok_for_letter_p): Likewise.
11465 (alpha_extra_constraint): Likewise.
11466 (alpha_preferred_reload_class): Likewise. Do not force
11467 symbolic constants to memory.
11468 (alpha_legitimate_address_p): Accept simple references
11469 to small_symbolic_operand.
11470 (alpha_legitimize_address): New arg scratch. Be prepared to be
11471 called when no_new_pseudos. Emit simple symbolic references.
11472 Split integers into low, high, and rest.
11473 (alpha_expand_mov): Use alpha_legitimize_address.
11474 (some_small_symbolic_mem_operand): New.
11475 (split_small_symbolic_mem_operand): New.
11476 * config/alpha/alpha-protos.h: Update.
11477 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
11478 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
11479 (EXTRA_CONSTRAINT): Likewise.
11480 (PREFERRED_RELOAD_CLASS): Likewise.
11481 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
11482 (PREDICATE_CODES): Update.
11483 * config/alpha/alpha.md: New post-reload splitters to convert
11484 simplfied symbolic operands to the form that references $29.
11485 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
11486 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
11487
1eaea054
RH
114882002-01-03 Richard Henderson <rth@redhat.com>
11489
11490 * local-alloc.c (function_invariant_p): Update commentary.
11491
c4cc12b7
L
114922002-01-04 H.J. Lu <hjl@gnu.org>
11493
11494 * toplev.c (rest_of_compilation): Fix a typo when calling
11495 cleanup_cfg.
11496
173bf5be
KH
114972002-01-03 Kazu Hirata <kazu@hxi.com>
11498
11499 * c-common.c: Fix formatting.
11500 * diagnostic.c: Likewise.
11501 * doloop.c: Likewise.
11502 * dwarf2out.c: Likewise.
11503
187462ac
KH
115042002-01-03 Kazu Hirata <kazu@hxi.com>
11505
11506 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
11507 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
11508
5d8ebbd8
NB
115092002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
11510
11511 * cpperror.c: Update comments and copyright.
11512 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
11513 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
11514
518c1311
JDA
115152002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
11516
11517 * collect2.c (main): Use strcmp when testing for "-shared".
11518
d15a58c0
NB
115192002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
11520
11521 * cppmacro.c: Don't include intl.h. Update comments.
11522 (new_number_token): Allocate enough buffer for 64-bit unsigned
11523 integers; update prototype.
11524 * cppmain.c: Update comments.
11525
70f4f91c
WC
115262002-01-03 William Cohen <wcohen@redhat.com>
11527
11528 * function.h (struct function): Add profile.
11529 (current_function_profile): New.
11530 doc/extend.texi: Update documentation.
11531 * final.c (final_start_function): Use current_function_profile
11532 instead of profile_flag.
11533 (profile_after_prologue): Likewise.
11534 * function.c (expand_function_start): Likewise.
11535 (expand_function_start): Likewise.
c4cc12b7 11536 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
11537 (alpha_does_function_need_gp): Likewise.
11538 (alpha_expand_prologue): Likewise.
11539 * config/arm/arm.c (arm_expand_prologue): Likewise.
11540 thumb_expand_prologue: Likewise.
11541 * config/d30v/d30v.c (d30v_stack_info): Likewise.
11542 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
11543 (fr30_expand_prologue): Likewise.
11544 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
11545 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
11546 * config/i386/i386.h (FINALIZE_PIC): Likewise.
11547 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
11548 * config/i960/i960.c (i960_output_function_prologue): Likewise.
11549 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
11550 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
11551 (m32r_expand_prologue): Likewise.
11552 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
11553 (m88k_expand_prologue): Likewise.
11554 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
11555 * config/mips/mips.c (compute_frame_size): Likewise.
11556 (mips_expand_prologue): Likewise.
11557 (mips_can_use_return_insn): Likewise.
11558 * config/pa/elf.h (ASM_FILE_START): Likewise.
11559 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
11560 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
11561 * config/pa/som.h (ASM_FILE_START): Likewise.
11562 * config/romp/romp.c (romp_using_r14): Likewise.
11563 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
11564 (rs6000_stack_info): Likewise.
11565 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 11566 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
11567 * config/v850/v850.c (compute_register_save_size): Likewise.
11568
cb1ac742
JJ
115692002-01-03 Jakub Jelinek <jakub@redhat.com>
11570
11571 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
11572 gen_lowpart_common fails, use gen_lowpart_SUBREG.
11573
61d951df 115742002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 11575
61d951df
TC
11576 * darwin.c (machopic_output_possible_stub_label): Don't generate
11577 stub routines for pseudo-stubs which we've just defined.
11578
505ddab6
KH
115792002-01-03 Kazu Hirata <kazu@hxi.com>
11580
11581 * builtins.c: Fix formatting.
11582 * c-typeck.c: Likewise.
11583 * combine.c: Likewise.
11584 * expr.c: Likewise.
11585 * loop.c: Likewise.
11586
b7e30d8a
AS
115872002-01-03 Andreas Schwab <schwab@suse.de>
11588
11589 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
11590 and return true if _cpp_push_next_buffer pushed a new include
11591 file.
11592 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
11593 _cpp_pop_file_buffer did not push a new file.
11594 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
11595
ff81832f
EC
115962002-01-02 Eric Christopher <echristo@redhat.com>
11597
11598 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
11599 FIND_REG_INC_NOTE call. Update copyright.
11600 * loop.c (canonicalize_condition): Ditto.
11601 * reorg.c (delete_scheduled_jump): Ditto.
11602
8e42ace1
KH
116032002-01-03 Kazu Hirata <kazu@hxi.com>
11604
11605 * gcse.c: Fix formatting.
11606
fb2bf631
GS
116072002-01-03 Graham Stott <grahams@redhat.com>
11608
11609 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
11610 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 11611 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
11612
11613 * system.h: Move forward defs for struct tags rtx_def, union_tree,
11614 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 11615 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
11616
116172002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
11618
11619 * tree.h: Update copyright date.
11620 (IS_EXPR_CODE_CLASS): Add parenthesis.
11621 (TREE_SET_CODE): Add whitespace.
11622 (TREE_CHECK): Add parenthesis.
11623 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
11624 (CST_OR_CONSTRUCTOR_CHECK):
11625 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
11626 (TREE_SYMBOL_REFERENCED): Whitespace.
11627 (INT_CST_LT): Likewise.
11628 (INT_CST_LT_UNSIGNED): Likewise.
11629 (tree_real_cst): Unwrap comment.
11630 (tree_string): Likewise.
11631 (tree_complex): Likewise.
11632 (IDENTIFIER_POINTER): correct cast.
11633 (SAVE_EXPR_CONTEXT): Whitespace.
11634 (EXPR_WFL_FILENAME_NODE): Likewise.
11635 (EXPR_WFL_FILENAME): Remove parenthesis.
11636 (DECL_ORIGIN): Add parenthesis.
11637 (DECL_FROM_INLINE): Use NULL_TREE.
11638 (build_int_2): Whitespace.
11639 (build_type_variant): Add parenthesis.
11640
11641 * gcc/jcf-parse.c: Update copyright date.
11642 (yyparse): Constify resource_filename.
11643
f52eda29
GS
116442002-01-03 Graham Stott <grahams@redhat.com>
11645
11646 * rtl.h: Update copyright date.
11647 (RTL_CHECK1): Wrap long line.
11648 (RTL_CHECK2): Likewise.
11649 (RTL_CHECKC1): Wrap long line and whitespace.
11650 (RTL_CHECKC2): Likewise.
11651 (XWINT): Whitespace.
11652 (XINT): Likewise.
11653 (XSTR): Likewise.
11654 (XEXP): Likewise.
11655 (XVEC): Likewise.
11656 (XMODE): Likewise.
11657 (XBITMAP): Likewise.
11658 (XTREE): Likewise.
11659 (XBBDEF): Likewise.
11660 (XTMPL): Likewise.
11661 (X0WINT): Likewise.
11662 (X0INT):Likewise.
11663 (X0UINT): Likewise.
11664 (X0STR): Likewise.
11665 (X0EXP): Likewise.
11666 (X0VEC): Likewise.
11667 (X0MODE): Likewise.
11668 (X0BITMAP): Likewise.
11669 (X0TREE): Likewise.
11670 (X0BBDEF): Likewise.
11671 (X0ADVFLAGS): Likewise.
11672 (X0CSELIB): Likewise.
11673 (X0MEMATTR): Likewise.
11674 (XCWINT): Likewise.
11675 (XCINT): Likewise.
11676 (XCUINT): Likewise.
11677 (XCSTR): Likewise.
11678 (XCEXP): Likewise.
11679 (XCVEC): Likewise.
11680 (XCMODE): Likewise.
11681 (XCBITMAP): Likewise.
11682 (XCTREE): Likewise.
11683 (XCBBDEF): Likewise.
11684 (XCADVFLAGS): Likewise.
11685 (XCCSELIB): Likewise.
11686 (XC2EXP): Likewise.
11687 (INSN_UID): Likewise.
11688 (PREV_INSN): Likewise.
11689 (PATTERN): Likewise.
11690 (INSN_CODE): Likewise.
11691 (PUT_REG_NOTE_KIND): Likewise.
11692 (CODE_LABEL_NUMBER): Likewise.
11693 (NOTE_SOURCE_FILE): Likewise.
11694 (NOTE_BLOCK): Likewise.
11695 (NOTE_EH_HANDLER): Likewise.
11696 (NOTE_RANGE_INFO): Likewise.
11697 (NOTE_LIVE_INFO): Likewise.
11698 (NOTE_BASIC_BLOCK): Likewise.
11699 (NOTE_EXPECTED_VALUE): Likewise.
11700 (NOTE_LINE_NUMBER): Likewise.
11701 (LABEL_NAME): Likewise.
11702 (LABEL_NUSES): Likewise.
11703 (LABEL_ALTERNATE_NAME): Likewise.
11704 (ADDRESSOF_DECL): Likewise.
11705 (JUMP_LABEL): Likewise.
11706 (LABEL_NEXTREF): Likewise.
11707 (REGNO): Likewise.
11708 (ORIGINAL_REGNO: Likewise.
11709 (HARD_REGISTER_NUM_P): Add parenthesis.
11710 (SUBREG_REG): Whitespace.
11711 (SUBREG_BYTE): Likewise.
11712 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
11713 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
11714 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
11715 (ASM_OPERANDS_INPUT_VEC): Likewise.
11716 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
11717 (ASM_OPERANDS_INPUT): Likewise.
11718 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
11719 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
11720 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
11721 (ASM_OPERANDS_INPUT_MODE): Likewise.
11722 (ASM_OPERANDS_SOURCE_FILE): Likewise.
11723 (ASM_OPERANDS_SOURCE_LINE): Likewise.
11724 (MEM_SET_IN_STRUCT_P): Minor reformat.
11725 (TRAP_CONDITION): Whitespace.
11726 (TRAP_CODE): Likewise.
11727 (COND_EXEC_TEST): Likewise.
11728 (COND_EXEC_CODE): Likewise.
11729 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
11730 (PHI_NODE_P): Add parenthesis.
11731 (plus_constant): Whitespace and add parenthesis.
11732
e03f5d43
KH
117332002-01-03 Kazu Hirata <kazu@hxi.com>
11734
11735 * config/avr/avr.c: Fix comment typos.
11736 * config/c4x/c4x.md: Likewise.
11737 * config/dsp16xx/dsp16xx.h: Likewise.
11738 * config/dsp16xx/dsp16xx.md: Likewise.
11739 * config/i386/i386.md: Likewise.
11740 * config/ia64/ia64.c: Likewise.
11741 * config/m32r/m32r.h: Likewise.
11742 * config/m68hc11/m68hc11.md: Likewise.
11743 * config/mmix/mmix.c: Likewise.
11744 * config/mn10200/mn10200.c: Likewise.
11745 * config/romp/romp.c: Likewise.
11746 * config/sh/sh.c: Likewise.
11747 * config/stormy16/stormy16.c: Likewise.
11748 * config/stormy16/stormy16.h: Likewise.
11749 * config/stormy16/stormy16.md: Likewise.
11750
97e300e9
GS
117512002-01-03 Graham Stott <grahams@redhat.com>
11752
11753 * loop.h: Update copyright date.
0d24f4d1
ZW
11754 (LOOP_MOVABLES): Fix typo.
11755 (LOOP_REGS): Likewise.
11756 (LOOP_IVS): Likewise.
ff81832f 11757
745b26b3
GS
117582002-01-03 Graham Stott <grahams@redhat.com>
11759
11760 * cppinit.c: Update copyright date.
11761 Don't include output.h
11762 * Makefile.in: Update copyright date.
11763 Update dependency.
11764
0a379b7a
CR
117652002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
11766
11767 PR c/5226
11768 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
11769 (-pthread) Add to RS/6000 options.
11770
a8154559
KH
117712002-01-02 Kazu Hirata <kazu@hxi.com>
11772
11773 * except.c: Fix comment typos.
11774 * loop.c: Likewise.
11775 * varasm.c: Likewise.
11776 * doc/tm.texi: Fix a typo.
11777
e6ecc89b
JJ
117782002-01-02 Jakub Jelinek <jakub@redhat.com>
11779
11780 * c-typeck.c (output_init_element): Allow initializing static storage
11781 duration objects with compound literals.
11782
d1094b40
RH
117832002-01-02 Richard Henderson <rth@redhat.com>
11784
11785 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
11786 after abusing it.
11787
0c5d8c82
KG
117882002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11789
5e65297b
KG
11790 * gcc.c (default_compilers): Const-ify.
11791 * mips-tdump.c (stab_names): Likewise.
11792 * mips-tfile.c (map_coff_types, map_coff_storage,
11793 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
11794 pseudo_ops_t, pseudo_ops): Likewise.
11795 * protoize.c (default_include): Likewise
11796
0c5d8c82
KG
11797 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
11798 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
11799 Add array size in declaration.
11800 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
11801 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
11802 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
11803 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
11804 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
11805 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
11806 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
11807 emtens, make_nan): Const-ify.
11808 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
11809 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
11810
817e13c4
JM
118112002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
11812
11813 * config.gcc (ia64-*-*): Set extra_headers.
11814 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
11815 * config/alpha/t-osf: Remove.
11816 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
11817
98095e2b
DE
118182002-01-02 David Edelsohn <edelsohn@gnu.org>
11819
11820 * config/rs6000/t-aix43: Revert previous change.
11821
a4200657
JM
118222002-01-02 Jason Merrill <jason@redhat.com>
11823
11824 * c-decl.c (c_expand_body): Call outlining_inline_function when
11825 emitting an inline function out of line.
11826
54ba1f0d
RH
118272002-01-02 Richard Henderson <rth@redhat.com>
11828
11829 * dwarf2out.c (limbo_die_node): Add created_for member.
11830 (new_die): New argument created_for. Update all callers.
11831 (mark_limbo_die_list): New.
11832 (dwarf2out_init): Register limbo_die_list as a root.
11833 (dwarf2out_finish): Force insert limbo dies into their function
11834 context.
11835
323728aa
NS
118362002-01-02 Nathan Sidwell <nathan@codesourcery.com>
11837
11838 PR c++/5089
11839 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
11840
aefc5826
KH
118412002-01-02 Kazu Hirata <kazu@hxi.com>
11842
11843 * config/h8300/fixunssfsi.c: Update copyright.
11844 Fix comment typos.
11845 Fix formatting.
11846 * config/h8300/h8300.c: Update copyright.
11847 Eliminate warnings.
11848
b1c9bc51
KH
118492002-01-02 Kazu Hirata <kazu@hxi.com>
11850
11851 * config/romp/romp.c: Fix comment formatting.
11852 * config/romp/romp.h: Likewise.
11853 * config/romp/romp.md: Likewise.
11854 * config/s390/s390.c: Likewise.
11855 * config/stormy16/stormy16.c: Likewise.
11856 * config/stormy16/stormy16.h: Likewise.
11857
1574ef13
AO
118582002-01-02 Alexandre Oliva <aoliva@redhat.com>
11859
11860 * c-common.h (genrtl_expr_stmt_value): Declare.
11861 * c-semantics.c (genrtl_goto_stmt): Redirect to...
11862 (genrtl_goto_stmt_value): ... this new function. Pass new
11863 argument down to expand_expr_stmt_value, taking
11864 TREE_ADDRESSABLE into account.
11865 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
11866 STMT_EXPR as addressable, i.e., one whose result we want.
11867 * expr.c (expand_expr): Don't save expression statement value
11868 of labeled_blocks or loop_exprs.
11869 * stmt.c (expand_expr_stmt): Redirect to...
11870 (expand_expr_stmt_value): ... this new function. Use new
11871 argument to tell whether to save expression value.
11872 (expand_end_stmt_expr): Reset last_expr_type and
11873 last_expr_value if we don't have either.
11874 * tree-inline.c (declare_return_variable): Mark its use
11875 statement as addressable.
11876 * tree.h: Document new use of TREE_ADDRESSABLE.
11877 (expand_expr_stmt_value): Declare.
11878
252b88f7
TR
118792002-01-01 Tom Rix <trix@redhat.com>
11880
11881 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
11882 rs6000_emit_allocate_stack.
11883
29f7a208
JM
118842002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
11885
11886 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
11887 ${srcdir}/ginclude/ to every entry in extra_headers.
11888 * configure: Regenerate.
11889 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
11890 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
11891 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
11892 * ginclude/proto.h: Rename to config/convex/proto.h.
11893
2cc2d4bb
RK
11894Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11895
11896 * attribs.c (handle_vector_size_attribute): Use host_integerp
11897 and tree_int_cst; remove warnings.
11898 * caller-save.c (insert_restore): Add cast to get rid of warning.
11899 (insert_save): Likewise.
11900 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
11901 * regmove.c (find_matches): Add temporary var to kill a warning.
11902
f01c9bcd
DR
119032002-01-01 Douglas B Rupp <rupp@gnat.com>
11904
16b61764
DR
11905 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
11906 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
11907 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
11908 (vms-dwarf2eh.o): Add Makefile rule.
11909 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
11910 * config/alpha/vms-dwarf2eh.asm: New file.
11911
f01c9bcd
DR
11912 * gcc.c (delete_if_ordinary): Delete all versions.
11913
91312b81
HPN
119142002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
11915
11916 * config/mmix/mmix.md: Update FIXME to not mention
11917 define_constants.
11918 (MMIX_rJ_REGNUM): New define_constants constant.
11919 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
11920 "*movdicc_real"): Adjust contraints formatting.
11921 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
11922 for branch prediction.
11923 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
11924 output template.
11925 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
11926 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
11927 number. Delete related FIXMEs.
11928 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
11929 from number to MMIX_rJ_REGNUM.
11930 (TARGET_MASK_BRANCH_PREDICT): New.
11931 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
11932 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
11933 value. Add -mbranch-predict and -mno-branch-predict.
11934 (TARGET_VERSION): Drop date.
11935 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
11936 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
11937 for finding out global symbols.
11938 (mmix_asm_output_labelref): Revert condition for global symbol.
11939 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
11940 (mmix_print_operand_punct_valid_p): A '+' is valid.
11941
619acae7 11942See ChangeLog.6 for earlier changes.
This page took 1.512774 seconds and 5 git commands to generate.