]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
s390.c (s390_emit_epilogue): Always restore registers needed by the compiler...
[gcc.git] / gcc / ChangeLog
CommitLineData
cf5ee720
UW
12002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
2
3 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
4 needed by the compiler, even if they are used as global regs.
5
d604bca3
MH
62002-04-25 Matt Hiller <hiller@redhat.com>
7
8 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
9 functions.
10 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
11 of the corresponding functions.
12 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
13 New prototypes.
14
152002-04-25 Matt Hiller <hiller@redhat.com>
16
17 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
18
19 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
20 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
21 registers, adjust comment accordingly.
22 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
23 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
24 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
25 for coprocessor registers.
26 (ADDITIONAL_REGISTER_NAMES): Include
27 ALL_COP_ADDITIONAL_REGISTER_NAMES.
28
29 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
30 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
31 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
32 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
33 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
34
35 (mips_char_to_class): Adjust comment to include coprocessor
36 constraint letters.
37
38 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
39 New functions.
40 (mips_reg_names, mips_regno_to_class): Include coprocessor
41 information.
42 (mips_sw_reg_names): Ditto, make non-static.
43 (mips_move_1word): Handle moves to and from coprocessor registers.
44 (mips_move_2words): Handle moves to and from coprocessor
45 registers.
46 (mips_class_max_nregs, mips_register_move_cost): Handle
47 coprocessor register classes.
48 (override_options): Initialize mips_char_to_class and
49 mips_hard_regno_mode_ok properly for coprocessor registers.
50
51 * config/mips/mips.md (movdi_internal, movdi_internal2,
52 movsi_internal1, movsi_internal2): Add constraint-sets for
53 coprocessor registers.
54 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
55 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
56 isn't mips.
57 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
58 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
59 isn't mips.
60 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
61 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
62 isn't mips.
63 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
64 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
65 isn't mips.
66
67 * doc/tm.texi: Document feature.
68
b9a26d09
NB
692002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
70
71 * integrate.c (function_attribute_inlinable_p): Simplify.
72 Check the table pointer is not NULL.
73
ab5973b7
SB
742002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
75
76 * doc/c-tree.texi: Fix typo in introduction.
77
ff45c01e
NB
782002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
79
80 * c-common.h (c_common_parse_file): Update.
81 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
82 * c-lex.c (YYDEBUG): Get from c-lex.h.
83 (c_common_parse_file): Update.
84 * c-lex.h (YYDEBUG, yydebug): New.
85 * c-parse.in (YYDEBUG): Get from c-lex.h.
86 (c_set_yydebug): Remove.
87 * c-tree.h (c_set_yydebug): Remove.
88 * langhooks-def.h (lhd_do_nothing_i): New.
89 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
90 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
91 * langhooks.c (lhd_do_nothing_i): New.
92 (lhd_set_yydebug): Remove.
93 * langhooks.h (struct lang_hooks): Update.
94 * toplev.c (set_yydebug): New.
95 (compile_file): Update call to parse_file hook.
96 (decode_d_option): Update.
97objc:
98 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
99
fcae219a
R
100Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
101
102 * loop.c (load_mems): Don't change the interface of called functions.
103
104 * calls.c (expand_call): Take current_function_pretend_args_size
105 into account when setting argblock for sibcalls.
106
d0fea45a
MH
1072002-04-24 Matt Hiller <hiller@redhat.com>
108
109 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
110 * c-lex.c: Ditto.
111
112 * cpplex.c (skip_line_comment): Process comment one multibyte
113 character at a time rather than one char at a time, if
114 appropriate.
115 (parse_string): Process string one multibyte character at a time
116 rather than one char at a time, if appropriate.
117 * c-lex.c (lex_string): Lex and copy multibyte strings
118 appropriately.
119 * cpplib.h (cppchar_t): Change to unsigned.
120
2d1b5436
RH
1212002-04-24 Richard Henderson <rth@redhat.com>
122
123 PR c/3467
124 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
125 for c99.
126
5e039e6b
R
127Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
128
129 * sh.c (sh_va_arg): If argument was passed by reference,
130 dereference the pointer.
309d8365
R
131
132 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
133
134 * sh.md (divsi3_i4_media): Use match_operand for input values
135 rather than hard registers.
136 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
137 unnecessarily through hard registers. Keep copies of pseudo
138 registers outside of the libcall sequence.
139
140 * sh.md (casesi_shift_media): Add modes.
b700634a
R
141
142 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
143 values in memory.
144
349ae713
NB
1452002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
146
147 * attribs.c (c_common_attribute_table): Move table and handlers
148 to c-common.c.
149 (format_attribute_table, lang_attribute_table,
150 lang_attribute_common): Remove.
151 (init_attributes): Replace NULL pointers with pointers to the
152 empty table.
153 (handle_packed_attribute, handle_nocommon_attribute,
154 handle_common_attribute, handle_noreturn_attribute,
155 handle_noinline_attribute, handle_always_inline_attribute,
156 handle_used_attribute, handle_unused_attribute,
157 handle_const_attribute, handle_transparent_union_attribute,
158 handle_constructor_attribute, handle_destructor_attribute,
159 handle_mode_attribute, handle_section_attribute,
160 handle_aligned_attribute, handle_weak_attribute,
161 handle_alias_attribute, handle_visibility_attribute,
162 handle_no_instrument_function_attribute, handle_malloc_attribute,
163 handle_no_limit_stack_attribute, handle_pure_attribute,
164 handle_deprecated_attribute, handle_vector_size_attribute,
165 vector_size_helper): Move to c-common.c.
166 * c-common.c (c_common_attribute_table,
167 handle_packed_attribute, handle_nocommon_attribute,
168 handle_common_attribute, handle_noreturn_attribute,
169 handle_noinline_attribute, handle_always_inline_attribute,
170 handle_used_attribute, handle_unused_attribute,
171 handle_const_attribute, handle_transparent_union_attribute,
172 handle_constructor_attribute, handle_destructor_attribute,
173 handle_mode_attribute, handle_section_attribute,
174 handle_aligned_attribute, handle_weak_attribute,
175 handle_alias_attribute, handle_visibility_attribute,
176 handle_no_instrument_function_attribute, handle_malloc_attribute,
177 handle_no_limit_stack_attribute, handle_pure_attribute,
178 handle_deprecated_attribute, handle_vector_size_attribute,
179 vector_size_helper): Move from attribs.c.
180 * c-common.h (c_common_attribute_table,
181 c_common_format_attribute_table): New.
182 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
183 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
184 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
185 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
186 (LANG_HOOKS_INITIALIZER): Update.
187 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
188 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
189 * target.h: Update comment.
190 * tree.c (default_target_attribute_table): Remove.
191 * tree.h (default_target_attribute_table, format_attribute_table,
192 lang_attribute_table, lang_attribute_common): Remove.
193objc:
194 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
195 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
196
84f0ace0
JM
1972002-04-24 Jason Merrill <jason@redhat.com>
198
199 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
200 * dwarf2out.c (dwarf_attr_name): Support it.
201 (gen_array_type_die): Emit it.
202 (lookup_type_die): No special handling for VECTOR_TYPE.
203 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
204
120eaf28
RH
2052002-04-24 Richard Henderson <rth@redhat.com>
206
207 * config/mips/mips.md (movdi_usd): Renumber.
208
e732178c
DM
2092002-04-24 David S. Miller <davem@redhat.com>
210
211 PR target/6420
212 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
213 32-bit Sparc and current_function_returns_struct is true.
214
e879eb2f
JH
215Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
216
217 * loop.c (canonicalize_condition): Use gen_int_mode.
218
4287a893
AH
2192002-04-24 Aldy Hernandez <aldyh@redhat.com>
220
221 * config/rs6000/altivec.h: Cleanup file. Add non individual
222 variants.
223 (vec_vaddubm): New.
224 (vec_vadduhm): New.
225 (vec_vadduwm): New.
226 (vec_vaddfp): New.
227 (vec_vaddcuw): New.
228 (vec_vaddubs): New.
229 (vec_vaddsbs): New.
230 (vec_vadduhs): New.
231 (vec_vadduws): New.
232 (vec_vaddsws): New.
233 (vec_vand): New.
234 (vec_vandc): New.
235 (vec_vavgub): New.
236 (vec_vavgsb): New.
237 (vec_vavguh): New.
238 (vec_vavgsh): New.
239 (vec_vavguw): New.
240 (vec_vavgsw): New.
241 (vec_vrfip): New.
242 (vec_vcmpbfp): New.
243 (vec_vcmpequb): New.
244 (vec_vcmpequh): New.
245 (vec_vcmpequw): New.
246 (vec_vcmpeqfp): New.
247 (vec_vcmpgefp): New.
248 (vec_vcmpgtub): New.
249 (vec_vcmpgtsb): New.
250 (vec_vcmpgtuh): New.
251 (vec_vcmpgtsh): New.
252 (vec_vcmpgtuw): New.
253 (vec_vcmpgtsw): New.
254 (vec_vcmpgtfp): New.
255 (vec_vcmpgefp): New.
256 (vec_vcfux): New.
257 (vec_vcfsx): New.
258 (vec_vctsxs): New.
259 (vec_vctuxs): New.
260 (vec_vexptefp): New.
261 (vec_vrfim): New.
262 (vec_lvx): New.
263 (vec_lvebx): New.
264 (vec_lvehx): New.
265 (vec_lde): Add vector float variant.
266 (vec_lvewx): New.
267 (vec_lvxl): New.
268 (vec_vlogefp): New.
269 (vec_vmaddfp): New.
270 (vec_vmhaddshs): New.
271 (vec_vmaxub): New.
272 (vec_vmaxsb): New.
273 (vec_vmaxuh): New.
274 (vec_vmaxsh): New.
275 (vec_vmaxuw): New.
276 (vec_vmaxsw): New.
277 (vec_vmaxsw): New.
278 (vec_vmaxfp): New.
279 (vec_vmrghb): New.
280 (vec_vmrghh): New.
281 (vec_vmrghw): New.
282 (vec_vmrglb): New.
283 (vec_vmrglh): New.
284 (vec_vmrglw): New.
285 (vec_vminub): New.
286 (vec_vminsb): New.
287 (vec_vminuh): New.
288 (vec_vminsh): New.
289 (vec_vminuw): New.
290 (vec_vminsw): New.
291 (vec_vminfp): New.
292 (vec_vmladduhm): New.
293 (vec_vmhraddshs): New.
294 (vec_msumubm): New.
295 (vec_vmsummbm): New.
296 (vec_vmsumuhm): New.
297 (vec_vmsumshm): New.
298 (vec_vmsumuhs): New.
299 (vec_vmsumshs): New.
300 (vec_vmuleub): New.
301 (vec_vmulesb): New.
302 (vec_vmuleuh): New.
303 (vec_vmulesh): New.
304 (vec_vmuloub): New.
305 (vec_mulosb): New.
306 (vec_vmulouh): New.
307 (vec_vmulosh): New.
308 (vec_vnmsubfp): New.
309 (vec_vnor): New.
310 (vec_vor): New.
311 (vec_vpkuhum): New.
312 (vec_vpkuwum): New.
313 (vec_vpkpx): New.
314 (vec_vpkuhus): New.
315 (vec_vpkshss): New.
316 (vec_vpkuwus): New.
317 (vec_vpkswss): New.
318 (vec_vpkshus): New.
319 (vec_vpkswus): New.
320 (vec_vperm): New.
321 (vec_vrefp): New.
322 (vec_vrlb): New.
323 (vec_vrlh): New.
324 (vec_vrlw): New.
325 (vec_vrfin): New.
326 (vec_vrsqrtefp): New.
327 (vec_vsel): New.
328 (vec_vslb): New.
329 (vec_vslh): New.
330 (vec_vslw): New.
331 (vec_vsldoi): New.
332 (vec_vsl): New.
333 (vec_vslo): New.
334 (vec_vspltb): New.
335 (vec_vsplth): New.
336 (vec_vspltw): New.
337 (vec_vspltisb): New.
338 (vec_vspltish): New.
339 (vec_vspltisw): New.
340 (vec_vsrb): New.
341 (vec_vsrh): New.
342 (vec_vsrw): New.
343 (vec_vsrab): New.
344 (vec_vsrah): New.
345 (vec_vsraw): New.
346 (vec_vsr): New.
347 (vec_vsro): New.
348 (vec_stvx): New.
349 (vec_stvebx): New.
350 (vec_stvehx): New.
351 (vec_stvewx): New.
352 (vec_stvxl): New.
353 (vec_vsububm): New.
354 (vec_vsubuhm): New.
355 (vec_vsubuwm): New.
356 (vec_vsubfp): New.
357 (vec_vsubcuw): New.
358 (vec_vsububs): New.
359 (vec_vsubsbs): New.
360 (vec_vsubuhs): New.
361 (vec_vsubshs): New.
362 (vec_vsubuws): New.
363 (vec_vsubsws): New.
364 (vec_vsum4ubs): New.
365 (vec_vsum4sbs): New.
366 (vec_vsum4shs): New.
367 (vec_vsum2sws): New.
368 (vec_vsumsws): New.
369 (vec_vrfiz): New.
370 (vec_vupkhsb): New.
371 (vec_vupkhpx): New.
372 (vec_vupkhsh): New.
373 (vec_vupklsb): New.
374 (vec_vupklpx): New.
375 (vec_vupklsh): New.
376 (vec_vxor): New.
377
cff27795
EB
3782002-04-23 Eric Botcazou <ebotcazou@multimania.com>
379
380 PR c/5430
381 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
382 added literals from substracted literals.
383 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
384 (fold) [associate]: Preserve MINUS_EXPR if needed.
385
952bca84
ZW
3862002-04-23 Zack Weinberg <zack@codesourcery.com>
387
388 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
389 are obsoleted.
390
50cb2154
TT
3912002-04-23 Tom Tromey <tromey@redhat.com>
392
393 * gcc.c: Added --resource. For PR java/6314.
394
271f61fb
DB
3952002-04-23 David O'Brien <obrien@FreeBSD.org>
396
9566d1e9 397 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
398 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
399 these libraries.
400
bdabbc80
DB
4012002-04-23 David O'Brien <obrien@FreeBSD.org>
402
403 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
404
74411039
JH
405Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
406
407 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
408 workaround.
409 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
410 (ix86_expand_clrstr): Fix typo.
411 * loop.c (gen_load_of_final_value): New.
412 (loop_givs_rescan, strength_reduce, check_dbra_loop):
413 Use it.
414
1a887f86
RS
4152002-04-23 Roger Sayle <roger@eyesopen.com>
416
417 * builtins.c (builtin_memset_gen_str): New function.
418 (expand_builtin_memset): Optimize the case of constant length, but
419 unknown value.
420
8d3441e0
AH
4212002-04-23 Aldy Hernandez <aldyh@redhat.com>
422
cff27795
EB
423 * config/rs6000/altivec.h (vec_step): Remove extraneous
424 parentheses.
425 (vec_ctu): Cast return.
8d3441e0 426
f6f315fe
AM
4272002-04-23 Alan Modra <amodra@bigpond.net.au>
428
429 PR target/6413
430 * function.h: (struct function): Add profile_label_no field.
431 (current_function_profile_label_no): Define.
432 * function.c: (profile_label_no): New static var.
433 (expand_function_start): Increment it, and copy to
434 current_function_profile_label_no.
435 * output.h (profile_label_no): Delete.
436 * final.c (profile_label_no): Delete.
437 (profile_function): Use current_function_profile_label_no.
438 (final_end_function): Don't increment profile_label_no here.
439 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
440 profile_label_no with current_function_profile_label_no.
441 * config/pa/pa.c (current_function_number): Delete.
442 (pa_output_function_prologue): Don't output profile label here.
443 (hppa_profile_hook): Use label_no param rather than
444 current_function_number.
445 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
446 * config/pa/pa.h: .. here.
447 (FUNCTION_PROFILER): Output profile label here.
448
d239cdc0
EC
4492002-04-22 Eric Christopher <echristo@redhat.com>
450
451 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
452 patch of 2002-04-09 due to binutils issues.
453 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
454
04428ad4
AH
4552002-04-22 Aldy Hernandez <aldyh@redhat.com>
456
cff27795
EB
457 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
458 constraint to 'o' for m=r and r=m alternatives.
459 ("*movv8hi_internal1"): Same.
460 ("*movv16qi_internal1"): Same.
461 ("*movv4sf_internal1"): Same.
04428ad4 462
2adc7f12
JJ
4632002-04-22 Janis Johnson <janis187@us.ibm.com>
464
465 * rtl.h (RTX_FLAG): New macro.
466 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
467 * final.c (alter_subreg): Use macro to access rtx flag.
468 * integrate.c (copy_rtx_and_substitute): Use new access macro.
469 * print-rtl.c (print_rtx): Use new access macro.
470
471 * cse.c (insert): Check rtx code before accessing flag.
472
473 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
474 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
475 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
476 convert_const_symbol_ref, make_canonical, make_alternative_compare,
477 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
478 simplify_test_exp, optimize_attrs, simplify_by_exploding,
479 find_and_mark_used_attributes, unmark_used_attributes,
480 add_values_to_cover, simplify_with_current_value,
481 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
482 copy_rtx_unchanging, main): Use new access macros.
483
b7c89afe
TR
4842002-04-22 Tom Rix <trix@redhat.com>
485
486 * expmed.c (init_expmed): Generate shifted constant once.
487
9340544b
ZW
4882002-04-22 Zack Weinberg <zack@codesourcery.com>
489
490 * c-lex.c (lex_charconst): Call convert to get constant in
491 proper type; don't just smash the type field.
492 Fixes PR c/6300.
493
494 * config.gcc: Add list of obsolete configurations. Disallow
495 building these without --enable-obsolete.
496 * doc/install.texi: Document --enable-obsolete and obsoletion
497 policy. Mention obsoletion of individual targets in
498 appropriate places.
499
f942d7a5
RH
5002002-04-22 Richard Henderson <rth@redhat.com>
501
502 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
503
5042002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
505
506 PR f/6138.
507 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
508 (walk_fixup_memory_subreg): Likewise.
509 (fixup_var_refs_insn): Adjust accordingly.
510 (fixup_var_refs_1): Likewise.
511
232b0b45
UW
5122002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
513
514 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
515 LIBPATH_ARCH64_SPEC): Define.
516 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
517 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
518 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
519 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
520
1b61552b
JS
5212002-04-22 Joel Sherrill <joel@OARcorp.com>
522
523 * gthr-rtems.h: Correct prototypes to remove warnings.
524
0fe854a7
RH
5252002-04-22 Richard Henderson <rth@redhat.com>
526
527 PR c/6344
528 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
529
530 * gcse.c (free_insn_expr_list_list): New.
531 (clear_modify_mem_tables): Use it. Fix bit set usage.
532 (canon_list_insert): Use EXPR_LISTs for expressions.
533 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
534
af0d16cd
NB
5352002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
536
537 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
538 file change and include code to _cpp_pop_buffer.
539 * cpphash.h (struct pending_option): Predeclare.
540 (struct cpp_reader): New member next_include_file.
541 (_cpp_pop_file_buffer): Update.
542 (_cpp_push_next_buffer): Update, rename.
543 * cppinit.c (cpp_destroy): Free include chain and pending here.
544 (cpp_finish_options): Simplify.
545 (_cpp_push_next_buffer): Rename and clean up.
546 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
547 Clarify.
548 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
549
0d918572
AH
5502002-04-22 Aldy Hernandez <aldyh@redhat.com>
551
0fe854a7
RH
552 * config/rs6000/altivec.h (vec_xor): Add variant for both args
553 being vector signed int.
554 (vec_andc): Same.
555 (vec_xor): Add variant for both args being vector signed char.
556 Remove redundant variant.
557 (vec_andc): Same.
0d918572 558
77e2c290
DM
5592002-04-21 David S. Miller <davem@redhat.com>
560
561 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
562 compare mode in output RTL.
563
ee2ca2a2
DE
5642002-04-22 David Edelsohn <edelsohn@gnu.org>
565
566 * config/rs6000/rs6000.c (rs6000_override_options): Correct
567 style and formatting of previous patch.
568
894bdff6
AM
5692002-04-22 Alan Modra <amodra@bigpond.net.au>
570
571 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
572 flag_pic for ABI_AIX.
573
562a5c27
NB
5742002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
575
576 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
577 * cppfiles.c (read_include_file): Similarly.
578 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
579 uxstrdup ustrchr, ufputs): Similarly.
580 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
581 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
582 cpp_ideq, parse_identifier, parse_number): Similarly.
583 * cpplib.c (struct directive, dequote_string, D, run_directive,
584 cpp_push_buffer): Similarly.
585 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
586 _cpp_create_definition, check_trad_stringification,
587 cpp_macro_definition): Similarly.
588
9ac3b1be
NB
5892002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
590
591 * cppmacro.c (funlike_invocation_p): Don't step back
592 over CPP_EOF.
593
9dda4cc8
DE
5942002-04-21 David Edelsohn <edelsohn@gnu.org>
595
596 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
597 labelno.
598
20764052
JM
5992002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
600
601 * doc/invoke.texi: Remove Chill references.
602 * doc/gcc.texi: Update last modified date.
603
26b29884
KH
6042002-04-20 Kazu Hirata <kazu@hxi.com>
605
606 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
607 push and pop. Replace add.l with add.w.
608
59184677
TM
6092002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
610
611 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
612 multiply instructions for H8/300H case.
613
b1113e0a
TM
6142002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
615
616 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
617 Bum three instructions from each routine.
618
b03e38e1
NB
6192002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
620
621 * Makefile.in: Update.
622 * decl.c (push_c_function_context, pop_c_function_context,
623 mark_c_function_context): Rename for consistency.
624 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
625 * c-tree.h (push_c_function_context, pop_c_function_context,
626 mark_c_function_context): Rename for consistency.
627 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
628 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
629 * function.c (init_lang_status, save_lang_status,
630 restore_lang_status, mark_lang_status, free_lang_status):
631 Move to langhooks.h.
632 (push_function_context_to, pop_function_context_from,
633 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
634 Update.
635 * function.h (init_lang_status, save_lang_status,
636 restore_lang_status, mark_lang_status, free_lang_status):
637 Move to langhooks.h.
638 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
639 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
640 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
641 LANG_HOOKS_FUNCTION_INITIALIZER): New.
642 (LANG_HOOKS_INITIALIZER): Update.
643 (lhd_do_nothing_f): New.
644 * langhooks.h (struct lang_hooks_for_functions): New.
645 (struct lang_hooks): New hooks.
646 * langhooks.c (lhd_do_nothing_f): New.
647objc:
648 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
649 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
650
db430d26
DM
6512002-04-19 David S. Miller <davem@redhat.com>
652
653 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
654 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
655
0f2a3457
JJ
6562002-04-19 Jakub Jelinek <jakub@redhat.com>
657
658 PR optimization/3756
659 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
660 x = ((int) y < 0) ? cst1 : cst2.
661
ce5e43d0
JJ
6622002-04-19 Jakub Jelinek <jakub@redhat.com>
663
664 PR c/6358
665 * function.c: Reapply patch for c/6358.
666 (expand_function_end): Copy decl_rtl's mode, not
667 current_function_return_rtx mode.
668
6692002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
670
671 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
672 targets.
673
40e7f8ea
TT
6742002-04-19 Tom Tromey <tromey@redhat.com>
675
676 * doc/install.texi (Specific): Update status of Solaris 2.8.
677 For PR libgcj/6158.
678
62a12b27
AS
6792002-04-19 Andreas Schwab <schwab@suse.de>
680
681 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
682 (PUT_REAL): Restore old definition.
683
1405141b
DN
6842002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
685 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
686
687 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
688 binutils 2.11.2 and higher generate smaller binaries than Sun's
689 native tools.
690
303a3927
MM
6912002-04-19 Mark Mitchell <mark@codesourcery.com>
692
693 PR c++/6352
694 * toplev.c (rest_of_compilation): Do not defer functions for which
695 TREE_SYMBOL_REFERENCED has already been set.
696
de80110b
JH
697Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
698
699 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
700 alternative.
701
ab393bf1
NB
7022002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
703
704 * builtins.c: Include langhooks.h.
705 (lang_type_promotes_to): Remove.
706 (expand_builtin_va_arg): Use new hook.
707 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
708 (simple_type_promotes_to): Move to c-typeck.c.
709 * c-common.h (simple_type_promotes_to): Remove.
710 * c-decl.c (duplicate_decls, grokdeclarator): Update.
711 * c-format.c: Include langhooks.h.
712 (check_format_types): Update.
713 * c-tree.h (c_type_promotes_to): New.
714 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
715 (type_lists_compatible_p): Update.
716 * langhooks-def.h (lhd_type_promotes_to): New.
717 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
718 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
719 * langhooks.c (lhd_type_promotes_to): New.
720 * langhooks.h (struct lang_hooks_for_types): New hook.
721 * tree.h (lang_type_promotes_to): Remove.
722objc:
723 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
724
0cd3301b
RH
7252002-04-18 Richard Henderson <rth@redhat.com>
726
58533fa2 727 * function.c: Revert patch for c/6358.
0cd3301b
RH
728
7292002-04-18 Richard Henderson <rth@redhat.com>
730
58533fa2
RH
731 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
732 blocks. Handle multiple references to the TRAP block. Handle
733 non-adjacent THEN and OTHER blocks.
0cd3301b 734
58533fa2
RH
7352002-04-18 Richard Henderson <rth@redhat.com>
736
737 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
738 crash with no type for by-mode libcalls.
739
740 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 741
57174693
BW
7422002-04-18 Bob Wilson <bob.wilson@acm.org>
743
744 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
745 __xtensa_nonlocal_goto): Use a syscall instructions to flush
746 the register windows.
747
46468cd9
ZW
7482002-04-18 Zack Weinberg <zack@codesourcery.com>
749
750 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
751 appropriate. Document need for extended precision even when
752 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
753 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
754 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
755 instead of relying on later syntax error when REAL_WIDTH > 5.
756 * real.c: Define NE based only on whether or not we have a
757 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
758 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
759 define GET_REAL and PUT_REAL as simple memcpy operations; no
760 need to byteswap or round.
761 Use #error instead of #ifdef-ing out the entire file, for
762 prompt error detection.
763
764 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
765
2f82dbf8
DM
7662002-04-18 David S. Miller <davem@redhat.com>
767
768 * config/sparc/sparc.h (BRANCH_COST): Define.
769
770 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
771 does it.
772
566576e7
HPN
7732002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
774
775 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
776 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
777 propagate_block calls after relaxation loop using new variable
778 stabilized_prop_flags.
779
51dcde6f
RH
7802002-04-18 Richard Henderson <rth@redhat.com>
781
782 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
783 (ia64_va_arg): Expect variable sized types by reference.
784 * config/ia64/ia64-protos.h: Update.
46468cd9 785 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
786 ia64_function_arg_pass_by_reference.
787
26406018
RH
7882002-04-18 Richard Henderson <rth@redhat.com>
789
46468cd9
ZW
790 * ifcvt.c: Include except.h.
791 (block_has_only_trap): Break out from find_cond_trap.
792 (find_cond_trap): Use it. Always delete the trap block.
793 (merge_if_block): Allow then block null. Be less simplistic about
794 what insns can end a block.
795 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 796
26406018
RH
797 * config/ia64/ia64.md (trap, conditional_trap): New.
798
a3acf46d
JJ
7992002-04-18 Jakub Jelinek <jakub@redhat.com>
800
801 PR c/6358
802 * function.c (assign_parms): Assign hard current_function_return_rtx
803 register here...
804 (expand_function_end): ...not here.
805
7a228918
NB
8062002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
807
808 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
809 * c-tree.h (c_incomplete_type_error): New.
810 * c-typeck.c (require_complete_type, build_component_ref): Update.
811 (incomplete_type_error): Rename.
812 * langhooks-def.h (lhd_incomplete_type_error): New.
813 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
814 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
815 * langhooks.c (lhd_incomplete_type_error): New.
816 * langhooks.h (struct lang_hooks_for_types): New hook.
817 * tree.c (size_in_bytes): Use new hook.
818 * tree.h (incomplete_type_error): Remove.
819objc:
820 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
821
f18664c1
ZW
8222002-04-18 Zack Weinberg <zack@codesourcery.com>
823
824 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
825 TARGET_FLOAT_FORMAT blocks.
826
8ecab453
GP
8272002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
828
829 * doc/install.texi (Downloading the source): Do not mention Chill
830 any longer, but mention Ada.
831 (Configuration): Do not mention Chill any longer.
832
528d8489
HPN
8332002-04-18 Hans-Peter Nilsson <hp@axis.com>
834
835 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
836
91da27c5
JH
837Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
838
839 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
840 in last patch.
841
a32db605
JJ
8422002-04-18 Jakub Jelinek <jakub@redhat.com>
843
844 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
845 instead of unsigned_type.
846
5a28d8cc
JH
847Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
848
849 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
850 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
851 later.
852
3d980b9f
BS
8532002-04-18 Bernd Schmidt <bernds@redhat.com>
854
855 * attribs.c (vector_type_node_list): New static variable.
856 (handle_vector_size_attribute): Use it to avoid generating a
857 new type node each time we are called.
858
2e676d78
BS
859 * combine.c (subst): Avoid trying to make a vector mode subreg of
860 an integer constant.
861 (gen_lowpart_for_combine): Likewise.
46468cd9 862
58c2956c
RS
8632002-04-18 Roger Sayle <roger@eyesopen.com>
864 Jakub Jelinek <jakub@redhat.com>
865
866 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
867 for integer constant c (if x has unsigned type or sign bit is not
868 set in c). This folds the zero/sign extension into the bit-wise and
869 operation.
870
692efa8e
JJ
8712002-04-18 Jakub Jelinek <jakub@redhat.com>
872
873 PR middle-end/6205
874 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
875 otherwise xorps.
876
1372d4ce
NY
8772002-04-17 NIIBE Yutaka <gniibe@m17n.org>
878
879 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
880
169ce44d
NC
8812002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
882
883 * gcc.c (read_specs): Detect and fail if an attempt is made to
884 rename a spec string to an already existing string.
885
b30d2115
UW
8862002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
887
888 * config/s390/s390.c (legitimize_pic_address): Do not generate
889 illegal address constant without CONST.
890
d6964c30
KG
8912002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
892
893 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
894 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
895
7c82a1ed
UW
8962002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
897
898 PR optimization/6305
899 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
900 to make sure previous reloads are taken into account. Generate
901 better code if one operand is an in-range immediate constant.
902
58db9d1a
AH
9032002-04-16 Andrew Haley <aph@cambridge.redhat.com>
904
905 * doc/install.texi (Building): libgcj requires GNU make.
906
2a732575
JJ
9072002-04-17 Jakub Jelinek <jakub@redhat.com>
908
909 PR bootstrap/6315
910 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
911 even if hard quad and register is not floating.
912 (movtf reg<-mem split): Disallow splitting if hard quad and
913 register is floating.
914 (movtf mem<-reg split): Likewise.
915 * config/sparc/sparc.c (fp_register_operand): New predicate.
916 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
917
75a65e46
ZW
9182002-04-17 Zack Weinberg <zack@codesourcery.com>
919
920 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
921 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
922 (unprotoize.o): Ditto. Build from protoize.c. Define
923 UNPROTOIZE on command line.
924 * protoize.c: Include cppdefault.h. Delete include_defaults.
925 (in_system_include_dir): Use cpp_include_defaults (defined in
926 cppdefault.o).
927 * unprotoize.c: Delete file.
928
650f0e97
AH
9292002-04-17 Aldy Hernandez <aldyh@redhat.com>
930
46468cd9
ZW
931 * config/rs6000/altivec.h (vec_ld): Add array variants.
932 (vec_lde): Same.
933 (vec_ldl): Same.
650f0e97 934
71a0ab0c 9352002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 936 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 937
46468cd9
ZW
938 * config/rs6000/altivec.h: Define __ALTIVEC__.
939 (bool): New.
940 (__pixel): New.
941 (pixel): New.
942 (vec_cfux): New.
943 (vec_vmaddfp): New.
944 (vec_vsldoi): New.
945 Add parentheses to all macro arguments.
71a0ab0c 946
ff2c46ac
RH
9472002-04-16 Richard Henderson <rth@redhat.com>
948
949 PR c++/6320
950 * except.c (remove_eh_handler): Insert inner regions at beginning
951 of sibling chain. Refactor expressions.
952
f1ba94dd
RH
9532002-04-16 Richard Henderson <rth@redhat.com>
954
f0871dfe
RH
955 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
956 * config/sparc/sol2-gas-bi.h: New file.
957 * config.gcc (sparc*-solaris): Add it as needed.
958 * configure.in (AS_SPARC64_FLAG): Remove check.
959 * config.in, configure: Regenerate.
960
961 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
962
9632002-04-16 Richard Henderson <rth@redhat.com>
964
965 * config/mips/mips.c (override_options): Don't override N32 for
966 a 64-bit ISA.
409d3c60 967
f1ba94dd
RH
968 PR 6202
969 * config/mips/mips.md (can_delay): Split out of existing define_delays.
970 (HILO_delay): Set can_delay false.
971
178c3eff
DJ
9722002-04-16 Dale Johannesen <dalej@apple.com>
973
974 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
975 instruction addresses.
976 (rs6000_output_function_epilogue): Likewise.
977
7d6f6369
PC
9782002-04-16 Paolo Carlini <pcarlini@unitus.it>
979
980 * c-parse.in (poplevel, compstmt_start,
981 compstmt_primary_start): Add ending ';', in accordance
982 with POSIX.
983
8947df0c
RH
9842002-04-16 Richard Henderson <rth@redhat.com>
985
986 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
987 Adjust tm_file order to get TARGET_DEFAULT set properly.
988 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
989 * doc/install.texi (sparc-solaris): Update.
990
3148ad6d
DJ
9912002-04-16 Dale Johannesen <dalej@apple.com>
992
993 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
994 comparison operands do not match each other or if modes of
995 conditions do not match result.
996
014cb9b6 9972002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 998
014cb9b6
HP
999 PR target/6305
1000 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 1001 multiword register.
562a69be 1002
014cb9b6 10032002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 1004
8947df0c 1005 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 1006
a9772b60
JJ
10072002-04-16 Jakub Jelinek <jakub@redhat.com>
1008
1009 PR middle-end/6279
1010 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
1011
1012 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
1013
861829ed
RH
10142002-04-15 Richard Henderson <rth@redhat.com>
1015
1016 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
1017 call_really_used_regs too.
1018
bcf2fe9c
RH
10192002-04-15 Richard Henderson <rth@redhat.com>
1020
1021 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
1022
629111c7
DM
10232002-04-15 David S. Miller <davem@redhat.com>
1024
1025 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
1026 as being CLOBBERed.
1027
98ef3137
JJ
10282002-04-16 Jakub Jelinek <jakub@redhat.com>
1029
1030 PR c/6290
1031 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
1032 CONST_VECTOR is { 0, ... 0 }.
1033
0aa911c5
LR
10342002-04-15 Loren J. Rittle <ljrittle@acm.org>
1035
1036 * doc/install.texi (Installing GCC: Configuration): Clarify
1037 the only supported ways to configure gcc.
1038
83248d49 10392002-04-15 Roland McGrath <roland@frob.com>
46468cd9 1040
83248d49
RM
1041 * config.gcc (alpha*-*-gnu*): New target configuration.
1042 * config/alpha/gnu.h: New file for it.
1043 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
1044
b2123dc0
MM
10452002-04-16 Mark Mitchell <mark@codesourcery.com>
1046
1047 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
1048 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
1049 * tree.h (expand_start_stmt_expr): Update prototype.
1050 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
1051 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
1052 on the STMT_EXPR created for the inline function.
46468cd9 1053
8fe2d853
RH
10542002-04-15 Richard Henderson <rth@redhat.com>
1055
1056 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
1057 config/i386/linux-aout.h, config/i386/linux-oldld.h,
1058 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
1059 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
1060 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
1061 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
1062 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
1063 Define __gnu_linux__, not gnu_linux.
1064 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
1065
07cdae91
MM
10662002-04-15 Mark Mitchell <mark@codesourcery.com>
1067
1068 Remove Chill front end.
1069 * gcc.c (default_compilers): Remove Chill entries.
1070 * ch: Remove directory.
1071 * doc/frontends.texi: Remove information about Chill.
1072 * doc/sourcebuild.texi: Likewise.
1073 * doc/standards.texi: Likewise.
1074
41823c5e
DR
10752002-04-15 Douglas B Rupp <rupp@gnat.com>
1076
1077 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
1078 (LONGLONG_STANDALONE): Define.
1079
eb29ddb6
DM
10802002-04-15 David S. Miller <davem@redhat.com>
1081
1082 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
1083 Call emit_library_call with LCT_NORMAL.
1084 (sparc_initialize_trampoline): Use LCT_foo instead of
1085 magic constant in emit_library_call invocations.
1086 (sparc64_initialize_trampoline): Likewise.
1087 (sparc_profile_hook): Likewise.
1088 * config/sparc/sparc.md: Likewise.
1089
1090 * config/sparc/sparc.c (sparc_extra_constraint_check):
1091 Fix type of argument 'c'.
1092 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
1093 Likewise.
1094
bd6bec6b
GDR
10952002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
1096
1097 * diagnostic.h (output_buffer_state): Redefine.
1098 (output_format_decoder): New macro.
1099 (output_prefixing_rule): Likewise.
1100 (output_line_cutoff): Likewise.
1101 (diagnostic_format_decoder): Adjust.
1102 (diagnostic_prefixing_rule): Likewise.
1103 (diagnostic_line_cutoff): Likewise.
1104 (diagnostic_state): Likewise.
1105 (diagnostic_kind_count): Likewise.
1106 (diagnostic_buffer): Now a macro.
1107
1108 * diagnostic.c (diagnostic_buffer): Remove definition.
1109 (output_is_line_wrapping): Adjust.
1110 (set_real_maximum_length): Likewise.
1111 (output_set_maximum_length): Likewise.
1112 (init_output_buffer): Likewise.
1113 (lhd_print_error_function): Likewise.
1114 (output_do_verbatim): Likewise.
1115
ebef4e8c
NB
11162002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
1117
1118 * cpperror.c (print_location): Don't print include chain
1119 if line == 0.
1120 (cpp_begin_message): Update to use DL_ macros.
1121 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
1122 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
1123 cpp_notice, cpp_notice_from_errno): Remove.
1124 (cpp_error, cpp_error_with_line): Update to take a diagnostic
1125 level.
1126 (cpp_errno): New.
1127 * cppexp.c (CPP_ICE): Remove.
1128 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
1129 lex, integer_overflow, _cpp_parse_expr): Update.
1130 * cppfiles.c (read_include_file, find_include_file,
1131 handle_missing_header, _cpp_read_file, remap_filename): Update.
1132 * cpphash.h (enum error_type): Remove.
1133 (_cpp_begin_message): Update.
1134 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
1135 cpp_handle_option, cpp_post_options): Update.
1136 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
1137 skip_whitespace, parse_identifier, parse_slow, parse_string,
1138 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
1139 cpp_interpret_charconst): Update.
1140 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
1141 lex_macro_node, do_undef, glue_header_name, parse_include,
1142 do_include_common, read_flag, do_line, do_linemarker, do_ident,
1143 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
1144 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
1145 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
1146 _cpp_pop_buffer, do_diagnostic): Update.
1147 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
1148 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
1149 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
1150 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
1151 cpp_notice, cpp_notice_from_errno): Remove.
1152 (cpp_error, cpp_error_with_line): Update to take a diagnostic
1153 level.
1154 (cpp_errno): New.
1155 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
1156 collect_args, enter_macro_context, save_parameter, parse_params,
1157 _cpp_create_definition, check_trad_stringification,
1158 cpp_macro_definition): Update.
1159 * cppmain.c (cpp_preprocess_file): Update.
1160 * fix-header.c (read_scan_file): Update.
1161
c19a3859
AS
11622002-04-14 Andreas Schwab <schwab@suse.de>
1163
1164 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
1165
10fdbed6
JD
11662002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1167
1168 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
1169
77660a9a
MM
11702002-04-13 Mark Mitchell <mark@codesourcery.com>
1171
1172 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
1173 not gnu_hurd.
1174
e0ff1ded
HPN
11752002-04-13 Hans-Peter Nilsson <hp@axis.com>
1176
1177 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
1178
2341c7ea
JS
11792002-04-13 Joel Sherrill <joel@OARcorp.com>
1180
1181 * config/sparc/t-elf: Enable v8 multilibs. Impacts
1182 sparc-elf and sparc-rtems targets.
1183
d29350c0
MM
11842002-04-13 Mark Mitchell <mark@codesourcery.com>
1185
1186 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
1187 defined, and __gnu_hurd__ wherever __GNU__ is defined.
1188 * arm/linux-elf.h: Likewise.
1189 * cris/aout.h: Likewise.
1190 * cris/linux.h: Likewise.
1191 * i370/linux.h: Likewise.
1192 * i386/gnu.h: Likewise.
1193 * i386/linux-aout.h: Likewise.
1194 * i386/linux-oldld.h: Likewise.
1195 * i386/linux.h: Likewise.
1196 * i386/linux64.h: Likewise.
1197 * ia64/linux.h: Likewise.
1198 * m68k/linux-aout.h: Likewise.
1199 * m68k/linux.h: Likewise.
1200 * mips/linux.h: Likewise.
1201 * pa/pa-linux.h: Likewise.
1202 * pj/linux.h: Likewise.
1203 * rs6000/sysv4.h: Likewise.
1204 * s390/linux.h: Likewise.
1205 * sh/linux.h: Likewise.
1206 * sparc/linux-aout.h: Likewise.
1207 * sparc/linux.h: Likewise.
1208 * sparc/linux64.h: Likewise.
1209 * xtensa/linux.h: Likewise.
1210
fc552851
RS
12112002-04-13 Richard Sandiford <rsandifo@redhat.com>
1212
1213 * stmt.c (check_unique_operand_names): Expect operand names to
1214 be strings rather than identifiers. Use simple_cst_equal to
1215 compare them.
1216 (resolve_operand_name_1): Make same identifier to string change here.
1217 * c-parse.in (asm_operand): Convert a named operand into a string.
1218 * cp/parse.y (asm_operand): Likewise.
1219
1d405c5e
AS
12202002-04-13 Andreas Schwab <schwab@suse.de>
1221
1222 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
1223
c740732f
MM
12242002-04-12 Mark Mitchell <mark@codesourcery.com>
1225
1226 Revert these changes:
1227
1228 2002-04-06 Mark Mitchell <mark@codesourcery.com>
1229
1230 PR c++/5571
1231 * stor-layout.c (layout_decl): Reset the RTL for the decl.
1232
3fc602a0
RH
12332002-04-12 Richard Henderson <rth@redhat.com>
1234
1235 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
1236 (sparc*-*-solaris): Clean up header files.
1237 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
1238 and plan on generating 64-bit code.
1239 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
1240 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
1241 * config/sparc/sol2-sld-64.h: Rename ...
1242 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
1243 for AS_SPARC64_FLAG not defined.
1244 * config/sparc/sol2-gld-bi.h: New.
1245 * config/sparc/sol2-sld.h: Remove.
1246 * config/sparc/sol26-sld.h: New.
1247 * config/sparc/sol2.h: Tidy comments.
1248 * doc/install.texi: Document sparc-solaris configury changes.
1249
2f15e255
RH
12502002-04-12 Richard Henderson <rth@redhat.com>
1251
1252 * recog.c (offsettable_address_p): Match the logic in adjust_address.
1253
1254 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
1255 in 64-bit mode only. Use only for 32-bit or MEDLOW.
1256
cc8475cb
RO
12572002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1258
1259 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
1260
6f133a4a
JL
1261Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
1262
ef1b8858 1263 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
1264 constrain_operands.
1265
1329e600
DR
12662002-04-12 Douglas B Rupp <rupp@gnat.com>
1267
1268 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
1269 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
1270 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 1271 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
1272 * config/i386/t-interix (USER_H): Remove.
1273
0339d239
DD
12742002-04-12 DJ Delorie <dj@redhat.com>
1275
1276 * integrate.c (compare_blocks): Make comparisons safe for when
1277 sizeof(int) < sizeof(char *).
1278 (find_block): Likewise.
1279
cc4d5fec
JH
12802002-04-12 Jan Hubicka <jh@suse.cz>
1281 David Edelsohn <edelsohn@gnu.org>
1282
1283 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
1284 registers.
1285 (symbol_ref_operand): New.
1286 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
1287 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
1288
93215a1b
AS
12892002-04-12 Andreas Schwab <schwab@suse.de>
1290
1291 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
1292 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
1293 overrides the definition in config/svr4.h.
46468cd9 1294
1d80248e
EN
12952002-04-12 Eric Norum <eric.norum@usask.ca>
1296
1297 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
1298 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
1299 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
1300 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
1301 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
1302 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
1303 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
1304 definitions to config/rtems.h and make the targets more similar.
1305
fa1591cb
RK
1306Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1307
fa06ab5c
RK
1308 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
1309 POINTERS_EXTEND_UNSIGNED.
1310 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
1311 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
1312
fa1591cb
RK
1313 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
1314 not specified.
1315
12e85a0e
R
1316Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
1317
1318 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
1319 depends on TARGET_SHMEDIA, not TARGET_SH5.
1320
1ab3e58a
HPN
13212002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
1322
1323 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
1324 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
1325
18778292
R
1326Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
1327
1328 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
1329 no r0 clobber.
1330
9002507c
AS
13312002-04-12 Andreas Schwab <schwab@suse.de>
1332
1333 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
1334
9be40833
RH
13352002-04-12 Richard Henderson <rth@redhat.com>
1336
1337 PR bootstrap/4191
1338 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
1339
1340 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
1341 modes spanning multiple hard regs.
46468cd9 1342
9be40833
RH
1343 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
1344
3d9268b6
JDA
13452002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1346
1347 * pa.c (pa_output_function_prologue): Don't accumulate the total
1348 number of code bytes when using TARGET_64BIT, or gas, SOM and not
1349 the portable runtime.
1350 (output_deferred_plabels): Handle 64bit plabels.
1351 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
1352 generating pic code using the GAS assembler for object formats that
1353 are not SOM (ie., ELF32 and ELF64).
1354 (output_millicode_call): Check attribute type if attribute length is 28.
1355 Likewise use $PIC_pcrel$0. Only call get_attr_length and
1356 dbr_sequence_length once.
1357 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
1358 dbr_sequence_length once.
1359 * pa.h (TARGET_SOM): Define if not defined.
1360 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
1361 with GAS and not SOM.
1362 (jump, call_internal_reg, call_value_internal_reg): Likewise.
1363 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
1364
d360fd18
DB
13652002-04-11 David O'Brien <obrien@FreeBSD.org>
1366
1367 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
1368 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
1369 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
1370 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
1371 elfos.h and dbxelf.h values are fine now.
1372 * config/i386/freebsd.h, config/alpha/freebsd.h
1373 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
1374
5b8fcab6
DB
13752002-04-11 David O'Brien <obrien@FreeBSD.org>
1376
1377 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
1378 or set Acpu or Amachine. Reformat.
1379 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
1380 define.
1381 (LINK_SPEC): Do not need to undef.
1382 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
1383 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
1384 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
1385 define.
1386 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
1387 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
1388 (LINK_SPEC): Do not need to undef.
1389 (DONT_USE_BUILTIN_SETJMP): Do not define.
1390 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
1391 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
1392 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
1393 Remove trailing spaces.
1394 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
1395 __ELF__, or set Acpu or Amachine. Reformat.
1396 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
1397 define.
1398
fee42cc1
DB
13992002-04-11 David O'Brien <obrien@FreeBSD.org>
1400
1401 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
1402 all other *-*-freebsd* targets.
1403
77a403e4
RH
14042002-04-11 Richard Henderson <rth@redhat.com>
1405
1406 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
1407
cf0005c6
DB
14082002-04-11 David O'Brien <obrien@FreeBSD.org>
1409
1410 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
1411 Include {cpu}/{cpu}.h thru tm_file.
1412 (alpha*-*-linux*ecoff): Remove target.
1413 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
1414 (LINK_SPEC): Remove, is not OS independent.
1415 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
1416 (LINK_SPEC): Do not need to #undef any longer.
1417 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
1418 any longer.
1419 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
1420 __ELF__.
1421 (LINK_SPEC): Moved here from alpha/elf.h.
1422 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
1423 SUB_CPP_PREDEFINES.
1424 * config/alpha/linux-ecoff.h: Remove.
1425 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
1426 (CPP_SPEC): Define _POSIX_SOURCE as needed.
1427 (CPP_SUBTARGET_SPEC): Do not define.
1428 (LINK_SPEC): Do not need to #undef any longer.
1429 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
1430 * config/alpha/vms.h: Likewise.
1431
9be40833 14322002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
1433
1434 * doc/extend.texi: Remove old claim that typedefs cannot have
1435 an alignment attribute.
1436
010f87c4
JJ
14372002-04-11 Jakub Jelinek <jakub@redhat.com>
1438
1439 PR optimization/6177
1440 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
1441 bitpos is 0 and bitsize CONCAT size.
1442
578fc63d
JJ
14432002-04-11 Jakub Jelinek <jakub@redhat.com>
1444
1445 PR c/6223
1446 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
1447
bf9b85ce
DB
14482002-04-10 David O'Brien <obrien@FreeBSD.org>
1449
1450 * config/alpha/freebsd.h: Minor reformatting.
1451 (CPP_SPEC): Define ELF and add cpp_subtarget.
1452 (ASM_SPEC): No longer needed.
1453
7425707d
RH
14542002-04-11 Richard Henderson <rth@redhat.com>
1455
1456 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
1457 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
1458 (dimode mem/zero splitter): New.
1459
1a05e874
HPN
14602002-04-11 Hans-Peter Nilsson <hp@axis.com>
1461
1462 * config/cris/cris.c (cris_override_options): Tweak error message
1463 for PIC not implemented.
1464
1465 * config/cris/cris.h: Tweak comments related to parameter-passing.
1466
1467 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
1468
6f3d0447
RH
14692002-04-10 Richard Henderson <rth@redhat.com>
1470
1471 * except.c (add_ehl_entry): Allow duplicates after landing pad
1472 creation.
1473
174bf2b1
DE
14742002-04-10 David Edelsohn <edelsohn@gnu.org>
1475
1476 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
1477
03f10472
TM
14782002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
1479
1480 * c-decl.c (c_init_decl_processing): Move generation of
1481 decls for g77_integer_type_node and friends from here ...
1482 * c-common.c (c_common_nodes_and_builtins): ... to here.
1483
2f460a0a
UW
14842002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
1485
1486 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
1487 is only used as frame pointer when frame_pointer_needed is true.
1488
0be5cf85
RE
14892002-04-10 Richard Earnshaw <rearnsha@arm.com>
1490
1491 PR target/817
1492 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
1493 for the fact that the pool entry uses two words.
1494 (movdf_hard_insn): Similarly. Also, ADR instruction can span
1495 1k bytes.
1496 (movdf_soft_insn): Similarly.
1497 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
1498 for the fact that the pool entry uses three words.
1499
bf6d4777
RS
15002002-04-10 Richard Sandiford <rsandifo@redhat.com>
1501
1502 * config/mips/mips.c (mips_va_arg): When using the struct version
1503 of the EABI va_list, allow arguments in the register save area to
1504 take up less room than a stack argument.
1505
c2e9dc85
RH
15062002-04-10 Richard Henderson <rth@redhat.com>
1507
1508 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
1509 if EXPAND_INITIALIZER.
1510
bc8e8e97
RH
15112002-04-09 Richard Henderson <rth@redhat.com>
1512
1513 * config/alpha/alpha.md (movdi_er_maybe_g): New.
1514 * config/alpha/alpha.c (alpha_expand_mov): Use it.
1515
a6a063b8
AM
15162002-04-10 Alan Modra <amodra@bigpond.net.au>
1517
1518 PR optimization/6233
1519 * rtlanal.c (pure_call_p): New function.
1520 * rtl.h (pure_call_p): Declare.
1521 * loop.c (prescan_loop): Use it to set has_nonconst_call.
1522 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
1523
7b2e1077
EC
15242002-04-09 Eric Christopher <echristo@redhat.com>
1525
1526 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
1527 information to .comm directive.
1528
d8a50944
RH
15292002-04-09 Richard Henderson <rth@redhat.com>
1530
1531 PR c/5078
1532 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
1533
6a58eee9
RH
15342002-04-09 Richard Henderson <rth@redhat.com>
1535
1536 * basic-block.h (flow_delete_block_noexpunge): Declare.
1537 (expunge_block_nocompact): Declare.
1538 * cfg.c (expunge_block_nocompact): Split out from ...
1539 (expunge_block): ... here.
1540 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
1541 (flow_delete_block_noexpunge): Split out from ...
1542 (flow_delete_block): ... here.
1543 * cfgcleanup.c (delete_unreachable_blocks): Compact while
1544 removing dead blocks.
1545 * except.c (exception_handler_labels): Remove.
1546 (exception_handler_label_map): New.
1547 (struct eh_region): Add aka member.
1548 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
1549 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
1550 (for_each_eh_label, for_each_eh_label_1): New.
1551 (init_eh): Register exception_handler_label_map.
1552 (free_eh_status): Use free_region.
1553 (find_exception_handler_labels): Use the map, not the list.
1554 (remove_exception_handler_label): Likewise.
1555 (maybe_remove_eh_handler): Likewise.
1556 (remove_eh_handler): Use the region aka bitmap.
1557 * except.h (exception_handler_labels): Remove.
1558 (for_each_eh_label): Declare.
1559 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
1560 * loop.c (invalidate_loops_containing_label): New.
1561 (find_and_verify_loops): Use it. Use for_each_eh_label.
1562 * sched-rgn.c (is_cfg_nonregular): Use
1563 current_function_has_exception_handlers.
1564
b47374fa
RH
15652002-04-09 Richard Henderson <rth@redhat.com>
1566
1567 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
1568 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
1569 Do not return changed status.
1570 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
1571 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
1572 New functions that do return changed status.
1573 * sbitmap.h: Update decls.
1574 * gcse.c, lcm.c: Use _cg functions as needed.
1575
1951818c
R
1576Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
1577
1578 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
1579 (sh64-*-elf*, sh-*-rtemself*): Likewise.
1580 * config/sh/embed_bb.c: New file.
1581 * config/sh/embed-elf.h: New file.
1582 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
1583 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
1584 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
1585 __PTRDIFF_TYPE__ .
1586 (SUBTARGET_CPP_PTR_SPEC): Don't define.
1587 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
1588 Add subtarget_asm_endian_spec.
1589 (ASM_SPEC): Use subtarget_asm_endian_spec.
1590 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
1591 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
1592 (WCHAR_UNSIGNED): Define.
1593 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
1594 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
1595 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
1596 Fix value.
1597 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
1598 (sh_adjust_cost): Likewise.
1599 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
1600 __PTRDIFF_TYPE__ .
1601 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
1602 (WCHAR_TYPE_SIZE): Likewise.
1603 (ASM_SPEC): Use subtarget_asm_endian_spec.
1604 (SH_ELF_WCHAR_TYPE): #undef/ #define.
1605 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
1606 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
1607 (MAX_WCHAR_TYPE_SIZE): Don't #define .
1608 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
1609 (USER_LABEL_PREFIX): Don't #undef /#define .
1610 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
1611 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
1612 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
1613 (ASM_SPEC): Likewise.
1614 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
1615 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
1616 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
1617 (LIB2FUNCS_EXTRA): Define.
1618 * t-sh64 (LIB2FUNCS_EXTRA): Define.
1619 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
1620 (LIB1ASMFUNCS_CACHE): Define.
1621 (LIB2FUNCS_EXTRA): Redefine empty.
1622
34295799
RH
16232002-04-08 Richard Henderson <rth@redhat.com>
1624
1625 * reorg.c (get_branch_condition): Use reversed_comparison_code.
1626
e8766a39
SC
16272002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1628
1629 * config/m68hc11/larith.asm (__map_data_section): Fix condition
1630 and optimize for size.
1631 (__do_global_ctors): Fix pointer comparison.
1632 (__do_global_dtors): Likewise.
1633
f451b552
DM
16342002-04-09 David S. Miller <davem@redhat.com>
1635
1636 * config/sparc/sparc.c (sparc_extra_constraint_check): New
1637 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
1638 allow reloading pseudos.
1639 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
1640 * config/sparc/sparc-protos.h: Declare it.
1641
1642 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
1643 unsigned comparison warning.
1644 (output_restore_regs): Mark leaf_function as unused.
1645
1ce7f3c2
RK
1646Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1647
1648 * expr.c (is_aligning_offset): New function.
1649 (expand_expr, case COMPONENT_EXPR): Call it.
1650
7a31a340
DM
16512002-04-08 David S. Miller <davem@redhat.com>
1652
1653 PR target/6082
1654 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
1655
1656 Make init_priority work on Sparc when using GNU ld.
1657 * config/sparc/linux.h, config/sparc/linux64.h,
1658 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
1659 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
1660 * config/sparc/sol2-gld.h: New file to do the same.
1661 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
1662 sparc/sol2-gld.h to tm_file.
1663
1664 PR optimization/4328
1665 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
1666 * doc/md.texi: Document it.
1667 * config/sparc/sparc.md (movdi_insn_sp64_novis,
1668 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
1669 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
1670 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
1671 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
1672
11579f33
AJ
16732002-04-08 Andreas Jaeger <aj@suse.de>
1674
1675 * stmt.c (expand_asm_operands): Revert last patch from Richard
1676 Henderson.
1677
b57215d9
GP
16782002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1679
1680 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
1681 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
1682
16832002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1684
1685 * doc/contrib.texi (Contributors): Add David O'Brien.
1686
534d0cc0
AM
16872002-04-08 Alan Modra <amodra@bigpond.net.au>
1688
1689 * configure.in (auto-build.h): Use target_alias and build_alias
1690 when running configure.
1691 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
1692 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
1693 * configure: Regenerate.
1694
19fe522a
DM
16952002-04-07 David S. Miller <davem@redhat.com>
1696
1697 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
1698
bf2d0b8e
JDA
16992002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
1700
1701 PR 5933
1702 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
1703 generating 32-bit pic code.
1704
477cdac7
JT
17052002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
1706
1707 * cppinit.c (cpp_create_reader): Initialize
1708 discard_comments_in_macro_exp.
1709 (COMMAND_LINE_OPTIONS): Add "-CC" option.
1710 (cpp_handle_option): Handle "-CC" option.
1711 * cpplex.c (save_comment): If saving a C++ comment in
1712 a directive, convert it to a C comment.
1713 (_cpp_lex_direct): Pass second comment start character to
1714 save_comment to indicate comment type.
1715 * cpplib.c (_cpp_handle_directive): If processing
1716 a "#define" directive and discard_comments_in_macro_exp
1717 is false, re-enable saving of comments.
1718 (lex_macro_node): If discard_comments_in_macro_exp is false,
1719 discard any comments before the macro identifier.
1720 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
1721 member.
1722 * cppmacro.c (cpp_get_token): If expanding a macro while
1723 processing a directive, discard any comments we might encounter.
1724 (parse_params): If discard_comments_in_macro_exp is false,
1725 ignore comments in the macro parameter list.
1726 * gcc.c (cpp_unique_options): Add "-CC" option.
1727 (option_map): Map "--comments-in-macros" to "-CC".
1728 * doc/cppopts.texi: Document "-CC" option.
1729 * f/lang-specs.h: Add "-CC" option.
1730 * testsuite/gcc.dg/cpp/maccom1.c: New test.
1731 * testsuite/gcc.dg/cpp/maccom2.c: New test.
1732 * testsuite/gcc.dg/cpp/maccom3.c: New test.
1733 * testsuite/gcc.dg/cpp/maccom4.c: New test.
1734 * testsuite/gcc.dg/cpp/maccom5.c: New test.
1735 * testsuite/gcc.dg/cpp/maccom6.c: New test.
1736
f1526122
JDA
17372002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
1738
1739 PR middle-end/6180
1740 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
1741
b1896e61
MM
17422002-04-06 Mark Mitchell <mark@codesourcery.com>
1743
0154eaa8
MM
1744 PR c++/5571
1745 * stor-layout.c (layout_decl): Reset the RTL for the decl.
1746
b1896e61
MM
1747 PR opt/5120
1748 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
1749 RTX_UNCHANGING_P for the functions arguments when a tail call
1750 is made.
1751
b0148884
JM
17522002-04-06 Jason Merrill <jason@redhat.com>
1753
1754 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
1755 (parse_options_and_default_flags): Set them appropriately.
1756 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
1757
392fc5b0
HPN
17582002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
1759
1760 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
1761 here.
1762
1763 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
1764 semicolon.
1765
1766 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
1767 types come in by-reference. Fix typo in comment.
1768
2d69e3cb
DM
17692002-04-05 David S. Miller <davem@redhat.com>
1770
1771 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
1772 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
1773 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
1774 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
1775
17762002-04-05 David S. Miller <davem@redhat.com>
1777
1778 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
1779 are not going to emit return instructions, emit at least a nop
1780 for the sake of sane backtraces.
1781
5f9fb0e3
RH
17822002-04-05 Richard Henderson <rth@redhat.com>
1783
1784 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
1785
49f37a0d
JJ
17862002-04-05 Jakub Jeilnek <jakub@redhat.com>
1787
1788 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
1789
974a3101
AO
17902002-04-05 Alexandre Oliva <aoliva@redhat.com>
1791
1792 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
1793 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
1794 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
1795
2e04a694
AS
17962002-04-05 Andreas Schwab <schwab@suse.de>
1797
a40179bd 1798 * c-convert.c: Include c-common.h.
2e04a694
AS
1799 * Makefile.in (c-convert.o): Updated.
1800
1f785b7c
JJ
18012002-04-05 Jakub Jelinek <jakub@redhat.com>
1802
1803 * mklibgcc.in: Use separate libgcc.map for each multilib.
1804 * Makefile.in (distclean): Don't remove libgcc.map here.
1805
4d2fb38b
JJ
18062002-04-05 Jakub Jelinek <jakub@redhat.com>
1807
1808 * Makefile.in (s-mlib): Handle --disable-multilib by separate
1809 genmultilib invocation.
1810
bb63e5a0
RS
18112002-04-04 Richard Sandiford <rsandifo@redhat.com>
1812
1813 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
1814 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
1815 to num_gprs for symmetry.
1816 * config/mips/mips.c: Adjust accordingly.
1817
8ab80eaa
NB
18182002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
1819
1820 * c-common.c (truthvalue_conversion): Rename, update.
1821 * c-common.h (c_common_truthvalue_conversion): New.
1822 * c-convert.c (convert): Update.
1823 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
1824 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
1825 * c-typeck.c (build_binary_op, build_unary_op,
1826 build_conditional_expr): Update.
1827 * fold-const.c (constant_boolean_node, fold): Use langhook.
1828 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
1829 * langhooks.h (struct lang_hooks): New hook.
1830 * stmt.c (expand_decl_cleanup): Use langhook.
1831 * tree.h (truthvalue_conversion): Remove.
1832objc:
1833 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
1834
a2e9374a
AM
18352002-04-05 Alan Modra <amodra@bigpond.net.au>
1836
1837 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
1838 Add rules to make null object file.
1839
64d08263
JB
18402002-04-04 Jim Blandy <jimb@redhat.com>
1841
1842 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
1843 macro formal parameter names.
1844
aa7634dd
DM
18452002-04-04 David S. Miller <davem@redhat.com>
1846
1847 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
1848
ecc114f7
RH
18492002-04-04 Richard Henderson <rth@redhat.com>
1850
1851 PR middle-end/5099
1852 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
1853 Support copies into and out of memory. Don't accept allows_reg
1854 and allows_mem as gospel.
1855
c4484b8f
RH
18562002-04-04 Richard Henderson <rth@redhat.com>
1857
1858 PR opt/6165
1859 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
1860 (write_dependence_p): Likewise.
1861
39002160
RH
18622002-04-04 Richard Henderson <rth@redhat.com>
1863
1864 * predict.c (estimate_bb_frequencies): Do frequency calculation
1865 with a volatile temporary.
1866
f53ebe71
UW
18672002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
1868
1869 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
1870
15e0ecab
JJ
18712002-04-04 Jakub Jelinek <jakub@redhat.com>
1872
1873 PR c++/6119
1874 * final.c (final_start_function): Don't bump profile_label_no here...
1875 (final_end_function): ...but here.
1876
ffd386b0
JJ
18772002-04-04 Jakub Jelinek <jakub@redhat.com>
1878
1879 * config/sparc/sparc.md (pic): New attribute.
1880 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
1881 into stack slots.
1882 (split after do_builtin_setjmp_setup): New.
1883
8b156b3e
JJ
18842002-04-04 Jakub Jelinek <jakub@redhat.com>
1885
1886 PR fortran/6106
1887 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
1888 change.
1889
014c0998
JJ
18902002-04-04 Jakub Jelinek <jakub@redhat.com>
1891
1892 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
1893 UNITS_PER_WORD for zero sized aggregates.
1894
4d8611d9
DM
18952002-04-03 David S. Miller <davem@redhat.com>
1896
1897 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
1898 one-character spec for this, just use %(link_gcc_c_sequence).
1899
b03ad99d
DM
19002002-04-03 David S. Miller <davem@redhat.com>
1901
1902 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
1903 handling.
1904
823fbbce
JDA
19052002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
1906
1907 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
1908 (DWARF_FRAME_RETURN_COLUMN): Move.
1909 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1910 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
1911 * pa.c (except.h, predict.h): Include.
1912 (FRP): Delete.
1913 (store_reg_modify, set_reg_plus_d): Revise prototypes.
1914 (output_ascii): Add cast.
1915 (store_reg_modify): Revise to add frame notes.
1916 (set_reg_plus_d): Likewise.
1917 (compute_frame_size): Include space for eh data registers in frame if
1918 the current function calls eh_return.
1919 (hppa_expand_prologue): Ensure register %r2 is saved if the current
1920 function calls eh_return. Save eh data registers if the current
1921 function calls eh_return. Fix code to add frame notes. Emit
1922 blockage to prevent insns with frame notes being scheduled in the
1923 delay slot of calls.
1924 (hppa_expand_epilogue): Restore eh data registers and do final stack
1925 adjustment if the current function calls eh_return. Don't add frame
1926 notes.
1927 (output_call): Revise for change in length of call insn. Don't do
1928 return pointer adjustment for an unconditional jump in the delay slot
1929 of a call when using frame notes.
1930 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
1931 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
1932 (ARG_POINTER_CFA_OFFSET): Define.
1933 * pa.md (return_external_pic): New pattern.
1934 (prologue): Correct formatting. Use return_external_pic if current
1935 function calls eh_return.
1936 (call_internal_symref, call_value_internal_symref,
1937 sibcall_internal_symref, sibcall_value_internal_symref): Change default
1938 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
1939 respectively.
1940 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
1941
1942 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
1943 list of targets to check using "nop" insn.
1944 * configure: Rebuilt.
1945
4078e224
AM
19462002-04-04 Alan Modra <amodra@bigpond.net.au>
1947
1948 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
1949
bbd7687d
DM
19502002-04-03 David S. Miller <davem@redhat.com>
1951
1952 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
1953 library sequence passed to the linker.
1954 (LINK_COMMAND_SPEC): Use it.
1955 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
1956 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
1957 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1958
659e5a7a
JM
19592002-04-03 Jason Merrill <jason@redhat.com>
1960
1961 * except.c (struct eh_status): Remove protect_list.
1962 (begin_protect_partials, end_protect_partials): Remove.
1963 (add_partial_entry): Remove.
1964 * except.h: Remove prototypes.
1965
1966 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
1967 expand_decl_cleanup_eh.
1968
1969 PR c++/5636
1970 * tree.h (CLEANUP_EH_ONLY): New macro.
1971 * stmt.c (expand_decl_cleanup_eh): New fn.
1972 (expand_cleanups): Check CLEANUP_EH_ONLY.
1973 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
1974 Use expand_decl_cleanup_eh.
1975 (expand_stmt): Adjust.
1976 * c-common.h: Adjust prototype.
1977
053d3344
HPN
19782002-04-04 Hans-Peter Nilsson <hp@axis.com>
1979
1980 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
1981 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
1982 (cris_target_asm_function_epilogue): Ditto.
1983 (cris_initial_frame_pointer_offset): Ditto.
1984 (cris_simple_epilogue): Ditto.
1985 (cris_expand_builtin_va_arg): Variable-size types come in
1986 by-reference.
1987
61ab5260
DM
19882002-04-03 David S. Miller <davem@redhat.com>
1989
1990 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
1991 little-endian.
1992 (set_fast_math): Correct 'fsr' type.
1993
ef4f94ac
RH
19942002-04-03 Richard Henderson <rth@redhat.com>
1995
36c2272c 1996 PR opt/3569
ef4f94ac
RH
1997 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
1998 * toplev.c (check_global_declarations): Use it.
1999 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
2000 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2001 (LANG_HOOKS_DECLS): Add it.
2002 * langhooks.c (lhd_warn_unused_global_decl): New.
2003 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2004 * c-objc-common.c (c_warn_unused_global_decl): New.
2005 * c-tree.h (c_warn_unused_global_decl): Declare.
2006 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2007
599bba86
NB
20082002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
2009
2010 * langhooks-def.h (lhd_set_decl_assembler_name,
2011 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2012 (LANG_HOOKS_INITIALIZER): Update.
2013 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
2014 * langhooks.h (struct lang_hooks): New hook.
2015 * tree.c (set_decl_assembler_name): Move to langhooks.c.
2016 (lang_set_decl_assembler_name): Remove.
2017 (init_obstacks): Don't set hook.
2018 (decl_assembler_name): New function.
2019 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
2020 (decl_assembler_name): New.
2021 (lang_set_decl_assembler_name): Remove.
2022
cf7b8b0d
JJ
20232002-04-03 Jakub Jelinek <jakub@redhat.com>
2024
2025 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
2026 works properly with .hidden symbols.
2027 * configure: Rebuilt.
2028 * config.in: Rebuilt.
2029 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
2030 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
2031 properly with .hidden symbols.
2032
faf6db38
JJ
20332002-04-03 Jakub Jelinek <jakub@redhat.com>
2034
2035 PR middle-end/6102
2036 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
2037 USE argument.
2038
68c17f30
RH
20392002-04-03 Richard Henderson <rth@redhat.com>
2040
2041 PR opt/4120
2042 * sched-rgn.c (sets_likely_spilled): New.
2043 (sets_likely_spilled_1): New.
2044 (add_branch_dependences): Use it.
2045
6584b4aa
RH
20462002-04-02 Richard Henderson <rth@redhat.com>
2047
2048 PR opt/4311
2049 * loop.h (LOOP_FIRST_PASS): New.
2050 * loop.c (strength_reduce): Mind it when deciding to unroll.
2051 * toplev.c (rest_of_compilation): Set it.
2052
0acf409f
DM
20532002-04-02 David S. Miller <davem@redhat.com>
2054
2055 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
2056 mems_ok_for_ldd_peep when the order of the loads being examined
2057 is reversed.
2058 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
2059 existing comment to increase comprehension of this situation.
2060
85654444
ZW
20612002-04-02 Zack Weinberg <zack@codesourcery.com>
2062
2063 * config/sh/sh.md: Don't use union real_extract.
2064
543828ca
RH
20652002-04-02 Richard Henderson <rth@redhat.com>
2066
2067 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
2068
39ed301b
DB
20692002-04-02 David O'Brien <obrien@FreeBSD.org>
2070
2071 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
2072 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
2073 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
2074 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
2075 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
2076 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
2077 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
2078 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
2079 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
2080 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
2081 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
2082 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
2083 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
2084 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
2085 Include as many configury headers via tm_file as possible. This
2086 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
2087 * config/openbsd-oldgas.h: New file.
2088 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
2089 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
2090 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
2091 config/i386/i386-coff.h, config/i386/i386-interix.h,
2092 config/i386/iscdbx.h, config/i386/linux-aout.h,
2093 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
2094 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
2095 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
2096 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
2097 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
2098 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
2099 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
2100 config/i386/vxi386.h: Do not directly include configury headers.
2101 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
2102 Directly include configury headers that are no longer automatically
2103 included by the above headers.
2104 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
2105 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
2106 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
2107 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
2108 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
2109 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
2110 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
2111 (TARGET_VERSION): Define.
2112 * config/i386/beos-elf.h, config/i386/freebsd.h,
2113 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
2114 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
2115 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
2116 config/i386/sco5.h, config/i386/sysv4.h
2117 (TARGET_VERSION): Do not need to protect.
2118 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
2119 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
2120 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
2121 config/i386/i386-interix.h, config/i386/linux-aout.h,
2122 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
2123 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
2124 (YES_UNDERSCORES): Do not define - not needed.
2125 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
2126 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
2127 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
2128 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
2129 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
2130 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
2131 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
2132 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
2133
9432c136
EB
21342002-04-02 Eric Botcazou <ebotcazou@multimania.com>
2135 Richard Henderson <rth@redhat.com>
2136
2137 PR c/5484
2138 * function.c (assign_temp): Accept either type or decl argument.
2139 Detect variables whose size is too large to fit into an integer.
2140 * stmt.c (expand_decl): Pass the decl, not the type.
2141
058b1275
DB
21422002-04-02 David O'Brien <obrien@FreeBSD.org>
2143
2144 * protoize.c: Match include directory usage with cppdefault.c.
2145
5add6d1a 21462002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 2147 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
2148
2149 * combine.c (simplify_comparison): Avoid narrowing a comparison
2150 with a paradoxical subreg when doing so would drop signficant bits.
2151
1e533e4b
SE
21522002-04-02 Steve Ellcey <sje@cup.hp.com>
2153
2154 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
2155 if POINTERS_EXTEND_UNSIGNED is defined.
2156
7a145e92
RH
21572002-04-02 Richard Henderson <rth@redhat.com>
2158
2159 PR opt/3967
2160 * local-alloc.c (contains_replace_regs): LO_SUM may contain
2161 replace regs.
2162
3a079822
RH
21632002-04-02 Richard Henderson <rth@redhat.com>
2164
2165 * doc/standards.texi: Document required freestanding libc entry points.
2166
c94ccb87
AM
21672002-04-02 Alan Modra <amodra@bigpond.net.au>
2168
2169 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
2170 associated splitter. Remove MQ constraint.
2171 (ctrdi_internal4): Correct CCmode clobber.
2172
fe660a1a
JDA
21732002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
2174
2175 * milli64.S ($$dyncall): New function.
2176 * t-linux (LIB1ASMFUNCS): Revise module list.
2177 (LIB1ASMSRC): Use pa/milli64.S.
2178
eadc0202
RH
21792002-04-02 Richard Henderson <rth@redhat.com>
2180
2181 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
2182 rename solaris_sys_varargs_h.
2183
a1471322
RK
2184Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2185
2186 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
2187 the same mode as its component.
2188
c8b94768
RH
21892002-04-02 Richard Henderson <rth@redhat.com>
2190
2191 PR opt/190
2192 * final.c (this_is_asm_operands): Export.
2193 * output.h (this_is_asm_operands): Declare.
2194 * config/i386/i386.c (print_operand): Error odd asm operands.
2195
161eb4fc
RH
21962002-04-02 Richard Henderson <rth@redhat.com>
2197
2198 PR opt/420
2199 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
2200
b88a94c6
RH
22012002-04-01 Richard Henderson <rth@redhat.com>
2202
2203 PR target/1538
2204 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
2205 * fixinc/fixincl.x: Rebuild.
2206
72e32876
RH
22072002-04-01 Richard Henderson <rth@redhat.com>
2208
2209 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
2210 (atomic_alloc, atomic_free): New.
2211 (SIZE, MASK_FOR, PTR_IN): New.
2212 (emergency_reg_state, emergency_reg_state_free): New.
2213 (emergency_labeled_state, emergency_labeled_state_free): New.
2214 (reg_state_alloced, labeled_state_alloced): New.
2215 (alloc_reg_state, free_reg_state): New.
2216 (alloc_label_state, free_label_state, free_label_states): New.
2217 (push, pop, dup_state_stack, free_state_stack): Use them.
2218 (desc_label_state): Likewise.
2219 (uw_frame_state_for): Free label states and state stack.
2220 (uw_update_reg_address): Eliminate warnings.
2221
84d76074
VM
22222002-04-01 Vladimir Makarov <vmakarov@redhat.com>
2223
2224 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 2225 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 2226
dffd7eb6
NB
22272002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
2228
2229 * c-decl.c (grokdeclarator): Update.
2230 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
2231 * c-tree.h (c_mark_addressable): New.
2232 * c-typeck.c (default_function_array_conversion, build_unary_op,
2233 build_array_ref, convert_for_assignment): Update.
2234 (mark_addressable): Rename.
2235 * calls.c (try_to_integrate, expand_call): Use langhook.
2236 * expr.c (expand_expr): Use langhook.
2237 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
2238 * langhooks.h (struct lang_hooks): New hook.
2239 * stmt.c (expand_asm_operands): Use langhook.
2240 * tree.h (mark_addressable): Remove.
2241objc:
2242 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
2243
544ef5b5
BW
22442002-04-01 Bob Wilson <bob.wilson@acm.org>
2245
9be40833
RH
2246 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
2247 in previous change.
544ef5b5 2248
bcf88f9b
BW
22492002-04-01 Bob Wilson <bob.wilson@acm.org>
2250
2251 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
2252 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
2253
ceef8ce4
NB
22542002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
2255
2256 * c-common.c (unsigned_conversion_warning, convert_and_check,
2257 unsigned_type, signed_type, shorten_compare,
2258 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
2259 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
2260 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
2261 New.
2262 * c-decl.c (grokdeclarator): Update.
2263 * c-format.c (check_format_types): Update.
2264 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
2265 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
2266 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
2267 * convert.c (convert_to_integer): Use new hooks.
2268 * expmed.c (make_tree): Use new hooks.
2269 * expr.c (store_expr): Use new hooks.
2270 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
2271 all_ones_mask_p, unextend, fold): Use new hooks.
2272 * langhooks.h (struct lang_hooks_for_types): New hooks.
2273 * tree.h (signed_or_unsigned_type, signed_type,
2274 unsigned_type): Remove.
2275objc:
2276 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
2277 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
2278
1d9ad0e0
RH
22792002-03-31 Richard Henderson <rth@redhat.com>
2280
2281 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
2282 (desc_frgr_mem): Fix reference to f16-f31.
2283
d544bc39
KG
22842002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2285
2286 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
2287 RTVEC_ELT): Const-ify.
d8750784
KG
2288 * varray.h (VARRAY_CHECK): Const-ify.
2289 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
2290 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 2291
b18101c7
NB
22922002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
2293
2294 * diagnostic.c: Include langhooks-def.h.
2295 * Makefile.in (diagnostic.o): Update.
2296
48a7a235
NB
22972002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
2298
2299 * c-common.c (c_unsafe_for_reeval): Rename.
2300 * c-common.h (c_unsafe_for_reeval): Rename.
2301 * c-decl.c (finish_incomplete_decl): Rename.
2302 (c_init_decl_processing): Don't set langhook.
2303 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
2304 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
2305 * c-objc-common.c (c_objc_common_init): Don't set langhook.
2306 * c-tree.h (finish_incomplete_decl): Rename.
2307 * langhooks-def.h (lhd_unsafe_for_reeval): New.
2308 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
2309 (LANG_HOOKS_INITIALIZER): Update.
2310 * langhooks.c (lhd_unsafe_For_reeval): New.
2311 * langhooks.h (struct langhooks): New hooks.
2312 * toplev.c (incomplete_decl_finalize_hook): Remove.
2313 (wrapup_global_declarations): Update.
2314 * tree.c (lang_unsafe_for_reeval): Remove.
2315 (unsafe_for_reeval): Update.
2316 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
2317 Remove.
2318objc:
2319 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
2320 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
2321
7cb32822
NB
23222002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
2323
2324 * diagnostic.c (print_error_function): Remove.
2325 (default_print_error_function): Rename.
2326 (report_error_function): Update.
2327 * diagnostic.h (print_error_function): Remove.
2328 (default_print_error_function): Remove.
2329 * langhooks-def.h (struct diagnostic_context): Predeclare.
2330 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
2331 (LANG_HOOKS_INITIALIZER): Update.
2332 * langhooks.h (struct diagnostic context): Predeclare.
2333 (struct lang_hooks): New hook.
2334
1db02437
FS
23352002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2336
2337 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
2338 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
2339 !flag_pic.
2340 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
2341 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
2342 of PIC_OFFSET_TABLE_REGNUM thruout.
2343 * config/rs6000/rs6000.md: Likewise.
2344 * config/rs6000/darwin.h: Likewise.
2345
3bf1e984
RK
2346Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2347
2348 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
2349 unsigned HOST_WIDE_INT, not unsigned int.
2350
0864c526
JJ
23512002-03-31 Jakub Jelinek <jakub@redhat.com>
2352
2353 PR middle-end/6096, middle-end/6098, middle-end/6099
2354 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
2355 CODE_LABELs.
2356 (fill_slots_from_thread): Likewise.
2357
105b2084
JJ
23582002-03-31 Jakub Jelinek <jakub@redhat.com>
2359
2360 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
2361 floating fields in float regs.
2362 (function_arg_record_value_2): Likewise.
2363
db08fddf
HPN
23642002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
2365
2366 * config/mmix/mmix.md (define_constants): Remove misleading
2367 FIXME. Add MMIX_fp_rO_OFFSET.
2368 ("nonlocal_goto_receiver"): Don't have stack-frame address of
2369 saved rO as part of the pattern. Remove FIXME.
2370 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
2371 here, at output-time.
2372
4f31cce8
JJ
23732002-03-31 Jakub Jelinek <jakub@redhat.com>
2374
2375 PR middle-end/6100
2376 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
2377 REG_BR_PRED.
2378 (output_v9branch): Likewise.
2379
ba2b7435
AO
23802002-03-31 Alexandre Oliva <aoliva@redhat.com>
2381
2382 * gcc.c: Revert previous patch for now.
2383 * config/i386/djgpp.h: Likewise.
2384
aa66aa5f 23852002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
2386
2387 * config/mmix/crti.asm (_init): Register _fini with atexit.
2388 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
2389
41ba8a20
RH
23902002-03-31 Richard Henderson <rth@redhat.com>
2391
2392 PR target/3997
2393 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
2394 (ASM_OUTPUT_DEF_FROM_DECLS): New.
2395
adc186ef
RH
23962002-03-31 Richard Henderson <rth@redhat.com>
2397
2398 * libgcc2.c (__bb_exit_func): Make static.
2399
9be40833 2400 * config/alpha/alpha.md (trap): New.
a7648399 2401
9602f5a0
RH
24022002-03-31 Richard Henderson <rth@redhat.com>
2403
2404 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
2405 promoted argument types; build trap.
2406 (expand_builtin_trap): New.
2407 (expand_builtin): Use it.
2408 * stmt.c (expand_nl_goto_receivers): Likewise.
2409 * expr.h (expand_builtin_trap): Declare.
2410 * libfuncs.h (LTI_abort, abort_libfunc): New.
2411 * optabs.c (init_optabs): Init abort_libfunc.
2412
1a0a7539
AO
24132002-03-31 Alexandre Oliva <aoliva@redhat.com>
2414
2415 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
2416 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 2417 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
2418 shared_name in the second copy.
2419 (init_spec): Test for duplicate
2420 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
2421
b5de1a27
DM
24222002-03-30 David S. Miller <davem@redhat.com>
2423
2424 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2425 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
2426
78414d74 24272002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 2428 Richard Henderson <rth@redhat.com>
78414d74 2429
9be40833
RH
2430 * regmove.c (combine_stack_adjustments_for_block): Avoid
2431 emitting a stack adjustment of zero bytes. Let delete_insn
2432 update bb->head.
78414d74 2433
33074e5f
RH
24342002-03-30 Richard Henderson <rth@redhat.com>
2435
2436 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
2437 (sparc_emitting_epilogue): New.
2438 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
2439 * config/sparc/sparc-protos.h: Update.
2440 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
2441 (TARGET_SWITCHES): Update.
2442 * config/sparc/sparc.md (return): Remove.
2443 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
2444 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
2445 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
2446 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
2447 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
2448 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
2449 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
2450 Remove MASK_EPILOGUE.
2451 * doc/invoke.texi: Update.
2452
606cc056
DB
24532002-03-30 Daniel Berlin <dan@dberlin.org>
2454
2455 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
2456 CPP will start the file for us.
7b2e1077 2457
bdbe5b8d
RH
24582002-03-30 Richard Henderson <rth@redhat.com>
2459
2460 PR target/5446
2461 * config/ia64/ia64.c (group_barrier_needed_p): Special case
2462 prologue_allocate_stack.
2463 (ia64_single_set): Use insn codes for recognition of special
2464 cases, not rtl matching.
2465 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
2466
4ab95d82
JH
2467Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
2468
2469 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
2470
89a8b315
RH
24712002-03-30 Richard Henderson <rth@redhat.com>
2472
2473 PR target/6032
2474 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
2475 or -fomit-frame-pointer with profiling.
2476 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2477 (FUNCTION_PROFILER): Do nothing.
2478 (PROFILE_HOOK): New.
2479 * config/sparc/sparc.c (sparc_override_options): Don't check
2480 code models for profiling.
2481 (sparc_function_profiler): Remove.
2482 (sparc_profile_hook): New.
2483 * config/sparc/sparc-protos.h: Update.
2484
30984c57
JJ
24852002-03-30 Jakub Jelinek <jakub@redhat.com>
2486
2487 PR optimization/6086
2488 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
2489 of SUBREG of volatile MEM or because the MEM was mode dependent,
2490 return CLOBBER instead of unmodified SUBREG.
2491
1540f9eb
JH
2492Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
2493
89a8b315
RH
2494 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
2495 when not optimizing.
1540f9eb
JH
2496
2497 * toplev.c (rest_of_compilation): Cann mark_constant_function
2498 only when optimizing.
2499
89a8b315
RH
2500 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
2501 are NULL.
1540f9eb
JH
2502
2503 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
2504 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
2505 (try_optimize_cfg): clear all AUX fields.
2506
2507 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
2508 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
2509 (ix86_address_cost): Be prepared for SUBREGed registers.
2510 (legitimate_address_p): Accept SUBREGed registers.
2511
70d95bac
RH
25122002-03-29 Richard Henderson <rth@redhat.com>
2513
2514 PR target/5672
2515 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
2516
d3294cd9
FS
25172002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2518
2519 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
2520 for aggregate and TFmode types.
2521
a106c875
HPN
25222002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
2523
2524 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
2525
7d7a5d6f
RH
25262002-03-29 Richard Henderson <rth@redhat.com>
2527
6e2d670b 2528 PR target/5886
7d7a5d6f
RH
2529 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
2530 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
2531
30c99a84
RH
25322002-03-29 Richard Henderson <rth@redhat.com>
2533
6e2d670b 2534 PR target/6041
30c99a84
RH
2535 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
2536 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
2537 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
2538 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
2539 conditional.
2540 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
2541
02a566dc
DJ
25422002-03-29 Dale Johannesen <dalej@apple.com>
2543
2544 * loop.c (combine_movables): Do allow combination of pseudos.
2545
bc3a44db
LR
25462002-03-29 Loren J. Rittle <ljrittle@acm.org>
2547
2548 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
2549 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
2550 No functional change except ...
2551 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
2552 * doc/install.texi (*-*-freebsd*): Document port configuration.
2553
b0c48229
NB
25542002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
2555
2556 * Makefile.in (convert.o, calls.o, expmed.o): Update.
2557 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
2558 Use new hooks.
2559 * builtin-types.def (BT_PTRMODE): Update.
2560 * c-common.c (type_for_size): Rename c_common_type_for_size.
2561 (type_for_mode): Similarly.
2562 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
2563 Use new hook.
2564 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
2565 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
2566 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
2567 Redefine.
2568 * c-typeck.c (common_type, comptypes, default_conversion):
2569 Use new hooks.
2570 * calls.c: Include langhooks.h.
2571 (emit_library_call_value_1): Use new hooks. Avoid redundant
2572 calls.
2573 * convert.c: Include langhooks.h
2574 (convert_to_pointer, convert_to_integer): Use new hooks.
2575 * except.c (init_eh): Similarly.
2576 * expmed.c: Include langhooks.h.
2577 (expand_mult_add): Use new hooks.
2578 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
2579 try_casesi): Similarly.
2580 * fold-const.c (optimize_bit_field_compare, make_range,
2581 decode_field_reference, fold_truthop, fold): Similarly.
2582 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
2583 put_var_into_stack): Similarly.
2584 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
2585 LANG_HOOKS_TYPE_FOR_SIZE): New.
2586 (LANG_HOOKS_TYPES_INITIALIZER): Update.
2587 * langhooks.h (lang_hooks_for_types): New hooks.
2588 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
2589 * tree.c (get_unwidened, get_narrower): Similarly.
2590 * tree.h (type_for_mode, type_for_size): Remove.
2591 * varasm.c (force_const_mem): Use new hooks.
2592 * utils2.c (nonbinary_modular_operation): Update.
2593objc:
2594 * objc-act.c (handle_impent): Update.
2595 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
2596 Redefine.
2597
e206a74f
SE
25982002-03-29 Steve Ellcey <sje@cup.hp.com>
2599
2600 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
2601 * config/ia64/ia64.c (basereg_operand): New.
2602 * config/ia64/ia64-protos.h (basereg_operand): Declare.
2603 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
2604
7d9b6378
HPN
26052002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
2606
2607 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
2608 unwind information when frame_pointer_needed.
2609 (mmix_assemble_integer): Tweak wording in comment.
2610
f1e639b1
NB
26112002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
2612
2613 * Makefile.in (except.o): Update.
2614 * except.c: Include langhooks.h.
2615 (init_eh): Use langhook.
2616 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
2617 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
2618 (LANG_HOOKS_INITIALIZER): Update.
2619 * langhooks.h (lang_hooks_for_types): New.
2620 (struct lang_hooks): Add it.
2621 * tree.c (make_lang_type_fn, make_lang_type): Remove.
2622 * tree.h (make_lang_type_fn, make_lang_type): Remove.
2623config:
2624 * alpha/alpha.c: Include langhooks.h.
2625 (alpha_build_va_list): Use langhook.
2626 * d30v/d30v.c: Include langhooks.h.
2627 (d30v_build_va_list): Use langhook.
2628 * i386/i386.c: Include langhooks.h.
2629 (ix86_build_va_list): Use langhook.
2630 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
2631 * s390/s390.c: Include langhooks.h.
2632 (s390_build_va_list): Use langhook.
2633 * stormy16/stormy16.c: Include langhooks.h.
2634 (stormy16_build_va_list): Use langhook.
2635
f17f9332
JJ
26362002-03-29 Jakub Jelinek <jakub@redhat.com>
2637
2638 PR c++/5964
2639 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
2640 attributes.
2641 (length): Compute variable length for branches/calls/jumps here.
2642 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
2643 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
2644 define branch_type attribute.
2645 (divsi3_sp32): Maximum length is 6 not 7.
2646 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
2647 call_address_untyped_struct_value_sp32,
2648 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
2649 * config/sparc/sparc.c (empty_delay_slot): New function.
2650 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
2651 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
2652
0a0440c9
JJ
26532002-03-29 Jakub Jelinek <jakub@redhat.com>
2654
2655 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
2656 nonzero_bits if not needed.
2657 (nonzero_bits) [XOR]: Likewise.
2658 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
2659 reg_last_set_mode and mode are both MODE_INT, but not equal.
2660 (record_value_for_reg): Compute reg_last_set_nonzero_bits
2661 in nonzero_bits_mode for MODE_INT modes.
2662
c9045f47
RH
26632002-03-28 Richard Henderson <rth@redhat.com>
2664
2665 PR target/5715
2666 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
2667 to GAS. Correct drift between alternatives.
2668
f8ed1958
RH
26692002-03-28 Richard Henderson <rth@redhat.com>
2670
2671 PR target/6087
2672 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
2673
54e20385
LR
26742002-03-28 Alexandre Oliva <aoliva@redhat.com>
2675
2676 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
2677 emulation to the linker.
2678
26792002-03-28 Loren J. Rittle <ljrittle@acm.org>
2680
2681 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
2682 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
2683
8bc52806
JL
2684Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
2685
2686 * combine.c (simplify_and_const_int): Make sure to apply mask
2687 when force_to_mode returns a constant integer. PR3311.
2688
279dccc5
JDA
26892002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
2690
2691 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
2692
62aaa62c
GP
26932002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2694
2695 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
2696 and Objective-C Dialect Options.
2697
b8de5050
RH
26982002-03-28 Richard Henderson <rth@redhat.com>
2699
2700 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
2701 comparison should be done vs !=0 not >0 return code. Tidy cases.
2702
619708cc
RH
27032002-03-28 Richard Henderson <rth@redhat.com>
2704
2705 * c-decl.c (finish_function): New arg can_defer_p. Pass it
2706 on to c_expand_body.
2707 * c-tree.h (finish_function): Update decl.
2708 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
2709
b1d874d7
JH
2710Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
2711
2712 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
2713
f5eb5fd0
JH
2714Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
2715
2716 * rtlanal.c: Include flags.h
2717 (may_trap_p): Do not mark FP operations if trapping
2718 if !flag_trapping_math
2719 * Makefile.in (rtlanal.o): Add dependency on flag.h
2720 * ifcvt.c (noce_operand_ok): Avoid the lameness.
2721
81b4c798
ZW
27222002-03-27 Zack Weinberg <zack@codesourcery.com>
2723
2724 * mips.md: Use dconst1, not 1.0, as first argument of
2725 REAL_VALUE_LDEXP. Don't use union real_extract.
2726
55a2ea2a
AM
27272002-03-28 Alan Modra <amodra@bigpond.net.au>
2728
2729 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
2730 rather than $target. Heed program_prefix and
2731 program_transform_name. Search for gas in cross-compiler case too.
2732 "test -x" rather than "test -f".
2733 (gcc_cv_ld): Likewise.
2734 (gcc_cv_nm): Heed program_prefix and program_transform_name.
2735 (gcc_cv_objdump): Likewise.
2736 * configure: Regenerate.
2737
7ffb4fd2
NB
27382002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
2739
2740 * Makefile.in (attribs.o): Update.
2741 * attribs.c: Include langhooks.h.
2742 (decl_attributes): Use langhook.
2743 * c-decl.c (insert_default_attributes): Rename.
2744 * c-tree.h (c_insert_default_attributes): New.
2745 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
2746 (LANG_HOOKS_INITIALIZER): Update.
2747 * langhooks.h (struct lang_hooks): New hook.
2748 * tree.h (insert_default_attributes): Remove.
2749objc:
2750 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
2751
e4dbaed5
AS
27522002-03-27 Andreas Schwab <schwab@suse.de>
2753
2754 * config/i386/i386.c (classify_argument): Also check for
2755 QUAL_UNION_TYPE.
2756
18b467f1
RO
27572002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2758
2759 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
2760 any more.
2761
d337d653
JH
2762Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
2763
2764 * i960.md (ret): Set PC.
2765 (nonlocal_goto): Fix expander.
2766 * builtins.c (epxand_builin_longjmp): Check that we've emitted
2767 some jump or call.
2768
218aa620
JH
2769Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
2770
2771 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
2772 of libcall regions.
2773
e27a4eaf
ZD
2774Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2775
2776 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
2777 assigning to BLOCK_FOR_INSN directly.
2778
8a12f34c
JH
2779Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
2780
2781 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
2782
c9d892a8
NB
27832002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
2784
2785 * c-common.c (c_expand_expr): Fix prototype.
2786 * c-common.h (c_expand_expr): Always declare, update.
2787 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
2788 * c-objc-common.c (c_objc_common_init): No global hook.
2789 * expr.c (expand_expr): Use langhook.
2790 * expr.h (enum expand_modifier): Conditionally declare.
2791 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
2792 (LANG_HOOKS_INITIALIZER): Update.
2793 * langhooks.c (lhd_expand_expr): New.
2794 * langhooks.h (struct lang_hooks): New hook.
2795 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
2796 (lang_independent_init): Don't default hook.
2797objc:
2798 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
2799
6dad5a56
RH
28002002-03-27 Richard Henderson <rth@redhat.com>
2801
2802 PR target/6054
2803 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
2804 TARGET_CONST_GP. Simplify conditions.
2805
59f96879
RH
28062002-03-27 Richard Henderson <rth@redhat.com>
2807
2808 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
2809 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
2810 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
2811
f3f1190d
DS
28122002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
2813
2814 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
2815 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
2816 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
2817 Remove unnecessary masks.
2818 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
2819 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
2820 -mwindows, -mdll switches and their negations.
2821
31c816cf
NB
28222002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
2823
2824 * gcc-common.c (lang_mark_false_label_stack): Remove.
2825 * ggc.h (lang_mark_false_label_stack): Similarly.
2826
7b2e1077 28272002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
2828
2829 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
2830
2831 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
2832 or __rtems_ is defined.
2833
1ef9531b
RH
28342002-03-26 Richard Henderson <rth@redhat.com>
2835
2836 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
2837 if a non-trivial load was emitted.
2838 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
2839 in high+extra+low case.
2840
300d4093
RH
28412002-03-26 Richard Henderson <rth@redhat.com>
2842
2843 * config.gcc (sparc*-solaris): Use float_format=sparc.
2844
b3689904
RH
28452002-03-26 Richard Henderson <rth@redhat.com>
2846
2847 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
2848 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
2849 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
2850 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
2851 (WINT_TYPE_SIZE): Fix at 32.
2852
1eefb6c1
RH
28532002-03-26 Richard Henderson <rth@redhat.com>
2854
2855 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
2856 until after eh landing pad generation.
2857 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
2858 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
2859
361ea006
RH
28602002-03-26 Richard Henderson <rth@redhat.com>
2861
2862 * expr.h (ADD_PARM_SIZE): One more convert for INC.
2863
1de38a88
PE
28642002-03-26 Phil Edwards <pme@gcc.gnu.org>
2865
2866 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
2867 and warning switches.
2868 (cc1_options): Likewise.
2869
d7e60e95 28702002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 2871
d7e60e95
HB
2872 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
2873 Restore more of the signal context. Set no_reg_stack_frame.
2874 * config/ia64/unwind-ia64.c (unw_state_record):
2875 Add no_reg_stack_frame, comments.
2876 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
2877 (uw_update_context): Adjust bsp when unwinding from leaf,
2878 but not signal frame.
2879
7032923b
DE
28802002-03-26 David Edelsohn <edelsohn@gnu.org>
2881
2882 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
2883
8be56275
BW
28842002-03-26 Bob Wilson <bob.wilson@acm.org>
2885
2886 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
2887
56fbb855
RE
28882002-03-26 Richard Earnshaw <rearnsha@arm.com>
2889
2890 PR target/5621
2891 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
2892 "Add a pool_range attribute", which was lost during the ARM/Thumb
2893 merge.
2894
3437320b
BW
28952002-03-26 Bob Wilson <bob.wilson@acm.org>
2896
2897 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
2898 a register into the MAC16 accumulator.
2899
173028e5
AC
29002002-03-26 Andrew Cagney <ac131313@redhat.com>
2901
2902 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
2903 (Warning Options): Document -Wswitch-enum.
2904 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
2905 -Wswitch.
2906 (warn_switch_enum): Define variables.
2907 * flags.h (warn_switch_enum): Declare variables.
2908 * stmt.c (expand_end_case_type): When warn_switch_enum /
2909 -Wswitch-enum, perform switch checks.
2910 Fix PR c/5044.
7b2e1077 2911
e14365a7
RE
29122002-03-26 Richard Earnshaw <rearnsha@arm.com>
2913
2914 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
2915 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
2916 (reload_muladdsi_compare0_scratch): Delete.
2917
46fc709d
LR
29182002-03-26 Loren J. Rittle <ljrittle@acm.org>
2919
2920 * doc/install.texi (*-*-freebsd*): Update.
2921
f36dea3c
RH
29222002-03-26 Richard Henderson <rth@redhat.com>
2923
8e5fe23f
RH
2924 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
2925 (SUB_PARM_SIZE): Cast DEC to ssizetype.
2926
2927 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
2928 types from the normal argument frame.
2929
f36dea3c
RH
2930 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
2931 variable sized objects by reference.
2932 (sparc_va_arg): Receive them by reference too.
2933
1447dc69
HP
29342002-03-26 Hartmut Penner <hpenner@de.ibm.com>
2935
2936 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 2937 code to not restoring global registers.
1447dc69 2938
4f0ade92
NB
29392002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
2940
2941 * Makefile.in (ggc-common.o): Update.
2942 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
2943 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
2944 * c-tree.h (c_mark_tree): New.
2945 * ggc-common.c: Include langhooks.h.
2946 (gcc_mark_trees): Use new langhook.
2947 * ggc-callbacks.c: Delete file.
2948 * ggc.h (lang_mark_tree): Remove.
2949 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
2950 (LANG_HOOKS_INITIALIZER): Update.
2951 * langhooks.h (struct lang_hooks): New hook.
2952objc:
2953 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
2954
caba570b
ZW
29552002-03-25 Zack Weinberg <zack@codesourcery.com>
2956
2957 * doc/cpp.texi: Exclude entire Top node from printed manual.
2958 Move option index after directive index. Insert page breaks
2959 before GFDL and concept index. Index environment variables
2960 with command line options.
2961 * doc/cppenv.texi: Use @vtable for environment variable list.
2962 Add paragraph explaining semantics of empty elements in path
2963 variables. Exclude a cross-reference to Fishkill from the
2964 manpage. Remove an unnecessary cross-reference of the entry
2965 right above the referer. Don't use @anchor in text that goes
2966 into manpage.
2967 * doc/cppopts.texi: Cross-reference the environment variables
2968 section, not the specific environment variable, for consistency.
2969
6b2e80b7
RH
29702002-03-25 Richard Henderson <rth@redhat.com>
2971
2972 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
2973 anywhere in the block. Don't refer to insns that have been
2974 removed from the chain. Iterate backward through the new insns.
2975 Don't refer to edges that have been removed.
2976
67e469d7
AM
29772002-03-26 Alan Modra <amodra@bigpond.net.au>
2978
2979 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
2980 test for overflow of constant.
2981
f2356393
RE
29822002-03-25 Richard Earnshaw <rearnsha@arm.com>
2983
2984 PR target/2623
2985 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
2986 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
2987 these patterns on arm_archv4.
2988
355426ab
DS
29892002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
2990
2991 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
2992 int".
2993
15e5ad76
ZW
29942002-03-25 Zack Weinberg <zack@codesourcery.com>
2995
2996 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
2997 float_handled, float_handler, float_signal, set_float_handler,
2998 and do_float_handler. Set handler for SIGFPE to crash_signal.
2999 * toplev.h: Don't prototype do_float_handler.
3000
3001 * c-lex.c: Fold parse_float into lex_number. Make warning
3002 about portability of hex float constants more informative, and
3003 don't issue it on top of a syntax error.
3004 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
3005 their callers.
3006 * real.h: Define REAL_VALUE_ABS here...
3007 * simplify-rtx.c: ... not here. Fold check_fold_consts,
3008 simplify_unary_real, simplify_binary_real, and
3009 simplify_binary_is2orm1 into their callers.
3010 * tree.c: Fold build_real_from_int_cst_1 into caller.
3011
3012 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
3013
3014 * tsystem.h: Include float.h here...
3015 * libgcc2.c: ... not here.
3016
56ae9405
NC
30172002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
3018
3019 Fixes for: PR bootstrap/3591, target/5676
3020 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
3021 defined. Do not disable exceptions or rtti.
3022 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
3023 mcore.h. Disable exceptions and rtti, since they are not
3024 supported by EPOC.
3025
c88770e9
NB
30262002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
3027
3028 * c-decl.c (maybe_build_cleanup): Remove.
3029 * expr.c (expand_expr): Use langhook.
3030 * langhooks-def.h (lhd_return_null_tree,
3031 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
3032 (LANGHOOKS_INITIALIZER): Update.
3033 * langhooks.c (lhd_return_null_tree): New.
3034 * langhooks.h (struct lang_hooks): New hook.
3035 * tree-inline.c (initialize_inlined_parameters): Use langhook.
3036 * tree.h (maybe_build_cleanup): Remove.
3037
2ed1f154
JJ
30382002-03-25 Jakub Jelinek <jakub@redhat.com>
3039
3040 * regrename.c (build_def_use): Move recog_memoized
3041 before extract_insn.
3042
6ddae612
JJ
30432002-03-25 Jakub Jelinek <jakub@redhat.com>
3044
3045 PR target/6043
3046 * expr.c (emit_group_store): Handle storing into CONCAT.
3047
ea475b23
JJ
30482002-03-25 Jakub Jelinek <jakub@redhat.com>
3049
3050 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
3051 corresponding MATCH_DUP.
3052
e7d482b9
RH
30532002-03-24 Richard Henderson <rth@redhat.com>
3054
cd39fc13
RH
3055 * unroll.c (unroll_loop): Zero label_map.
3056
e7d482b9
RH
3057 * gcse.c: Include except.h.
3058 * Makefile.in (gcse.o): Update.
3059
1bd6476f
RH
30602002-03-24 Richard Henderson <rth@redhat.com>
3061
3062 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
3063 Do resolve_unique_section before shared data clause.
3064
2e6c150a
RH
30652002-03-24 Richard Henderson <rth@redhat.com>
3066
3067 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
3068
b29afcf8
RH
30692002-03-24 Richard Henderson <rth@redhat.com>
3070
15e5ad76 3071 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
3072 generated in the middle of a block. Do global life update if
3073 zapped EH edges.
3074
05ed1296
RH
30752002-03-24 Richard Henderson <rth@redhat.com>
3076
3077 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
3078
3ddbb8a9
NB
30792002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
3080
3081 preprocessor/3951
15e5ad76 3082 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
3083 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
3084 (init_dependency_output): Don't make no_output decision here.
3085
740b77b6
AC
30862002-03-24 Andrew Cagney <ac131313@redhat.com>
3087
3088 * stmt.c (check_for_full_enumeration_handling): Remove tests of
3089 warn_switch. Update description.
3090 (expand_end_case_type): Call check_for_full_enumeration_handling
3091 when warn_switch.
3092
7590cfd0
SC
30932002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3094
3095 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
3096 (m68hc11_split_move): Call it to see if the source and destination
3097 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 3098 source an offsetable memory operand and generate an add.
7590cfd0 3099
2e3d3481
SC
31002002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3101
3102 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
3103 register for operand 2.
3104 ("*subsi3_zero_extendqi"): Likewise.
3105 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
3106 bits so that it is compatible with a pop.
3107 ("*andhi3_gen"): Likewise.
3108 ("xorhi3"): Likewise.
3109
2784528c
NB
31102002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
3111
3112 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
3113 -pedantic here...
3114 (cpp_post_options): ... not here.
3115
aaf93206
NB
31162002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
3117 Aldy Hernandez <aldyh@redhat.com>
3118
3119 Removal of separate preprocessor cpp0.
3120
3121 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
3122 cpp0, install-common): Update.
3123 * c-common.c (flag_preprocess_only): New.
3124 (c_common_init): Preprocess for -E.
3125 * c-common.h (flag_preprocess_only): New.
3126 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
3127 * c-objc-common.c (c_init_decl_processing): Exit quickly
3128 for NULL return from c_common_init.
3129 * cpplib.h (cpp_preprocess_file): New.
3130 * cppmain.c (main, general_init, pfile, progname): Remove.
3131 (do_preprocessing): Rename cpp_preprocess_file, don't call
3132 cpp_finish. Don't close stdout here.
3133 (setup_callbacks): Update prototype.
3134 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
3135 Update.
3136 * tradcpp.c (main): Ignore -quiet.
3137objc:
3138 * lang-specs.h (default_compilers): Preprocess with cc1obj.
3139
c6e6f5c1
RH
31402002-03-24 Richard Henderson <rth@redhat.com>
3141
3142 PR optimization/5742
3143 * machmode.def: Add inner mode field to complex modes.
3144 * config/mips/mips.c (mips_function_value): Always define. Add
3145 new argument to handle libcalls.
3146 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
3147 (FUNCTION_VALUE): Likewise.
3148 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
3149 * config/mips/mips-protos.h: Update.
3150
d88e57d1
RH
31512002-03-23 Richard Henderson <rth@redhat.com>
3152
3153 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
3154 * config/sparc/sparc-protos.h: Update.
3155 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
3156
6dfaf9ba
RH
31572002-03-23 Richard Henderson <rth@redhat.com>
3158
3159 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
3160 _start or _init begins the text segment.
3161
0c769cf8
DE
31622002-03-23 David Edelsohn <edelsohn@gnu.org>
3163
3164 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
3165 not HOST_WIDEST_INT.
3166 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
3167
64e92a26
RE
31682002-03-23 Richard Earnshaw <rearnsha@arm.com>
3169
3170 PR java/5489
3171 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
3172 operand argument to output_return_instruction.
15e5ad76 3173 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
3174 const_true_rtx then just return.
3175 (arm_print_operand, case 'D'): If the operand is const_true_rtx
3176 then abort.
3177
d6961341
AC
31782002-03-23 Andrew Cagney <ac131313@redhat.com>
3179
3180 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
3181 (Warning Options): Document -Wswitch-default.
3182 * toplev.c (W_options): Add -Wswitch-default. Update comment on
3183 -Wswitch.
3184 (warn_switch_default): Define variable.
3185 (warn_switch): Update comment.
3186 * flags.h (warn_switch_default): Declare variable.
3187 (warn_switch): Update comment.
3188 * stmt.c (expand_end_case): Check for and, when
3189 warn_switch_no_default, warn of a missing default case.
15e5ad76 3190
d4c5ac1f
AM
31912002-03-23 Alan Modra <amodra@bigpond.net.au>
3192
bbaa9790
AM
3193 * real.h (N): Special case 128 bit doubles.
3194
d4c5ac1f
AM
3195 * combine.c (simplify_comparison): When widening modes, ignore
3196 sign extension on CONST_INTs.
3197
84bf8c2c
BW
31982002-03-22 Bob Wilson <bob.wilson@acm.org>
3199
3200 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
3201 passed to adjust_address. Fix comment formatting.
3202
3203
b216cd4a
ZW
32042002-03-22 Zack Weinberg <zack@codesourcery.com>
3205
3206 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
3207 Always make REAL_VALUE_TYPE a struct containing an array of
3208 HOST_WIDE_INT, not a double. Tidy up the code deciding how
3209 big it is. Don't declare or use union real_extract.
3210
3211 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
3212 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
3213 (print_operand), config/arm/arm.c (output_move_double),
3214 config/arm/arm.md (consttable_4, consttable_8),
3215 config/romp/romp.c (output_fpops), config/s390/s390.h
3216 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
3217 (xtensa_output_literal): Don't use union real_extract.
3218
3219 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
3220 (sfmode_constant_to_ulong), config/ns32k/merlin.h
3221 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
3222 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
3223 (PRINT_OPERAND): Don't use local version of union
3224 real_extract.
3225
3226 * config/convex/convex.c (check_float_value), config/vax/vax.c
3227 (vax_float_literal), config/m88k/m88k.md (divdf3),
3228 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
3229 config/pdp11/pdp11.c (output_move_quad): Don't do host
3230 arithmetic on target floating point quantities.
3231
3232 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
3233 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
3234
3235 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
3236 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
3237
3238 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
3239 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
3240 INFINITY.
3241 * print-rtl.c (print_rtx): Disable code which needs
3242 floating-point emulator.
3243 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
3244 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
3245 depending on HOST_FLOAT_FORMAT to be defined properly.
3246
3247 * config/1750a/1750a.c (get_double, float_label): Delete.
3248 (print_operand): Delete huge commented-out chunk. Use
3249 REAL_VALUE_TO_DECIMAL.
3250 * config/1750a/1750a-protos.h: Delete prototypes of deleted
3251 functions.
3252 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
3253 IEEE_FLOAT_FORMAT.
3254 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
3255 Use REAL_VALUE_TO_DECIMAL as ELF version does.
3256 * config/m88k/m88k.c (real_power_of_2_operand,
3257 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
3258 real_extract out of the union; run the input through
3259 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
3260 from that into the union.
3261 * config/pdp11/pdp11.c (output_move_double): Rearrange
3262 parentheses to make automatic indenter happy.
3263
3264 * doc/tm.texi (Cross-compilation): Rename node to "Floating
3265 Point" and rewrite to describe current situation. Also adjust
3266 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
3267 match code.
3268 * doc/rtl.texi: Adjust cross reference.
3269
a8cacfd2
BW
32702002-03-22 Bob Wilson <bob.wilson@acm.org>
3271
3272 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
3273 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
3274 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
3275 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
3276 prevent use of sp as a reload register.
3277 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
3278 non_acc_reg_operand.
3279 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
3280 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
3281 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
3282 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
3283
d4e6133f
NB
32842002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
3285
b216cd4a
ZW
3286 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
3287 * cpplex.c (unterminated): Delete.
3288 (parse_string): No string literal may extend over multiple
3289 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
3290 * cppmain.c (scan_translation_unit): Strings are single-line.
3291
b216cd4a 3292 * doc/cpp.texi: Update to match.
d4e6133f 3293
65e6c005
JJ
32942002-03-22 Jakub Jelinek <jakub@redhat.com>
3295
3296 PR optimization/5854
3297 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
3298 Shut up warnings.
3299 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
3300 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
3301 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
3302 const0 if scratch register was not allocated.
3303 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
3304 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
3305 with GEN_INT (...).
3306 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
3307 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
3308 with GEN_INT (...) everywhere. Remove constraints in define_split
3309 patterns.
3310 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
3311 require scratch register for setting 0 into regs/non-pushable memory.
3312
7f48c9e1
AO
33132002-03-22 Alexandre Oliva <aoliva@redhat.com>
3314
3315 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
3316 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
3317
909de5da
PE
33182002-03-22 Phil Edwards <pme@gcc.gnu.org>
3319
3320 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
3321 * cppinit.c (cpp_create_reader): On by default.
3322 (cpp_handle_option): Handle -W[no-]endif-labels.
3323 (cpp_post_options): Also enable if -pedantic.
3324 * cpplib.c (do_else): Use it.
3325 (do_endif): Likewise.
3326 * doc/cppopts.texi: Document new option.
3327 * doc/invoke.texi: Document new option.
3328
d8bf17f9
LB
33292002-03-22 Lars Brinkhoff <lars@nocrew.org>
3330
3331 * config/i386/i386.c, config/i386/i386.md: Change all occurences
3332 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
3333
70e0ccd0
AO
33342002-03-22 Alexandre Oliva <aoliva@redhat.com>
3335
3336 * flow.c (calculate_global_regs_live): Clear aux fields of
3337 ENTRY and EXIT.
3338
68882f0f
JJ
33392002-03-22 Jakub Jelinek <jakub@redhat.com>
3340
3341 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
3342 REG or MEM subregs, pass rtx * instead of rtx to it.
3343 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
3344 rtx * instead of rtx to alter_subreg.
3345 * config/m32r/m32r.c (gen_split_move_double): Likewise.
3346 * config/pj/pj.c (pj_output_rval): Likewise.
3347
648fe28b
RH
33482002-03-22 Richard Henderson <rth@redhat.com>
3349
3350 PR target/3177
3351 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
3352 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
3353 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
3354 (ia64_expand_prologue): Look at int_regs, not words, for number
3355 of incomming int regs.
3356
e8dcd824
AM
33572002-03-22 Andrew MacLeod <amacleod@redhat.com>
3358
3359 * expr.c (expand_expr): A RESULT_DECL is part of a call.
3360
96327cdc
JH
3361Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
3362
3363 * toplev.c (flag_loop_optimize, flag_crossjumping):
3364 New static variables.
3365 (rest_of_compilation): Conditionalize crossjumping and
3366 loop optimizer.
3367 (parse_options_and_default_flags): Default loop_optimize and
3368 crossjumping.
3369 (lang_independent_options): Add -fcrossjumping and -floop-optimize
3370 * invoke.texi (crossjumping, loop-optimize): Document.
3371
bc185257
RS
33722002-03-22 Richard Sandiford <rsandifo@redhat.com>
3373
3374 * real.c (eiisneg): Move outside #ifdef NANS.
3375
0a2ed1f1
JH
3376Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
3377
3378 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
3379 frequencies match; avoid match on different loop depths.
3380 (try_crossjump_to_bb): Kill tests that no longer brings time
3381 savings.
3382 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
3383 updating code.
3384 (split_edge): Likewise.
3385
3386 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
3387 variable.
3388
3389 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
3390 * cfgrtl.c: Include insn-config.h
3391 (split_block) Dirtify block in presence of conditional execution
3392
4d72536e
RS
33932002-03-22 Richard Sandiford <rsandifo@redhat.com>
3394
3395 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
3396 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
3397 (function_arg): Constify CUMULATIVE_ARGS.
3398 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
3399 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
3400 (UNITS_PER_DOUBLE): New macro.
3401 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
3402 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
3403 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
3404 fp_regs and stack_words.
3405 (EABI_FLOAT_VARARGS_P): New macro.
3406 * config/mips/mips.c (struct mips_arg_info): New.
3407 (mips_arg_info): New function.
3408 (function_arg_advance): Use it. Add adjustment instructions here
3409 rather than in function_arg.
3410 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
3411 for VOIDmode at the beginning of the function.
3412 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
3413 (function_arg_pass_by_reference): Likewise.
3414 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
3415 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
3416 (mips_va_start): Likewise. Use the new stack_words field of
3417 CUMULATIVE_ARGS to set up overflow area. Reformat.
3418 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
3419 doubles and other types, aligning the overflow pointer for non-doubles
3420 too. Remove some code duplication. Replace hard-coded constants.
3421
e6f884cd
RS
34222002-03-22 Richard Sandiford <rsandifo@redhat.com>
3423
3424 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
3425 (CLASS_UNITS): Undefine.
3426 (CLASS_MAX_NREGS): Use FP_INC.
3427 * config/mips/mips.c (compute_frame_size): Likewise.
3428 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
3429
10cf9bde
NB
34302002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
3431
3432 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
3433 prototype, and handle lexing numbers and identifiers.
3434 (parse_identifier): Update to new form of parse_slow.
3435 (parse_number): Fast path only, use parse_slow otherwise.
3436 (_cpp_lex_direct): Update calls to parse_number.
3437
fbc2782e
DD
34382002-03-21 DJ Delorie <dj@redhat.com>
3439
3440 * bb-reorder.c (make_reorder_chain_1): Protect against
3441 when redundant edges are omitted.
3442 * predict.c (dump_prediction): Likewise.
3443
fba39eaf
RH
34442002-03-21 Richard Henderson <rth@redhat.com>
3445
3446 PR target/5996
3447 * fixinc/inclhack.def (solaris_stdio_tag): New.
3448 * fixinc/fixincl.x: Regenerate.
3449
eba80994
EB
34502002-03-21 Eric Botcazou <ebotcazou@multimania.com>
3451
3452 PR c/5597
3453 * c-typeck.c (process_init_element): Flag non-static
3454 initialization of a flexible array member as illegal.
3455
2a78758b
AM
34562002-03-22 Alan Modra <amodra@bigpond.net.au>
3457
3458 * config/rs6000/t-linux64: New.
3459 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
3460 t-ppccomm. Use t-rs6000 and t-linux64.
3461 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
3462 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
3463 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
3464 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 3465
2cb921f4
AH
34662002-03-21 Aldy Hernandez <aldyh@redhat.com>
3467
eba80994
EB
3468 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
3469 flag_really_no_inline instead of optimize == 0.
2cb921f4 3470
eba80994 3471 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 3472
eba80994 3473 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 3474
eba80994 3475 * flags.h (flag_really_no_inline): New.
2cb921f4 3476
659e5a7a 3477 * c-common.c (c_common_post_options): Initialize
eba80994 3478 flag_really_no_inline.
2cb921f4 3479
eba80994 3480 * toplev.c (flag_really_no_inline): New.
2cb921f4 3481
239b8b9d
JJ
34822002-03-21 Jakub Jelinek <jakub@redhat.com>
3483
3484 * config/avr/avr.md (length): Fix length computation for
3485 conditional branches.
3486
43577e6b
NB
34872002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
3488
3489 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
3490 sdbout.o, profile.o): Update.
3491 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
3492 langhook.
3493 * c-common.h (gettags): Move here from tree.h.
3494 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
3495 insert_block, getdecls, kept_level_p, global_bindings_p): New.
3496 * dbxout.c (dbxout_init): Use getdecls langhook.
3497 * expr.c (expand_expr): Use insert_block langhook.
3498 * fold-const.c: Include langhooks.h.
3499 (fold_range_test, fold_binary_op_with_conditional_arg,
3500 fold): Use global_bindings_p langhook.
3501 * integrate.c (expand_inline_function): Use insert_block langhook.
3502 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
3503 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
3504 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
3505 LANG_HOOKS_GETDECLS): New.
3506 (LANG_HOOKS_INITIALIZER): Update.
3507 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
3508 langhook.
3509 * langhooks.h (struct lang_hooks_for_decls): New.
3510 (struct lang_hooks): Update.
3511 * profile.c: Include langhooks.h.
3512 (output_func_start_profiler): Use new langhooks.
3513 * sdbout.c: Include langhooks.h.
3514 (sdbout_init, sdbout_finish): Use getdecls langhook.
3515 * stmt.c: Include langhooks.h.
3516 (expand_fixup, fixup_gotos): Use new langhooks.
3517 * stor-layout.c: Include langhooks.h.
3518 (variable_size): Use global_bindings_p langhook.
3519 * toplev.c (compile_file): Use getdecls langhook.
3520 * tree-inline.c (remap_block): Use insert_block langhook.
3521 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
3522 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
3523
5b19b10c
RH
35242002-03-21 Richard Henderson <rth@redhat.com>
3525
3526 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
3527 constants in .data when -fpic.
3528
e05af335
GP
35292002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3530
3531 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
3532 where appropriate.
3533
60ffc997
TT
35342002-03-21 Tom Tromey <tromey@redhat.com>
3535
3536 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
3537
75897075
RK
3538Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3539
a73afd69 3540 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 3541
75897075
RK
3542 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
3543
312687cf
EB
35442002-03-21 Eric Botcazou <ebotcazou@multimania.com>
3545 Richard Henderson <rth@redhat.com>
3546
3547 PR c/5354
3548 * c-common.c (c_expand_expr): Preserve result of a statement
3549 expression if needed.
3550
f0e1f482
JJ
35512002-03-21 Jakub Jelinek <jakub@redhat.com>
3552
3553 PR bootstrap/4195
3554 * genrecog.c (maybe_both_true_mode): Remove.
3555 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
3556 * machmode.def (Pmode): Likewise.
3557
c14b9960
JW
3558Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
3559
3560 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
3561 (nonlocal_mentioned_p_1): New function.
3562 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
3563 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
3564 (mark_constant_function): Recognize pure functions.
3565 * rtl.h (global_reg_mentioned_p): New prototype.
3566 * rtlanal.c (global_reg_mentioned_p,
3567 global_reg_mentioned_p_1): New function.
3568
aaa4d130
RO
35692002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3570
3571 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
3572 UNIX assert.h.
3573 * fixinc/fixincl.x: Regenerate.
3574
e5c4bd1b
JM
35752002-03-20 Jason Merrill <jason@redhat.com>
3576
3577 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
3578
852b81bb
MM
35792002-03-20 Michael Meissner <meissner@redhat.com>
3580
3581 * doc/invoke.texi (Optimize Options): Document that -O2 sets
3582 -fstrict-aliasing.
3583
86d8c251
BW
35842002-03-20 Bob Wilson <bob.wilson@acm.org>
3585
3586 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
3587 ".literal_position" directive before the constant pool.
3588
0a39c350
GP
35892002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3590
3591 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
3592 Add Craig Rodrigues.
3593 Add Brad Lucier to testers.
3594
71a83373
JJ
35952002-03-20 Jakub Jelinek <jakub@redhat.com>
3596
3597 PR target/4792
3598 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
3599 to if_then_else.
3600 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
3601 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
3602 instead of insn_extract.
3603
a29b099d
JJ
36042002-03-20 Jakub Jelinek <jakub@redhat.com>
3605
3606 PR bootstrap/4192
71a83373 3607 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
3608
3609 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
3610 stmt if some case has been output.
3611
048b1c95
JJ
36122002-03-20 Jakub Jelinek <jakub@redhat.com>
3613
3614 PR c/5972
3615 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
3616 movsfcc_1, movdfcc_1): Add %O2.
3617 * config/i386/i386.c (print_operand): Handle %ON.
3618 Print . before float condition codes in Sun as cmov syntax.
3619 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
3620 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
3621 no longer true.
3622
f4864588
PB
36232002-03-20 Philip Blundell <pb@nexus.co.uk>
3624
3625 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
3626 return instruction if PC was popped.
3627
3a307de4
BW
36282002-03-20 Bob Wilson <bob.wilson@acm.org>
3629
3630 * config/xtensa/xtensa.md: Remove unused type attributes.
3631 (adddi_carry, subddi_carry): Change type attribute to "multi".
3632
048b1c95 36332002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
3634
3635 PR optimization/5999, middle-end/5731
3636 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
3637 multiplications by reciprocals.
3638
7afff7cf
NB
36392002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
3640
3641 * Makefile.in: Update.
3642 * c-common.c: Include langhooks.h.
3643 (inline_forbidden_p): Use new hook.
3644 * diagnostic.c: Include langhooks.h.
3645 (format_with_decl, announce_function,
3646 default_print_error_function): Use new hook.
3647 * dwarf2out.c (dwarf2_name): Use new hook.
3648 * function.c: Include langhooks.h.
3649 (init_function_start): Use new hook.
3650 * langhooks-def.h (lhd_decl_printable_name): New.
3651 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
3652 (LANGHOOKS_INITIALIZER): Update.
3653 * langhooks.c (lhd_decl_printable_name): New.
3654 * langhooks.h (struct lang_hooks): New hook.
3655 * toplev.c (decl_name, decl_printable_name): Remove.
3656 (open_dump_file): Use new hook.
3657 (process_options): Remove old hook.
3658 * tree.h (decl_printable_name): Remove.
3659objc:
3660 * objc-act.c (objc_init): Remove old hook.
3661 (objc_printable_name): Export.
3662 * objc-act.h (objc_printable_name): New.
3663 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
3664
f78ce0b7
JB
36652002-03-19 Jim Blandy <jimb@redhat.com>
3666
3667 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
3668 the start_source_file debug hook, not the current line number.
3669
15b5aef3
RH
36702002-03-19 Richard Henderson <rth@redhat.com>
3671
3672 * flow.c (EH_USES): Provide default.
3673 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
3674 * doc/tm.texi (EH_USES): New.
3675
3676 * config/ia64/ia64.c (ia64_eh_uses): New.
3677 * config/ia64/ia64-protos.h: Update.
3678 * config/ia64/ia64.h (EH_USES): New.
3679
02a7a3fd
RH
36802002-03-19 Richard Henderson <rth@redhat.com>
3681
3682 * varasm.c (output_constant_def): Fix stupid typo.
3683
93f82d60
RH
36842002-03-19 Richard Henderson <rth@redhat.com>
3685
2842be05 3686 PR 5879
93f82d60
RH
3687 * except.c (current_function_has_exception_handlers): New.
3688 * except.h: Declare it.
3689 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
3690 Combine tests that disable all sibcalls for the function.
3691
ed4fbfa0
OH
36922002-03-19 Olivier Hainque <hainque@act-europe.fr>
3693
3694 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
3695 for INTEGER_CST.
3696
ebf0e888
RH
36972002-03-19 Richard Henderson <rth@redhat.com>
3698
1e82682b 3699 PR 5977, 5991
ebf0e888
RH
3700 * config/ia64/ia64.c: Revert 2002-03-01 patch.
3701 * config/ia64/ia64.h (INIT_EXPANDERS): New.
3702
e37b38d7
JB
37032002-03-19 Jim Blandy <jimb@redhat.com>
3704
3705 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
3706 name, even if the replacement list contains no tokens, as required
3707 by Dwarf.
3708
2a4ea326
JM
37092002-03-19 Jason Merrill <jason@redhat.com>
3710
f9d09ae5
JM
3711 * varasm.c (globalize_decl): Get the name from the RTL, not
3712 DECL_ASSEMBLER_NAME.
3713
2a4ea326
JM
3714 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
3715
99b96edb
BW
37162002-03-19 Bob Wilson <bob.wilson@acm.org>
3717
3718 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
3719 subdi_carry): Define.
3720
3774b567
DE
37212002-03-19 David Edelsohn <edelsohn@gnu.org>
3722
3723 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
3724 about -fpic/-fPIC if extra_warnings set.
3725
21ef78aa
DE
37262002-03-19 David Edelsohn <edelsohn@gnu.org>
3727
3728 * expr.c (expand_expr): Sign-extend CONST_INT generated from
3729 TREE_STRING_POINTER.
0c2fdcdf 3730 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 3731
91d4b3fd
RK
3732Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3733
3734 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
3735 in favor of SP if FRAME_POINTER_REQUIRED is false.
3736
2496c7bd
LB
37372002-03-19 Lars Brinkhoff <lars@nocrew.org>
3738
3739 * emit-rtl.c (gen_int_mode): New function.
3740 * rtl.h: Prototype for it.
3741 * combine.c (make_extraction, simplify_comparison), expmed.c
3742 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
3743 (convert_modes, store_field), optabs.c (expand_fix),
3744 simplify-rtx.c (neg_const_int, simplify_unary_real),
3745
3746 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
3747 Use it instead of GEN_INT (trunc_int_for_mode (...)).
3748
f735a153
JJ
37492002-03-19 Jakub Jelinek <jakub@redhat.com>
3750
3751 PR c/5656
3752 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3753 convert_parm_for_inlining.
3754 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
3755 Define.
3756 * langhooks-def.h: Likewise.
3757 * objc/objc-lang.c: Likewise.
3758 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
3759 function.
3760 * tree-inline.c (initialize_inlined_parameters):
3761 Call convert_parm_for_inlining lang hook if needed.
3762 * c-typeck.c (c_convert_parm_for_inlining): New function.
3763 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
3764
1929c971
MM
37652002-03-18 Mark Mitchell <mark@codesourcery.com>
3766
b216cd4a 3767 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
3768 can be destroyed after expanding the argument.
3769 (expand_call): Likewise.
3770
c79ca0ac
EC
37712002-03-15 Eric Christopher <echristo@redhat.com>
3772
3773 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
3774 Fix register preference on last change.
3775 * config/mips/mips.c (mips_return_in_memory): New function.
3776 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
3777 * config/mips/mips-protos.h: Declare.
3778 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
3779 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
3780
07e2e444
AO
37812002-03-18 Alexandre Oliva <aoliva@redhat.com>
3782
1bfbbbcf
AO
3783 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
3784 a register too.
3785 (anddi3, iorsi3): Likewise.
3786
c066429e
AO
3787 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
3788 use %gprel for symbols that are going to be placed in linkonce
3789 sections.
3790
07e2e444
AO
3791 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
3792 RETURN_ADDRESS_POINTER_REGNUM to $ra.
3793 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
3794 not needed. Disregard leaf_function_p().
3795 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
3796 mips16 frame pointer.
3797 * config/mips/mips.md (store ra): Only to small SP offsets.
3798 2001-08-22 Graham Stott <grahams@redhat.com>
3799 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
3800 return a REG rtx for the return address register.
3801
eb8e00ea
BW
38022002-03-18 Bob Wilson <bob.wilson@acm.org>
3803
3804 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
3805 constant-pool addresses as "mode-dependent".
3806 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
3807
cbb92744
JJ
38082002-03-18 Jakub Jelinek <jakub@redhat.com>
3809
3810 PR target/5740
3811 * expr.c (emit_group_load): Use extract_bit_field if
3812 needed for CONCAT arguments.
3813
657d9449
RE
38142002-03-18 Richard Earnshaw <rearnsha@arm.com>
3815
91f3a802 3816 PR target/4863
657d9449
RE
3817 * arm.md (tablejump): Make this a define_expand. For PIC add the
3818 offset to the base of the table.
3819 (thumb_tablejump): Matcher for Thumb tablejump insn.
3820 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
3821 as the difference of two labels.
3822 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3823 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
3824 tables in the code.
3825 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
3826 * arm.c (get_jump_table_size): If the table is not in the text
3827 section, return zero.
c79ca0ac 3828
5d5603e2
BS
38292002-03-18 Bernd Schmidt <bernds@redhat.com>
3830
3831 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
3832 of gen_rtx_SUBREG.
3833 (arm_reload_out_hi): Use gen_lowpart instead of
3834 gen_rtx_SUBREG to access QImode components.
3835 * config/arm/arm.md: Disable zero_extend split for QImode
3836 subregs in BIG_ENDIAN mode.
3837 (storehi_bigend): Match use of least significant byte.
3838 (storeinthi): Remove extraneous SUBREG.
66c17b64 3839 Add missing construction of operands[2].
5d5603e2
BS
3840 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
3841 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
3842 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
3843
df15fbc7
AH
38442002-03-18 Aldy Hernandez <aldyh@redhat.com>
3845
2496c7bd
LB
3846 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
3847 any_operand.
df15fbc7 3848
b83b7fa3
RH
38492002-03-17 Richard Henderson <rth@redhat.com>
3850
3851 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
3852 explicitly.
3853
6f7c00fe
HPN
38542002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
3855
3856 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
3857 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
3858
155038f2
KG
38592002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3860
720d42fa
KG
3861 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
3862
155038f2
KG
3863 * predict.c (estimate_bb_frequencies): Delete unused variables.
3864
e6542f4e
RH
38652002-03-17 Richard Henderson <rth@redhat.com>
3866
3867 * config/ia64/ia64.c (ia64_attribute_table): Move before
3868 targetm definition. Make static.
3869
52dabb6c
NB
38702002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
3871
3872 * c-common.h (yyparse, c_common_parse_file): New.
3873 * c-lang.c: Include c-common.h.
3874 (LANG_HOOKS_PARSE_FILE): Redefine.
3875 * c-lex.c: Include c-common.h.
3876 (yyparse): Rename c_common_parse_file. Call yyparse.
3877 * c-parse.in (yyparse): Remove macro.
3878 * c-tree.h (yyparse_1): Remove.
3879 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
3880 (LANG_HOOKS_INITIALIZER): Update.
3881 * langhooks.h (struct lang_hoooks): New hook parse_file.
3882 * toplev.c (compile_file): Use parse_file hook.
3883 * tree.h (yyparse): Remove.
e6542f4e 3884 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 3885
b5ffe606
HPN
38862002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
3887
ba82f58b
HPN
3888 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
3889 float_truncate, not fix.
3890 ("*truncdfsf2_real"): Ditto.
3891 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
3892
b5ffe606
HPN
3893 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
3894
c8d1b2b7
AO
38952002-03-16 Alexandre Oliva <aoliva@redhat.com>
3896
cfb773f9
AO
3897 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
3898 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
3899 where appropriate. Make the second reference to
3900 leaf_function_p a function call, as intended. Reindented.
3901
4dffef52
AO
3902 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
3903 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
3904
4f5bd6d7
AO
3905 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
3906 add register to non-constant into sp.
3907
c8d1b2b7
AO
3908 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
3909 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
3910 (mips16_gp_pseudo_rtx): Lose.
3911 (INIT_EXPANDERS): Deleted.
3912 * config/mips/mips.c (mips_init_machine_status): New.
3913 (mips_free_machine_status): New.
3914 (mips_mark_machine_status): New.
3915 (override_options): Set them.
3916 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
3917 (struct machine_function): ... new. Replaced all references.
3918 (mips_add_gc_roots): Don't mark them.
3919 (embedded_pic_fnaddr_reg): New, extracted from...
3920 (embedded_pic_offset): ... here.
3921 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
3922 (movsi): Likewise.
3923
b3124fac
NB
39242002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
3925
3926 * cppinit.c: Revert -MD removal.
3927
121449b6
SC
39282002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3929
3930 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
3931 soft registers by default for 68HC12.
3932 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
3933 when compiling with -fomit-frame-pointer.
3934 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
3935 (expand_epilogue): Likewise.
3936 (m68hc11_gen_rotate): Use exg when rotating by 8.
3937
840e2ff1
SC
39382002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3939
3940 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
3941 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
3942 (splits): Remove unused add splits.
3943 ("*addhi3_68hc12"): Tune constraints.
3944 ("addhi_sp"): Try to use X instead of Y in all cases and if the
3945 constant fits in 8-bits and D is dead use abx/aby instructions.
3946 ("*addhi3"): Remove extern declaration of ix_reg.
3947 ("*subsi3"): Optimize and provide new split.
3948 ("subhi3"): Cleanup.
3949 ("*subhi3_sp"): Avoid saving X if we know it is dead.
3950 (arith splits): For 68hc12 save the address register on the stack
3951 and do the arithmetic operation with a pop.
3952
3c9a5efe
SC
39532002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3954
3955 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
3956 allocating QImode in address registers.
3957 ("*movqi_m68hc11"): Likewise.
3958
e41f3392
JH
3959Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
3960
3961 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
3962
576786b0
NB
39632002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
3964
3965 * cppinit.c (print_help): Display -MD and -MMD.
3966 Don't display usage string. Update assertion syntax and
3967 typo.
3968 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
3969 (cpp_handle_option): Update.
3970
1ac458d4
CD
39712002-03-15 Chris Demetriou <cgd@broadcom.com>
3972
3973 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
3974 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
3975 and define it so that regardless of target CPU size,
3976 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
3977 of "int" rather than "long."
3978
1fcd592b
RH
39792002-03-15 Richard Henderson <rth@redhat.com>
3980
3981 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
3982 size as a tree.
3983
a0df6910
SC
39842002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3985
3986 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
3987 ("tstqi" split): Avoid using memory for tstqi on address register.
3988 (splits): Remove constraints.
3989 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
3990 ("cmpdf", "cmpsf"): Remove since not used.
3991 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
3992 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
3993
015a2e59
SC
39942002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3995
3996 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
3997 ("neghi2"): Tighten constraints.
3998 ("one_cmplsi2"): Optimize and simplify split.
3999 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
4000
cd28557c
SC
40012002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4002
4003 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
4004 and split of AND operation to clear the upper bits.
4005 ("*logicalsi3_zextqi"): Likewise.
4006 ("*logicallhi3_zexthi_ashift8"): Likewise.
4007 ("*logicalsi3_silshr16"): Likewise.
4008 ("logicalsi3_silshl16"): Likewise.
4009 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
4010
932657df
SC
40112002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4012
4013 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
4014 (m68hc11_indirect_p): New function.
4015 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
4016 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
4017 TARGET_M6812.
4018 (asm_print_register): Likewise.
4019 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
4020 (m68hc11_indirect_p): Declare.
4021 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
4022 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
4023 (TARGET_SWITCHES): New option -mrelax.
4024 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
4025 destination.
4026 ("iorsi3", "xorsi3"): Likewise.
4027 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
4028 ("*andhi3_mem"): New to handle destination in memory with bclr
4029 and a scratch register.
4030 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
4031 ("*andhi3_const"): New when operand2 is constant.
4032 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
4033 ("*andhi3_gen"): Cleanup of the old "andhi3".
4034 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
4035 ("xorqi3"): Update constraints.
4036
fdffea1a
SC
40372002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4038
4039 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
4040 for reg_equiv_memory_loc when the operand is a register that does
4041 not get a hard register (stack location).
4042 (tst_operand): After reload, accept all memory operand.
4043 (symbolic_memory_operand): Fix detection of symbolic references.
4044 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
4045 accept symbols and any constant.
4046
6272bc68
SC
40472002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4048
4049 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
4050 note on the insn that sets the soft frame register.
4051 (must_parenthesize): ix and iy are also reserved names.
4052 (print_operand_address): One more place where parenthesis are required
4053 to avoid confusion with register names.
4054 (m68hc11_gen_movhi): Allow push of stack pointer.
4055 (m68hc11_check_z_replacement): Fix handling of parallel with a
4056 clobber.
4057 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
4058 the replacement register is.
4059 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
4060 and D8_REGS classes.
4061 (MODES_TIEABLE_P): All modes are tieable except QImode.
4062
1d2d9def
SC
40632002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4064
4065 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
4066 (___subdi3): Likewise.
4067 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
4068 (__map_data_section): Optimize 68hc11 case.
4069
a0ccf503
SC
40702002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4071
4072 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
4073 than a shift to avoid adding a register with itself.
4074 (m68hc11_memory_move_cost): Take into account NO_REGS.
4075 (m68hc11_register_move_cost): Update and use memory move cost
4076 for soft registers.
4077 (m68hc11_address_cost): Make cost of valid offset not 0 so that
4078 it gives more opportunities to cse to optimize.
4079 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
4080 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
4081
6e4ae815
MM
40822002-03-15 Mark Mitchell <mark@codesourcery.com>
4083
4084 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
4085 * c-common.def (CLEANUP_STMT): New tree node.
4086 * c-common.h (CLEANUP_DECL): New macro.
4087 (CLEANUP_EXPR): Likewise.
4088 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
4089 * expr.c (expand_expr): Tidy.
4090 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
4091 * tree-inline.c (initialize_inlined_parameters): Clean up
4092 new local variables.
4093
a42519be
JJ
40942002-03-15 Jakub Jelinek <jakub@redhat.com>
4095
4096 PR bootstrap/4128
4097 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
4098 before movrXX only, use reg_overlap_mentioned_p.
4099 Only special case NE if just one insn can be generated.
4100
15409448
JM
41012002-03-15 Jason Merrill <jason@redhat.com>
4102
4103 * varasm.c (assemble_variable): Call resolve_unique_section before
4104 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
4105 of error_mark_node.
4106
3a4edb44
RE
41072002-03-15 Richard Earnshaw <rearnsha@arm.com>
4108
4109 PR target/5170
4110 * arm.md (split pattern for thumb shiftable immediates): Add comment
4111 explaining non-obvious test.
4112
32defa36
RE
41132002-03-15 Richard Earnshaw <rearnsha@arm.com>
4114
4115 PR target/5712
4116 * arm.md (movaddr, movaddr_insn): Delete.
4117
5cc90635
JM
41182002-03-15 Jason Merrill <jason@redhat.com>
4119
4120 * toplev.c (wrapup_global_declarations): Clarify variable handling.
4121 -fkeep-static-consts doesn't apply to comdats.
4122
ecb0eece
RH
41232002-03-14 Richard Henderson <rth@redhat.com>
4124
4125 * c-decl.c: Include c-pragma.h.
4126 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
4127 (finish_function): Tidy.
4128 * c-pragma.c: Include c-common.h.
4129 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
4130 (handle_pragma_weak): Use them.
4131 (init_pragma): Register pending_weaks.
4132 * c-pragma.h (maybe_apply_pragma_weak): Declare.
4133 * print-tree.c (print_node): Print DECL_WEAK.
4134 * varasm.c (mark_weak_decls): Remove.
4135 (remove_from_pending_weak_list): Remove.
4136 (add_weak): Remove.
4137 (asm_emit_uninitialised): Call globalize_decl for weak commons.
4138 (weak_decls): Make a tree_list.
4139 (declare_weak): Cons weak_decls directly.
4140 (globalize_decl): Remove weak_decls elements directly.
4141 (weak_finish): Simplify weak_decls walk. Don't weaken unused
4142 symbols. Don't pretend to handle aliases.
4143 (init_varasm_once): Update weak_decls registry.
4144 * Makefile.in: Update dependencies.
4145
98d2b17e
RH
41462002-03-14 Richard Henderson <rth@redhat.com>
4147
4148 PR target/5312
4149 * config/ia64/ia64.c: Include tm_p.h last.
4150 (gen_nop_type): Remove duplicate definition.
4151 (cycle_end_fill_slots): Set sched_data for second L slot.
4152 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
4153 (nop_cycles_until): Fix typos.
4154
f2f4927e
JJ
41552002-03-15 Jakub Jelinek <jakub@redhat.com>
4156
4157 PR optimization/5891
4158 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
4159
5025a549
DM
41602002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
4161
4162 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
4163 descriptors correctly.
4164
03e9dbc9
MM
41652002-03-14 Michael Meissner <meissner@redhat.com>
4166
4167 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
4168 100, allowing MAX_UNROLLED_INSNS to be overridden.
4169
4170 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
4171 --param.
4172
4173 * unroll.c (params.h): Include.
4174 (MAX_UNROLLED_INSNS): Delete, now in params.h.
4175
4176 * doc/invoke.texi (--param max-unroll-insns): Document.
4177
4178 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
4179
12249385
RE
41802002-03-14 Richard Earnshaw <rearnsha@arm.com>
4181
4182 * arm.md: Fix warnings about constraints in peepholes and splits.
4183
f0cce04a
ZW
41842002-03-14 Zack Weinberg <zack@codesourcery.com>
4185
4186 * cpphash.h (struct lexer_state): Remove line_extension member.
4187 * cpplib.c (dequote_string, do_linemarker): New functions.
4188 (linemarker_dir): New data object.
4189 (DIRECTIVE_TABLE): No longer need to interpret #line in
4190 preprocessed source. Delete obsolete comment about return
4191 values of handlers.
4192 (end_directive, directive_diagnostics, _cpp_handle_directive):
4193 Don't muck with line_extension.
4194 (directive_diagnostics): No need to issue warnings for
4195 linemarkers here.
4196 (_cpp_handle_directive): Issue warnings for linemarkers here,
4197 when appropriate. Dispatch linemarkers to do_linemarker, not
4198 do_line.
4199 (do_line): Code to handle linemarkers split out to do_linemarker.
4200 Convert escape sequences in filename argument, both places.
4201
4202 * cppmacro.c (quote_string): Rename cpp_quote_string and
4203 export. All callers changed.
4204 * cpplib.h (cpp_quote_string): Prototype.
4205 * cppmain.c (print_line): Call cpp_quote_string on to_file
4206 before printing it.
4207
4208 * doc/cpp.texi: Document that escapes are now interpreted in
4209 #line and in linemarkers, and that non-printing characters are
4210 converted to octal escapes when linemarkers are generated.
4211
4212Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
4213
4214 * emit-rtl.c (try_split): Use delete_insns.
4215 * recog.c (split_all_insns): Fix terminating condition.
4216
c882c7ac
RE
42172002-03-14 Richard Earnshaw <rearnsha@arm.com>
4218 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4219
4220 PR target/5828
4221 * arm.c (arm_output_epilogue): Fix floating-point register save
4222 adjustment when using a frame pointer.
4223
3f26edaa
RS
42242002-03-14 Richard Sandiford <rsandifo@redhat.com>
4225
4226 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
4227 * config/mips/mips.c (compute_frame_size): Retrofit them here.
4228 (save_restore_insns, mips_expand_epilogue): And here.
4229 (build_mips16_call_stub): And here.
4230 (mips_function_value): Use the new macros to decide whether a single
4231 or complex float can be returned in floating-point registers. Return
4232 a parallel rtx in the complex case.
4233
1e3881c2
JH
4234Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
4235
4236 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
4237 call after liveness analysis.
4238
4239 * recog.c (split_insn): Use delete_insn_and_edges.
4240
4241 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
4242 instructions to have branch prediction notes.
4243 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
4244
200ef634
GK
42452002-03-14 Geoffrey Keating <geoffk@redhat.com>
4246
4247 * configure.in: Don't pass -Wno-long-long to a ADA compiler
4248 that doesn't support it.
4249 * configure: Regenerate.
4250
0b82d204
JJ
42512002-03-13 Jakub Jelinek <jakub@redhat.com>
4252
4253 PR target/5626
4254 * config/sparc/sparc.md (normal_branch, inverted_branch,
4255 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
4256 inverted_fp_branch): Adjust calls to output_cbranch.
4257 Set length attribute.
4258 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
4259 output_v9branch. Set length attribute.
4260 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
4261 predicates.
4262 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
4263 (output_cbranch): Likewise. Handle far branches.
4264 (output_v9branch): Handle far branches.
4265 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
4266 Adjust prototypes.
4267 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
4268 noov_compare64_op predicates.
4269
7a8de19b
JM
42702002-03-13 Jason Merrill <jason@redhat.com>
4271
4272 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
4273 into the function and constify it.
4274 * gthr-dce.h, gthr-solaris.h: Likewise.
4275
2a55fd42
DE
42762002-03-13 David Edelsohn <edelsohn@gnu.org>
4277
4278 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
4279 * config/rs6000/rs6000.c (rs6000_va_arg): Use
4280 std_expand_builtin_va_arg if not ABI_V4.
4281
19c5b1cf
JM
42822002-03-13 Jason Merrill <jason@redhat.com>
4283
4284 * varasm.c (globalize_decl): New fn.
4285 (assemble_start_function): Use it.
4286 (asm_emit_uninitialized): Use it.
4287 (assemble_alias): Use it.
4288 (assemble_variable): Use it.
4289
2a15f5e1
HPN
42902002-03-13 Hans-Peter Nilsson <hp@axis.com>
4291
4292 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 4293 2002-03-12 internal visibility change.
2a15f5e1
HPN
4294 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
4295 visibility into SYMBOL_REF_FLAG.
4296
c0a3eeac
UW
42972002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
4298
4299 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
4300 VOIDmode operand. Add compile-time optimization for constant results.
4301
a1652cee
JM
43022002-03-12 Jason Merrill <jason@redhat.com>
4303
4304 * c-typeck.c (convert_for_assignment): Don't allow conversions
4305 between pointers and references. Only allow lvalues to convert to
4306 reference.
4307
c52a375d
HP
43082002-03-13 Hartmut Penner <hpenner@de.ibm.com>
4309
f0cce04a
ZW
4310 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
4311 before prologue, to avoid scheduling problems.
c52a375d 4312
e387e99b
JJ
43132002-03-13 Jakub Jelinek <jakub@redhat.com>
4314
4315 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
4316 (ELIMINABLE_REGS): Add sfp->sp.
4317 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
4318
43192002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
4320
4321 PR optimization/5892
4322 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
4323
4061c1a3
JJ
43242002-03-13 Jakub Jelinek <jakub@redhat.com>
4325
4326 * loop.c (basic_induction_var): Don't call convert_modes if mode
4327 classes are different.
4328
5b43fed1
RH
43292002-03-12 Richard Henderson <rth@redhat.com>
4330
9f53e965
RH
4331 PR optimization/5901
4332 * function.c (reposition_prologue_and_epilogue_notes): Position
4333 the markers after/before the last/first insn not deleted.
4334
43352002-03-12 Richard Henderson <rth@redhat.com>
4336
4337 PR optimization/5878
5b43fed1
RH
4338 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
4339 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
4340 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
4341
4342 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
4343 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
4344 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
4345
4346 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
4347 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
4348 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
4349 also. Don't set it if not flag_pic.
4350 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
4351 to be INVALID_REGNUM when not used.
4352
4e9bb42b
AH
43532002-03-13 Aldy Hernandez <aldyh@redhat.com>
4354
5b43fed1
RH
4355 * expmed.c (store_bit_field): Reset alias set for memory.
4356 (extract_bit_field): Same.
4e9bb42b 4357
2f9834e8
KG
43582002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4359
4360 * c-common.c (c_tree_code_type, c_tree_code_length,
4361 c_tree_code_name, add_c_tree_codes): Delete.
4362 * c-common.h (add_c_tree_codes): Delete.
4363 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
4364 Define.
4365 * c-objc-common.c (c_objc_common_init): Don't call
4366 add_c_tree_codes, instead set lang_unsafe_for_reeval.
4367 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
4368 objc_tree_code_name, add_objc_tree_codes): Delete.
4369 (objc_init): Don't call add_objc_tree_codes.
4370 * objc/objc-lang.c (tree_code_type, tree_code_length,
4371 tree_code_name): Define.
4372 * toplev.c (lang_independent_init): Don't set
4373 tree_code_length[IDENTIFIER_NODE].
4374 * tree.c (tree_code_type, tree_code_length, tree_code_name):
4375 Delete definitions, moved to language front-ends.
4376 * tree.def (IDENTIFIER_NODE): Hardwire the length.
4377 * tree.h (tree_code_type, tree_code_length, tree_code_name):
4378 Const-ify.
4379 (tree_code_length): Change type to unsigned char.
4380
36ad2436
RH
43812002-03-12 Richard Henderson <rth@redhat.com>
4382
4383 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
4384 internal visibility change.
4385
0ae02efa
BW
43862002-03-12 Bob Wilson <bob.wilson@acm.org>
4387
4388 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
4389 validize_mem() instead of change_address to avoid clobbering
4390 memory attributes.
4391
35bb2bee
NB
43922002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
4393
4394 * c-lex.h (position_after_whitespace): Remove.
4395
62ae2529
JJ
43962002-03-12 Jakub Jelinek <jakub@redhat.com>
4397
4398 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
4399 (lex_string): Use unsigned char pointers.
4400
6a45951f
UW
44012002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
4402
4403 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
4404 is not a valid memory_operand.
4405
e2fb85da
BW
44062002-03-12 Bob Wilson <bob.wilson@acm.org>
4407
4408 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
4409 * config/xtensa/lib1funcs.asm: Fix copyright to include
4410 special case for libgcc files.
4411 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
4412 (__divsi3): Likewise.
4413 (__umodsi3): Likewise.
4414 (__modsi3): Likewise.
4415 * config/xtensa/lib2funcs.S: Fix copyright to include
4416 special case for libgcc files.
4417
5b8619f8
TR
44182002-03-12 Tom Rix <trix@redhat.com>
4419
4420 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 4421 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
4422 (ignore_library): Same.
4423
089c8f97
BW
44242002-03-12 Bob Wilson <bob.wilson@acm.org>
4425
4426 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
4427
958c70ff
BW
44282002-03-12 Bob Wilson <bob.wilson@acm.org>
4429
4430 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
4431 to function_section before writing out the constant pool.
4432
a65c591c
DE
44332002-03-12 David Edelsohn <edelsohn@gnu.org>
4434
4435 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
4436 zero_constant.
4437 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
4438
44392002-03-12 Alan Modra <amodra@bigpond.net.au>
4440
4441 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
4442 (adddi3): Likewise.
4443 (movdf): Likewise.
4444 (movdi): Likewise.
4445 (cmpsi splitter): Likewise.
4446 (modsi3): Fail if <= 0.
4447 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
4448 redundant test when HOST_BITS_PER_WIDE_INT != 32.
4449 (reg_or_sub_cint64_operand): Likewise.
4450 (num_insns_constant_wide): Optimize sign extension.
4451 (rs6000_legitimize_address): Likewise.
4452
17720332
AM
44532002-03-12 Andrew MacLeod <amacleod@redhat.com>
4454
4455 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
4456 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
4457
cd49f073
AM
44582002-03-12 Andrew MacLeod <amacleod@redhat.com>
4459
4460 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
4461 address calculation.
4462
6a4e49c1
UW
44632002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
4464
4465 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
4466 scratch register to DImode / TImode.
4467 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
4468 register used does not overlap the target.
4469
54b6670a
KG
44702002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4471
4472 * Makefile.in (debug.o): Depend on debug.h.
4473 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
4474 * debug.c (do_nothing_debug_hooks): Likewise.
4475 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
4476 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
4477 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
4478 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
4479 * dwarfout.c (dwarf_debug_hooks): Likewise.
4480 * integrate.c (output_inline_function): Likewise.
4481 * objc/objc-act.c (synth_module_prologue): Likewise.
4482 * sdbout.c (sdb_debug_hooks): Likewise.
4483 * toplev.c (debug_hooks): Likewise.
4484 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
4485
2465bf76
KG
44862002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4487
4488 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
4489 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
4490 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
4491 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
4492 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
4493 * defaults.h (POINTER_SIZE): Define.
4494 * doc/tm.texi (POINTER_SIZE): Document default.
4495
53f3e9ca
KG
44962002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4497
4498 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
4499
44d3eb5b
RH
45002002-03-11 Richard Henderson <rth@redhat.com>
4501
4502 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
4503 if rebuild_label_notes_after_reload.
4504
4a085d2e
HPN
45052002-03-12 Hans-Peter Nilsson <hp@axis.com>
4506
4507 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
4508 emit pic register load if "internal" visibility.
4509 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
4510 (cris_expand_builtin_va_arg): Do all computations on trees.
4511
bc204393
RH
45122002-03-11 Richard Henderson <rth@redhat.com>
4513
4514 * rtlanal.c: Include recog.h.
4515 (keep_with_call_p): Fix thinko.
4516 * Makefile.in (rtlanal.o): Update dependencies.
4517
6b8b9d7b
CM
45182002-03-11 Chris Meyer <cmeyer@gatan.com>
4519
4520 * genflags.c (gen_insn): Use IS_VSPACE.
4521 * genoutput.c (output_insn_data): Likewise.
4522 (process_template): Likewise.
4523
6c40858f
RH
45242002-03-11 Richard Henderson <rth@redhat.com>
4525
4526 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
4527
40adaa27
NB
45282002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
4529
4530 * Makefile.in: Update.
6c40858f 4531 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 4532 Update documentation.
6c40858f
RH
4533 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
4534 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 4535
049b03f4
ZW
45362002-03-11 Zack Weinberg <zack@codesourcery.com>
4537
4538 * Makefile.in: Give texi2pod its input file as a command line
4539 argument, not on stdin.
4540
61eece67
DN
45412002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
4542 Daniel Berlin <dan@dberlin.org>
4543
4544 C++ alias analysis improvement.
f0cce04a 4545 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
4546 classes too.
4547
a65c591c
DE
45482002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
4549
ff080aba
UW
4550 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
4551
1682dbb1
DR
45522002-03-11 Douglas B Rupp <rupp@gnat.com>
4553
fa2d765a
DR
4554 * toplev.c (vms_fopen): Remove, not needed.
4555
6f1fd286
DR
4556 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
4557
b230e057
DR
4558 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
4559
cb9a8e97
DR
4560 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
4561 for FP, already done later.
4562
1682dbb1
DR
4563 * toplev.c (debug_args): Add entry for VMS_DEBUG.
4564 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
4565
3fcaac1d
RS
45662002-03-11 Richard Sandiford <rsandifo@redhat.com>
4567
4568 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
4569 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
4570 LARGEST_EXPONENT_IS_NORMAL for the given mode.
4571 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
4572 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
4573 (ediv, emul, eldexp, esqrt): Likewise.
4574 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
4575 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
4576 (saturate): New function.
4577 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
4578 (make_nan): Use a saturation value instead of a NaN if
4579 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
4580 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
4581 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
4582 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
4583 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
4584 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
4585 !ROUND_TOWARDS_ZERO.
4586 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
4587 (ROUND_TOWARDS_ZERO): Document.
4588
d25558be
AJ
45892002-03-11 Andreas Jaeger <aj@suse.de>
4590
4591 * cfg.c (dump_flow_info): Remove unused variable.
4592
c71f9ae7
HPN
45932002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
4594
4595 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
4596 computations on trees.
4597
561c9153
RH
45982002-03-10 Richard Henderson <rth@redhat.com>
4599
932b4e3e 4600 PR 5693:
561c9153
RH
4601 * reload.c (copy_replacements_1): New.
4602 (copy_replacements): Use it to recurse through the rtx.
4603
26b738be
RH
46042002-03-10 Richard Henderson <rth@redhat.com>
4605
4606 * loop.c (strength_reduce): Compute number of iterations as
4607 unsigned HOST_WIDE_INT.
4608
8d8a083e
RH
46092002-03-10 Richard Henderson <rth@redhat.com>
4610
4611 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
4612 to move away from the end of the block.
4613
32810ba3
NB
46142002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
4615
4616 PR preprocessor/5899
4617 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 4618
2b03d201
KG
46192002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4620
f90c544c
KG
4621 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
4622
2b03d201
KG
4623 * attribs.c (decl_attributes): Fix signed/unsigned warning.
4624
3ec1b4cb
HPN
46252002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
4626
4627 * config/mmix/mmix.c: Improve comments.
4628 (mmix_target_asm_function_prologue): Drop variable
4629 empty_stack_frame. Don't allocate unused slot above fp.
4630 (mmix_target_asm_function_epilogue): Mirror prologue changes.
4631 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
4632 brace in first column.
4633 (enum reg_class): Ditto.
4634 (FIRST_PARM_OFFSET): Now 0.
4635 (USER_LABEL_PREFIX): Remove #if 0:d definition.
4636
27e486c5
KG
46372002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4638
4639 * combine.c (make_extraction): Fix error in last change.
4640
0139adca
KG
46412002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4642
4643 * c4x.c (c4x_fp_reglist): Const-ify.
4644 * cris.c (cris_print_operand): Likewise.
4645 * i386.c (ix86_va_arg): Likewise.
4646 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
4647 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
4648 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
4649 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
4650 * mcore.h (regno_reg_class): Likewise.
4651 * mips.c (gen_int_relational): Likewise.
4652 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
4653 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 4654 * pdp11.c (move_costs): Likewise.
0139adca
KG
4655 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
4656 * s390.c (s390_branch_condition_mnemonic, regclass_map):
4657 Likewise.
4658 * s390.h (regclass_map): Likewise.
4659 * sh.c (shift_amounts): Likewise.
a4334c36 4660 * sh.md (rotlsi3): Likewise.
0139adca 4661
889b90a1
GK
46622002-03-09 Geoffrey Keating <geoffk@redhat.com>
4663
4664 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
4665 (ne0+5): Use new clobber to generate proper shift pattern.
4666 Patch by Michael Matz <matz@kde.org>.
4667
2877e0ae
AS
46682002-03-09 Andreas Schwab <schwab@suse.de>
4669
4670 * gcc.c (validate_all_switches): Also handle `%W{...}'.
4671
79b51cd7
GK
46722002-03-09 Geoffrey Keating <geoffk@redhat.com>
4673
4674 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
4675
e0f1be5c
JJ
46762002-03-09 Jakub Jelinek <jakub@redhat.com>
4677
4678 PR middle-end/5877
4679 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
4680 even for non-representable constants.
4681
0a7ec763
RK
4682Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4683
93fe8e92
RK
4684 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
4685 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
4686 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
4687 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
4688 (pop_function_context): Compute MAY_SHARE parameter for
4689 fixup_var_refs.
4690 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
4691 (gen_mem_addressof): Call fixup_var_refs with new parm.
4692
0a7ec763
RK
4693 * combine.c (make_extraction): Don't make extension of CONST_INT.
4694
a85cd407
AO
46952002-03-09 Alexandre Oliva <aoliva@redhat.com>
4696
9445b814
AO
4697 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
4698 in o32 and o64 ABIs.
4699 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
4700 but getting fixed-size structs passed in registers regardless of
4701 padding in o32 and o64 ABIs.
4702
a85cd407
AO
4703 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
4704 offset before loading address of argument passed by transparent
4705 reference.
4706
c51fbe40
JDA
47072002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
4708
4709 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
4710
918e70dd
AO
47112002-03-09 Alexandre Oliva <aoliva@redhat.com>
4712
4713 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
4714 marker such that registers after it are saved.
4715
3070dd00
KG
47162002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4717
4718 * sparc.c (arith_4096_operand): Fix error in last change.
4719
e25d11b0
AO
47202002-03-08 Alexandre Oliva <aoliva@redhat.com>
4721
4722 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
4723 defaults for MEABI.
4724
41daaf0e
AH
47252002-03-08 Aldy Hernandez <aldyh@redhat.com>
4726
5b43fed1
RH
4727 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
4728 vectors.
41daaf0e 4729
fa139b00
AH
47302002-03-08 Aldy Hernandez <aldyh@redhat.com>
4731
5b43fed1 4732 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 4733
c51d95ec
JH
4734Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
4735
4736 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
4737 removed; fix return value.
4738 * combine.c (combine_instructions): Dirtify blocks where we failed to
4739 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
4740 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
4741
3b25fbfe
KG
47422002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4743
4744 * gcse.c (insert_insn_end_bb): Fix typo in last change.
4745
189ae0f4
JH
4746Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
4747
4748 * recog.c (peephole2_optimize): Re-distribute EH edges.
4749
24965e7a
NB
47502002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
4751
4752 * expr.c (expand_expr): Use unsave lang hook.
4753 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
4754 (LANG_HOOKS_INITIALIZER): Update.
4755 * langhooks.h (struct lang_hooks): New hook unsave.
4756 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
4757 (unsave_expr_1): Remove unused lang_unsave_expr_now.
4758 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
4759 (unsave_expr_now): Remove.
4760 * tree.h (unsave_expr_now, lang_unsave,
4761 lang_unsave_expr_now): Remove.
4762 (lhd_unsave): New.
4763
1e4e95d6
AJ
47642002-03-08 Andreas Jaeger <aj@suse.de>
4765
4766 * flow.c (propagate_block_delete_insn): Remove unused variable.
4767
054ef905
KH
47682002-03-08 Kazu Hirata <kazu@hxi.com>
4769
4770 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
4771 insn length for memory load/store.
4772
5304400d 47732002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 4774
5304400d
CR
4775 * doc/install.texi (--with-libiconv-prefix): Document.
4776
81034129
MB
47772002-03-08 Michael Y. Brukman <myb2@cornell.edu>
4778
4779 * doc/sourcebuild.texi: Fix typo.
4780
71db7d03
JJ
47812002-03-08 Jakub Jelinek <jakub@redhat.com>
4782
4783 PR c/3711
4784 * builtins.c (std_expand_builtin_va_arg): Do all computations on
4785 trees.
4786
127c1ba5
RK
4787Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4788
4789 * rtl.c (copy_most_rtx): Move from here ...
4790 * emit-rtl.c (copy_most_rtx): ... to here.
4791
8a13c092
AO
47922002-03-08 Alexandre Oliva <aoliva@redhat.com>
4793
5faae4f7
AO
4794 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
4795 SUBTARGET_CPP_SIZE_SPEC.
4796 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
4797
8a13c092
AO
4798 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
4799
4ec59de2
MH
48002002-03-07 Matt Hiller <hiller@redhat.com>
4801
4802 * gensupport.c (first_dir_md_include): Renamed from include;
4803 change all references.
4804 (last_dir_md_include): Renamed from last_include; change all
4805 references.
4806 (init_md_reader): Unconditionally initialize base_dir whether or
4807 not filename is a relative path.
4808
12f61e77
AO
48092002-03-07 Alexandre Oliva <aoliva@redhat.com>
4810
95356058
AO
4811 * config/fp-bit.c (_unord_f2): Compile it in even if
4812 US_SOFTWARE_GOFAST is enabled.
4813
12f61e77
AO
4814 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
4815 NULL_RTX. Set all HFmode operations as NULL_RTX.
4816 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
4817 NULL_RTX, try reversing the comparison and the operands.
4818
6d7a1c4c
UW
48192002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
4820
4821 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
4822 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
4823 and MATCH_OP_DUP.
4824
66d54344
JH
4825Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
4826
4827 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
4828
068473ec
JH
4829Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
4830
4831 * basic-block.h (fixup_abnormal_edges): Declare.
4832 * reload1.c (fixup_abnormal_edges): New function.
4833 * reg-stack.c (convert_regs): Use it.
4834
4835 * gcse.c (insert_insn_end_bb): Handle trapping insns.
4836
4837 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
4838
71925bc0
RS
48392002-03-07 Richard Sandiford <rsandifo@redhat.com>
4840
4841 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
4842 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
4843 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
4844 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
4845 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
4846 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
4847 unless x and y could be infinite.
4848 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
4849 Check that the common type of both arguments is a real, even for
4850 targets without unordered comparisons. Allow an integer argument
4851 to be compared against a real.
4852 (expand_tree_builtin): Use expand_unordered_cmp.
4853 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
4854 * cse.c (fold_rtx): Likewise. Fix indentation.
4855 * fold-const.c (fold_real_zero_addition_p): New.
4856 (fold): Use it, and the new HONOR_... macros.
4857 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
4858 * jump.c (reversed_comparison_code_parts): After searching for
4859 the true comparison mode, use HONOR_NANS to decide whether it
4860 can be safely reversed.
4861 (reverse_condition_maybe_unordered): Remove IEEE check.
4862 * simplify-rtx.c (simplify_binary_operation): Use the new macros
4863 to decide which simplifications are valid. Allow the following
4864 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
4865 and (a - -b) to (a + b).
4866 (simplify_relational_operation): Use HONOR_NANS.
4867 * doc/tm.texi: Document the MODE_HAS_... macros.
4868
145d3bf2
RE
48692002-03-07 Richard Earnshaw <rearnsha@arm.com>
4870
4871 * combine.c (simplify_comparison): If simplifying a logical shift
4872 right and compare with constant, force the comparison to unsigned.
4873
76a773f3
AH
48742002-03-07 Aldy Hernandez <aldyh@redhat.com>
4875
5b43fed1 4876 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 4877
5b43fed1
RH
4878 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
4879 -mabi=no-altivec
4880 (alt_reg_names): Remove % for vrsave.
76a773f3 4881
ab55f58c
RH
48822002-03-06 Richard Henderson <rth@redhat.com>
4883
5ddec02e 4884 PR optimization/5844
ab55f58c
RH
4885 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
4886 if used indicates we've already emitted one copy of an operand.
4887 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
4888 (gen_split): Supply a non-null used.
4889
e16e3291
UW
48902002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
4891
5b43fed1 4892 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 4893
1e4e95d6 4894 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
4895 but simply fail if the expression is too complex to simplify.
4896 (simplify_gen_binary): Handle simplify_plus_minus failures.
4897
2ca6672b
JH
4898Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
4899
4900 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
4901 consistently call delete_trivially_dead_insns after CSE and GCSE;
4902 fix DFI_life dumping; do jump threading after liveness; do crossjumping
4903 after liveness2; update comment in last crossjumping.
4904 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
4905
31d0dd4f
JL
4906Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
4907
d094b0b3
JL
4908 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
4909 after completing fast dead code elimination.
4910
31d0dd4f
JL
4911 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
4912 COMPARE operator.
1e4e95d6 4913
f2b958b1
PE
49142002-03-06 Phil Edwards <pme@gcc.gnu.org>
4915
4916 * version.c: Fix misplaced leading blanks on first line.
4917
a2877a09
JH
4918Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
4919
4920 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
4921
fe477d8b
JH
4922Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
4923
4924 * cfgcleanup.c (mentions_nonequal_regs): New function.
4925 (thread_jump): Use it.
4926 * toplev.c (rest_of_compilation): Run jump threading after
4927 liveness.
4928
2041cde4
JJ
49292002-03-06 Jakub Jelinek <jakub@redhat.com>
4930
4931 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
4932 patch.
4933
82d68d46
JH
4934Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
4935
4936 * predict.c (estimate_bb_frequencies): Do not reload the
4937 frequencies from notes.
4938
3dec4024
JH
4939Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
4940
4941 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
4942 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
4943
4944 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
4945 delete_noop_moves): Return indeger.
4946 * flow.c (ndead): New variable.
4947 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
4948 BB argument; update callers.
4949 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
4950 (life_analysis): Do not call purge_all_dead_edges.
4951 (update_life_info): Return number of deleted insns; print statistics.
4952 (update_life_info_in_dirty_blocks): likewise.
4953 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
4954 return number of insns deleted.
4955
4956 * cse.c: Include timevar.h
4957 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
4958 iterate until stabilizes; print statistics; return number of killed
4959 insns.
4960 * Makefile.in: (cse.o): Add timevar.h dependency
4961 * rtl.h (delete_trivially_dead_insns): New.
4962 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
4963 * toplev.c (rest_of_compilation): Update callers.
4964
4965 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
4966 (try_optimize_cfg): Do not update liveness.
4967 (cleanup-cfg): Loop until try_optimize_cfg and dead code
4968 removal stabilizes; use delete_trivially_dead_insns.
4969
4970 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
4971
c7544dd8
ZW
49722002-03-05 Zack Weinberg <zack@codesourcery.com>
4973
4974 * cppmain.c (setup_callbacks): Disable #pragma and #ident
4975 callbacks when processing assembly language.
4976
50b424a9
JDA
49772002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
4978
4979 * pa.h (ASM_FILE_END): Define.
4980 * som.h (ASM_FILE_END): Delete.
4981
4982 * pa.c (function_arg): Don't pass floats in general registers in
4983 indirect calls if TARGET_ELF32.
4984
6185f217
RH
49852002-03-05 Richard Henderson <rth@redhat.com>
4986
4987 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
4988
3020a4b2
DS
49892002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
4990
4991 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
4992
65649daa
JJ
49932002-03-05 Jakub Jelinek <jakub@redhat.com>
4994
4995 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
4996 -r command line. Don't hide any symbols if not building
4997 shared libgcc.
4998
5a1a3e5e
JH
4999Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
5000
5001 * cfg.c (dump_flow_info): Warn about profile mismatches.
5002 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
5003 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
5004
170c56da
JJ
50052002-03-05 Jakub Jelinek <jakub@redhat.com>
5006
5007 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
5008 wide volatile memory by parts.
5009
6d051694
JJ
50102002-03-05 Jakub Jelinek <jakub@redhat.com>
5011
5012 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
5013 is NULL.
5014
28bcfd4d
RH
50152002-03-05 Richard Henderson <rth@redhat.com>
5016
5b43fed1 5017 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 5018
75227a33
GK
50192002-03-04 Geoffrey Keating <geoffk@redhat.com>
5020
5021 * toplev.c (documented_lang_options): Document more
5022 language-specific options.
5023 * doc/invoke.texi (Warning Options): Correct documentation for
5024 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
5025 * c-decl.c (c_decode_option): Use a table to handle warning options.
5026
4f1aac42
HPN
50272002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
5028
5029 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
5030 parameter to mmix_encode_section_info.
5031 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
5032 relocatably. Always produce ELF, not mmo if linking relocatably.
5033 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
5034 first is non-zero, don't add symbol prefix.
5035 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
5036 prototype accordingly.
5037
12345543
KW
50382002-03-04 Krister Walfridsson <cato@df.lth.se>
5039
5040 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
5041
8e97db8f
JM
50422002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
5043
5044 * configure.in: Increase required makeinfo version to 4.1.
5045 * configure: Regenerate.
5046
06487868
GK
50472002-03-04 Geoffrey Keating <geoffk@redhat.com>
5048
5049 * .cvsignore: Remove *.info* and genrtl*; these files are generated
5050 elsewhere now.
5051
cff42170
JM
50522002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
5053
5054 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
5055 * doc/invoke.texi: Fix @math uses.
5056
974a7f56
JH
5057Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
5058
5059 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
5060 removal
5061
3b7d0e98
AH
50622002-03-03 Aldy Hernandez <aldyh@redhat.com>
5063
5b43fed1
RH
5064 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
5065 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 5066
5b43fed1 5067 * config/rs6000/t-ppcendian: New.
3b7d0e98 5068
65f2f288
HB
50692002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5070
5071 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
5072 nonimmediate_src_operand and nonimmediate_lsrc_operand to
5073 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
5074
8ce0a8a5
RH
50752002-03-03 Richard Henderson <rth@redhat.com>
5076
5077 * toplev.c (rest_of_decl_compilation): Revert last two changes.
5078
ba31d94e
ZW
50792002-03-03 Zack Weinberg <zack@codesourcery.com>
5080
5081 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
5082 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
5083 tree.c, config/m68k/m68k.c:
5084 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
5085 REAL_ARITHMETIC blocks unconditional. Delete some further
5086 #ifdef blocks predicated on REAL_ARITHMETIC.
5087 * flags.h, toplev.c: Delete remaining references to
5088 flag_pretend_float.
5089
5090 * doc/invoke.texi: Remove documentation of -fpretend-float.
5091 * doc/tm.texi: Describe the various REAL_* macros as provided by
5092 real.h, not by the target configuration files.
5093
5094 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
5095 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
5096 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
5097 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
5098 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
5099 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
5100 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
5101 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
5102 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
5103 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
5104 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
5105 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
5106 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
5107 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
5108 config/xtensa/xtensa.h:
5109 Do not define, undefine, or mention in comments any of
5110 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
5111 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
5112 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
5113 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
5114 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
5115 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
5116 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
5117 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
5118 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
5119
9a571cfd
KG
51202002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5121
e81dd381
KG
5122 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
5123 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
5124 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
5125 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
5126 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
5127 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
5128 Delete.
5129 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 5130 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 5131
9a571cfd
KG
5132 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
5133 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
5134 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
5135
ca7558fc
KG
51362002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5137
5138 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
5139 lieu of explicit sizeof/sizeof.
5140 * i386.c (override_options, ix86_init_mmx_sse_builtins,
5141 ix86_expand_builtin): Likewise.
5142 * mips.c (mips_add_gc_roots): Likewise.
5143 * mmix.c (mmix_output_condition): Likewise.
5144 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
5145 altivec_init_builtins): Likewise.
5146 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
5147 * cppexp.c (Nsuff, parse_number): Likewise.
5148 * cppinit.c (builtin_array_end): Likewise.
5149 * gcc.c (n_default_compilers, process_command): Likewise.
5150 * genpreds.c (output_predicate_decls): Likewise.
5151 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
5152 * lcm.c (N_ENTITIES): Likewise.
5153 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 5154
41c78c88
RH
51552002-03-03 Richard Henderson <rth@redhat.com>
5156
5157 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
5158 for types or labels.
5159
9e9b71e6
RH
51602002-03-03 Richard Henderson <rth@redhat.com>
5161
5162 * c-decl.c (start_decl): Initialized variables are not common.
5163
c26a6db8
PB
51642002-03-02 Per Bothner <per@bothner.com>
5165
5166 * gcc.c (option_map): Suport new --bootclasspath option.
5167 --CLASSPATH is now just an alias for --classpath.
5168
9e8aab55
RH
51692002-03-02 Richard Henderson <rth@redhat.com>
5170
5171 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
5172 load if "internal" visibility.
5173 * doc/extend.texi: Document visibility meanings.
5174
b3bbd220
RH
51752002-03-02 Richard Henderson <rth@redhat.com>
5176
5177 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
5178 to functions as well.
5179
b14707c3
RH
51802002-03-02 Richard Henderson <rth@redhat.com>
5181
5182 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
5183 (handle_visibility_attribute): Don't call assemble_visibility.
5184 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
5185 without asmspec. Invoke assemble_alias when needed.
5186 * varasm.c (maybe_assemble_visibility): New.
5187 (assemble_start_function, assemble_variable, assemble_alias): Use it.
5188
b2003250
RH
51892002-03-02 Richard Henderson <rth@redhat.com>
5190
5191 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
5192 invoke ENCODE_SECTION_INFO with first call flag.
5193
5194 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
5195 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 5196 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
5197 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
5198 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
5199 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
5200 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
5201 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
5202 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
5203 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
5204 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
5205 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
5206 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
5207 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
5208 config/mcore/mcore-protos.h, config/mcore/mcore.c,
5209 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
5210 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 5211 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
5212 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
5213 config/sh/sh.h, config/sparc/sparc.h,
5214 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
5215 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
5216 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
5217 FIRST argument. As needed, examine it and do nothing.
5218
ba31d94e 5219 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
5220 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
5221 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
5222
5223 * config/arm/t-pe (pe.o): Add dependencies.
5224
5c60f03d
KG
52252002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5226
5227 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
5228 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
5229 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
5230 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
5231 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
5232 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
5233 * defaults.h (BITS_PER_UNIT): Define.
5234 * doc/tm.texi (BITS_PER_UNIT): Document default value.
5235
86855e8c
KH
52362002-03-02 Kazu Hirata <kazu@hxi.com>
5237
5238 * config/h8300/h8300-protos.h: Add a prototype for
5239 compute_a_shift_length.
5240 * config/h8300/h8300.c (h8300_asm_insn_count): New.
5241 (compute_a_shift_length): Likewise.
5242 (h8300_adjust_insn_length): Do not adjust insn length of shift
5243 insns.
5244 * config/h8300/h8300.md (anonymous shift patterns): Use
5245 compute_a_shift_length.
5246
f6041ed8
RK
5247Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5248
35aa3c1c
RK
5249 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
5250 trunc_int_for_mode.
5251
f6041ed8
RK
5252 * emit-rtl.c (offset_address): Call update_temp_slot_address.
5253
27b41650
KG
52542002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5255
5256 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
5257 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
5258 * flags.h (flag_zero_initialized_in_bss): Declare.
5259 * toplev.c (flag_zero_initialized_in_bss): New flag.
5260 (lang_independent_options): Add flag_zero_initialized_in_bss.
5261 * tree.c (initializer_zerop): New function.
5262 * tree.h (initializer_zerop): Declare.
5263 * varasm.c (assemble_variable): If we can emit bss, put zero
5264 initializers in the bss section.
5265
ca734b39
AM
52662002-03-02 Alan Modra <amodra@bigpond.net.au>
5267
5268 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
5269 like more than one symbol per .weak directive.
5270
49b72306
RH
52712002-03-01 Richard Henderson <rth@redhat.com>
5272
5273 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
5274 adjust argument_pointer by pretend_args_size.
5275 (ia64_va_start): Adjust va_start address by -pretend_args_size.
5276
fbf0fe41
KH
52772002-03-01 Kazu Hirata <kazu@hxi.com>
5278
5279 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
5280
0010687d
JH
5281Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
5282
5283 * toplev.c (rest_of_compilation): Delete dead jumptables before
5284 loop.
5285 * flow.c (delete_dead_jumptables): Make global.
5286 * rtl.h (delete_dead_jumptables): Declare.
5287
9429c84c
DE
52882002-03-01 David Edelsohn <edelsohn@gnu.org>
5289
5290 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
5291 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 5292 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 5293
f0b6f9a6
KH
52942002-03-01 Kazu Hirata <kazu@hxi.com>
5295
5296 * config/h8300/h8300-protos.h: Fix formatting.
5297 * config/h8300/h8300.c: Likewise.
5298 * config/h8300/h8300.h: Likewise.
5299
bc8db8a1
KH
53002002-03-01 Kazu Hirata <kazu@hxi.com>
5301
5302 * config/h8300/h8300.c (print_operand): Support 16-bit
5303 constant addresses.
5304 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
5305
32b069d3
RH
53062002-02-28 Richard Henderson <rth@redhat.com>
5307
5308 * expmed.c (store_bit_field): Prevent generation of CONCATs;
5309 pun complex values as integers; use gen_lowpart instead of
5310 gen_rtx_SUBREG.
5311 (extract_bit_field): Likewise.
5312
79c4e63f
AM
53132002-03-01 Alan Modra <amodra@bigpond.net.au>
5314 David Edelsohn <edelsohn@gnu.org>
5315
5316 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
5317 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
5318 (SUPPORTS_WEAK): Likewise.
5319 * output.h (add_weak): Add tree param.
5320 * varasm.c (add_weak): Likewise. Save decl.
5321 (struct weak_syms): Add decl field.
5322 (mark_weak_decls): New function.
5323 (init_varasm_once): ggc_add_root mark_weak_decls.
5324 (assemble_start_function): Use ASM_WEAKEN_DECL.
5325 (assemble_variable): Likewise.
5326 (assemble_alias): Likewise.
5327 (declare_weak): Pass decl to add_weak.
5328 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
5329 (remove_from_pending_weak_list): Declare and define for
5330 ASM_WEAKEN_DECL.
5331 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
5332 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
5333 * defaults.h (SUPPORTS_WEAK): Likewise.
5334 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
5335 .weak for code sym. Do emit .size for descriptor sym.
5336 (ASM_DECLARE_FUNCTION_SIZE): Define.
5337 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
5338 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
5339 .lglobl unless TARGET_XCOFF. Formatting fixes.
5340 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
5341 .weak for code sym.
5342 (HANDLE_PRAGMA_WEAK): Remove.
5343 (ASM_WEAKEN_LABEL): Remove.
5344 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
5345
6f30f1f1
JM
53462002-03-01 Jason Merrill <jason@redhat.com>
5347
5348 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
5349 (TARGET_EXPR_CLEANUP): New macro.
5350
7879b81e
SE
53512002-02-28 Steve Ellcey <sje@cup.hp.com>
5352
5353 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
5354 to take ptr_extend into account as third type of extension.
5355 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
5356 fields used by SUBREG_PROMOTED_UNSIGNED_P.
5357 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
5358 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
5359 * calls.c (precompute_arguments): Use new macro.
5360 (expand_call): Ditto.
5361 * combine.c (nonzero_bits): Ditto.
5362 (record_promoted_value): Ditto.
5363 * expr.c (store_expr): Ditto.
5364 (expand_expr): Ditto.
5365 * function.c (assign_parms): Ditto.
5366
42d579d8
AO
53672002-02-28 Alexandre Oliva <aoliva@redhat.com>
5368
5369 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
5370 override -shared and -shared-libgcc.
5371
e0054185
DB
53722002-02-28 David O'Brien <obrien@FreeBSD.org>
5373
5374 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
5375 of "ultrasparc".
5376 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
5377 to be broken.
5378
abda4f1c
RH
53792002-02-28 Richard Henderson <rth@redhat.com>
5380
5381 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
5382 4 cycle latency from MM producers.
5383 (ia64_internal_sched_reorder): Likewise with pipeline flush.
5384
c0f08649
JJ
53852002-02-28 Jakub Jelinek <jakub@redhat.com>
5386
5387 * mklibgcc.in: Don't use GNU make extension.
5388
f79f2651
NB
53892002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
5390
5391 * c-parse.in (STATIC): New terminal.
5392 (scspec): New non-terminal. Update productions accordingly.
5393 (program): Remove bogus ifc / end ifc.
5394 (array_declarator): Simplify production using STATIC.
5395
001e3fee
JM
53962002-02-28 Jim Meyering <meyering@lucent.com>
5397
5398 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
5399 \a still means TARGET_BELL.
5400
89076bb3
RH
54012002-02-28 Richard Henderson <rth@redhat.com>
5402
5403 * haifa-sched.c (sched_emit_insn): New.
5404 (schedule_block): Use last_scheduled_insn to track last insn.
5405 * sched-int.h (sched_emit_insn): Prototype.
5406 * config/ia64/ia64.c (last_issued): Remove.
5407 (ia64_variable_issue): Don't set it.
5408 (nop_cycles_until): Use sched_emit_insn.
5409
e3aaacf4
AM
54102002-02-28 Andrew MacLeod <amacleod@redhat.com>
5411
5412 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
5413 extended constants.
5414
7f473594
KH
54152002-02-28 Kazu Hirata <kazu@hxi.com>
5416
5417 * config/h8300/h8300.c: Fix formatting.
5418 * config/h8300/h8300.h: Likewise.
5419
b96c434c
MM
54202002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
5421
5422 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
5423 which may overwrite the high byte of the frame pointer.
5424
9b420a6a
BT
54252002-02-28 Bo Thorsen <bo@suse.de>
5426
5427 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
5428 (STARTFILE_SPEC): Add 64 bit files.
5429 (ENDFILE_SPEC): Likewise.
5430
6f30f1f1 54312002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
5432
5433 * c-decl.c (finish_function): Only warn about missing return
5434 statement with -Wreturn-type.
5435
70da1d03
JH
5436Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
5437
5438 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
5439
5440 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
5441 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
5442
38c1593d
JH
5443Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
5444
5445 * basic-block.h (BB_REACHABLE): Renumber.
5446 (BB_DIRTY, BB_NEW): New flags.
5447 (clear_bb_flags): Declare.
5448 (update_life_info_in_dirty_blocks): Declare.
5449 * cfg.c (clear_bb_flags): New function.
5450 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
5451 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
5452 reorder_insns, emit_insn_after): Mark block as dirty.
5453 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
5454 (update_life_info_in_dirty_blocks): New function.
5455 * recog.c (apply_change_group): Dirtify block.
5456
5457 * cse.c (cse_insn): Reorder emitting of jump insn to keep
5458 cfg consistent.
5459 * gcse.c (delete_null_pointer_checks): Likewise.
5460
5461 * toplev.c (dump_file_index): Move cse2 after bp,
5462 add DFI_null
5463 (dump_file_info): Similary.
5464 (rest_of_compilation): Avoid most of CFG rebuilds;
5465 do first if converision after null pointer checks, do cse2
5466 after branch prediction; avoid full liveness rebuild after
5467 initializing subregs.
5468 * invoke.texi (-d options): Document -du, renumber.
5469
5470 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
5471 (notice_new_block): Do not set BB_UPDATE_LIFE.
5472 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
5473 merge_blocks_move_successor_nojumps, merge_blocks,
5474 try_crossjump_to_edge): Likewise.
5475 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
5476 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
5477 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
5478 (merge_of_block): Do not use life_data_ok.
5479 (find_if_case_1): Do not use SET_UPDATE_LIFE.
5480 (if_convert): Use BB_DIRTY mechanizm to update life.
5481 * lcm.c (optimize_mode_switching): Update
5482 update_life_info_in_dirty_blocks
5483
63e1b1c4
NB
54842002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
5485
5486 * Makefile.in (integrate.o): Update.
5487 * c-decl.c (copy_lang_decl): Rename.
5488 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
5489 * integrate.c: Include langhooks.h.
5490 (copy_decl_for_inlining): Update to use langhook.
5491 * langhooks-def.h (lhd_do_nothing_t,
5492 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
5493 (LANG_HOOKS_INITIALIZER): Update.
5494 * langhooks.c (lhd_do_nothing_t): New.
5495 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
5496 * tree.h (copy_lang_decl): Remove.
5497objc:
5498 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
5499
f472fa29
AM
55002002-02-27 Andrew MacLeod <amacleod@redhat.com>
5501
ba31d94e 5502 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
5503 POST_DEC, and POST_MODIFY.
5504
273cf2e4
ZW
55052002-02-27 Zack Weinberg <zack@codesourcery.com>
5506
5507 * c-typeck.c (digest_init): Remove unused parameter; all
5508 callers changed.
5509
4e07d762
GK
55102002-02-27 Geoffrey Keating <geoffk@redhat.com>
5511
5512 * expmed.c (expand_shift): Correctly test for low part of a
5513 subreg.
5514
6bc627b3
UW
55152002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
5516
5517 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
5518 insn UIDs with insn addresses.
5519
f458d1d5
ZW
55202002-02-27 Zack Weinberg <zack@codesourcery.com>
5521
5522 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
5523 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
5524 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
5525 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
5526 gcc.c, toplev.c: Delete code implementing -traditional mode.
5527
5528 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
5529 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
5530 Document removal of -traditional mode for compilation, and
5531 remove documentation only relevant to that mode.
5532
5533 * config/nextstep.h, config/ptx4.h, config/svr4.h,
5534 config/convex/convex.h, config/d30v/d30v.h,
5535 config/i386/dgux.h, config/i386/osf1elf.h,
5536 config/i386/osfelf.h, config/i386/osfrose.h,
5537 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
5538 config/m68k/hp310.h, config/m88k/dgux.h,
5539 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
5540 config/m88k/m88k.h, config/m88k/openbsd.h,
5541 config/mips/abi64.h, config/mips/osfrose.h,
5542 config/mips/svr4-5.h, config/mips/svr4-t.h,
5543 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
5544 config/stormy16/stormy16.h: Remove all references to
5545 -traditional from target specs. Delete all mention of the
5546 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
5547 delete a couple of commented-out definitions of
5548 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
5549 to -traditional.
5550
5551 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
5552 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
5553
e0b3a8ff
ZW
55542002-02-27 Zack Weinberg <zack@codesourcery.com>
5555
5556 * mklibgcc.in: Don't use \n in a line subject to
5557 interpretation by echo.
5558
5c6a85b7
GS
55592002-02-27 Graham Stott <grahams@redhat.com>
5560
72b05af1
GS
5561 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
5562 Constify NAME.
5563
7d104885
GS
5564 * loop.c (prescan_loop): Handle PARALLEL.
5565
8ed805d2
GS
5566 * unroll.c (loop_iterations): Return 0 if the add_val for
5567 a BIV is REG.
5568
fd478a0a
GS
5569 * final.c (output_operand_lossage): Constify PFX_STR.
5570
5c6a85b7
GS
5571 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
5572
cd98ad03
JH
5573Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
5574
5575 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
5576 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
5577
639ae55b
JH
5578Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
5579
5580 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
5581
e808ec9c
NB
55822002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
5583
5584 * cpplex.c (_cpp_lex_token): Handle directives in macro
5585 arguments.
5586 * cpplib.c (_cpp_handle_directive): Save and restore state
5587 if parsing macro args when entering a directive.
5588 * cppmacro.c (collect_args): No need to handle directives
5589 in macro arguments.
5590 (enter_macro_context, replace_args): Use the original macro
5591 definition in case it was redefined whilst collecting arguments.
5592doc:
5593 * cpp.texi: Update.
5594
f585a356
DE
55952002-02-26 David Edelsohn <edelsohn@gnu.org>
5596
5597 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
5598 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
5599 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
5600 method on AIX.
5601 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
5602 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
5603 (load_toc_v4_PIC_2): Same.
5604
56052002-02-26 Alan Modra <amodra@bigpond.net.au>
5606
5607 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
5608
d699058e
RH
56092002-02-26 Richard Henderson <rth@redhat.com>
5610
5611 * config/alpha/alpha.md (ashldi_se): Re-enable.
5612
eadccfbb
RH
56132002-02-26 Richard Henderson <rth@redhat.com>
5614
5615 * config/alpha/alpha.c (alpha_encode_section_info): Examine
5616 MODULE_LOCAL_P; improve commentary.
5617
7080ada1
ZW
56182002-02-26 Zack Weinberg <zack@codesourcery.com>
5619
5620 * doc/cpp.texi: Clarify documentation of relationship between
5621 #line and #include.
5622
b42cff6b
KH
56232002-02-26 Kazu Hirata <kazu@hxi.com>
5624
5625 * config/h8300/h8300-protos.h: Update the prototype for
5626 compute_logical_op_length. Add the prototype for
5627 compute_logical_op_cc.
5628 * config/h8300/h8300.c (compute_logical_op_length): Figure out
5629 code from operands.
5630 (compute_logical_op_cc): New.
5631 * config/h8300/h8300.md: Combine all the logical op patterns
5632 in HImode and SImode. Use compute_logical_op_cc.
5633
831c4e87
KC
56342002-02-26 Kelley Cook <kelleycook@comcast.net>
5635
5636 * config/i386/i386.c (print_operand): Don't append ATT-style
5637 length suffixs to x87 opcodes when in Intel mode.
5638
ff88fe10
RS
56392002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
5640
5641 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
5642 (init_emit_once): Update calls.
5643 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
5644 (init_syntax_once): Prototype.
5645
d4108589
JDA
56462002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
5647
5648 * pa-linux.h (LIB_SPEC): Update definition.
5649 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
5650
e013f3c7
RH
56512002-02-26 Richard Henderson <rth@redhat.com>
5652
5653 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
5654 if we emitted a stop bit.
5655
9e944a16
JJ
56562002-02-26 Jakub Jelinek <jakub@redhat.com>
5657
5658 * configure.in (libgcc_visibility): Substitute.
5659 * configure: Rebuilt.
5660 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
5661 defined symbols .hidden.
5662
47bd70b5
JJ
56632002-02-26 Jakub Jelinek <jakub@redhat.com>
5664
5665 * attribs.c (c_common_attribute_table): Add visibility.
5666 (handle_visibility_attribute): New function.
5667 * varasm.c (assemble_visibility): New function.
5668 * output.h (assemble_visibility): Add prototype.
5669 * tree.h (MODULE_LOCAL_P): Define.
5670 * crtstuff.c (__dso_handle): Use visibility attribute.
5671 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
5672 for MODULE_LOCAL_P symbols too.
5673 * config/ia64/ia64.c (ia64_encode_section_info): Handle
5674 MODULE_LOCAL_P symbols the same way as local symbols.
5675 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
5676 into .sdata/.sbss by the user.
5677 * doc/extend.texi (Function Attributes): Document visibility
5678 attribute.
5679
6d73371a
JJ
56802002-02-26 Jakub Jelinek <jakub@redhat.com>
5681
5682 PR debug/5770
5683 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
5684 STRING_CST initializer spanning the whole variable without
5685 embedded zeros.
5686 If expand_expr returned MEM, don't use it.
5687
06e224f7
AO
56882002-02-26 Alexandre Oliva <aoliva@redhat.com>
5689
5690 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
5691 generate a die for the lexical block.
5692
40367e2d
KH
56932002-02-26 Kazu Hirata <kazu@hxi.com>
5694
5695 * config/h8300/h8300-protos.h: Add a prototype for
5696 compute_logical_op_length.
5697 * config/h8300/h8300.c (compute_logical_op_length): New.
5698 * config/h8300/h8300.md (anonymous logical patterns): Use
5699 compute_logical_op_length for length.
5700
0e98f924
AH
57012002-02-26 Aldy Hernandez <aldyh@redhat.com>
5702
831c4e87
KC
5703 * dwarf2out.c (modified_type_die): Do not call type_main_variant
5704 for vectors.
5705 (gen_type_die): Same.
0e98f924 5706
831c4e87 5707 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 5708
a50cfd52
DE
57092002-02-26 Daniel Egger <degger@fhm.edu>
5710
831c4e87
KC
5711 * config/rs6000/rs6000.md: Swap define_insn attributes to
5712 fix incorrect generation of merge high instructions instead
5713 of merge low.
a50cfd52 5714
b7997284
AH
57152002-02-26 Aldy Hernandez <aldyh@redhat.com>
5716
831c4e87
KC
5717 * c-typeck.c (really_start_incremental_init): Use
5718 bitsize_zero_node for vectors.
b7997284 5719
376aec5d
AH
57202002-02-26 Aldy Hernandez <aldyh@redhat.com>
5721
831c4e87
KC
5722 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
5723 ("*set_vrsave_internal"): Same.
376aec5d 5724
3b40e71b
RH
57252002-02-25 Richard Henderson <rth@redhat.com>
5726
5727 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
5728 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
5729
232b8f52
JJ
57302002-02-25 Jakub Jelinek <jakub@redhat.com>
5731
5732 PR target/5755
5733 * config/i386/i386.c (ix86_return_pops_args): Only pop
5734 fake structure return argument if it was passed on the stack.
5735
67282790
JM
57362002-02-25 Jason Merrill <jason@redhat.com>
5737
5738 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
5739 RESULT_DECL.
5740
5c181756
AO
57412002-02-25 Alexandre Oliva <aoliva@redhat.com>
5742
5743 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
5744 link with shared_name only.
5745 * doc/invoke.texi (Link Options): Document new behavior.
5746
6786d201
AH
57472002-02-25 Aldy Hernandez <aldyh@redhat.com>
5748
831c4e87 5749 * c-typeck.c (push_init_level): Handle vectors.
6786d201 5750
7d6040e8
AO
57512002-02-25 Alexandre Oliva <aoliva@redhat.com>
5752
5753 * config/sparc/sparc.c (const64_high_operand): Zero-extend
5754 operands of SPARC_SETHI_P.
5755 (input_operand): Likewise.
5756 (sparc_emit_set_const32): Likewise.
5757 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
5758 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
5759 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
5760 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
5761 (movdi_insn_sp64_vis): Likewise.
5762 (movdi split, movdf split): Use SETHI32.
5763 * doc/md.texi: Document SPARC constraints L, M and N.
5764
b188f760
AH
57652002-02-25 Aldy Hernandez <aldyh@redhat.com>
5766
831c4e87
KC
5767 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
5768 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 5769
831c4e87
KC
5770 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
5771 gen_get_vrsave_internal.
b188f760 5772
8041889f
RK
5773Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5774
5775 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
5776
a47ed310
NB
57772002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
5778
5779 * cpplex.c (cpp_interpret_charconst): Get signedness or
5780 otherwise of wide character constants correct.
5781 * cppexp.c (lex): Get signedness of wide charconsts correct.
5782
cb8f73be
RK
5783Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5784
5785 * optabs.c (widen_operand): Only call convert_modes for
5786 promoted SUBREG if signedness matches.
5787 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
5788
2450e0b8
NB
57892002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
5790
5791 * cpplib.c (glue_header_name): Use local buffer to build up
5792 header name.
5793
70b6aaed
NB
57942002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
5795
5796 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
5797
6be580c7
KH
57982002-02-23 Kazu Hirata <kazu@hxi.com>
5799
5800 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
5801 H8/300[HS] separately.
5802 * config/h8300/h8300.md: Remove the early clobber constraint
5803 from bit field patterns.
5804
35dad9f1
KH
58052002-02-23 Kazu Hirata <kazu@hxi.com>
5806
5807 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
5808 register_operand.
5809 (mulhisi3): Likewise.
5810 (umulqisi3): Likewise.
5811 (umulhisi3): Likewise.
5812
ab8e2228
NB
58132002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
5814
5815 * cppinit.c (output_deps): Correct test for stdout output.
5816 (init_dependency_output): Cure warning.
5817
ac6f8a15
RK
5818Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5819
5820 * expr.c (store_expr): When converting expression to promoted
5821 equivalent type, allow using SUBREG_REG of TARGET as the target
5822 of the expansion of EXP.
5823 * loop.c (basic_induction_var, case SUBREG): Always look inside.
5824 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
5825 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
5826 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
5827 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
5828
f282ffb3
JM
58292002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
5830
5831 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
5832 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
5833 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
5834
44c5edc0
JJ
58352002-02-23 Jakub Jelinek <jakub@redhat.com>
5836
5837 PR optimization/5747
5838 * loop.c (scan_loop): Update reg info if move_movables created new
5839 pseudos.
5840
f98e43c0
DE
58412002-02-23 David Edelsohn <edelsohn@gnu.org>
5842
5843 * gcc.c (init_gcc_spec): Revert last change.
5844
e72247f4
DE
58452002-02-23 David Edelsohn <edelsohn@gnu.org>
5846
5847 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
5848 gpc_reg_operand constraint.
5849
58502002-02-23 Alan Modra <amodra@bigpond.net.au>
5851
5852 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
5853 Simplify comparison of `low'.
5854 (add_operand): Fix formatting.
5855 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 5856 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
5857 (rs6000_stack_info): Remove redundant test setting push_p.
5858 (output_toc): Fix formatting.
5859 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
5860 cc_reg_not_cr0_operand constraint.
5861 (booldi3, boolcdi3 splitters): Same.
5862
a5c30531
AH
58632002-02-23 Aldy Hernandez <aldyh@redhat.com>
5864
831c4e87 5865 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 5866
43710f9f
DE
58672002-02-22 David Edelsohn <edelsohn@gnu.org>
5868
5869 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
5870 gcc invoked with -shared-libgcc.
5871
3256b817
JJ
58722002-02-22 Jakub Jelinek <jakub@redhat.com>
5873
5874 PR c++/5748
5875 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
5876 decl if any of elements was TREE_USED.
5877
9e0625a3
AO
58782002-02-22 Alexandre Oliva <aoliva@redhat.com>
5879
5880 * config/sparc/sol2.h: Don't include sys/mman.h.
5881 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
5882 (arith_4096_operand): Don't throw high bits away.
5883 (const64_operand): Take sign extension of CONST_INTs into account.
5884 (const64_high_operand, sparc_emit_set_const32): Likewise.
5885 (GEN_HIGHINT64): Likewise.
5886 (sparc_emit_set_const64_quick1): Likewise.
5887 (const64_is_2insns): Likewise.
5888 (print_operand): Use trunc_int_for_mode for sign extension.
5889 * config/sparc/sparc.h (SMALL_INT32): Likewise.
5890 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
5891 chars. Assume CONST_INT is already properly sign-extended.
5892 (movdi split): Sign-extend each SImode part.
5893 (andsi3 split): Don't mask high bits off, so that result
5894 remains properly sign-extend.
5895 (iorsi3 split): Likewise.
5896 (xorsi3 split): Likewise.
5897
54fec3d5
RS
58982002-02-22 Richard Sandiford <rsandifo@redhat.com>
5899
5900 * fold-const.c (fold): Fix typo in comments.
5901
667ada9b
DN
59022002-02-21 Diego Novillo <dnovillo@redhat.com>
5903
5904 * Makefile.in (langhooks.o): Update dependencies.
5905
29ac78d5
DN
59062002-02-21 Diego Novillo <dnovillo@redhat.com>
5907
5908 * langhooks.c: Include flags.h.
5909
6aa77e6c
AH
59102002-02-21 Aldy Hernandez <aldyh@redhat.com>
5911
5912 * testsuite/gcc.dg/attr-alwaysinline.c: New.
5913
5914 * c-common.c (c_common_post_options): Set inline trees by
5915 default.
5916
5917 * doc/extend.texi (Function Attributes): Document always_inline
5918 attribute.
5919 Update documentation about inlining when not optimizing.
5920
5921 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
5922
5923 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
5924 unless DECL_ALWAYS_INLINE.
5925
5926 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
5927 unless DECL_ALWAYS_INLINE.
5928 (c_disregard_inline_limits): Disregard if always_inline set.
5929
5930 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
5931 Disregard if always_inline set.
5932 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
5933 unless DECL_ALWAYS_INLINE.
5934
5935 * attribs.c (handle_always_inline_attribute): New.
5936 (c_common_attribute_table): Add always_inline.
5937
5938 * config/rs6000/altivec.h: Add prototypes for builtins
5939 requiring the always_inline attribute.
5940
c410d49e
EC
59412002-02-21 Eric Christopher <echristo@redhat.com>
5942
5943 * expmed.c (store_bit_field): Try to simplify the subreg
5944 before generating a new one when when the mode size of
5945 value is less than maxmode.
5946
e3c8ea67
RH
59472002-02-21 Richard Henderson <rth@redhat.com>
5948
5949 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
5950 than gen_rtx_PLUS to form the sum.
5951 * explow.c (force_reg): Rearrange to not allocate new pseudo
5952 when force_operand returns a register.
5953 * expr.c (expand_assignment): Allow offset_rtx expansion to
5954 return a sum. Do not force addresses into registers.
5955 (expand_expr): Likewise.
5956 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
5957 to canonicalize arithmetic that didn't simpify.
5958 (simplify_plus_minus): New argument force; update
5959 all callers. Don't split CONST unless we can do something with it,
5960 and wouldn't lose the constness of the operands.
5961
5962 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
5963 that we generated earlier.
5964
c1a046e5
TT
59652002-02-21 Tom Tromey <tromey@redhat.com>
5966
5967 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5968 (output_line_info): Use constant `1', with a long explanatory
5969 comment.
5970 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
5971
31fbaad4
R
5972Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
5973
5974 * jump.c (redirect_jump): If old label has no UID, don't try to
5975 delete it.
5976
a7f52356
R
5977Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
5978
5979 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
5980 If input is constant, do shifts at compile time.
5981
924fcc4e
JM
59822002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
5983
5984 * doc/extend.texi: Fix some more overfull hboxes.
5985
e5a20888
JJ
59862002-02-21 Jakub Jelinek <jakub@redhat.com>
5987
5988 PR optimization/4994
5989 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
5990 register moves.
5991
59922002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
5993
5994 PR c++/4574
5995 * expr.h (expand_and): Add mode argument.
5996 * expmed.c (expand_and): Add mode argument.
5997 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
5998 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
5999 * except.c (expand_builtin_extract_return_addr): Likewise.
6000 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
6001 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
6002 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
6003 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
6004 * config/c4x/c4x.md: Use GEN_INT (x) instead of
6005 gen_rtx (CONST_INT, VOIDmode, x).
6006
7133e992
JJ
60072002-02-21 Jakub Jelinek <jakub@redhat.com>
6008
6009 PR c/4697:
6010 * stmt.c (warn_if_unused_value): Move side effects test once more.
6011
e2ec05a6
TG
60122002-02-20 Torbjorn Granlund <tege@swox.com>
6013
6014 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 6015 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 6016
9dd791c8
AO
6017Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
6018
6019 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
6020 SUBREG or ZERO_EXTEND.
6021
7ab56274
R
6022Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
6023
6024 * sh.h (current_function_anonymous_args): Remove.
6025 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
6026 of current_function_varargs and current_function_stdarg is set.
6027 * sh.c (sh_expand_prologue): Check current_function_varargs /
6028 current_function_stdarg / TARGET_SH5 instead of
6029 current_function_anonymous_args.
6030
6031 * sh64.h (TARGET_VERSION): Define.
6032
b1765bde
DE
60332002-02-20 David Edelsohn <edelsohn@gnu.org>
6034
6035 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
6036 VRSAVE_REGNO on TARGET_ALTIVEC.
6037
60382002-02-20 Alan Modra <amodra@bigpond.net.au>
6039
6040 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
6041 bits of SImode const_int.
6042 (includes_rshift_p): Likewise.
6043 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 6044 mode.
b1765bde
DE
6045 (rs6000_output_function_epilogue): Pad traceback table to word.
6046 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
6047 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
6048 mask64_operand with correct mode.
b1765bde
DE
6049 (FUNCTION_ARG_REGNO_P): Correct parentheses.
6050
149d6f9e
JJ
60512002-02-20 Jakub Jelinek <jakub@redhat.com>
6052
6053 PR debug/4461
6054 * varasm.c (get_pool_constant_mark): New.
6055 * rtl.h (get_pool_constant_mark): Add prototype.
6056 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
6057 be represented if it has not been output.
6058
4161da12
AO
60592002-02-20 Alexandre Oliva <aoliva@redhat.com>
6060
6061 * combine.c (do_SUBST): Sanity check substitutions of
6062 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
6063 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
6064 CONST_INT into its operand.
6065 (known_cond): Likewise, for ZERO_EXTEND.
6066 * simplify-rtx.c (simplify_unary_operation): Fix condition to
6067 allow for simplification of wide modes. Reject CONST_INTs in
6068 ZERO_EXTEND when their actual mode is not given.
6069
3704ef74
AO
60702002-02-20 Alexandre Oliva <aoliva@redhat.com>
6071
6072 * c-decl.c (pushdecl): If no global declaration is found for an
6073 extern declaration in block scope, try a limbo one.
6074
7552da58
JJ
60752002-02-20 Jakub Jelinek <jakub@redhat.com>
6076
6077 PR c++/4401
6078 * c-common.c (pointer_int_sum): Moved from...
6079 * c-typeck.c (pointer_int_sum): ...here.
6080 * c-common.h (pointer_int_sum): Add prototype.
6081
00fae85d
JJ
60822002-02-20 Jakub Jelinek <jakub@redhat.com>
6083
6084 PR c++/5713
6085 * c-decl.c (duplicate_decls): Return 0 if issued error about
6086 redeclaration.
6087
4636c87e
JJ
60882002-02-20 Roger Sayle <roger@eyesopen.com>
6089 Jakub Jelinek <jakub@redhat.com>
6090
6091 PR c/4389
6092 * tree.c (host_integerp): Ensure that the constant integer is
6093 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
6094 when pos is zero or non-zero respectively. Clarify comment.
6095 * c-format.c (check_format_info_recurse): Fix host_integerp
6096 usage; the pos argument should be zero when assigning to a
6097 signed HOST_WIDE_INT.
6098
59bef189
RH
60992002-02-20 Richard Henderson <rth@redhat.com>
6100
6101 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
6102 of the operand, rather than assuming TImode.
6103 (ix86_expand_binop_builtin): Cope with commutative patterns
6104 using nonimmediate_operand for both operands.
6105 (ix86_expand_timode_binop_builtin): Likewise.
6106 (ix86_expand_store_builtin): Validate operand 1.
6107 (ix86_expand_unop1_builtin): Likewise.
6108
9338ffe6 61092002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 6110
9338ffe6
PB
6111 PR 5705
6112 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
6113
f322b423
RH
61142002-02-20 Richard Henderson <rth@redhat.com>
6115
6116 PR c/5615
6117 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
6118
d94084f7
TT
61192002-02-20 Tom Tromey <tromey@redhat.com>
6120
6121 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
6122 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
6123 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
6124 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
6125 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
6126 unconditionally.
6127
37fa124a
AM
6128Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
6129
6130 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
6131 for (const_int 0) in X not just INTVAL.
6132
6e5bb5ad
JM
61332002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
6134
6135 * doc/extend.texi: Avoid or reduce overfull hboxes.
6136
420e7dfa
DN
61372002-02-20 Diego Novillo <dnovillo@redhat.com>
6138
6139 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
6140 operations if the field does not start at a mode boundary.
6141
1b7a2af6
JS
61422001-02-20 Joel Sherrill <joel@OARcorp.com>
6143
6144 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
6145 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
6146 Also done for -Acpu and -Amachine.
6147
56cd5b95
NB
61482002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
6149
6150 * cppinit.c (init_dependency_output): Take deps output file
6151 from -o if none given with -MF. Suppress normal output.
c410d49e 6152 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
6153 * doc/cpp.texi, doc/invoke.texi: Update.
6154
042cdf71
ZW
61552002-02-19 Zack Weinberg <zack@codesourcery.com>
6156
6157 * toplev.c (output_quoted_string): Write unprintable
6158 characters with octal escapes.
6159
c1f11548
DE
61602002-02-19 David Edelsohn <edelsohn@gnu.org>
6161
6162 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
6163 really_call_used[VRSAVE_REGNO] if not Altivec.
6164
61652002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 6166
c1f11548
DE
6167 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
6168 MODE_MASK.
6169 (constant_pool_expr_1): Fix formatting.
6170 (rs6000_legitimize_reload_address): Likewise.
6171
c964d90e
RK
6172Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6173
6174 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
6175 now that we have one.
6176
ae34ac46
ZW
61772002-02-19 Zack Weinberg <zack@codesourcery.com>
6178
6179 * tree.h (struct tree_common): Remove aux. Add unused_0 at
6180 end of first block of bitfields (which was only seven bits);
6181 rename dummy to unused_1; remove comment which is no longer true.
6182
293c28ee
GS
61832002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
6184
6185 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
6186
7b8781c8
PB
61872002-02-19 Philip Blundell <pb@nexus.co.uk>
6188
0cb6c58d 6189 PR 5399
7b8781c8
PB
6190 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
6191 if generating PIC.
6192
6193 PR 5054
6194 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
6195 arm_is_longcall_p rather than inspecting call-type cookie
6196 directly.
6197 (call_value_insn) [TARGET_THUMB]: Likewise.
6198
5c464583
GS
61992002-02-19 Graham Stott <grahams@redhat.com>
6200
6201 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
6202
71c061e6
DE
62032002-02-19 David Edelsohn <edelsohn@gnu.org>
6204
6205 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
6206 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 6207 (FP_SAVE_INLINE): Delete.
71c061e6
DE
6208
6209 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
6210 * config/rs6000/eabi.asm: Remove ABI save restore routines.
6211 * config/rs6000/t-ppccomm: Build crtsavres.o.
6212 * config/rs6000/crtsavres.asm: New file.
6213
3a7731fd
PB
62142002-02-19 Philip Blundell <philb@gnu.org>
6215
6216 * config/arm/arm.c (use_return_insn): Don't reject interrupt
6217 functions.
6218 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
6219 (output_return_instruction): Allow interrupt functions to return with
6220 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
6221 (arm_expand_prologue): Subtract 4 before stacking LR in an
6222 interrupt function.
6223
14f583b8
PB
62242002-02-19 Philip Blundell <pb@nexus.co.uk>
6225
6226 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
6227 decl, not just FUNCTION_DECL.
6228 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
6229 (arm_assemble_integer): Likewise.
6230 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
6231 marked local.
c410d49e 6232
4cb7482c
MG
62332002-02-19 matthew green <mrg@eterna.com.au>
6234
6235 * config.gcc (sparc-*-netbsdelf*): Enable target.
6236 (sparc64-*-netbsd*): New target.
6237 * config/sparc/netbsd-elf.h: New file.
6238 * config/sparc/t-netbsd64: New file.
6239
2df3a718
GS
62402002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
6241
6242 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
6243
77f6c1eb
RS
62442002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
6245
6246 * doc/invoke.texi: explicitly list the style guidelines that
6247 -Weffc++ checks for.
6248
fd973d56
JH
6249Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
6250
6251 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
6252
30518e45
NB
62532002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
6254
6255 PR other/5718
6256 * gcc.c (cpp_unique_options): Treat -o as indicating object file
6257 only if not -E. If -E, pass -o through to the preprocessor.
6258
39ea5704
KH
62592002-02-19 Kazu Hirata <kazu@hxi.com>
6260
6261 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
6262 register number with an appropriate macro.
6263
7355dba7
BM
62642002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
6265
6266 * doc/rtl.texi (Constants): Close @code tag.
6267
91c8aa9e
AH
62682002-02-19 Aldy Hernandez <aldyh@redhat.com>
6269
6270 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
6271 ("mmx_uavgv4hi3"): Same.
6272 ("pmulhrwv4hi3"): Same.
6273
6274 * tree-inline.c (walk_tree): Handle vectors.
6275
6276 * c-common.c (constant_expression_warning): Handle vectors.
6277 (overflow_warning): Same.
6278
6279 * sched-deps.c (sched_analyze_2): Handle vectors.
6280
6281 * rtlanal.c (rtx_unstable_p): Handle vectors.
6282 (rtx_varies_p): Same.
6283 (count_occurrences): Same.
6284 (regs_set_between_p): Same.
6285 (modified_between_p): Same.
6286 (modified_in_p): Same.
6287 (volatile_insn_p): Same.
6288 (volatile_refs_p): Same.
6289 (side_effects_p): Same.
6290 (may_trap_p): Same.
6291 (inequality_comparisons_p): Same.
6292 (replace_regs): Same.
6293 (computed_jump_p_1): Same.
6294
6295 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
6296 argument.
6297 (inner_mode_array): New.
6298 (copy_rtx): Handle vectors.
6299 (copy_most_rtx): Same.
6300 (rtx_equal_p): Same.
6301 (get_mode_alignment): Adjust for vectors.
6302
6303 * resource.c (mark_referenced_resources): Handle vectors.
6304 (mark_set_resources): Same.
6305
6306 * reload1.c (eliminate_regs): Handle vectors.
6307 (elimination_effects): Same.
6308 (scan_paradoxical_subregs): Same.
6309
6310 * reload.c (subst_reg_equivs): Handle vectors.
6311
6312 * regrename.c (scan_rtx): Handle vectors.
6313
6314 * regclass.c (reg_scan_mark_refs): Handle vectors.
6315
6316 * recog.c (find_single_use_1): Handle vectors.
6317
6318 * local-alloc.c (equiv_init_varies_p): Handle vectors.
6319 (contains_replace_regs): Same.
6320 (memref_referenced_p): Same.
6321
6322 * integrate.c (copy_rtx_and_substitute): Handle vectors.
6323 (subst_constants): Same.
6324
6325 * genattrtab.c (attr_copy_rtx): Handle vectors.
6326 (encode_units_mask): Same.
6327 (clear_struct_flag): Same.
6328 (count_sub_rtxs): Same.
6329
6330 * gcse.c (want_to_gcse_p): Handle vectors.
6331 (oprs_unchanged_p): Same.
6332 (hash_expr_1): Same.
6333 (oprs_not_set_p): Same.
6334 (expr_killed_p): Same.
6335 (compute_transp): Same.
6336 (store_ops_ok): Same.
6337
6338 * function.c (purge_addressof_1): Do not allow paradoxical subregs
6339 of vectors.
6340 (fixup_var_refs_1): Same.
6341 (instantiate_virtual_regs_1): Same.
6342
6343 * fold-const.c (operand_equal_p): Handle vectors.
6344 (fold): Same.
6345 (rtl_expr_nonnegative_p): Same.
6346
6347 * flow.c (mark_used_regs): Handle vectors.
6348
6349 * df.c (df_uses_record): Handle vectors.
6350
6351 * cselib.c (cselib_subst_to_values): Handle vectors.
6352 (cselib_mem_conflict_p): Same.
6353 (hash_rtx): Same.
6354
6355 * cse.c (canon_reg): Handle vectors.
6356 (fold_rt): Same.
6357 (cse_process_notes): Same.
6358 (count_reg_usage): Same.
6359 (canon_hash): Same.
6360
6361 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
6362
6363 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
6364
6365 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
6366 (gen_rtx): Handle CONST_VECTOR.
6367 (gen_const_vector_0): New.
6368 (copy_rtx_if_shared): CONST_VECTORs can be shared.
6369 (reset_used_flags): Same.
6370 (copy_insn_1): Same.
6371 (initializer_constant_valid_p): Handle VECTOR_CST.
6372
6373 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
6374
6375 * doc/rtl.texi (Constants): Document const_vector.
6376 (CONST0_RTX): Update for vectors.
6377 (RTL sharing): Same.
6378
6379 * print-tree.c (print_node): Add case for VECTOR_CST.
6380
6381 * tree.h (TREE_VECTOR_CST_ELTS): New.
6382 (struct tree_vector): New.
6383 (union tree_node): Add vector node.
6384 (build_vector): Add prototype.
6385
6386 * tree.def (VECTOR_CST): New.
6387
6388 * tree.c (build_vector): New.
6389
6390 * expmed.c (make_tree): Handle CONST_VECTOR.
6391
6392 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
6393 (CONST_VECTOR_ELT): New.
6394 (CONST_VECTOR_NUNITS): New.
6395
6396 * machmode.h (GET_MODE_INNER): New.
6397 (DEF_MACHMODE): Accept 8th arg.
6398
6399 * machmode.def: Add 8th argument for vector inner mode.
6400 Add inner vector modes for vectors.
6401
6402 * rtl.def (VEC_CONST): Remove.
6403 (CONST_VECTOR): New.
6404
6405 * expr.c (clear_storage): Allow vectors.
6406 (is_zeros_p): Handle VECTOR_CST.
6407
6408 * varasm.c (output_constant_pool): Handle vectors.
6409 (rtx_const): Add veclo and vechi fields.
6410 (kind): Add RTX_VECTOR.
6411 (decode_rtx_const): Add case for vector.
6412
6413 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 6414
91c8aa9e
AH
6415 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
6416 constants. Force easy vector constants into memory.
6417 (easy_vector_constant): New.
6418 (emit_easy_vector_constant): New.
6419 (rs6000_legitimize_reload_address): Do not generate bad reloads on
6420 darwin.
6421
6422 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
6423 instruction does.
6424 ("altivec_lvxl"): Same.
6425 (altivec_lvebx): Same.
6426 (altivec_lvehx): Same.
6427 (altivec_lvewx): Same.
6428 ("*movv4si_const0"): New.
6429 ("*movv4sf_const0"): New.
6430 ("*movv8hi_const0"): New.
6431 ("*movv16qi_const0"): New.
6432
d4d6d0ce
KH
64332002-02-18 Kazu Hirata <kazu@hxi.com>
6434
6435 * config/h8300/h8300.c (notice_update_cc): Use
6436 cc_status.value2.
6437
4915d3aa
KH
64382002-02-18 Kazu Hirata <kazu@hxi.com>
6439
6440 * config/h8300/h8300.md (divmod patterns): Change the
6441 constraints for operands[1] to register_operand.
6442
82be00ee
KH
64432002-02-18 Kazu Hirata <kazu@hxi.com>
6444
6445 * config/h8300/h8300-protos.h: Remove the prototype for
6446 p_operand.
6447 * config/h8300/h8300.c (p_operand): Remove.
6448 * config/h8300/h8300.md: Replace p_operand with
6449 const_int_operand.
6450
1768c26f
PB
64512002-02-18 Philip Blundell <pb@nexus.co.uk>
6452
6453 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
6454 comment.
6455 (output_return_instruction): Allow use of LDR to unstack
6456 return addresss even for interrupt handlers or when
6457 interworking. If compiling for ARMv5, use interworking-safe
6458 return instructions by default. Remove duplicated code and
6459 lengthy "strcat" sequences.
6460
ccd84f51
FS
64612002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6462
6463 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
6464 (LINK_EH_SPEC): Define.
6465 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
6466
2c153108
UW
64672002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
6468
6469 * config/s390/s390.c (s390_emit_prologue): Do not set the
6470 frame_related flag for call-clobbered registers.
6471
e95d6b23
JH
6472Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
6473
6474 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
6475 (construct_container): Fix handling of SSE operands.
6476 (ix86_expand_builtin): Fix handling of 64bit pointers.
6477 (mmx_maskmovq_rex): New pattern.
6478
c43a12b5
JH
6479Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
6480
6481 * regrename.c (kill_set_value): Handle subregs properly.
6482
aeb85a15
DB
64832002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
6484
6485 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 6486 from objc_class_name.
aeb85a15 6487
a615ca3e
RH
64882002-02-17 Richard Henderson <rth@redhat.com>
6489
6490 * config/alpha/alpha.c (some_small_symbolic_operand,
6491 some_small_symbolic_operand_1, split_small_symbolic_operand,
6492 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
6493 Handle small SYMBOL_REFs anywhere, not just inside memories.
6494 * config/alpha/alpha-protos.h: Update.
6495 * config/alpha/alpha.h (PREDICATE_CODES): Update.
6496 * config/alpha/alpha.md (small symbolic operand splitter): Update.
6497
ddb28441
RM
64982002-02-17 Roland McGrath <roland@frob.com>
6499
6500 * config.gcc (powerpc-*-gnu-gnualtivec*,
6501 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
6502 * config/rs6000/gnu.h: New file.
6503 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
6504 Grok "gnu" in rs6000_abi_name.
6505 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
6506 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
6507 Grok -mcall-gnu analogous to -mcall-linux et al.
6508 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
6509 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
6510 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
6511
f6f8ada3
JJ
65122002-02-17 Jakub Jelinek <jakub@redhat.com>
6513
6514 PR c/3444:
6515 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
6516 shortening.
6517
e16b32fc
PT
65182002-02-17 Philipp Thomas <pthomas@suse.de>
6519
6520 * config/cris/cris.h: Undefine STARTFILE_SPEC and
6521 ENDFILE_SPEC before (re)defining them.
6522
f9477efd
KH
65232002-02-17 Kazu Hirata <kazu@hxi.com>
6524
6525 * config/h8300/h8300.c: Fix formatting.
6526 * config/h8300/h8300.h: Likewise.
6527
404ae494
PT
65282002-02-17 Philipp Thomas <pthomas@suse.de>
6529
6530 * doc/tm.texi: Explain why empty strings should not be
6531 marked for translation.
6532
a52453cc
PT
65332002-02-17 Philipp Thomas <pthomas@suse.de>
6534
6535 * final.c (output_operand_lossage): Changed to accept
6536 printf style arguments. Change calls where necessary.
6537 * output.h (output_operand_lossage): Change declaration
6538 accordingly. Update copyright.
6539 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
6540 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
6541 Update copyright date where necessary.
c410d49e 6542
a52453cc
PT
6543 * config/i386/i386.c (print_operand): Likewise. Remove use of
6544 sprintf.
6545
6546 * config/cris/cris.c (cris_operand_lossage): Likewise.
6547 Rename parameter so that exgettext recognizes it as
6548 translatable message.
6549 (LOSE_AND_RETURN): Rename parameter to msgid.
6550
1c11abc4
KH
65512002-02-17 Kazu Hirata <kazu@hxi.com>
6552
6553 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
6554 hard coded register number with an appropriate macro.
6555 (HARD_REGNO_MODE_OK): Likewise.
6556 (ARG_POINTER_REGNUM): Likewise.
6557 (STATIC_CHAIN_REGNUM): Likewise.
6558 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
6559 * config/h8300/h8300.md (define_constants): Define more
6560 register numbers.
6561
a5d17ff3
PT
65622002-02-17 Philipp Thomas <pthomas@suse.de>
6563
6564 * config/i386/i386.h: Don't mark empty strings for translation.
6565
1a7289c4
L
65662002-02-16 H.J. Lu <hjl@gnu.org>
6567
6568 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
6569
afb58288
ZW
65702002-02-16 Zack Weinberg <zack@codesourcery.com>
6571
6572 * cppinit.c (merge_include_chains): Check for brack being
6573 NULL before attempting to merge it with qtail.
6574
d2af4dbd
AC
65752002-02-16 Andrew Cagney <ac131313@redhat.com>
6576
6577 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
6578 DBX_DEBUG.
6579
2e1ed1e3
JDA
65802002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
6581
6582 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
6583
604c75b2
JDA
65842002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
6585
6586 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
6587 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
6588 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
6589
1a42b072
RK
6590Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6591
7303604f 6592 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
6593 now only if !TARGET_FIX.
6594 (*movsi_nt_vms_fix): New pattern.
6595
c2ea1ac6
DR
65962002-02-16 Douglas B Rupp <rupp@gnat.com>
6597
6598 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
6599 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
6600 (alpha_sa_mask, alpha_sa_size): Reflect above change.
6601 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
6602 (alpha_start_function, alpha_expand_epilogue): Likewise.
6603 (unicosmk_gen_dsib): Likewise.
6604
725e58b1
RK
6605Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6606
6607 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
6608
13e58269
UW
66092002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
6610
c410d49e 6611 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
6612 check_and_change_labels, s390_final_chunkify): Delete.
6613 (s390_split_branches, s390_chunkify_pool): New functions.
6614 (s390_function_prologue): Call them.
c410d49e 6615
13e58269
UW
6616 * config/s390/s390.h (S390_REL_MAX): Delete.
6617 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
6618
c410d49e 6619 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
6620 attribute calculation.
6621
6622
34d1b01d
DE
66232002-02-15 David Edelsohn <edelsohn@gnu.org>
6624
6625 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
6626 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
6627
be5cc51a
JDA
66282002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
6629
6630 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
6631 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
6632 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
6633
ee96ce90
RS
66342002-02-15 Richard Sandiford <rsandifo@redhat.com>
6635
6636 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
6637
05fa709d
RS
66382002-02-15 Richard Sandiford <rsandifo@redhat.com>
6639
6640 * reload.c (find_dummy_reload): Check that an output register
6641 is valid for its mode.
6642
4606272b
AO
66432002-02-14 Alexandre Oliva <aoliva@redhat.com>
6644
9a360704
AO
6645 * combine.c (known_cond): After replacing the REG of a SUBREG, try
6646 to simplify it.
6647
4606272b
AO
6648 * function.c (assign_parms): Demote promoted argument passed by
6649 transparent reference.
6650
e62d89a1
JS
66512001-02-14 Joel Sherrill <joel@OARcorp.com>
6652
6653 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
6654 -Acpu() and -Amachine() to eliminate warnings.
6655
6c4cf695
UW
66562002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
6657
6658 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
6659
037f11ef
KH
66602002-02-14 Kazu Hirata <kazu@hxi.com>
6661
6662 * config/h8300/h8300-protos.h: Update the prototype for
6663 const_costs.
6664 * config/h8300/h8300.c (const_costs): Treat SET as a little
6665 more expensive operation.
6666 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
6667 reference to const_costs.
6668
fdc76b09
HPN
66692002-02-14 Hans-Peter Nilsson <hp@axis.com>
6670
6671 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
6672
d76e6800
JJ
66732002-02-14 Jakub Jelinek <jakub@redhat.com>
6674
6675 PR c/5503:
6676 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
6677 use arguments from newtype.
6678
5ae590d7
EC
66792002-02-13 Eric Christopher <echristo@redhat.com>
6680
6681 * config/mips/mips.c (override_options): Add check for march/mipsX
6682 on the same command line. Fix error message in cpu processing.
6683 Remove architecture and ISA checks.
6684
b8513691
AH
66852002-02-14 Aldy Hernandez <aldyh@redhat.com>
6686
831c4e87 6687 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 6688
831c4e87 6689 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 6690
78c875e8
AH
66912002-02-14 Aldy Hernandez <aldyh@redhat.com>
6692
831c4e87
KC
6693 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
6694 alternatives.
6695 ("*movv8hi_internal1"): Same.
6696 ("*movv16qi_internal1"): Same.
6697 ("*movv4sf_internal1"): Same.
78c875e8 6698
831c4e87
KC
6699 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
6700 not push_reload for altivec modes.
78c875e8 6701
d76e6800 67022002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
6703
6704 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
6705 all RTEMS targets including removal of #includes from config/*/rtems*.h
6706 file and adding them to tm_file setting. Added xm_defines=POSIX to
6707 many targets.
6708 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
6709 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
6710 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
6711 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
6712 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
6713 config/m68k/rtemself.h: Ditto.
6714 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
6715 config/mips/rtems64.h: Ditto.
6716 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
6717 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
6718 Ditto.
6719 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
6720 config/sparc/rtemself.h: Ditto.
6721 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
6722 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
6723 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
6724 more like arm-elf.
6725 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
6726 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
6727 target made more similar to i386-elf.
6728 * config/i386/t-rtems-i386: Added soft float support and multilibs.
6729 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
6730 be similar to config/m68k/t-m68kelf.
6731 * gthr-rtems.h: Encapsulate with extern "C" for C++.
6732
8686336f
JH
6733Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
6734
6735 * regmove.c (kill_value): Handle subregs.
6736
558740bf
JH
6737Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
6738
6739 * i386.md (mul patterns): Allow memory operand to be first;
6740 add expanders where needed; fix constraints.
6741 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
6742 Allow memory operand to be the first.
6743
6744 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
6745 operands.
6746
21117a17
JJ
67472002-02-13 Jakub Jelinek <jakub@redhat.com>
6748
6749 PR c/5681:
6750 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
6751 GET_MODE (x).
6752
ec65b2e3
JJ
67532002-02-13 Jakub Jelinek <jakub@redhat.com>
6754
6755 PR optimization/5547:
6756 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
6757 all valid IA-32 address modes involving non-scaled %ebx and
6758 GOT/GOTOFF as displacement.
6759
ce50cae8
UW
67602002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
6761
6762 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
6763 after emitting ltorg insns.
6764
6765 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
6766 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
6767 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
6768 *abssf2): Fix "op_type" attribute.
6769
09eb789b
DR
67702002-02-13 Douglas B Rupp <rupp@gnat.com>
6771
2dbe67bb
DR
6772 * mkconfig.sh: Avoid using a subshell redirect.
6773 ($output.T): Change to $(output)T.
6774 (ENABLE_NLS): Remove unneeded undef.
6775
ea5b9a1f
DR
6776 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
6777 * config/alpha/x-vms (libsubdir): Define.
6778
3deb00ce
DR
6779 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
6780 register frame procedures. Optimize retrieving context.
6781
09eb789b
DR
6782 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
6783 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
6784 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
6785
1abade85
RK
6786Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6787
6788 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
6789 Make same change as for find_base_value.
6790
c283e63f
KH
67912002-02-13 Kazu Hirata <kazu@hxi.com>
6792
6793 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
6794 of QImode and SImode.
6795
86039100
KH
67962002-02-13 Kazu Hirata <kazu@hxi.com>
6797
6798 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
6799 length computation of movsi.
6800 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
6801
e1429da0
KH
68022002-02-13 Kazu Hirata <kazu@hxi.com>
6803
6804 * config/h8300/h8300.md (subqi3): Tighten the predicate for
6805 operands[2] to register_operand.
6806
aebfea10
JH
6807Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
6808
6809 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
6810
0ec4e2a8
AH
68112002-02-12 Aldy Hernandez <aldyh@redhat.com>
6812
831c4e87
KC
6813 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
6814 for altivec_lvx* and altivec_stvx*.
6815 ("*movv4si_internal"): Add constraint for loading from GPRs.
6816 ("*movv8hi_internal1"): Same.
6817 ("*movv16qi_internal1"): Same.
6818 ("*movv4sf_internal1"): Same.
0ec4e2a8 6819
831c4e87 6820 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 6821
831c4e87
KC
6822 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
6823 altivec_register_operand.
0ec4e2a8 6824
b007569d
HPN
68252002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
6826
6827 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
6828 handle SYMBOL_REF.
6829
e6834654
SS
68302002-02-13 Stan Shebs <shebs@apple.com>
6831
831c4e87
KC
6832 * c-typeck.c (digest_init): Handle vectors.
6833 (really_start_incremental_init): Same.
6834 (pop_init_level): Same.
6835 (process_init_element): Same.
e6834654 6836
831c4e87 6837 * varasm.c (output_constant): Same.
e6834654 6838
831c4e87
KC
6839 * expr.c (clear_storage): Same.
6840 (store_constructor): Same.
e6834654 6841
d9b3eb63
EC
68422002-02-12 Eric Christopher <echristo@redhat.com>
6843
6844 * explow.c (hard_function_value): Add comment explaining
6845 signed/unsigned comparison.
6846
56d44285
JJ
68472002-02-12 Jakub Jelinek <jakub@redhat.com>
6848
6849 * jump.c (never_reached_warning): Add finish argument.
6850 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
6851 real insn after end.
6852 * rtl.h (never_reached_warning): Adjust prototype.
6853 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
6854 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
6855 never_reached_warning.
6856
fc209487
GS
68572002-02-12 Graham Stott <grahams@redhat.com>
6858
6859 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
6860
1e41e866
KH
68612002-02-12 Kazu Hirata <kazu@hxi.com>
6862
6863 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
6864 logical shifts on H8/300.
6865 (shift_alg_si): Improve several shifts on H8/300.
6866 (get_shift_alg): Likewise.
6867
a36a47ad
GS
68682002-02-12 Graham Stott <grahams@redhat.com>
6869
6870 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
6871
0aacc8ed
RK
6872Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6873
6874 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
6875 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
6876
a02ac966
HPN
68772002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
6878
6879 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
6880 non-CONST_INT through default_assemble_integer.
6881 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
6882 <case 8>: Abort for CONST_DOUBLE.
6883
d6e06ddc
JDA
68842002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6885
6886 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
6887 is specified.
6888 * config/pa/pa-linux.h (LIB_SPEC): Delete.
6889 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
6890
515342a8
AH
68912002-02-11 Andrew Haley <aph@cambridge.redhat.com>
6892
6893 * config/stormy16/stormy16.md (zero_extendqihi2): New.
6894
cddd8b72
AO
68952002-02-11 Alexandre Oliva <aoliva@redhat.com>
6896
66df7a98
AO
6897 * regrename.c (regrename_optimize): Don't accept a
6898 part-clobbered register if the replaced register is not part
6899 clobbered.
6900
841404cd
AO
6901 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
6902 take padding into account when computing the argument value.
6903
1d1ade42
AO
6904 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
6905
cddd8b72
AO
6906 * combine.c (try_combine): Apply substitutions in
6907 CALL_INSN_FUNCTION_USAGE too.
6908
5c665b88
AH
69092002-02-11 Aldy Hernandez <aldyh@redhat.com>
6910
77f6c1eb
RS
6911 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
6912 __builtin_altivec_abs*.
6913 (bdesc_abs): New.
5c665b88 6914
77f6c1eb
RS
6915 * config/rs6000/rs6000.h (rs6000_builtins): Add
6916 ALTIVEC_BUILTIN_ABS*.
5c665b88 6917
77f6c1eb
RS
6918 * config/rs6000/altivec.h: Use const char for builtins expecting
6919 literals.
6920 (vec_abs): New versions for C and C++.
6921 (vec_abss): Same.
5c665b88 6922
3494f1b4
KH
69232002-02-10 Kazu Hirata <kazu@hxi.com>
6924
6925 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
6926 using Pmode.
6927
72431aef
KH
69282002-02-10 Kazu Hirata <kazu@hxi.com>
6929
6930 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
6931 constant definition from h8300.md.
6932 (FRAME_POINTER_REGNUM): Likewise.
6933 * config/h8300/h8300.md (define_constants): Add FP_REG.
6934
87e4ee91
KH
69352002-02-10 Kazu Hirata <kazu@hxi.com>
6936
6937 * config/h8300/h8300.c (print_operand): Remove redundant code.
6938
9c188705
KH
69392002-02-10 Kazu Hirata <kazu@hxi.com>
6940
6941 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
6942 * config/h8300/h8300.c (byte_reg): Make it static.
6943
fba78abb
RH
69442002-02-10 Richard Henderson <rth@redhat.com>
6945
6946 PR c/5623
6947 * c-typeck.c (incomplete_type_error): Handle flexible array members.
6948
65739e62
RH
69492002-02-10 Richard Henderson <rth@redhat.com>
6950
6951 PR c++/5624
6952 * tree.c (append_random_chars): Don't abort if main_input_filename
6953 does not exist.
6954
247cb9df
HPN
69552002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
6956
6957 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
6958
232bd029
KH
69592002-02-10 Kazu Hirata <kazu@hxi.com>
6960
65739e62 6961 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
6962 (pushhi1): Likewise.
6963
276ef573
JDA
69642002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
6965
6966 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
6967 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
6968
617e9ee5
DB
69692002-02-09 David O'Brien <obrien@FreeBSD.org>
6970
6971 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
6972 remove MASK_VIS.
6973 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
6974
6dfa4005
KH
69752002-02-09 Kazu Hirata <kazu@hxi.com>
6976
6977 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
6978 a half of an SImode register on H8/300.
6979
749e7b80
JH
6980Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
6981
6982 * i386.md (movdi_2): Add missing '!'.
6983
ca77d87c
KH
69842002-02-09 Kazu Hirata <kazu@hxi.com>
6985
6986 * config/h8300/h8300.h: Fix formatting. Remove commented-out
6987 definitions.
6988
16c96304
KH
69892002-02-09 Kazu Hirata <kazu@hxi.com>
6990
6991 * config/h8300/h8300.md (length): Correct the distance valid
6992 for the short branch.
6993
a364bc90
KH
69942002-02-09 Kazu Hirata <kazu@hxi.com>
6995
6996 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
6997
e4ec2cac
AO
69982002-02-09 Alexandre Oliva <aoliva@redhat.com>
6999
a138247b
AO
7000 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
7001 registers in SImode.
7002 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
7003 part-clobbered.
7004
2b1fd83f
AO
7005 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
7006 patch.
d9b3eb63 7007
fa5322fa
AO
7008 Contribute sh64-elf.
7009 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
7010 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
7011 (sh_cannot_modify_jumps_p): New function.
7012 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
7013 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
7014 (sh_ms_bitfield_layout_p): New function.
7015 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
7016 Zack Weinberg <zack@codesourcery.com>
7017 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
7018 expand_simple_binop instead of expand_binop.
7019 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
7020 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
7021 use of .quad and .uaquad.
7022 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
7023 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
7024 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
7025 * config/sh/sh.md (movdi_const, movdi_const_32bit,
7026 movdi_const_16bit): Make sure all CONSTs have modes.
7027 (sym2PIC): Ditto, but by adjusting all callers.
7028 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
7029 if the prologue calls the SHmedia argument decoder or register
7030 saver.
7031 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
7032 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
7033 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
7034 (sh_expand_epilogue): Don't emit USE of return target register.
7035 (prepare_move_operands): Legitimize DImode PIC addresses.
7036 (sh_media_register_for_return): Skip tr0, used to initialize the
7037 PIC register.
7038 (sh_expand_prologue): Remove explicit USE of return register.
7039 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
7040 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
7041 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
7042 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
7043 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
7044 EXTRA_CONSTRAINT_T.
7045 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
7046 (MOVI_SHORI_BASE_OPERAND_P): New.
7047 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
7048 (EXTRA_CONSTRAINT_T): Define in terms of them.
7049 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
7050 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
7051 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
7052 alternatives supporting TARGET_REGS.
7053 (UNSPEC_GOTPLT): New constant.
7054 (movdi split): Move incrementing of LABEL_NUSES...
7055 (movdi_const, movdi_const_32bit): Here. Use
7056 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
7057 (movdi_const_16bit): New.
7058 (call, call_value) [flag_pic]: Use GOTPLT.
7059 (call_pop, call_value_pop): New expands.
7060 (call_pop_compact, call_pop_rettramp): New insns.
7061 (call_value_pop_compact, call_value_pop_rettramp): New insns.
7062 (sibcall) [flag_pic]: Use GOT.
7063 (builtint_setjmp_receiver): Remove bogus, unused expand.
7064 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
7065 (*pt, *ptb, ptrel): New insns.
7066 (sym2GOT): Handle DImode GOT.
7067 (sym2GOTPLT, symGOTPLT2reg): New expands.
7068 (sym2PIC): New expand.
7069 (shcompact_return_tramp): Use GOTPLT to return trampoline.
7070 (shcompact_return_tramp_i): Use return register explicitly.
7071 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
7072 disable flag_reorder_blocks.
7073 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
7074 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
7075 clobbers, for clarity.
7076 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
7077 restoring of r0 in macl as MAYBE_DEAD.
7078 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
7079 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
7080 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
7081 alter_subreg all over.
7082 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
7083 reload, instead of emitting instructions that would require
7084 reloading.
7085 (casesi_load_media): Add missing modes.
7086 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
7087 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
7088 as used if the argument decoder is called.
7089 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
7090 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
7091 Pmode, then extend it to DImode if necessary.
7092 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
7093 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
7094 constants in FPU-enabled SHmedia, let them be loaded from memory.
7095 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
7096 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
7097 Adjust whitespace in assembly output templates.
7098 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
7099 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
7100 mode of if_then_else.
7101 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
7102 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
7103 sh.h.
7104 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
7105 Joern Rennecke <amylaar@redhat.com>
7106 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
7107 (SUBTARGET_CPP_PTR_SPEC): New.
7108 (SUBTARGET_CPP_SPEC): Remove.
7109 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
7110 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
7111 Fix typo in previous checkin.
7112 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
7113 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
7114 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
7115 Alexandre Oliva <aoliva@redhat.com>
7116 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
7117 what single FP register can hold for SHmedia target.
7118 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
7119 Alexandre Oliva <aoliva@redhat.com>
7120 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
7121 Do not split into SUBREG.
7122 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
7123 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
7124 and added new functions as specified in SH5 ABI r9.
7125 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
7126 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
7127 8-byte boundary.
7128 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
7129 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
7130 gen_consttable_4 and gen_consttable_8. Emit multiple labels
7131 and consttable_window_ends.
7132 2001-06-03 Graham Stott <grahams@redhat,com>
7133 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
7134 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
7135 * config/sh/sh.c (print_operand): Handle floating-point pair,
7136 vector and matrix registers.
7137 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
7138 vector modes into account.
7139 * config/sh/sh.md (movv2sf): Split move between registers into
7140 movdf.
7141 (movv4sf, movv16sf): Introduce insns that get split only after
7142 reload.
7143 * config/sh/shmedia.h: Fix Copyright dates.
7144 * config/sh/ushmedia.h: Likewise. Move loop counter
7145 declarations into conditionals that uses them.
7146 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
7147 loop boundary.
7148 * config/sh/sshmedia.h: Fix Copyright dates.
7149 (sh_media_PUTCFG): Fix constraints.
7150 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
7151 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
7152 ptrmemfunc_vbit_in_delta for SH5.
7153 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
7154 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
7155 * invoke.texi: Likewise.
7156 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
7157 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
7158 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
7159 GCC_pop_shmedia_regs_nofpu): New global symbols.
7160 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
7161 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
7162 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
7163 compact function with nonlocal labels.
7164 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
7165 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
7166 (initial_elimination_offset): Account for their stack space.
7167 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
7168 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
7169 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
7170 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
7171 least one of the operands to be a register.
7172 (movv2sf): Likewise. Renamed to movv2sf_i.
7173 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
7174 prepare_move_operands() before emitting SHmedia insns.
7175 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
7176 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
7177 Don't save nor initialize r12. Don't mis-align the stack.
7178 Pad the code with a nop.
7179 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
7180 stack.
7181 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
7182 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
7183 [__SHMEDIA__]: Implement.
7184 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
7185 * config/sh/sh.md: Set latency of `pt' closer to reality.
7186 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
7187 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
7188 Set move, load and store type attributes.
7189 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
7190 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
7191 profiling.
7192 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
7193 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
7194 * config/sh/sh.c (sh_media_register_for_return): New function.
7195 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
7196 branch-target register.
7197 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
7198 * config/sh/sh.md (return_media_i): Use any call-clobbered
7199 branch-target register.
7200 (return_media): If r18 wasn't copied in the prologue, copy it
7201 here.
7202 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
7203 Clear class FP0_REGS.
7204 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
7205 from elf.h.
7206 2001-03-08 DJ Delorie <dj@redhat.com>
7207 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
7208 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
7209 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
7210 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
7211 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
7212 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
7213 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
7214 return value correctly for call_cookie.
7215 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
7216 * config/sh/crt1.asm (start): Modified so as to call
7217 ___setup_argv_and_call_main.
7218 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
7219 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
7220 SHmedia mode.
7221 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
7222 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
7223 (STRIP_NAME_ENCODING): Use it.
7224 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
7225 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
7226 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
7227 prepare_scc_operands().
7228 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
7229 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
7230 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
7231 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
7232 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
7233 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
7234 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
7235 used in shcompact_incoming_args.
7236 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
7237 change.
7238 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
7239 mode.
7240 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
7241 Adjust accordingly.
7242 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
7243 Simplify. Adjust. Add sanity check.
7244 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
7245 FPU_SINGLE_BIT.
7246 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
7247 TARGET_SHCOMPACT.
7248 (udivsi3, divsi3): Use them.
7249 (force_mode_for_call): New insn.
7250 (call, call_value, sibcall_value): Emit it before SHcompact
7251 calls.
7252 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
7253 * config/sh/sh.md (call, call_value, sibcall): Make sure the
7254 call cookie is non-NULL before taking its value.
7255 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
7256 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
7257 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
7258 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
7259 block.
7260 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
7261 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
7262 temporary for stack adjusts. Use MACL and MACH to pass
7263 arguments to shcompact_incoming_args.
7264 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
7265 clobber r1.
7266 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
7267 (nested_trampoline): Load static chain address into r1.
7268 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
7269 2001-01-07 Alexandre Oliva <aoliva@redhat.com
7270 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
7271 fp_arith_reg_operand().
7272 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
7273 * config/sh/sh.md (casesi): Sign-extend the first two operands,
7274 and use signed compares for them.
7275 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
7276 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
7277 ones properly aligned.
7278 (find_barrier): Account for extra alignment needed for 8-byte wide
7279 constants.
7280 (machine_dependent_reorg): Require a label for the second 4-byte
7281 constant after an 8-byte one.
7282 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
7283 change.
7284 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
7285 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
7286 last_float when switching float modes.
7287 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
7288 auto-increment for general-purpose registers.
7289 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
7290 result.
7291 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
7292 for stack adjust.
7293 * config/sh/sh.c (sh_builtin_saveregs): Support using all
7294 registers for varargs.
7295 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
7296 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
7297 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
7298 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
7299 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
7300 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
7301 call_cookie accordingly.
7302 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
7303 (SHCOMPACT_BYREF): Likewise.
7304 (SHCOMPACT_FORCE_ON_STACK): New macro.
7305 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
7306 (sh_builtin_saveregs): Likewise.
7307 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
7308 shcompact_incoming_args): Use new shift values. Support
7309 sequences of consecutive and non-consecutive pushes/pops.
7310 * config/sh/sh.md (return): Don't explicitly use PR_REG.
7311 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
7312 * config/sh/sh.h (TEXT_SECTION): Define.
7313 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
7314 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
7315 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
7316 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
7317 return values on FPU-enabled SHmedia.
7318 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
7319 FPU-enabled SHmedia.
7320 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
7321 value is returned in a non-FP reg and is not returned by
7322 reference.
7323 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
7324 jump_ind.
7325 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
7326 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
7327 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
7328 quad-aligned to be passed by callee-copy reference.
7329 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
7330 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
7331 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
7332 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
7333 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
7334 copying low-numbered FP regs to r7 and r8.
7335 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
7336 FP regs to general-purpose regs only if the copy was passed on the
7337 stack.
7338 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
7339 copying FP reg to r9.
7340 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
7341 copy FP regs to general-purpose regs only in outgoing calls.
7342 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 7343 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
7344 HOST_WIDE_INT.
7345 * config/sh/sh.h (struct sh_args): Document all fields.
7346 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
7347 passed partially on the stack should not consider making
7348 sibcalls.
7349 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
7350 stack_regs only for incoming calls. When passing FP args,
7351 make sure there are FP regs available before modifying
7352 call_cookie.
7353 (SHCOMPACT_BYREF): Pass double args in general-purpose
7354 registers by reference.
7355 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
7356 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
7357 attempt to generate sibcalls if the caller got any arguments
7358 by reference.
7359 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
7360 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
7361 to 8-byte boundaries.
7362 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
7363 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
7364 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
7365 stored in the stack.
7366 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
7367 for the offsets to have the ISA bit set.
7368 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
7369 invocation. Use beq instead of bgt to mark end of sequence of
7370 loads.
7371 (shcompact_incoming_args): Fix store of r2. Use beq instead of
7372 bgt to mark end of sequence of stores.
7373 * config/sh/sh.c (arith_operand): Don't check whether
7374 CONST_OK_FOR_J for now.
7375 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
7376 instead of long for conversion.
7377 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
7378 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
7379 before passing it to fprintf.
7380 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
7381 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
7382 Call set_fpscr before reading/writing SR.
7383 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
7384 Call set_fpscr.
7385 * config/sh/lib1funcs.asm: Add `.align 2' directives before
7386 SHmedia code.
7387 (FMOVD_WORKS): Define on SH5 with FPU.
7388 (set_fpscr): Define on SH5. Remove separate _fpscr_values
7389 setting.
7390 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
7391 _fpscr_values.
7392 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
7393 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
7394 address.
7395 (ia_main_table): Ditto.
7396 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
7397 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
7398 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
7399 the definitions from sh.h.
7400 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
7401 TARGET_SH5.
7402 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
7403 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
7404 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
7405 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
7406 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
7407 Increment LABEL_NUSES.
d9b3eb63 7408
fa5322fa
AO
7409 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
7410 TARGET_SH5.
7411 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
7412 defined.
7413 * config/sh/elf.h (SIZE_TYPE): Likewise.
7414 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
7415 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
7416 shcompact_incoming_args): Load switch table addresses using
7417 datalabel.
7418 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
7419 (NO_BUILTIN_SIZE_TYPE): Define.
7420 (SIZE_TYPE): Don't define.
7421 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
7422 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
7423 definition of __SH5__=32 for -m5-compact-nofpu.
7424 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
7425 ADDR_DIFF_VEC.
7426 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
7427 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
7428 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
7429 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
7430 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
7431 (INSN_LENGTH_ALIGNMENT): Likewise.
7432 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
7433 * config/sh/sh.md (call, call_value, sibcall): Simplify
7434 copying of non-branch-target register.
7435 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 7436 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
7437 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
7438 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
7439 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
7440 floating-point values as structs.
7441 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
7442 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
7443 general-purpose register.
7444 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
7445 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
7446 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
7447 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
7448 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
7449 (ENCODE_SECTION_INFO): Enclose variables and constants in
7450 DATALABEL unspecs.
7451 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
7452 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
7453 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
7454 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
7455 only for LABEL_REFs. For SYMBOL_REFs, prepend
7456 SH_DATALABEL_ENCODING to the symbol name.
7457 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
7458 convert_mode().
7459 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
7460 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
7461 UNSPEC_DATALABEL.
7462 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
7463 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
7464 (DATALABEL_REF_P): Don't require CONST.
7465 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
7466 REL label.
7467 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
7468 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
7469 right.
7470 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
7471 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
7472 Use shallow_copy_rtx and PUT_MODE to change the mode of
7473 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
7474 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
7475 on SHmedia using GENERAL_REGs.
7476 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
7477 bltu_media_i): Fix reversion of conditions.
7478 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
7479 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
7480 * config/sh/sh.c (output_far_jump): Save r13 in macl.
7481 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
7482 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
7483 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
7484 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
7485 (GCC_nested_trampoline): Likewise.
7486 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
7487 * config/sh/sh.c (gen_datalabel_ref): Define.
7488 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
7489 (INITIALIZE_TRAMPOLINE): Likewise.
7490 (TRAMPOLINE_ADJUST_ADDRESS): Define.
7491 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
7492 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
7493 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
7494 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
7495 (ic_invalidate): Adjust for SH5.
7496 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
7497 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
7498 _nested_trampoline.
7499 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
7500 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
7501 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
7502 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
7503 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
7504 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
7505 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
7506 * config/sh/sh.c (target_reg_operand): Match only target-branch
7507 registers and pseudos that aren't virtual registers.
7508 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
7509 Copy operands that don't match target_reg_operand to pseudos.
7510 (call_media, call_value_media, sibcall_media): Use
7511 target_reg_operand instead of target_operand.
7512 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 7513 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
7514 * config/sh/sh.c (target_reg_operand): Match hardware registers
7515 other than branch-target registers.
7516 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
7517 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
7518 (fpscr_values) [SH5 == 32]: Define.
7519 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
7520 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
7521 Handle function addresses coming in SUBREGs.
7522 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
7523 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
7524 shcompact_return_trampoline): Use datalabel where appropriate.
7525 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
7526 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
7527 general-purpose register to copy one branch-target register to
7528 another.
7529 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
7530 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
7531 SYMBOL_REFs with VOIDmode.
7532 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
7533 bltu_media_i): New insns.
7534 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
7535 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
7536 (INIT_CUMULATIVE_ARGS): Likewise.
7537 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
7538 * machmode.def (V16SFmode): New mode.
7539 * c-common.c (type_for_mode): Support V2SF and V16SF.
7540 * tree.c (build_common_tree_nodes_2): Likewise.
7541 * tree.h (tree_index): Likewise.
7542 * calls.c (emit_call_1): Take args_so_far. Adjust all
7543 callers. Introduce CALL_POPS_ARGS.
7544 * tm.texi (CALL_POPS_ARGS): Document.
7545 * config/sh/crt1.asm: Implement in SHmedia mode.
7546 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
7547 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
7548 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
7549 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
7550 Implement divsi and udivsi in SHmedia mode. Introduce
7551 SHcompact trampolines.
7552 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
7553 only in SHmedia64.
7554 (regno_reg_class): Rewrite.
7555 (fp_reg_names): Remove.
7556 (sh_register_names, sh_additional_register_names): New.
7557 (print_operand): Added `u'. Support SUBREGs in addresses.
7558 Add parentheses around shifted CONSTs.
7559 (output_file_start): Output .mode and .abi directives.
7560 (shiftcosts, addsubcosts, multcosts): Adjust.
7561 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
7562 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
7563 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
7564 bytes, not registers. Take into account the need for the
7565 SHcompact incoming args trampoline. Adjust all callers.
7566 (sh_expand_prologue): Take stack_regs into account. Call
7567 incoming args trampoline. Keep stack aligned as per SH5 ABI.
7568 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
7569 stack aligned as per SH5 ABI.
7570 (sh_builtin_saveregs): Support SH5 ABI.
7571 (sh_build_va_list, sh_va_start): Likewise.
7572 (initial_elimination_offset): Take alignment into account.
7573 Compute location of PR according to the SH5 stack frame.
7574 (arith_reg_operand): Reject branch-target registers.
7575 (shmedia_6bit_operand): New.
7576 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
7577 (target_reg_operand): Match DImode only. Accept SUBREGs.
7578 (target_operand): New.
7579 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
7580 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
7581 SIBCALL_REGS for SHmedia.
7582 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
7583 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
7584 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
7585 (TARGET_SWITCHES): New SH5 flags.
7586 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
7587 VALID_REGISTER_P to disable unsupported registers.
7588 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
7589 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
7590 (FUNCTION_ARG_PADDING): Define.
7591 (FASTEST_ALIGNMENT): Adjust.
7592 (SH_REGISTER_NAMES_INITIALIZER): New.
7593 (sh_register_names): Declare.
7594 (DEBUG_REGISTER_NAMES): Define.
7595 (REGISTER_NAMES): Define based on sh_register_names.
7596 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
7597 (sh_additional_register_names): Declare.
7598 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
7599 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
7600 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
7601 (REGISTER_NATURAL_MODE): Define.
7602 (FIRST_PSEUDO_REGISTER): Adjust.
7603 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
7604 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
7605 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
7606 (VECTOR_MODE_SUPPORTED_P): Define.
7607 (REG_CLASS_CONTENTS): Adjust.
7608 (SMALL_REGISTER_CLASSES): Adjust.
7609 (REG_ALLOC_ORDER): Adjust.
7610 (INDEX_REG_CLASS): Adjust.
7611 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
7612 (CONST_OK_FOR_LETTER_P): Adjust.
7613 (PREFERRED_RELOAD_CLASS): Adjust.
7614 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
7615 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
7616 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
7617 (FIRST_FP_PARM_REG): Adjust.
7618 (CALL_POPS_ARGS): Define.
7619 (FUNCTION_ARG_REGNO_P): Adjust.
7620 (struct sh_args): New fields.
7621 (GET_SH_ARG_CLASS): Adjust.
7622 (INIT_CUMULATIVE_ARGS): Adjust.
7623 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
7624 (FUNCTION_ARG_ADVANCE): Adjust.
7625 (FUNCTION_ARG): Adjust.
7626 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
7627 (FUNCTION_ARG_CALLEE_COPIES): Define.
7628 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
7629 (STRICT_ARGUMENT_NAMING): Define.
7630 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
7631 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
7632 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
7633 (SETUP_INCOMING_VARARGS): Adjust.
7634 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
7635 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
7636 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
7637 (SUBREG_OK_FOR_INDEX_P): Adjust.
7638 (EXTRA_CONSTRAINT_S): Update.
7639 (EXTRA_CONSTRAINT_T): New.
7640 (EXTRA_CONSTRAINT): Adjust.
7641 (GO_IF_LEGITIMATE_INDEX): Adjust.
7642 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
7643 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
7644 (MOVE_MAX): Adjust.
7645 (MAX_MOVE_MAX): Define.
7646 (Pmode): Adjust.
7647 (CONST_COSTS): Adjust.
7648 (REGISTER_MOVE_COST): Adjust.
7649 (BRANCH_COST): Adjust.
7650 (TEXT_SECTION_ASM_OP): Adjust.
7651 (DBX_REGISTER_NUMBER): Adjust.
7652 (ASM_OUTPUT_DOUBLE_INT): New.
7653 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7654 (PREDICATE_CODES): Adjust.
7655 (PROMOTE_MODE): Adjust.
7656 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
7657 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
7658 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
7659 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
7660 (DR0_REG, DR2_REG, DR4_REG): Renumber.
7661 (TR0_REG, TR1_REG, TR2_REG): New.
7662 (XD0_REG): Renumber.
7663 (UNSPEC_COMPACT_ARGS): New.
7664 (type): Added pt and ptabs.
7665 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 7666 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
7667 (pt): New function unit.
7668 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
7669 Add whitespace between operands of SHmedia instructions.
7670 (movdicc): Fix.
7671 (adddi3_media, addsi3_media): Adjust constraints.
7672 (subsi3) [SHmedia]: Force operand 1 into a register.
7673 (udivsi3_i1_media, udivsi3_i4_media): New.
7674 (udivsi3): Support SHmedia.
7675 (divsi3_i1_media, divsi3_i4_media): New.
7676 (divsi3): Support SHmedia.
7677 (anddi3, iordi3, xordi3): Adjust constraints.
7678 (zero_extendhidi2, zero_extendqidi2): New.
7679 (extendsidi2, extendhidi2, extendqidi2): New.
7680 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
7681 (pop_e, pop_fpul, pop_4): Likewise.
7682 (movsi_media): Support FP and BT registers.
7683 (movsi_media_nofpu): New. Adjust splits to DImode.
7684 (lduw, ldub): Renamed to zero_extend* above.
7685 (movqi_media): Fix typo.
7686 (movdi_media): Support FP and BT registers.
7687 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
7688 (movdi_const_32bit): New.
7689 (shori_media): Require immediate operand. Use `u' for output.
7690 (movdf_media, movsf_media): Simplified.
7691 (movdf_media_nofpu, movsf_media_nofpu): New.
7692 (movdf, movsf): Adjust
7693 (movv2sf, movv2sf, movv16sf): New.
7694 (beq_media, beq_media_i): Adjust constraints. Don't use
7695 scratch BT register.
7696 (bne_media, bne_media_i): Likewise.
7697 (bgt_media, bgt_media_i): Likewise.
7698 (bge_media, bge_media_i): Likewise.
7699 (bgtu_media, bgtu_media_i): Likewise.
7700 (bgeu_media, bgeu_media_i): Likewise.
7701 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
7702 bunordered): Emit jump insn. Force operands to registers when
7703 needed.
7704 (jump_media, jump): Simplify.
7705 (call_compact, call_compact_rettramp): New.
7706 (call_value_compact, call_value_compact_rettramp): New.
7707 (call_media, call_value_media): Simplify.
7708 (sibcall_compact, sibcall_media): New.
7709 (call, call_value): Adjust for SHmedia and SHcompact.
7710 (sibcall, sibcall_value, untyped_call): Likewise.
7711 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
7712 (indirect_jump): Adjust for SHmedia.
7713 (casesi_jump_media): New.
7714 (nop): Re-enable for SHmedia.
7715 (call_site): Restrict to SH1.
7716 (casesi): Adjust for SHmedia.
7717 (casesi_shift_media, casesi_load_media): New.
7718 (return): Explicitly use PR register. Call return trampoline
7719 on SHcompact.
7720 (return_i): Explicitly use PR register.
7721 (shcompact_return_tramp, shcompact_return_tramp_i): New.
7722 (return_media): Adjust.
7723 (shcompact_incoming_args): New.
7724 (epilogue): Adjust.
7725 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
7726 (movstrsi): Disable on SH5.
7727 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
7728 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
7729 (subsf3, subsf3_media): Likewise.
7730 (mulsf3, mulsf3_media, mac_media): Likewise.
7731 (divsf3, divsf3_media): Likewise.
7732 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
7733 (floatsisf2, fux_truncsfsi2): Likewise.
7734 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
7735 constraints.
7736 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
7737 (cmpunsf_media, cmpsf): Likewise.
7738 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
7739 (abssf2, abssf2_media): Likewise.
7740 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
7741 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
7742 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
7743 (floatsidf2, fix_truncdfsi2): Likewise.
7744 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
7745 constraints.
7746 (cmpeqdf_media, cmpgtdf_media): Likewise.
7747 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
7748 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
7749 (absdf2, absdf2_media): Likewise.
7750 (extendsfdf2, extendsfdf2_media): Likewise.
7751 (truncsfdf2, truncsfdf2_media): Likewise.
7752 * config/sh/sh64.h: New file.
7753 * config/sh/t-sh64: New file.
7754 * config/sh/shmedia.h: New file.
7755 * config/sh/ushmedia.h: New file.
7756 * config/sh/sshmedia.h: New file.
7757 * configure.in: Added sh64-*-elf.
7758 * configure: Rebuilt.
7759 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
7760 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
7761 (reg_class_from_letter): Use `b' for TARGET_REGS.
7762 (print_operand): Support `%M', `%m', `AND' and
7763 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
7764 (andcosts): Adjust for SHmedia.
7765 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
7766 Likewise.
7767 (target_reg_operand): New function.
7768 * config/sh/sh-protos.h (target_reg_operand): Declare.
7769 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
7770 FP registers on SH5.
7771 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
7772 on SH4.
7773 (TARGET_REGISTER_P): New macro.
7774 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
7775 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
7776 (EXTRA_CONSTRAINT_S): New macro.
7777 (EXTRA_CONSTRAINT): Adjust.
7778 (FLOAT_TYPE_SIZE): Define to 32.
7779 (Pmode): DImode on SHmedia.
7780 (CONST_COSTS): Adjust for SHmedia literals.
7781 (PREDICATE_CODES): Added target_reg_operand.
7782 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
7783 * config/sh/sh.md: Remove all attrs from SHmedia insns.
7784 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
7785 (cmpdi): Accept SHmedia.
7786 (movdicc_false, movdicc_true): New insns.
7787 (movdicc): New expand.
7788 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
7789 no_new_pseudos.
7790 (addsi3_media): Match `S' constraint.
7791 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
7792 (negdi2): Expand for SHmedia.
7793 (one_cmpldi2): New expand.
7794 (zero_extendsidi2): Change from expand to insn.
7795 (extendsidi2): Add constraints.
7796 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
7797 LD/ST address. Fix SI immediate loading split.
7798 (movhi_media, movqi_media, lduw, ldub): New insns.
7799 (movhi, movqi): Accept SHmedia.
7800 (shori_media, movdi_media): Relax input constraints. Split
7801 symbolic constants.
7802 (movdf_media, movsf_media): New insn. New split to movdi.
7803 (movdf, movsf): Match on SHmedia.
7804 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
7805 bgeu_media): New insns and splits. New insns with `_i' suffix.
7806 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
7807 (bunordered): New expand.
7808 (jump_compact): Renamed from `jump'.
7809 (jump_media): New insn.
7810 (jump): New expand.
7811 (call_media, call_value_media): New insns.
7812 (call, call_value): Adjust.
7813 (indirect_jump_compact): Renamed from `indirect_jump'.
7814 (indirect_jump_media): New insn.
7815 (indirect_jump): New expand.
7816 (untyped_call, return): Accept SHmedia.
7817 (return_media): New insn.
7818 (prologue, epilogue, blockage): Accept SHmedia.
7819 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
7820 (sunordered): New expand.
7821 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
7822 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
7823 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
7824 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
7825 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
7826 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
7827 abssf2_media): New insns.
7828 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
7829 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
7830 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
7831 floatdidf2, floatsidf2_media, fix_truncdfdi2,
7832 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
7833 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
7834 absdf2_media): New insns.
7835 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
7836 (extendsfdf2_media, truncdfsf2_media): New insns.
7837 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
7838 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
7839 * config/sh/sh.h (CONST_OK_FOR_J): Document.
7840 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
7841 * config/sh/sh.md (adddi3): New expand.
7842 (adddi3_media, adddi3z_media): New insns.
7843 (adddi3_compact): Renamed from adddi3.
7844 (addsi3_media): Use add.l r63 to add constant zero.
7845 (subdi3): New expand.
7846 (subdi3_media): New insn.
7847 (subdi3_compact): Renamed from subdi3.
7848 (mulsidi3): New expand.
7849 (mulsidi3_media): New insn.
7850 (mulsidi3_compact): Renamed from mulsidi3.
7851 (umulsidi3): New expand.
7852 (umulsidi3_media): New insn.
7853 (umulsidi3_compact): Renamed from umulsidi3.
7854 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
7855 (ashlsi3, ashrsi3, lshrsi3): Use them.
7856 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
7857 (ashldi3, ashrdi3, lshrdi3): Use them.
7858 (zero_extendsidi2): New expand.
7859 (extendsidi2): New insn.
7860 (movsi_media): New insn. Split to movdi to load constants.
7861 (movsi): Enable for shmedia.
7862 (movdi_media): New insn. Use shori_media to load wide constants.
7863 (short_media): New insn.
7864 (movdi): Enable for shmedia.
7865 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
7866 * config/sh/sh.h (CPP_SPEC): Added `m5'.
7867 (SUBTARGET_CPP_SPEC): Added `!m5'.
7868 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
7869 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
7870 to all other SH variants.
7871 (TARGET_DEFAULT): Set to SH1_BIT.
7872 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
7873 (BITS_PER_WORD): Raise to 64 on shmedia.
7874 (MAX_BITS_PER_WORD): Change to 64.
7875 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
7876 (INT_TYPE_SIZE): Keep as 32.
7877 (UNITS_PER_WORD): Raise to 8 on shmedia.
7878 (MIN_UNITS_PER_WORD): Keep as 4.
7879 (POINTER_SIZE): Raise to 64 on shmedia.
7880 (CONST_OK_FOR_J): New macro.
7881 (CONST_OK_FOR_LETTER_P): Use it.
7882 (processor_type): Add PROCESSOR_SH5.
7883 * config/sh/sh.md: Conditionalize all expands, insns and
7884 splits to TARGET_SH1.
7885 (cpu): Added sh5.
7886 (addsi3_compact): Renamed from...
7887 (addsi3): Now an expand.
7888 (addsi3_media, subsi3_media): New insns.
7889 (subsi3): Don't negate constants with SHmedia.
7890
e4ec2cac
AO
7891 * hooks.c: New file.
7892 * hooks.h: New file.
7893 * Makefile.in (HOOKS_H): New.
7894 (TARGET_DEF_H): Added $(HOOKS_H).
7895 (OBJS): Added hooks.o.
7896 (cfgcleanup.o, bb-reorder.o): Added target.h.
7897 (hooks.o): Added dependencies.
7898 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
7899 (TARGET_INITIALIZER): this.
7900 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
7901 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
7902 * bb-reorder.c: Include target.h.
7903 (reorder_basic_blocks): Skip if cannot modify jumps.
7904 * cfgcleanup.c: Include target.h.
7905 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
7906
246a46e0
CD
79072002-02-08 Chris Demetriou <cgd@broadcom.com>
7908
831c4e87
KC
7909 * config/mips/mips.md (casesi_internal, casesi_internal_di):
7910 Protect jump delay slot instructions with .set noreorder and
7911 .set nomacro.
246a46e0
CD
7912
79132002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
7914
7915 * config/mips/mips.md (casesi_internal_di): Calculate
7916 the index into the target offset table correctly.
7917
fdf473ae
RH
79182002-02-08 Richard Henderson <rth@redhat.com>
7919
7920 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
7921 * final.c (output_addr_const): Accept and discard SUBREG.
7922 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
7923 mark them unknown instead.
7924 (simplify_subtraction): Handle RTX_UNKNOWN.
7925 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
7926
c50503ac
DE
79272002-02-08 David Edelsohn <edelsohn@gnu.org>
7928
7929 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
7930
3660d217
RH
79312002-02-08 Richard Henderson <rth@redhat.com>
7932
7933 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
7934
56547299
AJ
79352002-02-08 Andreas Jaeger <aj@suse.de>
7936
7937 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
7938 * config/i386/t-linux64: New file.
7939
1cf537c5
JJ
79402002-02-08 Jakub Jelinek <jakub@redhat.com>
7941
7942 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
7943 * c-parse.in (compstmt): Clear last_expr_type.
7944
5c7f5a5f
RH
79452002-02-07 Richard Henderson <rth@redhat.com>
7946
7947 * loop.c (strength_reduce): Sink final_value when not
7948 eliminating a biv.
7949
b1138bf3
DB
79502002-02-07 David O'Brien <obrien@FreeBSD.org>
7951
7952 * config/sparc/freebsd.h: Fix mismatched spec {.
7953
b6878a45
RH
79542002-02-07 Richard Henderson <rth@redhat.com>
7955
7956 * cfgrtl.c: Include recog.h and insn-config.h.
7957 (keep_with_call_p): Fix general_operand invocation.
7958 * Makefile.in (cfgrtl.o): Update dependencies.
7959
ae19f5ef
KH
79602002-02-07 Kazu Hirata <kazu@hxi.com>
7961
7962 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
7963 comment. Accept HImode only if TARGET_H8300.
7964
b137f9fc
EC
79652002-02-07 Eric Christopher <echristo@redhat.com>
7966
7967 * config/mips/crtn.asm: Cleanup #ifdefs.
7968
79692002-02-07 Eric Christopher <echristo@redhat.com>
7970
7971 * config/mips/crti.asm: Add changes for mips16. mips16 uses
7972 register 7 as RA instead of $31.
7973 * config/mips/crtn.asm: Ditto.
7974 * config/mips/mips.c (mips_move_2words): Add case for
7975 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
7976 (compute_frame_size): Fix typo.
7977 (save_restore_insns): Ditto. Make documentation about using
7978 register $7 as return register more precise.
7979 (mips_expand_epilogue): Fix comment. Add code to work around not
7980 being able to add to the stack pointer directly.
7981 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
7982 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
7983 epilogue.
7984
768070a0
TR
79852002-02-07 Tom Rix <trix@redhat.com>
7986
b137f9fc 7987 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
7988 immediates in ldu and stdu DS opcode field.
7989 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
7990 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
7991 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
7992
225909c3
JS
79932002-02-07 Jeff Sturm <jsturm@one-point.com>
7994
7995 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
7996 offset for stack bias.
7997
15fae023
L
79982002-02-07 H.J. Lu <hjl@gnu.org>
7999
8000 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
8001
fde5badd
UW
80022002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
8003
8004 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
8005
162f023b
JH
8006Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
8007
8008 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
8009 * i386.c (x86_order_regs_for_local_alloc): New global function.
8010 * i386.h (REG_ALLOC_ORDER): CLeanup.
8011 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
8012
9b462c42
RH
80132002-02-07 Richard Henderson <rth@redhat.com>
8014
85aa876c 8015 PR optimization/2463
9b462c42
RH
8016 * alias.c (find_base_value): Recall base values for fixed hard regs.
8017 * loop.c (loop_regs_update): Don't use single_set on non-insns.
8018
06e455a9
AO
80192002-02-07 Alexandre Oliva <aoliva@redhat.com>
8020
8021 * config/mips/mips.md (define_delay) [mips16]: Adjust required
8022 length.
8023
edd1967d
RH
80242002-02-06 Richard Henderson <rth@redhat.com>
8025
8026 PR c/5609
8027 * stmt.c (resolve_operand_name_1): Take more care with mixed
8028 named and unnamed operands.
8029
a2cd028f
JJ
80302002-02-06 Janis Johnson <janis187@us.ibm.com>
8031 Jan Hubicka <jh@suse.cz>
8032
8033 * loop.c (remove_constant_addition): Avoid clobbering a shared
8034 CONST expression.
8035
e8487c04
UW
80362002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
8037
8038 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
8039 * config/s390/t-linux64: New file.
8040 * config/s390/libgcc-glibc.ver: New file.
8041
58d10f89
UW
80422002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
8043
8044 * config/s390/linux64.h: Delete file.
8045 * config/s390/s390x.h: New file.
8046 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
8047 as target header file.
8048 * config/s390/linux.h (TARGET_VERSION): Define depending on
8049 DEFAULT_TARGET_64BIT.
8050 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
8051 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
8052 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
8053 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
8054 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
8055 (EXTRA_SPEC): New define.
8056 * config/s390/s390.h (TARGET_VERSION): Define depending on
8057 DEFAULT_TARGET_64BIT.
8058 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
8059
5ce89b2e
JM
80602002-02-06 Jason Merrill <jason@redhat.com>
8061
8062 * c-decl.c (finish_function): Warn about a non-void function with
8063 no return statement and no abnormal exit.
8064 (current_function_returns_abnormally): New variable.
8065 (start_function): Clear it.
8066 (struct c_language_function): Add returns_abnormally.
8067 (push_c_function_context): Save it.
8068 (pop_c_function_context): Restore it.
8069 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
8070 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
8071 an explicit return type.
8072 * c-tree.h: Declare current_function_returns_abnormally.
8073 (C_FUNCTION_IMPLICIT_INT): New macro.
8074 * c-typeck.c (build_function_call): Set it.
8075 (c_expand_return): Set current_function_returns_value even if the
8076 value is erroneous.
8077
caaf2272
JJ
80782002-02-06 Jakub Jelinek <jakub@redhat.com>
8079
8080 PR c/5420:
8081 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
8082 unsafe for reevaluation.
8083
d5129288
JJ
80842002-02-06 Jakub Jelinek <jakub@redhat.com>
8085
8086 PR c/5482:
8087 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
8088 EXPR_STMT, but COMPOUND_STMT, recurse into it.
8089
7fb75099
RH
80902002-02-06 Richard Henderson <rth@redhat.com>
8091
8092 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
8093 be a general_operand. Dest for function value must be a pseudo.
8094
d3a8b6a6
NC
80952002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
8096
8097 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
8098 as SYMBOL_REFs from the constant pool.
8099
3c1299c5
AO
81002002-02-06 Alexandre Oliva <aoliva@redhat.com>
8101
8102 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
8103 passed by invisible reference.
8104
c2c9f6c9
RH
81052002-02-05 Richard Henderson <rth@redhat.com>
8106
8107 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
8108
a824924d
HPN
81092002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
8110
8111 Implement using "base addresses" in insn operands as default.
8112 * config/mmix/mmix.c (mmix_conditional_register_usage): if
8113 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
8114 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
8115 used to read the rtx value.
8116 (mmix_target_asm_function_epilogue): Fix spacing.
8117 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
8118 (mmix_legitimate_address): Ditto.
8119 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
8120 should be loaded with a GETA insn. Don't allocate needless extra
8121 char for nul termination and fix misleading comment.
8122 (mmix_print_operand_address): Handle constants if
8123 TARGET_BASE_ADDRESSES.
8124 (mmix_output_register_setting): Use base addressing if
8125 TARGET_BASE_ADDRESSES and the number of insns is 3.
8126 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
8127 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
8128 to use R as constraint, add LDA to match s.
8129 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
8130 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
8131 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
8132 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
8133 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
8134 order with other fixed registers.
8135 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
8136 other parameter/call-clobbered registers.
8137 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
8138 -mbase-addresses, -mno-base-addresses.
8139 (MMIX Options): Ditto.
8140
73c342b9
JDA
81412002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
8142
8143 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
8144
ef238c58
AH
81452002-02-06 Aldy Hernandez <aldyh@redhat.com>
8146
831c4e87 8147 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 8148
ad08e60e
JT
81492002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
8150
8151 * config/netbsd.h (WCHAR_TYPE): Define.
8152 (WCHAR_TYPE_SIZE): Ditto.
8153 (WINT_TYPE): Ditto.
8154 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
8155 (WCHAR_UNSIGNED): Ditto.
8156 (WCHAR_TYPE_SIZE): Ditto.
8157 (WINT_TYPE): Ditto.
8158 * config/arm/netbsd.h: Likewise.
8159 * config/i386/netbsd-elf.h: Likewise.
8160 * config/i386/netbsd.h: Likewise.
8161 * config/m68k/netbsd-elf.h: Likewise.
8162 * config/m68k/netbsd.h: Likewise.
8163 * config/ns32k/netbsd.h: Likewise.
8164 * config/sparc/netbsd.h: Likewise.
8165 * config/vax/netbsd.: Likewise.
8166
f913c102
AO
81672002-02-05 Alexandre Oliva <aoliva@redhat.com>
8168
8169 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
8170 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
8171 (TARGET_INITIALIZER): this.
8172 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
8173 (BITFIELD_NBYTES_LIMITED): Markup fix.
8174 * tree.h (default_ms_bitfield_layout_p): Declare.
8175 (record_layout_info): Added prev_field.
8176 * tree.c (default_ms_bitfield_layout_p): New fn.
8177 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
8178 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
8179 * stor-layout.c: Include target.h.
8180 (start_record_layout): Initialize prev_field.
8181 (place_field): Handle MS bit-field layout, and disregard
8182 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
8183 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
8184 * Makefile.in (stor-layout.o): Adjust dependencies.
8185
c13db5d1
JM
81862002-02-05 Jason Merrill <jason@redhat.com>
8187
c13db5d1
JM
8188 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
8189
4505024e
AJ
81902002-02-05 Andreas Jaeger <aj@suse.de>
8191
8192 * crtstuff.c: Fix comments.
8193
794ad79d
RH
81942002-02-05 Richard Henderson <rth@redhat.com>
8195
2e279a9b
RH
8196 PR fortran/3393
8197 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
8198 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
8199
794ad79d
RH
8200 PR fortran/3392
8201 * config/mips/mips.c (function_arg): Handle TImode.
8202 (function_arg_advance): Likewise.
8203
8f909017
AH
82042002-02-05 Aldy Hernandez <aldyh@redhat.com>
8205
c13db5d1
JM
8206 * config/rs6000/altivec.h (vec_step_help): Rename to
8207 __vec_step_help.
8f909017 8208
66daa9e3
AH
82092002-02-05 Aldy Hernandez <aldyh@redhat.com>
8210
c13db5d1 8211 * config/rs6000/altivec.h: Fix typos.
66daa9e3 8212
2696e97b
JT
82132002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
8214
8215 * config/arm/netbsd.h: Correct a comment.
8216
3deb2758
AH
82172002-02-05 Aldy Hernandez <aldyh@redhat.com>
8218
c13db5d1
JM
8219 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
8220 building void typed builtins.
3deb2758 8221
c13db5d1
JM
8222 * config/rs6000/altivec.h (vec_ld*): Fix typos.
8223 (vec_step): Implement for C++.
3deb2758 8224
c13db5d1 8225Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
8226
8227 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
8228
ebbb0a63
RH
82292002-02-04 Richard Henderson <rth@redhat.com>
8230
8231 * combine.c (nonzero_bits): Re-introduce special case for
8232 sp/fp/ap wrt REGNO_POINTER_ALIGN.
8233
ae4b4a02
AH
82342002-02-05 Aldy Hernandez <aldyh@redhat.com>
8235
c13db5d1
JM
8236 * doc/extend.texi: Warn about unsupported usage of altivec
8237 builtins.
ae4b4a02 8238
c13db5d1
JM
8239 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
8240 (altivec_predicate_*): New.
ae4b4a02 8241
c13db5d1
JM
8242 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
8243 Add C++ version of vec_*() functions.
ae4b4a02 8244
c13db5d1
JM
8245 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
8246 (bdesc_2arg): Remove altivec predicates.
8247 (altivec_expand_builtin): Handle predicates.
8248 (altivec_init_builtins): Handle predicates.
8249 (altivec_expand_predicate_builtin): New.
ae4b4a02 8250
f6bcf44c
JDA
82512002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8252
8253 * pa.c (DO_FRAME_NOTES): Move forward.
8254 (store_reg): Revise handling of frame notes.
8255 (load_reg): Likewise.
8256 (set_reg_plus_d): Likewise.
8257 (hppa_expand_prologue): Likewise.
8258 (hppa_expand_epilogue): Likewise.
b137f9fc 8259
703b0080
JDA
82602002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8261
8262 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
8263
6f9fdf4d
JJ
82642002-02-04 Jakub Jelinek <jakub@redhat.com>
8265
8266 PR c/4475, c++/3780:
8267 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
8268 * c-common.h (SWITCH_TYPE): Define.
8269 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
8270 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
8271 Rename spareness variable to sparseness.
8272 (expand_end_case_type): Renamed from expand_end_case, use orig_type
8273 if non-NULL instead of TREE_TYPE (orig_index).
8274 * tree.h (expand_end_case_type): Renamed from expand_end_case.
8275 (expand_end_case): Define using expand_end_case_type.
8276 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
8277 to expand_end_case_type.
8278 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
8279
79109502
JDA
82802002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8281
8282 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
8283 (BIGGEST_ALIGNMENT): Change to 128.
8284
e62a5987
JDA
82852002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8286
8287 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
8288
219f24a4
JDA
82892002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
8290
8291 * pa.md (call_internal_reg_64bit): Remove unused variable.
8292
3cb66fd7
NC
82932002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
8294
8295 * config/arm/arm.h (machine_function): Add uses_anonymous_args
8296 field.
831c4e87 8297 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 8298 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
8299 replace uses with cfun->machine->uses_anonymous_args.
8300 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
8301
8302 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
8303 any geenral register.
b137f9fc 8304
5d5603e2 83052001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
8306
8307 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
8308 the entry block.
8309
563c12b0
RH
83102002-02-04 Richard Henderson <rth@redhat.com>
8311
8312 * combine.c (force_to_mode): Remove STACK_BIAS code.
8313 (nonzero_bits): Likewise. Replace sp/fp special case with
8314 REGNO_POINTER_ALIGN.
8315
8316 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
8317 (HARD_FRAME_POINTER_REGNUM): New.
8318 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
8319 (FIXED_REGS, CALL_USED_REGS): Update.
8320 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
8321 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
8322 (HARD_REGNO_NREGS): Update for SFP.
8323 (STACK_POINTER_OFFSET): Include bias here ...
8324 (FIRST_PARM_OFFSET): ... not here.
8325 (STACK_BIAS): Remove.
8326 (INIT_EXPANDERS): New.
8327 (STARTING_FRAME_OFFSET): Do not include bias.
8328 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
8329 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
8330 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
8331 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
8332 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
8333 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
8334 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
8335 (MUST_SAVE_REGISTER): Likewise.
8336 (sparc_flat_function_prologue): Likewise.
8337 (sparc_flat_function_epilogue): Likewise.
8338 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
8339 (sparc_init_modes): SFP is GENERAL_REGS.
8340 (sparc_builtin_saveregs): SFP does not have bias applied.
8341
14691f8d
RH
83422002-02-04 Richard Henderson <rth@redhat.com>
8343
8344 * config/alpha/alpha.c (current_function_is_thunk): Don't check
8345 current_function_is_thunk.
8346 (alpha_sa_mask): Distinguish between current_function_is_thunk
8347 called from ASM_OUTPUT_MI_THUNK and not.
8348 (alpha_does_function_need_gp): Thunks always need gp.
8349 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
8350 (alpha_output_mi_thunk_osf): New.
8351 * config/alpha/alpha-protos.h: Update.
8352 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
8353
af702de8
RS
83542002-02-04 Richard Sandiford <rsandifo@redhat.com>
8355
8356 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
8357 function types, not when they're taken away.
8358
5b1cacd8
JL
8359Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
8360
8361 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
8362 CODE_LABEL and jump table when replacing a table jump with a
8363 simple jump.
8364
f3e9edff
UW
83652002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
8366
8367 * config/s390/s390-protos.h (legitimize_la_operand,
8368 s390_secondary_input_reload_class, s390_plus_operand,
8369 s390_expand_plus_operand): Add prototypes.
8370
8371 config/s390/s390.c (s390_secondary_input_reload_class,
8372 s390_plus_operand, s390_expand_plus_operand): New functions.
8373
8374 (struct s390_address): New member 'pointer'.
8375 (s390_decompose_address): Compute it.
8376 (legitimate_la_operand_p): Use it.
8377 (legitimize_la_operand): New function.
8378 (movti, movdi, movdf splitters): Call it.
8379
8380 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
8381 (PREDICATE_CODES): Add s390_plus_operand.
8382
8383 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
8384 (la_ccclobber): Allow GENERAL_REGS as output operand.
8385
8386 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
8387 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
8388 (*la_64, *la_31, reload_indi, reload_insi): ... these.
8389
3c9a08ec
UW
83902002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
8391
8392 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
8393 register names for regular asm () construct.
8394
ac300a45
JJ
83952002-02-04 Jakub Jelinek <jakub@redhat.com>
8396
8397 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
8398 registers.
8399
fa852403
JJ
84002002-02-04 Jakub Jelinek <jakub@redhat.com>
8401
8402 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
8403 pat for recog.
8404
fecaac37
HP
84052002-02-04 Hartmut Penner <hpenner@de.ibm.com>
8406
831c4e87
KC
8407 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
8408 constant pool to be identical by string address and index.
fecaac37 8409
10c45943
AG
84102002-02-04 Anthony Green <green@redhat.com>
8411
8412 * output.h (SECTION_OVERRIDE): Define.
8413 * varasm.c (named_section): Obey SECTION_OVERRIDE.
8414
69474c3c
JT
84152002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
8416
8417 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
8418 by existing arm*-*-netbsd* (a.out) target.
8419 (ns32k-*-netbsdelf*): Likewise.
8420 (sparc-*-netbsdelf*): Likewise.
8421 (vax-*-netbsdelf*): Likewise.
8422
939a46f6 84232002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
8424
8425 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
8426 headers and libobjc headers.
8427
84282002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
8429
8430 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
8431 (_mingw.h): Remove duplicate include.
8432
2fd95d71
JT
84332002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
8434
8435 * config.gcc: Set cpu_type to m68k for 68010, as well.
8436 (m68010-*-netbsdelf*): New...
8437 (m68k*-*-netbsdelf*): ...targets.
8438 * config/m68k/netbsd-elf.h: New file.
8439
0ea6f6a0
KH
84402002-02-02 Kazu Hirata <kazu@hxi.com>
8441
8442 * config/h8300/h8300.c (hand_list): Move inside function_arg.
8443
cbf1b2da
KH
84442002-02-02 Kazu Hirata <kazu@hxi.com>
8445
8446 * config/h8300/h8300.c (h8_push_ops): Move inside
8447 h8300_init_once.
8448 (h8_pop_ops): Likewise.
8449 (h8_move_ops): Likewise.
8450
0869f126
KH
84512002-02-02 Kazu Hirata <kazu@hxi.com>
8452
8453 * config/h8300/h8300.c (os_task): Make it static.
8454 (monitor): Likewise.
8455 (pragma_saveall): Likewise.
8456
90e65b70
AO
84572002-02-02 Alexandre Oliva <aoliva@redhat.com>
8458
8459 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
8460 constant is a valid sign-extension for Pmode.
8461
9cbcd983
KH
84622002-02-02 Kazu Hirata <kazu@hxi.com>
8463
8464 * config/h8300/h8300.c: Fix formatting.
8465
7a27efc4
KH
84662002-02-02 Kazu Hirata <kazu@hxi.com>
8467
8468 * config/h8300/h8300.md: Fix formatting.
8469
54175a44
KH
84702002-02-02 Kazu Hirata <kazu@hxi.com>
8471
8472 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
8473 predicates of operands[1]. Split the patterns for each
8474 processor variant.
8475
eceb1755
KH
84762002-02-02 Kazu Hirata <kazu@hxi.com>
8477
8478 * config/h8300/h8300.md (xor patterns): Tighten the predicates
8479 of operands[1] to register_operand.
8480
0fef3fd0
NB
84812002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
8482
8483 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
8484 * cpphash.c (_cpp_init_hashtable): Similarly.
8485 * cppinit.c (cpp_create_reader): Default the signed_char flag.
8486 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
8487 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
8488 (cpp_handle_option): Handle the new options.
8489 * cpplex.c (cpp_interpret_charconst): Use new flag.
8490 * cpplib.h (struct cpp_options): New member signed_char.
8491 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
8492 (cpp_options): Handle -fsigned-char and -funsigned-char.
8493 (static_specs): Remove signed_char_spec.
8494 (do_spec1): Don't handle %c.
8495 * system.h: Poison SIGNED_CHAR_SPEC.
8496 * tradcif.y (yylex): Use flag_signed_char.
8497 * tradcpp.h (flag_signed_char): New.
8498 * tradcpp.c (flag_signed_char): New.
8499 (main): Handle new command-line options.
8500 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
8501config:
8502 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
8503 * avr/avr.h: Remove old comments.
8504 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
8505 (CC1_SPEC): Pass -fsigned-char if -mic*.
8506 (SIGNED_CHAR_SPEC): Remove.
8507doc:
8508 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
8509
0617ed52
EC
85102002-02-01 Eric Christopher <echristo@redhat.com>
8511
8512 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
8513 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
8514 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
8515 (ASM_OUTPUT_REG_POP): Ditto.
8516
dfd48d76
NB
85172002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
8518
8519 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
8520 patch.
8521
4a23409e
JJ
85222002-02-02 Jakub Jelinek <jakub@redhat.com>
8523
8524 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
8525
d3c52658
JJ
85262002-02-02 Jakub Jelinek <jakub@redhat.com>
8527
8528 PR c/5304:
8529 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
8530 unconditionally.
8531
02c5a3bd
JJ
85322002-02-01 Janis Johnson <janis187@us.ibm.com>
8533
8534 * cfganal.c: Include tm_p.h.
8535 (keep_with_call_p): Fix the test that determines if a register holds
8536 the return value of a call.
8537
3968de80
DD
85382002-02-01 DJ Delorie <dj@redhat.com>
8539
8540 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
8541 we are given conflicting registers, switch to the other one we
8542 had allocated for us.
8543 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
8544 as TImode so we know when the "other" register is available.
8545
1338ea6c
DB
85462002-02-01 David O'Brien <obrien@FreeBSD.org>
8547
8548 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
8549 sparc/sparc_bi.h.
8550
f015be23
JJ
85512002-02-01 Janis Johnson <janis187@us.ibm.com>
8552
8553 * cfganal.c (keep_with_call_p): New function.
8554 (flow_call_edges_add): Prevent splitting a block between a call and
8555 a single-set instruction that should be kept in the same block.
8556
63708ffc
CR
85572002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
8558
8559 * doc/install.texi (avr): Update outdated URL.
8560
5ee4950e
AH
85612002-01-30 Andrew Haley <aph@cambridge.redhat.com>
8562
831c4e87
KC
8563 * config/stormy16/stormy16.md (pushqi): New.
8564 (popqi): New.
8565 (pushhi): New.
8566 (pophi): New.
8567 (movhi): Remove stack operands.
8568 (movqi): Likewise.
8569 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
8570 nonimmediate_nonstack_operand.
8571 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
8572 New.
8573 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
8574 New.
5ee4950e 8575
b88c0704
JM
85762002-01-31 Jason Merrill <jason@redhat.com>
8577
8578 * Makefile.in (c-parse.c): Handle .output file.
8579 * objc/Make-lang.in (objc-parse.c): Likewise.
8580
ac282977
AO
85812002-02-01 Alexandre Oliva <aoliva@redhat.com>
8582
8583 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
8584 the -me[lb] option is given. Don't output the default flag
8585 twice.
8586
bebc7e8b
ZW
85872002-01-31 Zack Weinberg <zack@codesourcery.com>
8588
8589 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
8590 the primary source file; this has not been done yet.
8591 * c-decl.c (c_expand_body): Reset input_filename from
8592 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
8593
5809eb5f
KH
85942002-01-31 Kazu Hirata <kazu@hxi.com>
8595
8596 * rtlanal.c (subreg_regno_offset): Do not use
8597 SUBREG_REGNO_OFFSET.
8598 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
8599 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
8600
8512bbd7
JM
86012002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
8602
8603 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
8604 version rather than GNATS version in --version output.
8605
74cb3cc8
RS
86062002-01-31 Richard Sandiford <rsandifo@redhat.com>
8607
8608 * ifcvt.c (noce_process_if_block): Make a copy of the destination
8609 when copying back from a temporary.
8610
874b5b14
RH
86112002-01-30 Richard Henderson <rth@redhat.com>
8612
8613 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
8614 and new_dest are the same.
8615
e803a64b
RH
86162002-01-30 Richard Henderson <rth@redhat.com>
8617
89cf7be5 8618 PR opt/5076
e803a64b
RH
8619 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
8620 * rtl.c (note_insn_name): Update.
8621 * emit-rtl.c (remove_unnecessary_notes): Kill it.
8622 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
8623 to perform loop rotation.
8624 (expand_exit_loop_top_cond): New.
8625 * tree.h (expand_exit_loop_top_cond): Declare it.
8626 * c-semantics.c (genrtl_while_stmt): Use it.
8627 (genrtl_for_stmt): Likewise.
8628
0b51254d
AO
86292002-01-30 Alexandre Oliva <aoliva@redhat.com>
8630
8631 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
8632 arguments to 64-bit boundaries on 64-bit ABIs.
8633
71cef493
SE
86342002-01-30 Steve Ellcey <sje@cup.hp.com>
8635
8636 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
8637
6169e5fd
JM
86382002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
8639
8640 * c-decl.c (grokdeclarator): Handle type being a typedef for an
8641 invalid type.
8642
86f808dc
DB
86432002-01-30 David O'Brien <obrien@FreeBSD.org>
8644
8645 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
8646 * config/sparc/sparc_bi.h: Remove file.
8647 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
8648
5748ebeb
RH
86492002-01-30 Richard Henderson <rth@redhat.com>
8650
8651 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
8652
20d32cc2
ZW
86532002-01-30 Zack Weinberg <zack@codesourcery.com>
8654
8655 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
8656
b88c0704 86572002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
8658
8659 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
8660 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
8661 (reg_save): Use DW_CFA_offset_extended_sf instead.
8662
8663 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
8664
37060e78
JJ
86652002-01-29 Jakub Jelinek <jakub@redhat.com>
8666
8667 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
8668 in cselib_lookup.
8669
d18dba68
AH
86702002-01-29 Aldy Hernandez <aldyh@redhat.com>
8671
bebc7e8b
ZW
8672 * rs6000.md ("*call_value_local32"): Remove constraints.
8673 ("*call_value_local64"): Same.
8674 ("*call_value_indirect_nonlocal_aix32"): Same.
8675 ("*call_value_nonlocal_aix32"): Same.
8676 ("*call_value_indirect_nonlocal_aix64"): Same.
8677 ("*call_value_nonlocal_aix64"): Same.
8678 ("*call_value_nonlocal_sysv"): Same.
d18dba68 8679
80a8aac6
RH
86802002-01-29 Richard Henderson <rth@redhat.com>
8681
8682 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
8683
12beba6f
RH
86842002-01-29 Richard Henderson <rth@redhat.com>
8685
8686 * expr.c (force_operand): Ignore flag_pic for detecting pic
8687 address loads.
8688 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
8689 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
8690 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
8691 instead of open-coded loop.
8692 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
8693 be fixed when in use.
8694
2583081e
RH
86952002-01-29 Richard Henderson <rth@redhat.com>
8696
8697 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
8698 * sched-rgn.c (propagate_deps): Update them.
8699 * sched-deps.c (sched_analyze_insn): Update them. Flush the
8700 clobbers list when either gets too long.
8701
3b8d200e
JJ
87022002-01-29 Jakub Jelinek <jakub@redhat.com>
8703
8704 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
8705 and INDEX_REGS the same as GENERAL_REGS.
8706 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
8707
2d3115eb
NB
87082002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
8709
bebc7e8b 8710 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 8711
ecbe845e
UW
87122002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
8713
bebc7e8b 8714 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 8715 movstrsix_31): Remove, replace by ...
bebc7e8b 8716 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
8717 movstrsi_long): ... these. New.
8718 (movstrdi, movstrsi): Adapt.
8719
8720 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 8721 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
8722 Remove unnecessary CC clobber.
8723 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
8724 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
8725
8726 (divmoddi4): Don't partially initialize TImode register.
8727
0b32fca5
GK
87282002-01-29 Geoffrey Keating <geoffk@redhat.com>
8729
8730 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
8731
08ef5437
RH
87322002-01-29 Richard Henderson <rth@redhat.com>
8733
8734 * flow.c (print_rtl_and_abort): Remove.
8735 (print_rtl_and_abort_fcn): Remove.
8736 (verify_local_live_at_start): Use dump_bb instead.
8737 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
8738 (verify_wide_reg_1): Return 2 on mode test failure.
8739
8469e54e
NB
87402002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
8741
8742 PR c/3325, c/3326, c/2511, c/3347
8743 * c-decl.c (enum_decl_context): Remove BITFIELD.
8744 (grokdeclarator): Take bitfield width as an input.
8745 Ensure bitfields are given the correct type. Perform
8746 bitfield width validation with build_bitfield_integer_type
8747 rather than waiting for finish_struct.
8748 (grok_typename, grok_typename_in_parm_context, start_decl,
8749 push_parmdecl, grokfield, start_function): Update calls to
8750 grokdeclarator.
8751 (build_bitfield_integer_type): New function.
8752 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 8753 and build_bitfield_integer_type.
8469e54e
NB
8754 * tree.c (build_nonstandard_integer_type): New function.
8755 * tree.h (build_nonstandard_integer_type): New prototype.
8756objc:
8757 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
8758
ffdeea47
JJ
87592002-01-29 Jakub Jelinek <jakub@redhat.com>
8760
8761 PR other/1502:
8762 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
8763 don't ignore unrecognized -W* options.
8764 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
8765 * cpplib.h (cpp_handle_option): Adjust prototype.
8766 * c-decl.c (c_decode_options): Pass 0 as last argument to
8767 cpp_handle_option.
8768
8769 PR c/2896:
8770 * gcc.c (cpp_unique_options): Split from cpp_options.
8771 (cpp_options): Source cpp_unique_options.
8772 (default_compilers): Use cpp_unique_options instead of cpp_options
8773 when used together with cc1_options.
8774 (static_specs): Add cpp_unique_options.
8775 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
8776 when used together with cc1_options.
8777
1a275226
KH
87782002-01-29 Kazu Hirata <kazu@hxi.com>
8779
8780 * config/h8300/h8300-protos.h: Update the prototype of
8781 output_a_shift.
8782 * config/h8300/h8300.c (output_a_shift): Remove an unused
8783 argument 'insn'. Remove redundant code.
8784 * config/h8300/h8300.md: Adust to the new prototype of
8785 output_a_shift.
8786
a11d9dfc
KH
87872002-01-29 Kazu Hirata <kazu@hxi.com>
8788
8789 * config/h8300/h8300-protos.h: Update the prototypes of
8790 emit_a_rotate and expand_a_rotate.
8791 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
8792 first argument to 'enum rtx_code'.
8793 (expand_a_rotate): Likewise.
8794
871f73e3
KH
87952002-01-28 Kazu Hirata <kazu@hxi.com>
8796
8797 * config/h8300/h8300-protos.h: Update the prototype of
8798 output_simode_bld.
8799 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
8800 'log2'.
8801 * config/h8300/h8300.md: Adjust to the new prototype.
8802
5fc4b751
KH
88032002-01-28 Kazu Hirata <kazu@hxi.com>
8804
8805 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
8806 redundant code.
8807
2d67bd7b
JDA
88082002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
8809
8810 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
8811 is a fixed register before returning pic_offset_table_rtx.
8812 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
8813 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
8814
5a852b3e
JM
88152002-01-28 Jason Merrill <jason@redhat.com>
8816
6bb28965 8817 * dwarf2.h: Sync with src version.
5a852b3e 8818
3bca17dd
PK
88192002-01-28 Paul Koning <pkoning@equallogic.com>
8820
8821 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
8822 BT_FN_VOID_PTR_VAR.
8823 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
8824 * doc/extend.texi (__builtin_prefetch): Update documentation:
8825 first argument is now const void ptr.
8826
7dc3f8c0
KH
88272002-01-28 Kazu Hirata <kazu@hxi.com>
8828
8829 * config/h8300/h8300-protos.h: Remove an unused prototype.
8830
e83cb5f0
RZ
88312002-01-28 Roman Zippel <zippel@linux-m68k.org>
8832
8833 * toplev.c (lang_independent_init): Round up identifier size.
8834
5721cd84
RE
88352002-01-28 Richard Earnshaw <rearnsha@arm.com>
8836
8837 * config.gcc: Revert previous change.
8838
d534119e
AP
88392002-01-28 Andris Pavenis <pavenis@latnet.lv>
8840
8841 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
8842
5a721dab
RE
88432002-01-28 Richard Earnshaw <rearnsha@arm.com>
8844
8845 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
8846 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
8847 other non-elf netbsd config frags.
8848 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
8849 collect2 will does that.
8850 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
8851 shared-lib frobbing will work.
8852
da1775d6
KH
88532002-01-28 Kazu Hirata <kazu@hxi.com>
8854
8855 * config/h8300/h8300.h: Fix formatting.
8856 * config/h8300/h8300.md: Likewise.
8857
8f2e963b
LR
88582002-01-28 Loren J. Rittle <ljrittle@acm.org>
8859
8860 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
8861 the old, removed AAA_standards fix.
8862 * fixinc/fixincl.x: Rebuilt.
8863
fdae5767
HPN
88642002-01-28 Hans-Peter Nilsson <hp@axis.com>
8865
8866 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
8867 atexit call in crtbegin, hooked in after call to frame_dummy;
8868 register EH before registering __fini__start.
8869
2a2ecb63
AH
88702002-01-28 Aldy Hernandez <aldyh@redhat.com>
8871
8872 * config/rs6000/altivec.h: Remove spurious semicolons.
8873
8ed43adf
KH
88742002-01-27 Kazu Hirata <kazu@hxi.com>
8875
8876 * config/h8300/h8300.md: Replace dead bit extraction patterns
8877 with ones that work.
8878
917afb0c
RK
8879Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8880
8881 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
8882 if not STRICT_ALIGNMENT.
8883 * rtl.h (MEM_ALIGN): Likewise.
8884
f70a54cb
CR
88852002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
8886
8887 * doc/invoke.texi (-fdump-translation-unit): Revert this
8888 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
8889
d8fd4914
KH
88902002-01-27 Kazu Hirata <kazu@hxi.com>
8891
8892 * config/h8300/h8300.md (define_constants): New.
8893 (anonymous patterns) Use defined constants appropriately.
8894
15e0e275
KH
88952002-01-27 Kazu Hirata <kazu@hxi.com>
8896
8897 * config/h8300/h8300.c (function_arg): Remove redundant code.
8898
37a0f8a5
RH
88992002-01-26 Richard Henderson <rth@redhat.com>
8900
8901 * sched-deps.c (reg_pending_uses_head): New.
8902 (reg_pending_barrier): Rename from reg_pending_sets_all.
8903 (find_insn_list): Don't mark inline.
8904 (find_insn_mem_list): Remove.
8905 (add_dependence_list, add_dependence_list_and_free): New.
8906 (flush_pending_lists): Replace only_write param with separate
8907 for_read and for_write parameters. Update all callers. Use
8908 add_dependence_list_and_free.
8909 (sched_analyze_1): Do not add reg dependencies here; just set
8910 the pending bits. Use add_dependence_list.
8911 (sched_analyze_2): Likewise.
8912 (sched_analyze_insn): Replace schedule_barrier_found with
8913 reg_pending_barrier. Add all dependencies for pending reg
8914 uses, sets, and clobbers.
8915 (sched_analyze): Don't add reg dependencies for calls, just
8916 set pending bits. Use regs_invalidated_by_call. Treat
8917 sched_before_next_call as a normal list, not a fake insn.
8918 (init_deps): No funny init for sched_before_next_call.
8919 (free_deps): Free pending mems lists. Don't zero reg_last.
8920 (init_deps_global): Init reg_pending_uses.
8921 (finish_deps_global): Free it.
8922 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
8923 (find_insn_mem_list): Remove.
8924 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
8925 (propagate_deps): Use them. Zero temp mem lists.
8926
cea3bd3e
RH
89272002-01-26 Richard Henderson <rth@redhat.com>
8928
8929 * Makefile.in (CRTSTUFF_CFLAGS): New.
8930 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
8931 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
8932 crtstuff.c instead of alpha assembly version.
8933 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
8934 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
8935 not FORCE_{INIT,FINI}_SECTION_ALIGN.
8936 (__do_global_dtors_aux): Mark used.
8937 (frame_dummy, __do_global_ctors_aux): Mark used.
8938 (fini_dummy, init_dummy): Remove.
8939
8940 * config/alpha/crtbegin.asm: Remove file.
8941 * config/alpha/crtend.asm: Remove file.
8942 * config/alpha/t-crtbe: Remove file.
8943 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
8944 (LINK_EH_SPEC): New.
8945
8946 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
8947 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
8948 calling constructors.
8949 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
8950
8951 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
8952 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
8953 CRT_END_INIT_DUMMY hack.
8954 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
8955 FORCE_{INIT,FINI}_SECTION_ALIGN.
8956
8957 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
8958 FORCE_{INIT,FINI}_SECTION_ALIGN.
8959
8960 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
8961 invocation sequence.
8962 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
8963
8964 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
8965 (FORCE_CODE_SECTION_ALIGN): New.
8966
60ffa0e5
RH
89672002-01-26 Richard Henderson <rth@redhat.com>
8968
8969 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
8970
61334ebe
RH
89712002-01-26 Richard Henderson <rth@redhat.com>
8972
8973 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
8974 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
8975
1d788fb6
KH
89762002-01-26 Kazu Hirata <kazu@hxi.com>
8977
8978 * config/h8300/h8300.md: Remove bit extraction patterns that
8979 cannot be triggered.
8980 Restrict each bit extraction pattern to a variant on which the
8981 pattern is tested.
8982
87611f88
JM
89832002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
8984
8985 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
8986
cd74ec59
KH
89872002-01-26 Kazu Hirata <kazu@hxi.com>
8988
8989 * config/h8300/h8300.md: Remove bit test patterns that cannot
8990 be triggered.
8991 Restrict each bit test pattern to a variant on which the
8992 pattern is tested.
8993
93051e0f
KG
89942002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8995
8996 * builtins.c (expand_builtin_strncat): Remove redundant check for
8997 INTEGER_CST.
8998
216c995f
DB
89992002-01-25 David O'Brien <obrien@FreeBSD.org>
9000
9001 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
9002 default setting.
9003 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
9004 existing setting.
9005
33c7f925
GK
90062002-01-25 Geoffrey Keating <geoffk@redhat.com>
9007
9008 * dbxout.c (dbxout_init): Use assemble_name rather than just
9009 stripping off the first character.
9010 (dbxout_source_file): Likewise.
9011
6cd444b4
DD
90122002-01-25 DJ Delorie <dj@redhat.com>
9013
9014 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
9015 using rtx_equal_p, not by comparing pointers.
9016
751551d5
SE
90172002-01-25 Steve Ellcey <sje@cup.hp.com>
9018
9019 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
9020 for PIC_OFFSET_TABLE_REGNUM.
9021 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
9022
e564e618
DB
90232002-01-25 David O'Brien <obrien@FreeBSD.org>
9024
9025 * config.gcc (x86_64-*-freebsd*): New target.
9026 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
9027 value.
9028 (i[34567]86-*-freebsd*): Don't include svr4.h.
9029 * config/i386/freebsd64.h: New file.
9030
ff3aaf17
DR
90312002-01-25 Douglas B Rupp <rupp@gnat.com>
9032
4857d29d
DR
9033 * config/alpha/x-vms (version): Make static.
9034
9035 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
9036 in previous checkin.
9037
ff3aaf17
DR
9038 * Makefile.in (install-headers-cp): New target.
9039 * config.gcc (alpha-dec-*vms*): Install headers with
9040 install-headers-cp
9041
48d79c43
JH
9042Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
9043
9044 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
9045 avoid it's copies.
9046
995b5904
RK
9047Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9048
9049 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
9050 of compare_tree_int.
9051 (expand_builtin_strncat): Likewise.
9052 * c-decl.c (finish_struct): Use tree_low_cst.
9053 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
9054 * tree.c (compare_tree_int): Likewise.
9055
75eefe3f
UW
90562002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
9057
9058 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
9059 adjustments even if they are implemented by more than two insns.
9060
5a133afd
JH
9061Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
9062
995b5904 9063 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
9064 * df.h (struct ref): Kill B.
9065 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
9066
9067 * basic-block.h (PROP_EQUAL_NOTES): New flag.
9068 * flow.c (propagate_one_insn): Use it.
9069 (mark_used_regs): Handle NIL.
9070
ead39bdf 90712002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
9072
9073 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
9074 to help folding.
9075
01a2ccd0
DE
90762002-01-25 David Edelsohn <edelsohn@gnu.org>
9077
9078 * rs6000.md (prefetch): Make address V4SI mode so that the address
9079 is restricted to legitimate form for instruction.
9080
fd29f6ea
BW
90812002-01-25 Bob Wilson <bob.wilson@acm.org>
9082
9083 * doc/install.texi (xtensa-*-elf): New target.
9084 (xtensa-*-linux*): New target.
9085 * doc/contrib.texi: Add myself.
9086
55492b32
NC
90872002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
9088
9089 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
9090 purpose register to hold an SImode (or smaller) value.
9091
72c7c913
JJ
90922002-01-25 Jakub Jelinek <jakub@redhat.com>
9093
9094 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
9095 registry only.
9096 * crtstuff.c: Likewise.
9097
c4df4ceb
KH
90982002-01-25 Kazu Hirata <kazu@hxi.com>
9099
9100 * config/h8300/h8300.md (negation patterns): Tighten
9101 predicates to register_operand.
9102
70e531f5
AH
91032002-01-24 Aldy Hernandez <aldyh@redhat.com>
9104
3bca17dd
PK
9105 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
9106 mode, not Pmode.
70e531f5 9107
3bca17dd 9108 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 9109
a4f76ef9
AO
91102002-01-24 Alexandre Oliva <aoliva@redhat.com>
9111
9112 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
9113 modes.
9114
9bf25b09
KH
91152002-01-24 Kazu Hirata <kazu@hxi.com>
9116
9117 * config/h8300/h8300.c (print_operand): Remove support for
9118 operand character 'A'.
9119 * config/h8300/h8300.md (three anonymous patterns): Replace
9120 operand character 'A' with either 'T' or 'S'.
9121
974af6a5
KH
91222002-01-24 Kazu Hirata <kazu@hxi.com>
9123
9124 * config/h8300/h8300.c (print_operand): Remove support for
9125 operand character 'U'.
9126
7a5bb7b8
AP
91272002-01-24 Andris Pavenis <pavenis@latnet.lv>
9128
3bca17dd 9129 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 9130
92a4639e
NC
91312002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
9132
9133 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
9134 values to be assigned to the stack pointer.
9135
467cb2da
HP
91362002-01-14 Hartmut Penner <hpenner@de.ibm.com>
9137
bebc7e8b 9138 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
9139 to const_double needs to be done right for big-endian systems.
9140
3b6cb920
JM
91412002-01-24 Jason Merrill <jason@redhat.com>
9142
b08dd119 9143 PR c++/2432
3b6cb920
JM
9144 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
9145 to can_throw_internal.
9146
f3077311
RH
91472002-01-23 Richard Henderson <rth@redhat.com>
9148
9149 * fold-const.c (fold): Change UINT_MAX test to check vs precision
9150 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
9151
e1d71275
AO
91522002-01-24 Alexandre Oliva <aoliva@redhat.com>
9153
9154 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
9155 (symGOT2reg): Use them, then set as GOT value as unchanging.
9156 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
9157 as a temporary, if possible.
9158 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
9159 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
9160
dc271dbe
KH
91612002-01-23 Kazu Hirata <kazu@hxi.com>
9162
9163 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
9164 accept to accept 0x80 as operands[2].
9165
1a9017f9
AO
91662002-01-24 Alexandre Oliva <aoliva@redhat.com>
9167
9168 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
9169
6932f033
RH
91702002-01-23 Richard Henderson <rth@redhat.com>
9171
9172 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
9173
709619d9
AH
91742002-01-23 Aldy Hernandez <aldyh@redhat.com>
9175
3bca17dd
PK
9176 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
9177 (parmlist_or_identifiers_1): Verify that only a parmlist follows
9178 an attribute.
709619d9 9179
3d709fd3
RH
91802002-01-23 Richard Henderson <rth@redhat.com>
9181
9182 * expr.c (move_by_pieces_1): Extend size before negation.
9183
88a446c0
RH
9184 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
9185 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
9186 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
9187 * config/m68k/t-m68kelf: Likewise.
9188
03984308
BW
91892002-01-23 Bob Wilson <bob.wilson@acm.org>
9190
9191 * config/xtensa/elf.h: New file.
9192 * config/xtensa/lib1funcs.asm: New file.
9193 * config/xtensa/lib2funcs.S: New file.
9194 * config/xtensa/linux.h: New file.
9195 * config/xtensa/t-xtensa: New file.
9196 * config/xtensa/xtensa-config.h: New file.
9197 * config/xtensa/xtensa-protos.h: New file.
9198 * config/xtensa/xtensa.c: New file.
9199 * config/xtensa/xtensa.h: New file.
9200 * config/xtensa/xtensa.md: New file.
9201 * config.gcc (xtensa-*-elf*): New target.
9202 (xtensa-*-linux*): New target.
9203 * cse.c (canon_hash): Compare rtx pointers instead of register
9204 numbers. This is required for the Xtensa port.
9205 * integrate.c (copy_insn_list): Handle case where the static
9206 chain is in memory and the memory address has to be copied to
9207 a register.
9208 * doc/invoke.texi (Option Summary): Add Xtensa options.
9209 (Xtensa Options): New node.
9210 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
9211
c3d5c3fa
ZW
92122002-01-23 Zack Weinberg <zack@codesourcery.com>
9213
a63bea75
ZW
9214 * diagnostic.c (internal_error): Do ICE suppression only
9215 when ENABLE_CHECKING is not defined.
9216
c3d5c3fa
ZW
9217 * c-typeck.c (require_complete_type): Return error_mark_node
9218 if type is error_mark_node.
9219
1398974c
JJ
92202002-01-23 Janis Johnson <janis187@us.ibm.com>
9221
9222 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
9223 -Os and issue a warning.
9224
807633e5
ZW
92252002-01-23 Zack Weinberg <zack@codesourcery.com>
9226
9227 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
9228 current (lack of) need for host configuration by hand.
9229
9230 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
9231 references. Documentation of some target macros moved from
9232 hostconfig.texi to tm.texi.
9233
cf8002d0
WC
92342002-01-23 Will Cohen <wcohen@redhat.com>
9235
9236 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
9237 defined.
9238
d1e76310
KH
92392002-01-23 Kazu Hirata <kazu@hxi.com>
9240
9241 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
9242 operand[3].
9243
b2115575
JM
92442002-01-23 Jason Merrill <jason@redhat.com>
9245
f893c16e
JM
9246 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
9247
b2115575
JM
9248 * function.c (assign_parms): Don't put args of inline functions
9249 into registers when not optimizing.
9250
6bacc7b0
NC
92512002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
9252
9253 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
9254 (prologue_use): New pattern.
9255 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
9256 preference to gen_rtx_USE.
9257 (thumb_expand_prologue): Use gen_prologue_use in preference to
9258 gen_rtx_USE.
9259 (thumb_expand_epilogue): Use gen_prologue_use in preference to
9260 gen_rtx_USE.
9261
a415f7bc
HPN
92622002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
9263
9264 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
9265
5372b3fb
NB
92662002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
9267
9268 PR c/3504
9269 * doc/extend.texi: Correct documentation of __alignof__.
9270
bd571ffc
ZW
92712002-01-22 Zack Weinberg <zack@codesourcery.com>
9272
9273 * params.h: Rename arguments of DEFPARAM so that it will be
9274 recognized as a translation keyword.
9275
333c8841
AH
92762002-01-22 Aldy Hernandez <aldyh@redhat.com>
9277
bd571ffc
ZW
9278 * extend.texi: Document altivec functions.
9279 Fix N-bit adjectives in X86 builtin documentation.
333c8841 9280
38979c65
AO
92812002-01-22 Alexandre Oliva <aoliva@redhat.com>
9282
9283 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
9284 auto_inc_dec values.
9285
7458a9f0
RE
92862002-01-22 Richard Earnshaw <rearnsha@arm.com>
9287
9288 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
9289 after backslash.
9290 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
9291
129bd0c4
AO
92922002-01-22 Alexandre Oliva <aoliva@redhat.com>
9293
9294 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
9295
8b9b74a9
RH
92962002-01-22 Richard Henderson <rth@redhat.com>
9297
9298 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
9299 copy_insn not copy_rtx.
9300
d0c9db30
AM
93012002-01-23 Alan Modra <amodra@bigpond.net.au>
9302
9303 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
9304 "nonzero" as that might add "1" bits. Ensure "constop" is
9305 properly sign extened.
9306 (force_to_mode): Tweak for sign extended constop.
9307
1e7e480e
RH
93082002-01-22 Richard Henderson <rth@redhat.com>
9309
9310 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
9311 for_each_rtx instead of assuming we're already looking at the MEM.
9312 (split_small_symbolic_mem_operand): Likewise.
9313 * config/alpha/alpha.h (PREDICATE_CODES): Update.
9314 * config/alpha/alpha.md (small symbolic memory splitters): Update.
9315
93162002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
9317
9318 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
9319 sequence number for the literal.
9320 (divmoddi_internal_er): Likewise.
9321
b7f2fb96
CR
93222002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
9323
9324 PR java/4972
9325 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
9326 in LIBICONV variable.
9327 * configure: Regenerated.
9328
f66a0046
KW
93292002-01-22 Krister Walfridsson <cato@df.lth.se>
9330
9331 * dependence.c (build_def_use): Remove array_idx.
9332
e3b0efd1
KW
9333 * dwarfout.c (last_filename): Remove.
9334 (output_compile_unit_die): Remove last_filename.
9335
d8086cbb
RS
93362002-01-22 Roger Sayle <roger@eyesopen.com>
9337 Richard Henderson <rth@redhat.com>
9338
9339 PR opt/3640
9340 * fold-const.c (fold): Optimize unsigned comparisons against
9341 UINT_MAX (and similar unsigned constants).
9342
e8d52ba0
JJ
93432002-01-22 Janis Johnson <janis187@us.ibm.com>
9344
d8086cbb 9345 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 9346 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 9347 against the predicate.
11303d15 9348
e8d52ba0
JJ
9349 PR target/5379
9350 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
9351 for the address operand.
9352
cc7b420e
RH
93532002-01-22 Richard Henderson <rth@redhat.com>
9354
9355 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
9356
816e265a
CR
93572002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
9358
9359 PR other/5450
cc7b420e
RH
9360 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
9361 preprocessor flags.
816e265a 9362
7c884404
JT
93632002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
9364
9365 * config.gcc (x86_64-*-netbsd*): New target.
9366 * config/i386/netbsd64.h: New file.
9367
2b672c08
AH
93682002-01-22 Aldy Hernandez <aldyh@redhat.com>
9369
d8086cbb 9370 * regrename.c (kill_value): Fix typo.
2b672c08
AH
9371
93722002-01-22 Aldy Hernandez <aldyh@redhat.com>
9373
d8086cbb 9374 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 9375
d8086cbb 9376 * config/rs6000/rs6000.h: Same.
2b672c08 9377
d8086cbb
RS
9378 * function.c (instantiate_virtual_regs): Remove
9379 STARTING_FRAME_PHASE.
9380 (assign_stack_local_1): Same.
9381 Calculate frame phase.
2b672c08 9382
4b02997f
NC
93832002-01-22 Nick Clifton <nickc@redhat.com>
9384
9385 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
9386 variable declaration to outer scope in order to simplify
9387 future extensions.
9388 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
9389 arm_hard_regno_mode_ok.
9390 * config/arm/arm-protos.h: Add a prototype for
9391 arm_hard_regno_mode_ok.
9392 * config/arm/arm.c (soft_df_operand): Remove now redundant
9393 check for DImode values using IP_REGNUM.
9394 (nonimmediate_soft_df_operand): Remove now redundant check for
9395 DImode values using IP_REGNUM.
9396 (arm_hard_regno_mode_ok): New function. New check: make sure
9397 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
9398
9399 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
9400 note with a USE.
9401 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
9402
8a827ab2
JM
94032002-01-22 Jason Merrill <jason@redhat.com>
9404
9405 * c-semantics.c (genrtl_compound_stmt): Only check nesting
9406 consistency if this COMPOUND_STMT is scoped.
9407
cf403648
KH
94082002-01-22 Kazu Hirata <kazu@hxi.com>
9409
9410 * predict.c: Fix formatting.
9411 * print-tree.c: Likewise.
9412 * protoize.c: Likewise.
9413 * real.h: Likewise.
9414 * rtl.h: Likewise.
9415 * sbitmap.h: Likewise.
9416 * scan.c: Likewise.
9417 * sched-deps.c: Likewise.
9418 * sched-vis.c: Likewise.
9419 * sdbout.c: Likewise.
9420 * sibcall.c: Likewise.
9421 * ssa.c: Likewise.
9422 * ssa-ccp.c: Likewise.
9423 * ssa-dce.c: Likewise.
9424 * stmt.c: Likewise.
9425 * stor-layout.c: Likewise.
9426 * system.h: Likewise.
9427
aea9695c
RK
9428Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9429
a8765ae7
RK
9430 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
9431 if fits in bounds of base type.
9432
aea9695c
RK
9433 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
9434 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
9435 (add_bound_info, default): If can't find a context, make a
9436 SAVE_EXPR.
9437 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
9438
58bf601b
HPN
94392002-01-22 Hans-Peter Nilsson <hp@axis.com>
9440
9441 * c-typeck.c (parser_build_binary_op): If result from
9442 build_binary_op is ERROR_MARK just return error_mark_node without
9443 further processing.
9444
f982f805
JT
94452002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
9446
9447 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
9448 Split a.out-specific bits into...
9449 * config/netbsd-aout.h: ...this.
9450 * config/netbsd-elf.h: New file.
9451 * config/alpha/netbsd-elf.h: Remove.
9452 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
9453 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 9454 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
9455 (ENDFILE_SPEC): Likewise.
9456 (LINK_SPEC): Likewise.
9457 (CPP_SPEC): Likewise.
9458 (ASM_SPEC): Likewise.
9459 (LIB_SPEC): Likewise.
9460 (SWITCH_TAKES_ARG): Likewise.
9461 (TARGET_MEM_FUNCTIONS): Likewise.
9462 (CPP_PREDEFINES): Redefine.
9463 (ASM_FINAL_SPEC): Remove redefinition.
9464 (ASM_COMMENT_START): Redefine.
9465 (FUNCTION_PROFILER): Define.
9466 (TARGET_VERSION): Redefine.
9467 Comment and formatting cleanup.
9468 * config/i386/netbsd.h: Include <netbsd-aout.h>.
9469 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
9470 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
9471 big- or little-endian.
9472 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
9473 * config.gcc (*-*-netbsd*): Add definitions common to all
9474 NetBSD configs.
9475 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
9476 gnu_ld definitions. Add netbsd-elf.h to and remove
9477 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
9478 tmake_file, and don't lose previous tmake_file contents.
9479 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
9480 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
9481 gnu_ld definitions. Add netbsd-elf.h to tm_file.
9482 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
9483 (mipsel-*-netbsd*): Rename this to...
9484 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
9485 mips/little.h to tm_file for mips*el-*.
9486 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
9487 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
9488 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
9489
2e396476
JDA
94902002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
9491
9492 * pa-protos.h (reg_before_reload_operand): New function prototype.
9493 * pa.c (reg_before_reload_operand): New function implementation.
9494 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
9495 contraints to "*m".
9496
3b5708e7
FS
94972002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9498
9499 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
9500
85e79f96
JDA
95012002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
9502
9503 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
9504 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
9505 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
9506 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
9507 (ENDFILE_SPEC): Undefine.
9508 (STARTFILE_SPEC): Redefine for PA.
9509
38abadee
FS
95102002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9511
9512 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
9513
94f1d97c
DJ
95142002-01-21 Daniel Jacobowitz <drow@mvista.com>
9515
9516 * config.gcc: Add entries to supported PowerPC --with-cpu
9517 types.
9518
0333394e
JJ
95192002-01-21 Jakub Jelinek <jakub@redhat.com>
9520
9521 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
9522 true for 64-bit mode only SSE registers in 32-bit mode.
9523
e9d1b155
KH
95242002-01-21 Kazu Hirata <kazu@hxi.com>
9525
9526 * unwind-dw2.c: Fix formatting.
9527 * unwind-dw2-fde.c: Likewise.
9528 * unwind-dw2-fde.h: Likewise.
9529 * unwind-pe.h: Likewise.
9530 * varasm.c: Likewise.
9531 * varray.h: Likewise.
9532
07338cf8
HPN
95332002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
9534
9535 Remove workaround for register stack overwrite bug in mmix.
9536 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
9537 support for TARGET_REG_STACK_FILL_BUG.
9538 * config/mmix/mmix.h: Remove member has_call_without_parameters.
9539 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
9540 Delete.
9541 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
9542 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
9543 -mno-reg-stack-fill-bug-workaround.
9544 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
9545 machine member has_call_without_parameters.
9546 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
9547 -mreg-stack-fill-bug-workaround and
9548 -mno-reg-stack-fill-bug-workaround.
9549 (MMIX Options): Ditto.
9550
7192cbf1
KH
95512002-01-21 Kazu Hirata <kazu@hxi.com>
9552
9553 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
9554 as appropriate.
9555 Remove redundant code.
9556
d1552d7b
JM
95572002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
9558
9559 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
9560 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9561 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
9562 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
9563 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
9564 out target macro definitions and non-target-specific comments
9565 mostly taken from old versions of the manual.
9566
ed168e45
KH
95672002-01-20 Kazu Hirata <kazu@hxi.com>
9568
9569 * config/h8300/h8300.h: Fix comment formatting.
9570 * config/ia64/aix.h: Likewise.
9571 * config/ia64/ia64-protos.h: Likewise.
9572 * config/ia64/ia64.c: Likewise.
9573 * config/ia64/ia64.h: Likewise.
9574 * config/ia64/ia64intrin.h: Likewise.
9575 * config/ia64/linux.h: Likewise.
9576 * config/ia64/unwind-aix.c: Likewise.
9577 * config/ia64/unwind-ia64.c: Likewise.
9578
005e3e05
KH
95792002-01-20 Kazu Hirata <kazu@hxi.com>
9580
9581 * config/h8300/h8300.c: Revise comments about shift code.
9582
64bead4c
KH
95832002-01-20 Kazu Hirata <kazu@hxi.com>
9584
9585 * config/h8300/h8300.c (function_arg): Update a comment.
9586
ed863595
KH
95872002-01-20 Kazu Hirata <kazu@hxi.com>
9588
9589 * config/h8300/h8300.md: Update the comments at the beginning
9590 of the file.
9591
5904dc87
KH
95922002-01-20 Kazu Hirata <kazu@hxi.com>
9593
9594 * config/i370/i370.c: Fix comment formatting.
9595 * config/i370/i370.h: Likewise.
9596 * config/i370/i370.md: Likewise.
9597 * config/i370/linux.h: Likewise.
9598
9702143f
RK
9599Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9600
cbafacd1
RK
9601 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
9602
9702143f
RK
9603 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
9604 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
9605 in incomplete case.
9606
6b6996b8
GS
96072002-01-20 Graham Stott <grahams@redhat.com>
9608
9609 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
9610
eab854f6
JDA
96112002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
9612
9613 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
9614
5b029315
TR
96152002-01-19 Tom Rix <trix@redhat.com>
9616
9617 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
9618
1d690052
AH
96192002-01-18 Aldy Hernandez <aldyh@redhat.com>
9620
d8086cbb 9621 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 9622
d8086cbb
RS
9623 * function.c (assign_stack_local_1): Adjust x_frame_offset with
9624 STARTING_FRAME_PHASE.
9625 (STARTING_FRAME_PHASE): New.
9626 (instantiate_virtual_regs): Check saneness of
9627 STARTING_FRAME_PHASE.
1d690052 9628
d8086cbb 9629 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 9630
4dd8c093
AO
96312002-01-19 Alexandre Oliva <aoliva@redhat.com>
9632
9633 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
9634
6f2a28d7
CR
96352002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
9636
9637 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
9638 be used for bootstrapping GCC 3.0.
9639
8763a465
KH
96402002-01-18 Kazu Hirata <kazu@hxi.com>
9641
9642 * config/h8300/h8300.md: Fix an insn length.
9643
3ef42a0c
KH
96442002-01-18 Kazu Hirata <kazu@hxi.com>
9645
9646 * bitmap.h: Fix comment formatting.
9647 * combine.c: Likewise.
9648 * cppfiles.c: Likewise.
9649 * c-pragma.h: Likewise.
9650 * c-typeck.c: Likewise.
9651 * df.c: Likewise.
9652 * dwarf2out.c: Likewise.
9653 * function.c: Likewise.
9654 * gcc.c: Likewise.
9655 * genattrtab.c: Likewise.
9656 * gthr-win32.h: Likewise.
9657 * haifa-sched.c: Likewise.
9658 * predict.c: Likewise.
9659 * rtlanal.c: Likewise.
9660 * rtl.h: Likewise.
9661 * unwind-dw2-fde.h: Likewise.
9662 * unwind-pe.h: Likewise.
9663 * vmsdbgout.c: Likewise.
9664
dd4dc3cd
RK
9665Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9666
9667 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
9668 if type_required and passed decl.
9669
5fb4cf24
AH
96702002-01-17 Aldy Hernandez <aldyh@redhat.com>
9671
d8086cbb
RS
9672 * config.gcc (cpu_type): Include altivec.h in powerpc
9673 extra_headers.
9674 Same for darwin.
5fb4cf24 9675
d8086cbb 9676 * config/rs6000/altivec.h: New.
5fb4cf24 9677
2705baf5
DE
96782002-01-17 David Edelsohn <edelsohn@gnu.org>
9679
9680 * doc/install.texi (*-ibm-aix*): Update assembler and exception
9681 handling information.
9682 * doc/trouble.texi (Interoperation): Add libstdc++ information
9683 for AIX.
9684 (Misunderstandings): Add template instantiation and static template
9685 member information for AIX.
9686
dbd680e1
JM
96872002-01-17 Jason Merrill <jason@redhat.com>
9688
821adc5e
JM
9689 * dbxout.c (dbxout_type): Support const and volatile.
9690
dbd680e1
JM
9691 * except.c (add_partial_entry): Remove backwards compatibility code.
9692 (end_protect_partials): Likewise.
9693
d0e82870
JJ
96942002-01-17 Jakub Jelinek <jakub@redhat.com>
9695
9696 * config/ia64/ia64.md (prologue_use): New.
9697 * config/ia64/ia64.c (ia64_expand_prologue): Use
9698 gen_prologue_use instead of gen_rtx_USE.
9699 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
9700 as CODE_FOR_pred_rel_mutex.
9701 (ia64_sched_reorder2): Likewise.
9702
f9f45c65
EC
97032002-01-16 Eric Christopher <echristo@redhat.com>
9704
9705 * config/mips/r3900.h: Reformat.
9706 (SUBTARGET_CPP_SIZE_SPEC): Remove.
9707 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
9708 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
9709 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
9710 * config/mips/t-elf: Remove mips3 multilib.
9711
c66c8b0e
L
97122002-01-16 H.J. Lu <hjl@gnu.org>
9713
9714 * config/mips/linux.h: Include "mips/abi64.h".
9715
5f083b72
L
97162002-01-16 H.J. Lu <hjl@gnu.org>
9717
9718 * config/mips/t-linux: New.
9719
9720 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
9721
9722 * config/mips/linux.h: Don't include "gofast.h".
9723 (INIT_SUBTARGET_OPTABS): Removed.
9724
af3c90a6
KH
97252002-01-16 Kazu Hirata <kazu@hxi.com>
9726
9727 * config/h8300/h8300-protos.h: Replace emit_a_shift with
9728 output_a_shift.
9729 * config/h8300/h8300.c: Likewise.
9730 * config/h8300/h8300.md: Likewise.
9731
a1bf0a16
KH
97322002-01-16 Kazu Hirata <kazu@hxi.com>
9733
9734 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
9735 spaces after an opcode name.
9736 (pushqi1_h8300hs): Likewise.
9737 (pushhi1_h8300hs): Likewise.
9738
88ab0d1c
KH
97392002-01-16 Kazu Hirata <kazu@hxi.com>
9740
9741 * doc/extend.texi: Replace "option" with "attribute"
9742 appropriately.
9743
51c561e3
JJ
97442002-01-16 Jakub Jelinek <jakub@redhat.com>
9745
9746 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
9747 (and:DI () (const_int -8)).
9748 (split_small_symbolic_mem_operand): Split
9749 (mem (and:DI () (const_int -8)).
9750
b8c1a6b8
JJ
97512002-01-16 Jakub Jelinek <jakub@redhat.com>
9752
9753 PR target/5309:
d8086cbb 9754 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
9755 same way as TYPE_IMUL.
9756 (ultrasparc_sched_reorder): Likewise.
9757 * config/sparc/sparc.md (type): Add comment to update
9758 ultrasparc_sched_reorder when making changes.
9759
1e4e4df2
KH
97602002-01-16 Kazu Hirata <kazu@hxi.com>
9761
9762 * doc/invoke.texi: Change the dump file name of block
9763 reordering pass from 28.bbro to 29.bbro.
9764 Mention -dk option.
9765
14d920c0
JH
9766Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
9767
9768 * i386.md (minsf splitter): Fix pasto.
9769
2e99323f
NC
97702002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
9771
9772 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
9773 to frame pointer initialisation instruction.
9774 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
9775 initialisation instruction.
ab8081c1
NC
9776 (soft_df_operand): Do not accept the IP register.
9777 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 9778
c4031a04
JJ
97792002-01-16 Jakub Jelinek <jakub@redhat.com>
9780
9781 PR target/5357:
9782 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
9783 MASK_V8 being both set.
9784
44b8152b
UW
97852002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
9786
9787 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
9788 insn for GOT register; add REG_MAYBE_DEAD notes instead.
9789 config/s390/s390.md (call, call_value): Add GOT register to
9790 CALL_INSN_FUNCTION_USAGE where needed.
9791 (call_exp, call_value_exp): New.
9792
1d6e90ac
NC
97932002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
9794
9795 * config/arm/arm.c: General formatting tidy up.
9796
97972002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
9798
9799 * calls.c (try_to_integrate): Use "(size_t)" intermediate
9800 cast and when casting an integer literal to "rtx" pointer.
9801 (expand_call): Likewise.
9802 * flow.c (try_pre_increment): Likewise.
9803 (find_use_as_address): Likewise.
9804 * integrate.c (expand_iline_function): Likewise.
9805 * regmove.c (try_auto_increment): Likewise.
9806
1d6e90ac 98072002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
9808
9809 * sched-rgn.c (passed): Use sbitmap_free.
9810 (header): Likewise.
9811 (inner): Likewise.
9812 (in_queue): Likewise.
9813 (in_stack): Likewise.
9814
31fce3c4
EC
98152002-01-15 Eric Christopher <echristo@redhat.com>
9816
9817 * flow.c (propagate_one_insn): Change to use fatal_insn.
9818
c99d986a
KH
98192002-01-15 Kazu Hirata <kazu@hxi.com>
9820
9821 * expmed.c (extract_fixed_bit_field): Remove unused code.
9822 * system.h: Poison SLOW_ZERO_EXTEND.
9823 * doc/tm.texi: Remove.
9824 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
9825 * config/arm/arm.h: Likewise.
9826 * config/avr/avr.h: Likewise.
9827 * config/clipper/clipper.h: Likewise.
9828 * config/convex/convex.h: Likewise.
9829 * config/d30v/d30v.h: Likewise.
9830 * config/dsp16xx/dsp16xx.h: Likewise.
9831 * config/elxsi/elxsi.h: Likewise.
9832 * config/fr30/fr30.h: Likewise.
9833 * config/h8300/h8300.h: Likewise.
9834 * config/i370/i370.h: Likewise.
9835 * config/i386/i386.h: Likewise.
9836 * config/m68k/m68k.h: Likewise.
9837 * config/mips/mips.h: Likewise.
9838 * config/ns32k/ns32k.h: Likewise.
9839 * config/pdp11/pdp11.h: Likewise.
9840 * config/pj/pj.h: Likewise.
9841 * config/s390/s390.h: Likewise.
9842 * config/sh/sh.h: Likewise.
9843 * config/stormy16/stormy16.h: Likewise.
9844 * config/v850/v850.h: Likewise.
9845 * config/vax/vax.h: Likewise.
9846 * config/we32k/we32k.h: Likewise.
9847
acfab996
AH
98482002-01-15 Aldy Hernandez <aldyh@redhat.com>
9849
d8086cbb
RS
9850 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
9851 (altivec_lvsl): Change constraint to b.
9852 (altivec_lvsr): Same.
9853 (altivec_lvebx): Same.
9854 (altivec_lvehx): Same.
9855 (altivec_lvewx): Same.
9856 (altivec_lvxl): Same.
9857 (altivec_lvx): Same.
9858 (altivec_stvx): Add parallel.
9859 (altivec_stvxl): Same.
9860 (altivec_stvehx): Same.
9861 (altivec_stvebx): Same.
9862 (altivec_stvebx): Same.
acfab996 9863
5e505bc9
AH
98642002-01-15 Aldy Hernandez <aldyh@redhat.com>
9865
d8086cbb 9866 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 9867
d8086cbb 9868 * config/rs6000/altivec.h: Delete.
5e505bc9 9869
d8086cbb 9870 * config/rs6000/altivec-defs.h: Add.
5e505bc9 9871
5c41fdfb
JDA
98722002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
9873
9874 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
9875 and UMOD modes.
9876
9877 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
9878 less than or equal to eight bytes.
9879
9880 * vax.md (andsi3): Remove constraints and change SET destination
9881 operand type to nonimmediate_operand.
9882 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
9883 when it is a CONST_INT.
9884
de097a2d
JM
98852002-01-15 Jason Merrill <jason@redhat.com>
9886
9887 * c-common.def (FILE_STMT): New code.
9888 * c-common.c (statement_code_p): It's a statement.
9889 * c-common.h (stmt_tree_s): Add x_last_filename.
9890 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
9891 (last_expr_filename): New macro.
9892 * c-semantics.c (begin_stmt_tree): Initialize it.
9893 (add_stmt): If the filename changed, also insert a
9894 FILE_STMT.
9895 (expand_stmt): Handle seeing one.
9896
4a913dd6
EC
98972002-01-15 Eric Christopher <echristo@redhat.com>
9898
9899 * flow.c (propagate_one_insn): Add error message and print out
9900 insn for debugging.
9901
006946e4
JM
99022002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
9903
9904 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
9905 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
9906 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
9907 TRAMPOLINE_ALIGNMENT.
9908 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
9909 to be in bits.
9910 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
9911 PCC_BITFIELD_TYPE_MATTERS.
9912 * config/interix.h (STDC_VALUE): Remove. Use
9913 STDC_0_IN_SYSTEM_HEADERS.
9914 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
9915 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
9916 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
9917
751a1458
CR
99182002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
9919
9920 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
9921 not work on this platform currently.
9922
57771fe8
JM
99232002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
9924
9925 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
9926 readonly_warning in _().
9927
0e83ceb1 99282002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 9929
0e83ceb1 9930 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 9931
8e2e89f7
KH
99322002-01-15 Kazu Hirata <kazu@hxi.com>
9933
0e83ceb1
DR
9934 * config/h8300/h8300.c (print_operand): Remove support for
9935 unused operand characters.
9936
8e2e89f7
KH
9937 * read-rtl.c: Fix formatting.
9938 * real.c: Likewise.
9939 * recog.c: Likewise.
9940 * regclass.c: Likewise.
9941 * regmove.c: Likewise.
9942 * reg-stack.c: Likewise.
9943 * reload1.c: Likewise.
9944 * rtlanal.c: Likewise.
9945
b531087a
KH
99462002-01-15 Kazu Hirata <kazu@hxi.com>
9947
9948 * config/i386/i386.c: Fix formatting.
9949
7c94ce7f
JJ
99502002-01-15 Jakub Jelinek <jakub@redhat.com>
9951
9952 * c-typeck.c (process_init_element): Don't save_expr
9953 COMPOUND_LITERAL_EXPR if just its initializer will be used.
9954
6041bf2f
DE
99552002-01-15 David Edelsohn <edelsohn@gnu.org>
9956
9957 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
9958 emit optional traceback table if optimize_size or TARGET_ELF.
9959 * config/rs6000/rs6000.md (prefetch): New.
9960
8559c8c0
AJ
99612002-01-15 Andreas Jaeger <aj@suse.de>
9962
9963 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
9964
70f122f2
KH
99652002-01-15 Kazu Hirata <kazu@hxi.com>
9966
9967 * mips-tfile.c: Fix formatting.
9968
6a7b4ca6
JH
9969Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
9970
9971 * unroll.c (final_reg_note_copy): Fix previous commit.
9972
e7afe229
KH
99732002-01-14 Kazu Hirata <kazu@hxi.com>
9974
9975 * config/h8300/h8300-protos.h: Remove the prototype for
9976 eq_operator.
9977 * config/h8300/h8300.c (eq_operator): Remove.
9978
7d378549
RH
99792002-01-14 Richard Henderson <rth@redhat.com>
9980
9981 * config/i386/i386.md (prefetch): Tidy.
9982 (prefetch_3dnow): Fix locality operand.
9983
ab093b81
RH
99842002-01-14 Richard Henderson <rth@redhat.com>
9985
9986 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
9987 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
9988
d300f51f
HPN
99892002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
9990
9991 * reload1.c (reload_combine): Pass reg_sum replacement through
9992 copy_rtx in loop performing multiple changes.
9993
655dd289
JJ
99942002-01-14 Jakub Jelinek <jakub@redhat.com>
9995
9996 * except.c (remove_unreachable_regions): New.
9997 (free_eh_status): Clear exception_handler_labels.
9998 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
9999 (find_exception_handler_labels): Don't add the same label more than
10000 once.
10001 (remove_exception_handler_label): Don't die if
10002 find_exception_handler_labels hasn't been called for the current
10003 function yet.
10004
1fba46a7
JH
10005Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
10006
10007 * toplev.c (rest_of_compilation): Rebuild jump labels after
10008 gcse.
10009
0975678f
JM
100102002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
10011
10012 * doc/extend.texi: Move documentation of X86 built-in functions
10013 here.
10014 * doc/invoke.texi: From here.
10015 * doc/sourcebuild.texi: Document location of documentation for
10016 machine built-in functions.
10017
969815c7
CF
100182002-01-13 Christopher Faylor <cgf@redhat.com>
10019
10020 * cppfiles.c (TEST_THRESHOLD): New macro.
10021 (SHOULD_MMAP): Ditto.
10022 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
10023 be used.
10024
494c950b
JH
10025Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
10026
10027 * unroll.c (final_reg_note_copy): Properly handle
10028 REG_LABEL
10029 (unroll_loops): Fix LOOP_CONDITION heuristics.
10030
69a0611f
GK
100312002-01-14 Geoffrey Keating <geoffk@redhat.com>
10032
10033 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
10034 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
10035
b90e45ae
JH
10036Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
10037
10038 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
10039 threaded loop.
10040
8377288b
TR
100412002-01-14 Tom Rix <trix@redhat.com>
10042
10043 * config/rs6000/rs6000.md: Fix typo with sradi.
10044
9f37ccb1
UW
100452002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
10046
10047 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
10048 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
10049 (clrstrdi, clrstrsi): Adapt callers.
10050
10051 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
10052
8559c8c0 10053 (movti splitter): Never use register 0 as base register.
9f37ccb1 10054
6c2d03d0
HP
100552002-01-14 Hartmut Penner <hpenner@de.ibm.com>
10056
8559c8c0
AJ
10057 * combine.c (simplify_shift_const): Always generate new rtx
10058 for shift expression instead of reusing given expression.
6c2d03d0 10059
d3e98208
RK
10060Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10061
10062 * config/alpha/alpha.c (alpha_expand_mov): Don't call
10063 alpha_legitimize_address unless mode is Pmode.
10064
9f339dde
GK
100652002-01-13 Geoffrey Keating <geoffk@redhat.com>
10066
10067 * doc/md.texi (Modifiers): Document the '*' constraint for the
10068 user.
10069
10070 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
10071 * doc/extend.texi (Function Attributes): 'interrupt' is valid
10072 for xstormy16 too.
10073
02a10130
RH
100742002-01-13 Richard Henderson <rth@redhat.com>
10075
10076 * reload.c (find_reloads): Use a hard reg destination as reload reg
10077 for an input reload of the source.
10078
61d47787
GP
100792002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10080
10081 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
10082 more generic.
10083
f0df8029
DR
10084Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
10085
10086 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
10087 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
10088
d2a37256
DR
10089 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
10090
a9e8a5ee
RK
10091Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10092
10093 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
10094
bc06712d
TR
100952002-01-12 Tom Rix <trix@redhat.com>
10096
8559c8c0 10097 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
10098 TARGET_POWERPC64.
10099
7cbe9bb7
RH
101002002-01-12 Richard Henderson <rth@redhat.com>
10101
38b29e64
RH
10102 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
10103
58605ba0
RH
10104 * doc/invoke.texi: Update Alpha options.
10105
7cbe9bb7
RH
10106 * doc/invoke.texi: Update i386 built-in function lists.
10107
9d560860
JH
10108Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
10109
10110 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
10111 referencing outside.
10112
bb93b973
RK
10113Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10114
10115 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
10116 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
10117 offsets, and change line folding.
10118 * optabs.c (expand_binop): Remove warnings.
10119 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 10120
f9f6b7df
GS
101212002-01-12 Graham Stott <grahams@redhat.com>
10122
10123 * attribs.c (handle_deprecated_attribute): constify WHAT.
10124 * diagnostic.c (warn_deprecated_use): Add braces, fixes
10125 dangling else warning and constify WHAT.
10126 * except.h (struct function, struct inline_remap): Move
10127 struct tag forward defs before all prototypes.
10128 (duplicate_eh_regions): Whitespace.
10129
4a692617
NC
101302002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
10131
10132 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
10133 MODE_BASE_REG_CLASS.
10134 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
10135
e37af218
RH
101362002-01-12 Richard Henderson <rth@redhat.com>
10137
10138 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
10139 (ix86_expand_vector_move): New.
10140 (bdesc_2arg): Remove andps, andnps, orps, xorps.
10141 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
10142 Remove old prefetch builtins. Special case the logicals removed above.
10143 (ix86_expand_builtin): Likewise.
10144 (safe_vector_operand): Use V4SFmode, not TImode.
10145 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
10146 (ix86_expand_timode_binop_builtin): New.
10147 * config/i386/i386-protos.h: Update.
10148 * config/i386/i386.h (enum ix86_builtins): Update.
10149 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
10150 Use ix86_expand_vector_move in vector move expanders.
10151 (movti_internal, movti_rex64): Add xorps alternative.
10152 (sse_clrv4sf): Rename and adjust from sse_clrti.
10153 (prefetch): Don't work so hard.
10154 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
10155 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
10156 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
10157
6f1a6c5b
RH
101582002-01-11 Richard Henderson <rth@redhat.com>
10159
10160 * config/i386/mmintrin.h: New file.
10161 * config/i386/xmmintrin.h: New file.
10162 * config.gcc (i?86-*-*): Add extra_headers.
10163 * simplify-rtx.c (simplify_unary_operation): Handle saturating
10164 truncation codes.
10165 (simplify_binary_operation): Handle saturating arithmetic codes.
10166 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
10167 not the lowpart subreg.
10168 (ix86_expand_builtin): Return a TImode dummy register instead of 0
10169 on error.
10170 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
10171
cdb574d3
MH
101722002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10173
10174 * conflict.c (conflict_graph_compute): Free regsets when finished.
10175 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 10176
cf11ac55
HB
101772002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10178
10179 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
10180 every where we allocate a register.
10181
76ac938b
MH
101822002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10183
10184 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
10185 * lcm.c (compute_earliest, compute_farthest): Likewise.
10186
a84b4898
JJ
101872002-01-11 Janis Johnson <janis187@us.ibm.com>
10188
10189 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
10190
aaef1c12
JJ
101912002-01-11 Janis Johnson <janis187@us.ibm.com>
10192
10193 * doc/rtl.texi (Insns): Fix 2 typos.
10194
5d22c1a5
JM
101952002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
10196
10197 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
10198 options. Use @table @gcctabopt for MMIX options. Add index
10199 entries for MMIX options. Start new paragraph with first
10200 heading of the machine-dependent options.
10201
3e92902c
CR
102022002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
10203
10204 PR other/5299
10205 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
10206 * combine.c (force_to_mode): Same.
10207 * reload1.c (clear_reload_reg_in_use): Same.
10208
96ae8197
NC
102092002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
10210
10211 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
10212 and 'subtargets'.
10213
9b780582
AJ
102142002-01-11 Andreas Jaeger <aj@suse.de>,
10215 Brad Lucier <lucier@math.purdue.edu>
10216
10217 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
10218 mcpu.
10219
12300dad
DR
10220Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
10221
10222 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
10223 Protect with IN_LIBGCC.
10224 (LINK_EH_SPEC): Add required trailing space.
10225
27511a9a
NP
10226Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
10227
9b780582 10228 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
10229 under the filename which contains them.
10230 (check_identifier, finish_decl_top_level,
10231 lookup_name_current_level_global, shadow_record_fields): Remove.
10232
4daeab16
AJ
102332002-01-11 Andreas Jaeger <aj@suse.de>
10234
10235 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
10236 march.
10237
40571d67
RH
102382002-01-10 Richard Henderson <rth@redhat.com>
10239
10240 * config/alpha/alpha.c (print_operand): Add 'J'.
10241 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
10242 new operand with the sequence number for the lituse. When splitting
10243 the insns, use gen_movdi_er_high_g and generate a sequence number.
10244 (gen_movdi_er_high_g): Print the sequence number if non-zero.
10245
6525c0e7
AH
102462002-01-10 Aldy Hernandez <aldyh@redhat.com>
10247
d8086cbb
RS
10248 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
10249 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
10250 stvxl.
10251 (altivec_expand_builtin): Same.
10252 (altivec_expand_stv_builtin): New.
10253
10254 * config/rs6000/rs6000.h (rs6000_builtins): Same.
10255
10256 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
10257 ("altivec_lvehx"): New.
10258 ("altivec_lvewx"): New.
10259 ("altivec_lvxl"): New.
10260 ("altivec_lvx"): New.
10261 ("altivec_stvx"): New.
10262 ("altivec_stvebx"): New.
10263 ("altivec_stvehx"): New.
10264 ("altivec_stvewx"): New.
10265 ("altivec_stvxl"): New.
6525c0e7 10266
cda94cbb
RH
102672002-01-10 Richard Henderson <rth@redhat.com>
10268
10269 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
10270 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
10271 care not to delete instructions twice.
10272
df2c9a44
ZW
102732002-01-10 Zack Weinberg <zack@codesourcery.com>
10274
10275 * toplev.c: Don't declare environ (it's not used anywhere).
10276 * configure.in: Don't check for declaration of environ.
10277 * config/i386/xm-mingw32.h: Don't #define environ.
10278 * config.in, configure: Regenerate.
10279
5dd8a9b1
ZW
102802002-01-10 Zack Weinberg <zack@codesourcery.com>
10281
10282 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
10283 * configure: Regenerate.
10284
10285 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
10286 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
10287 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
10288 alpha/xm-vms.h.
10289 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
10290 LIMITS_H_TEST here, not in m68k/x-next.
10291 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
10292 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
10293
10294 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
10295 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
10296 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
10297
10298 * config/i386/x-djgpp: Renamed i386/t-djgpp.
10299 * config/m88k/x-dolph: Renamed m88k/t-dolph.
10300 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
10301 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
10302 replacement of quadlib.asm with quadlib.c.
10303
10304 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
10305 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
10306 config/rs6000/xm-beos.h: Delete file.
10307
10308 * config.gcc: Update to match above changes.
10309
d10dd44c
KH
103102002-01-10 Kazu Hirata <kazu@hxi.com>
10311
10312 * config/h8300/h8300.h: Fix comment typos.
10313 * config/h8300/h8300.md: Likewise.
10314 * config/h8300/lib1funcs.asm: Likewise.
10315
04894c5a
DJ
103162002-01-10 Dale Johannesen <dalej@apple.com>
10317
10318 PR optimization/5269
10319 * unroll.c (precondition_loop_p): Make *increment be the correct
10320 sign when n_iterations known, to avoid confusing caller.
10321
adc9fe67
KH
103222002-01-10 Kazu Hirata <kazu@hxi.com>
10323
10324 * doc/extend.texi (deprecated): Fix a typo.
10325
b446e5a2
JH
10326Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
10327
10328 * basic-block.h (update_br_prob_note): Declare.
10329 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
10330 (try_forward_edges): Care negative frequencies and update note.
10331 (outgoing_edges_match): Tweek conditional merging heuristics.
10332 (try_crossjump_to_edge): use update_br_prob_note.
10333 * cfglayout.c (fixup_reorder_chain): Likewise.
10334 * cfrtl.c (update_br_prob_note): New.
10335 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
10336
10337 * i386.c (ix86_decompose_address): Return -1 if address contains
10338 shift.
10339 (legitimate_address_p): Require ix86_decompose_address to return 1.
10340
10341 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
10342 (cprop_insn): Likewise.
10343
a01da83b
KH
103442002-01-10 Kazu Hirata <kazu@hxi.com>
10345
10346 * toplev.c: Fix formatting.
10347 * tree.c: Likewise.
10348 * tree-dump.c: Likewise.
10349 * unroll.c: Likewise.
10350 * unwind-dw2.c: Likewise.
10351 * unwind-dw2-fde.c: Likewise.
10352 * unwind-dw2-fde-glibc.c: Likewise.
10353 * unwind-sjlj.c: Likewise.
10354
9f85bca7
JM
103552002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
10356
10357 * doc/invoke.texi: Document PDP-11 options.
10358
f48f56b1
KH
103592002-01-10 Kazu Hirata <kazu@hxi.com>
10360
10361 * config/h8300/h8300.h: Fix formatting.
10362
ead39bdf 103632002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
10364
10365 Add __attribute__ ((deprecated)).
10366 * extend.texi: Document __attribute__ ((deprecated)).
10367 * invoke.texi: Document -Wno-deprecated-declarations.
10368 * testsuite/g++.dg/other/deprecated.C: New C++ test.
10369 * testsuite/gcc.dg/deprecated.c: New C test.
10370 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
10371 (c_common_attribute_table): Add "deprecated" entry.
10372 (handle_deprecated_attribute): New function.
10373 * c-decl.c (deprecated_states): New enum.
10374 deprecated_state: State of "deprecated" handling.
10375 (start_decl): Set deprecated_state based on attributes.
10376 (grokdeclarator): Test for deprecated uses, propagate attribute.
10377 * c-typeck.c (build_component_ref): Test for deprecated fields.
10378 (build_external_ref): Test for deprecated primaries.
10379 * diagnostic.c (warn_deprecated_use) New function to issue
10380 warnings about __attribute__ ((depricated)) references.
10381 * flags.h (warn_deprecated_decl): Extern declared for
10382 -W[no-]deprecated-declarations option.
10383 * print-tree.c (print_node): Show deprecated flag status.
10384 * toplev.c (warn_deprecated_decl): Defined.
10385 (W_options): Added "deprecated-declaration".
10386 * toplev.h (warn_deprecated_use): Extern declared.
10387 * tree.h (struct tree_common): Define deprecated_flag.
10388 (TREE_DEPRECATED): New macro to access flag.
10389 * cp/call.c (build_call): Test for deprecated calls.
10390 * cp/class.c (add_implicitly_declared_members): Set global
10391 flag to tell grokdeclarator to not issue deprecated warnings.
10392 * cp/cp-tree.h: Add extern for adding_implicit_members.
10393 * cp/decl.c (deprecated_states): New enum.
10394 (start_decl): Set deprecated_state based on attributes.
10395 (grokdeclarator): Test for deprecated uses, propagate attribute.
10396 * cp/lex.c (do_identifier): Test for deprecated primaries.
10397 * cp/typeck.c (build_component_ref): Test for deprecated fields.
10398
ead39bdf 103992002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
10400
10401 Fix to assign attributes to inline member functions.
10402 * cp/decl.c (start_method): Handle attrlist.
10403
47073a38
KH
104042002-01-10 Kazu Hirata <kazu@hxi.com>
10405
10406 * combine.c (expand_field_assignment): Use subreg_lsb().
10407
d288e53d
DE
104082002-01-10 David Edelsohn <edelsohn@gnu.org>
10409
10410 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
10411 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
10412 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
10413 Recurse for any operand of AND as long as constant is non-zero.
10414
08a02ffa
KH
104152002-01-10 Kazu Hirata <kazu@hxi.com>
10416
10417 * config/h8300/h8300.md: Remove constraints from expanders.
10418
c203e7fe
KH
104192002-01-10 Kazu Hirata <kazu@hxi.com>
10420
10421 * varasm.c: Fix formatting.
10422 * varray.c: Likewise.
10423 * vmsdbgout.c: Likewise.
10424 * xcoffout.c: Likewise.
10425
bcb3bc6d
JH
10426Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
10427
10428 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 10429 update edge probabilities to match.
bcb3bc6d 10430
0a553c7e
JM
104312002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
10432
10433 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
10434 dependencies.
10435 * doc/languages.texi, doc/sourcebuild.texi: New files.
10436 * doc/configfiles.texi: Make a subsubsection. Update.
10437 * doc/configterms.texi: Add @node. Remove warning that this isn't
10438 instructions for building GCC.
10439 * doc/makefile.texi: Make a subsection.
10440 * doc/gccint.texi: Update.
10441
adc7fcb8
JH
10442Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
10443
10444 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
10445
5a4dd0b3
NP
10446Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
10447
10448 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
10449
3987b9db
JH
10450Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
10451
10452 * optabs.c (expand_fix): Look for wider integer modes first.
10453
10454 * i386.md (mov?f): Avoid the fake const double trick for medium
10455 memory model.
10456 (min?f*/max?f*): Prohibit memory operands for i387 variant.
10457 (fop_df_4): Disable for SSE compilation.
10458
ceb15948 104592002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
10460
10461 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 10462 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 10463
e1623399
RH
104642002-01-10 Richard Henderson <rth@redhat.com>
10465
10466 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
10467
c4abb293
RH
104682002-01-10 Richard Henderson <rth@redhat.com>
10469
10470 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
10471 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
10472
d2604ae9
KH
104732002-01-10 Kazu Hirata <kazu@hxi.com>
10474
10475 * combine.c (can_combine_p): Fix a comment typo.
10476
766c7ad1
ZW
104772002-01-09 Zack Weinberg <zack@codesourcery.com>
10478
10479 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
10480 empty list correctly. Change loop index $t to $f for
10481 consistency with rest of Makefile.
10482
95385cbb
AH
104832002-01-08 Aldy Hernandez <aldyh@redhat.com>
10484
10485 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
10486 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
10487
10488 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
10489 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
10490 (altivec_init_builtins): Same.
10491 (altivec_expand_unop_builtin): Return NULL_RTX on error.
10492 (altivec_expand_binop_builtin): Same.
10493 (altivec_expand_ternop_builtin): Same.
10494 (bdesc_dst): New.
10495
10496 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
10497 ("altivec_vctuxs"): Fix typo.
10498 ("altivec_vnmsubfp"): Same.
10499 ("altivec_dssall"): New.
10500 ("altivec_mfvscr"): New.
10501 ("altivec_dss"): New.
10502 ("altivec_lvsl"): New.
10503 ("altivec_lvsr"): New.
10504 ("altivec_dstt"): New.
10505 ("altivec_dstst"): New.
10506 ("altivec_dststt"): New.
10507 ("altivec_dst"): New.
10508
10509 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
10510 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
10511
e4ac76b4
RH
105122002-01-09 Richard Henderson <rth@redhat.com>
10513
10514 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
10515
c893e4a4
HPN
105162002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
10517
10518 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
10519 function.
10520 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
10521 prototype.
7387c700 10522 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 10523
f4f4d0f8
KH
105242002-01-09 Kazu Hirata <kazu@hxi.com>
10525
10526 * read-rtl.c: Fix formatting.
10527 * real.c: Likewise.
10528 * regclass.c: Likewise.
10529 * regrename.c: Likewise.
10530 * reg-stack.c: Likewise.
10531 * reload1.c: Likewise.
10532 * reload.c: Likewise.
10533 * rtl.c: Likewise.
10534
cc863bea
KH
105352002-01-09 Kazu Hirata <kazu@hxi.com>
10536
10537 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
10538 to extract items in the expr_list chain.
10539
7b4dfe3d
RH
105402002-01-09 Richard Henderson <rth@redhat.com>
10541
10542 * config/vax/vax.c (vax_rtx_cost): Never abort.
10543
1d969638
RH
10544 * config/vax/vax.h (REAL_ARITHMETIC): Define.
10545
7d5ab30e
JH
105462002-01-09 Jan Hubicka <jh@suse.cz>
10547
10548 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
10549
9503f3d1
RH
105502002-01-09 Richard Henderson <rth@redhat.com>
10551
10552 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
10553 Unify code from various alternatives.
10554
42bd17b7
RH
105552002-01-09 Richard Henderson <rth@redhat.com>
10556
10557 * regrename.c (copy_value): Ignore the copy if the source register
10558 is present in the value chain with a narrower mode.
10559
bdca3c33
HB
105602002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10561
cda94cbb
RH
10562 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
10563 for the c4x target. Also improve layout.
bdca3c33 10564
c73a5e94
RH
105652002-01-09 Richard Henderson <rth@redhat.com>
10566
10567 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
10568 * config/m32r/m32r.md (and ior xor splitters): Swap operands
10569 to match insn patterns.
10570
dd0a18c0
RH
105712002-01-09 Richard Henderson <rth@redhat.com>
10572
10573 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
10574 (copyprop_hardreg_forward_1): Likewise.
10575
1fd9ac1e
JDA
105762002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
10577
10578 * pa.md (decrement_and_branch_until_zero): Change predicate for
10579 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
10580
5cb265ec
BM
105812002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
10582
10583 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
10584 gets undefined. For Darwin.
10585
fcd8fa8b
HB
105862002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10587
10588 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
10589
bd3ab23a
MH
105902002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10591
10592 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
10593
21e16bd6
RH
105942002-01-08 Richard Henderson <rth@redhat.com>
10595
10596 * regrename.c (copy_value): Ignore overlapping copies.
10597
a5376276
RH
105982002-01-08 Richard Henderson <rth@redhat.com>
10599
10600 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
10601 as needed to avoid shared structure.
10602
18cf8dda
KH
106032002-01-08 Kazu Hirata <kazu@hxi.com>
10604
10605 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
10606 H8/300H and H8/S.
10607
16c484c7
JM
106082002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
10609
10610 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
10611 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
10612 documentation of obsolete macros.
10613 * system.h: Poison these macros.
10614 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
10615 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
10616 config/c4x/c4x.h, config/clipper/clipper.h,
10617 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
10618 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
10619 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
10620 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
10621 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
10622 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
10623 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
10624 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
10625 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
10626 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
10627 config/sparc/sparc.h, config/stormy16/stormy16.h,
10628 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
10629 definitions and commented out definitions of obsolete macros.
10630 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
10631 of MAX_INT_TYPE_SIZE.
10632
14b3e8ef
UW
106332002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
10634
10635 * config/s390/s390.c (s390_preferred_reload_class): Never
10636 return ADDR_REGS if it isn't a subset of the given class.
10637 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
10638 FP_REGS, but all superclasses as well.
10639
10640 * config/s390/s390.c (s390_function_profiler): Fix thinko.
10641
10642 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
10643 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
10644 must not be a const_int.
10645
a693284d
RH
106462002-01-08 Richard Henderson <rth@redhat.com>
10647
10648 * Makefile.in (toplev.o): Depend on options.h.
10649 (gcc.o): Depend on specs.h.
10650
b3ca30df
JJ
106512002-01-08 Jakub Jelinek <jakub@redhat.com>
10652
10653 * expr.c (store_expr): Convert VOIDmode constants back to target's
10654 mode.
10655
24dbb440
GP
106562002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10657
10658 * doc/invoke.texi: Markup gcc as @command. Refer to
10659 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
10660 of http://gcc.gnu.org/thanks.html.
10661
234e114c
DJ
106622002-01-08 Dale Johannesen <dalej@apple.com>
10663
10664 * config/rs6000/rs6000.md: Add missing int register
10665 target case to movdf_low.
10666
0d24f4d1
ZW
106672002-01-08 Zack Weinberg <zack@codesourcery.com>
10668
10669 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
10670 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
10671 (cppinit.o): Depend on except.h.
10672 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
10673 s-specs): New rules.
10674
10675 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
10676 Don't create specs.h/options.h/gencheck.h here. Remove
10677 unnecessary variable settings from last argument of AC_OUTPUT.
10678 * config.in, configure: Regenerate.
10679 * intl.c: Hardcode package name as "gcc".
10680
10681 * cppinit.c: Include except.h.
10682 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
10683 appropriate.
10684 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
10685 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
10686 (!)USING_SJLJ_EXCEPTIONS.
10687 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
10688
ed722f66
JM
106892002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
10690
10691 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
10692 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
10693 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
10694 documentation of obsolete macros.
10695 * system.h: Poison these macros.
10696 * config/d30v/d30v.h, config/ns32k/encore.h,
10697 config/stormy16/stormy16.h: Remove definitions and commented out
10698 definitions of obsolete macros.
10699
31e5e29a
NP
10700Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
10701
10702 * objc/objc-act.c (handle_class_ref): Mark the declaration of
10703 %sobjc_class_ref_%s as used - to prevent unwanted compiler
10704 warnings.
10705
bc1fa59c
UW
107062002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
10707
10708 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
10709 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
10710 to insn adjusting stack/frame pointer.
0d24f4d1 10711 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
10712 accept operands that cause the insn to be non-splittable.
10713
a8086abf
GS
107142002-01-08 Graham Stott <grahams@redhat.com>
10715
10716 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
10717 (C_TYPE_FIELDS_VOLATILE): Likewise.
10718 (C_TYPE_BEING_DEFINED): Likewise.
10719 (C_IS_RESERVED_WORD): Likewise.
10720 (C_TYPE_VARIABLE_SIZE): Likewise.
10721 (C_DECL_VARIABLE_SIZE): Likewise.
10722 (C_MISSING_PROTOTYPE_WARNED): Likewise.
10723 (C_SET_EXP_ORIGINAL_CODE): Likewise.
10724 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
10725 parenthesis.
10726 (C_DECL_ANTICIPATED): Likewise.
10727 (c_build_type_variant): Add parenthesis.
10728
3f595aa1
JM
107292002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
10730
10731 * gcc.c (option_map): Remove --version.
10732 (process_command): Handle -fversion following the GNU Coding
10733 Standards. Partially addresses PR other/704.
10734
5bc5a8f9
GS
107352002-01-08 Graham Stott <grahams@redhat.com>
10736
10737 * combine.c (combine_instructions): Fix typo.
10738
16ec4ebf
GS
107392002-01-08 Graham Stott <grahams@redhat.com>
10740
10741 * debug.h: Use "tree" and "rtx" throughout.
10742
10743 * debug.c: Likewise.
10744
4b69f385
NC
107452002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
10746
10747 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
10748 constant pool, use the pool's version of the symbol instead.
10749
57d1019b
RH
107502002-01-07 Richard Henderson <rth@redhat.com>
10751
10752 * regrename.c (find_oldest_value_reg): Ignore the value chain if
10753 the original register was copied in a mode with a fewer number of
10754 hard registers than the desired mode.
10755 (copyprop_hardreg_forward_1): Likewise.
10756 (debug_value_data): Fix loop test.
10757 * toplev.c (parse_options_and_default_flags): Reenable
10758 -fcprop-registers at -O1.
10759
107602002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 10761
0d24f4d1
ZW
10762 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
10763 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 10764
0d24f4d1
ZW
10765 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
10766 predicates.
fa066a23 10767
0d24f4d1 10768 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 10769
8f949e7e
JDA
107702002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
10771
10772 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
10773 (pa_output_function_prologue): Output local label at the beginning of
10774 the prologue when profiling.
10775 (hppa_profile_hook): Use the local label rather than the function label.
10776 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
10777
c62f2db5
AH
107782002-01-07 Aldy Hernandez <aldyh@redhat.com>
10779
0d24f4d1
ZW
10780 * config/rs6000/rs6000.c (print_operand): Remove extra space.
10781 (altivec_expand_unop_builtin): Fix thinko.
10782 (altivec_expand_binop_builtin): Same.
10783 (altivec_expand_ternop_builtin): Same.
10784 (altivec_expand_builtin): Same.
c62f2db5 10785
b5235ba7
RH
107862002-01-07 Richard Henderson <rth@redhat.com>
10787
10788 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
10789
7d8ac293
JM
107902002-01-07 Jason Merrill <jason@redhat.com>
10791
10792 * unwind-dw2.c (execute_cfa_program): Use < again.
10793
571a03b8
JJ
107942002-01-07 Jakub Jelinek <jakub@redhat.com>
10795
10796 * predict.c (combine_predictions_for_insn): Avoid division by zero.
10797
2e951384
JJ
107982002-01-07 Jakub Jelinek <jakub@redhat.com>
10799
10800 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
10801 Don't allow -1 - x -> ~x simplifications in the first pass.
10802
20e26713
AH
108032002-01-07 Aldy Hernandez <aldyh@redhat.com>
10804
0d24f4d1
ZW
10805 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
10806 arguments.
10807 (altivec_expand_binop_builtin): Same.
10808 (altivec_expand_unop_builtin): Same.
10809 (print_operand): Fix typo.
10810 (bdesc_1arg): Add vupk* variants.
20e26713 10811
0d24f4d1 10812 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 10813
0d24f4d1 10814 * rs6000.md: Add altivec_vupk* variants.
20e26713 10815
4dd57c18
JM
108162002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
10817
10818 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
10819 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
10820 and last update dates.
10821
0341c5d2
JJ
108222002-01-07 Janis Johnson <janis187@us.ibm.com>
10823
10824 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
10825
c7f3e0b0
MM
108262002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
10827
10828 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
10829 * config/avr/avr.h (CPP_SPEC): Likewise.
10830 (LINK_SPEC): Likewise.
10831 (CRT_BINUTILS_SPECS): Likewise.
10832 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
10833 * doc/invoke.texi (AVR Options): Document them.
10834
6ba4d630
JH
10835Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
10836
10837 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
10838 LABEL_NUSES.
10839
6253d571
GS
108402002-01-07 Graham Stott <grahams@redhat.com>
10841
0d24f4d1
ZW
10842 * config/i386/i386.h: Update copyright date.
10843 (HALF_PIC_PTR): Add parenthesis.
10844 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
10845 (CONSTANT_ALIGNMENT): Add parenthesis.
10846 (DATA_ALIGNMENT): Likewise.
10847 (LOCAL_ALIGNMENT): Likewise.
10848 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
10849 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
10850 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
10851 (HARD_REGNO_NREGS): Add paranethesis.
10852 (VALID_SSE_REG_MODE): Whitespace.
10853 (VALID_MMX_REG_MODE): Whitespace.
10854 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
10855 (ix86_hard_regno_mode_ok): Add parenthesis.
10856 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
10857 (RETURN_IN_MEMORY): Whitespace.
10858 (N_REG_CLASSES): Add parenthesis.
10859 (INTEGER_CLASS_P): Add parenthesis and wrap.
10860 (FLOAT_CLASS_P): Likewise.
10861 (SSE_CLASS_P): Likewise.
10862 (MMX_CLASS_P): Likewise.
10863 (MAYBE_INTEGER_CLASS_P): Likewise.
10864 (MAYBE_FLOAT_CLASS_P): Likewise.
10865 (MAYBE_SSE_CLASS_P): Likewise.
10866 (MAYBE_MMX_CLASS_P): Likewise.
10867 (Q_CLASS_P): Likewise.
10868 (GENERAL_REGNO_P): Uppercase macro parameter.
10869 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
10870 (FP_REGNO_P): Likewise.
10871 (ANY_FP_REGNO_P): Uppercase macro parameter.
10872 (SSE_REGNO_P): Likewise.
10873 (SSE_REGNO): Likewise.
10874 (SSE_REG_P): Likewise.
10875 (SSE_FLOAT_MODE_P): Likewise.
10876 (MMX_REGNO_P): Likewise.
10877 (MMX_REG_P):Likewise.
10878 (STACK_REG_P): Likewise.
10879 (NON_STACK_REG_P): Likewise.
10880 (STACK_TOP_P): Likewise.
10881 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
10882 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
10883 (SECONDARY_MEMORY_NEEDED): Likewise.
10884 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
10885 (MD_ASM_CLOBBERS): Whitespace and wrap.
10886 (MUST_PASS_IN_STACK): Whitespace and wrap.
10887 (RETURN_POPS_ARGS): Add parenthesis.
10888 (INIT_CUMULATIVE_ARGS): Likewise.
10889 (FUNCTION_ARG): Likewise.
10890 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
10891 (SETUP_INCOMING_VARARGS): Likewise.
10892 (BUILD_VA_LIST_TYPE): Add parenthesis.
10893 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
10894 parenthsis.
10895 (EXPAND_BUILTIN_VA_ARG): Likewise.
10896 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
10897 (INITIALIZE_TRAMPOLINE): Add parenthesis.
10898 (INITIAL_ELIMINATION_OFFSET): Likewise.
10899 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
10900 (REGNO_OK_FOR_BASE_P): Likewise.
10901 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
10902 (REGNO_OK_FOR_DIREG_P): Likewise.
10903 (REG_OK_FOR_INDEX_P): Whitespace.
10904 (REG_OK_FOR_BASE_P): Whitespace.
10905 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
10906 parenthesis.
10907 (FIND_BASE_TERM): Fix typo.
10908 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
10909 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
10910 (SYMBOLIC_CONST; Whitespace.
10911 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
10912 (ENCODE_SECTION_INFO): Whitespace.
10913 (FINALIZE_PIC): Remove do { ... } while (0).
10914 (PROMOTE_MODE): Wrap in do { ... } while (0).
10915 (CONST_COSTS): Whitespace.
10916 (RTX_COSTS): Add paramethesis, whitespace and wrap.
10917 (REGISTER_MOVE_COST): Add parenthesis.
10918 (MEMORY_MOVE_COST): Likewise.
10919 (EXTRA_CC_MODES): Whitespace.
10920 (SELECT_CC_MODE): Add parenthesis and whitespace.
10921 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
10922 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
10923 (ASM_OUTPUT_LABEL): Add paramethesis.
10924 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
10925 (ASM_OUTPUT_REG_POP): Likewise.
10926 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
10927 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 10928
07933f72
GS
10929 * config/i386/i386.c: Update copyright.
10930 (CHECK_STACK_LIMIT): Add parenthesis.
10931 (AT_BP): Uppercase macro parameter.
10932 (x86_64_int_parameter_registers): Constify.
10933 (x86_64_int_return_registers): Likewise.
10934 (ix86_compare_op0): Use rtx.
10935 (construct_container): Constify INTREG parameter.
10936 (function_arg): Use rtx.
10937
0b4d32c9
GS
10938 * diagnostic.h: Update copyright date.
10939 (output_buffer_state): Add parenthesis.
10940 (output_buffer_format_args): Likewise.
10941
6253d571
GS
10942 * combine.c (combine_instructions): Replace XEXP (links, 0)
10943 with link.
10944
68f3f6f1
L
109452002-01-06 H.J. Lu <hjl@gnu.org>
10946
10947 * cfgcleanup.c (thread_jump): Fix 2 typos.
10948
109492002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 10950
0d24f4d1 10951 * config.gcc: Add support for --enable-altivec.
480f7f3a 10952
13b8c631
CR
109532002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
10954
10955 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
10956
58ad89b1
JJ
109572002-01-06 Jakub Jelinek <jakub@redhat.com>
10958
10959 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
10960 __objc_class_name_*.
10961
e403b4bc
CR
109622002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
10963
10964 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
10965
e41c7831
RH
109662002-01-06 Richard Henderson <rth@redhat.com>
10967
10968 * reorg.c (emit_delay_sequence): Remove death notes, not merely
10969 nop them out. Increment label reference count for REG_LABEL.
10970 (fill_slots_from_thread): Frob label reference count around
10971 delete_related_insns.
10972
3b3b1e32
RH
109732002-01-05 Richard Henderson <rth@redhat.com>
10974
10975 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
10976 jump threading.
10977
c28abdf0
RH
109782002-01-05 Richard Henderson <rth@redhat.com>
10979
10980 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
10981 * integrate.c (output_inline_function): Likewise.
10982 * toplev.c (rest_of_compilation): Do it here instead. Move call
10983 to remove_unnecessary_notes after emitting abstract instance.
10984 Force an emitted nested function to have its parent emited as well.
10985 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
10986 for null.
10987 (rtl_for_decl_location): Do not look at reload data structures
10988 before reload has run.
10989
c4f2c499
KH
109902002-01-05 Kazu Hirata <kazu@hxi.com>
10991
10992 * cse.c: Fix formatting.
10993 * dwarf2asm.c: Likewise.
10994 * dwarf2out.c: Likewise.
10995 * explow.c: Likewise.
10996 * expmed.c: Likewise.
10997 * function.c: Likewise.
10998 * gcov.c: Likewise.
10999 * gencheck.c: Likewise.
11000 * genrecog.c: Likewise.
11001 * ggc-common.c: Likewise.
11002 * ggc-page.c: Likewise.
11003 * global.c: Likewise.
11004
cf0d9408
KH
110052002-01-05 Kazu Hirata <kazu@hxi.com>
11006
11007 * combine.c: Fix formatting.
11008
bedca03a
CR
110092002-01-05 Craig Rodrigues <crodrigu@bbn.com>
11010
11011 PR middle-end/1557
11012 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
11013
0134bf2d
DE
110142002-01-05 David Edelsohn <edelsohn@gnu.org>
11015
11016 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
11017 as 1 for __powerpc64__ as well.
11018
11019 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
11020
11021 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
11022 return it.
11023
9ca88d5a
DB
110242002-01-05 Daniel Berlin <dan@dberlin.org>
11025
11026 * lcm.c: Revert change, due to performance regression it causes on
11027 SPEC because it's slightly more conservative (sigh, I hate
11028 edge-based LCM).
0d24f4d1 11029
1c570418
JH
11030Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
11031
11032 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
11033
d83bb9f7
NB
110342002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
11035
11036 * doc/cppinternals.texi: Update.
11037
3e0f61ac
HPN
110382002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
11039
11040 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
11041 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
11042 negatives.
11043 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
11044 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
11045 kludge for pre-october-14th mmix versions to handle new-found bug
11046 with PUSHJ/PUSHGO and the register stack.
11047 * config/mmix/mmix.h (struct machine_function): Rename member
11048 has_call_value_without_parameters to has_call_without_parameters.
11049 All referers changed.
11050 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
11051 TARGET_MASK_BRANCH_PREDICT): New macros.
11052 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
11053 -mno-reg-stack-fill-bug-workaround.
11054 * config/mmix/mmix.md ("call"): Set struct machine member
11055 has_call_without_parameters.
11056
4deaa2f8
JH
11057Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
11058
11059 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
11060
9f16e871
JH
11061Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
11062
11063 * cfgcleanup.c: Include tm_p.h
11064 (mark_effect): Fix handling of hard register; fix handling of SET
11065
96eb1157
KH
110662002-01-04 Kazu Hirata <kazu@hxi.com>
11067
11068 * config/h8300/h8300.md (anonymous patterns): Check that
11069 operands are registers before using REGNO on them.
11070
48180d68
RM
110712002-01-03 Roland McGrath <roland@frob.com>
11072
11073 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
11074
b0832fe1
JJ
110752002-01-04 Jakub Jelinek <jakub@redhat.com>
11076
11077 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
11078 * c-common.h (genrtl_expr_stmt_value): Likewise.
11079 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
11080 (expand_expr_stmt_value): Add maybe_last argument.
11081 Don't warn about statement with no effect if it is the last statement
11082 in expression statement.
11083 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
11084 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
11085 expand_expr_stmt_value.
11086 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
11087 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
11088 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
11089 as maybe_last to expand_expr_stmt_value.
11090
c1e14513
JL
11091Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
11092
0d24f4d1
ZW
11093 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
11094 be passed in, do not build it.
11095 (c_begin_if_stmt): New function.
11096 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
11097 * c-common.h (c_expand_start_cond): Update prototype.
11098 (c_begin_if_stmt): Prototype new function.
11099 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
11100 * c-parse.in (if_prefix): Use c_begin_if_stmt,
11101 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 11102
b6ec437a
WC
111032002-01-04 William Cohen <wcohen@redhat.com>
11104
11105 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
11106 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
11107 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
11108 * config/pa/som.h (ASM_FILE_START): Likewise.
11109
ead39bdf 111102002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
11111
11112 * lcm.c: Include df.h.
11113 Add available_transfer_function prototype.
11114 (compute_available): Rework to use iterative dataflow framework.
11115 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
11116 with bb_info in df.h
11117 (available_transfer_function): New function.
11118
11119 * Makefile.in (lcm.o): add df.h to dependencies.
11120
551cc6fd
RH
111212002-01-04 Richard Henderson <rth@redhat.com>
11122
11123 * config/alpha/alpha.c (some_operand): Accept HIGH.
11124 (input_operand): Likewise; accept simple references to globals.
11125 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
11126 (alpha_const_double_ok_for_letter_p): Likewise.
11127 (alpha_extra_constraint): Likewise.
11128 (alpha_preferred_reload_class): Likewise. Do not force
11129 symbolic constants to memory.
11130 (alpha_legitimate_address_p): Accept simple references
11131 to small_symbolic_operand.
11132 (alpha_legitimize_address): New arg scratch. Be prepared to be
11133 called when no_new_pseudos. Emit simple symbolic references.
11134 Split integers into low, high, and rest.
11135 (alpha_expand_mov): Use alpha_legitimize_address.
11136 (some_small_symbolic_mem_operand): New.
11137 (split_small_symbolic_mem_operand): New.
11138 * config/alpha/alpha-protos.h: Update.
11139 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
11140 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
11141 (EXTRA_CONSTRAINT): Likewise.
11142 (PREFERRED_RELOAD_CLASS): Likewise.
11143 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
11144 (PREDICATE_CODES): Update.
11145 * config/alpha/alpha.md: New post-reload splitters to convert
11146 simplfied symbolic operands to the form that references $29.
11147 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
11148 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
11149
1eaea054
RH
111502002-01-03 Richard Henderson <rth@redhat.com>
11151
11152 * local-alloc.c (function_invariant_p): Update commentary.
11153
c4cc12b7
L
111542002-01-04 H.J. Lu <hjl@gnu.org>
11155
11156 * toplev.c (rest_of_compilation): Fix a typo when calling
11157 cleanup_cfg.
11158
173bf5be
KH
111592002-01-03 Kazu Hirata <kazu@hxi.com>
11160
11161 * c-common.c: Fix formatting.
11162 * diagnostic.c: Likewise.
11163 * doloop.c: Likewise.
11164 * dwarf2out.c: Likewise.
11165
187462ac
KH
111662002-01-03 Kazu Hirata <kazu@hxi.com>
11167
11168 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
11169 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
11170
5d8ebbd8
NB
111712002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
11172
11173 * cpperror.c: Update comments and copyright.
11174 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
11175 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
11176
518c1311
JDA
111772002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
11178
11179 * collect2.c (main): Use strcmp when testing for "-shared".
11180
d15a58c0
NB
111812002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
11182
11183 * cppmacro.c: Don't include intl.h. Update comments.
11184 (new_number_token): Allocate enough buffer for 64-bit unsigned
11185 integers; update prototype.
11186 * cppmain.c: Update comments.
11187
70f4f91c
WC
111882002-01-03 William Cohen <wcohen@redhat.com>
11189
11190 * function.h (struct function): Add profile.
11191 (current_function_profile): New.
11192 doc/extend.texi: Update documentation.
11193 * final.c (final_start_function): Use current_function_profile
11194 instead of profile_flag.
11195 (profile_after_prologue): Likewise.
11196 * function.c (expand_function_start): Likewise.
11197 (expand_function_start): Likewise.
c4cc12b7 11198 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
11199 (alpha_does_function_need_gp): Likewise.
11200 (alpha_expand_prologue): Likewise.
11201 * config/arm/arm.c (arm_expand_prologue): Likewise.
11202 thumb_expand_prologue: Likewise.
11203 * config/d30v/d30v.c (d30v_stack_info): Likewise.
11204 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
11205 (fr30_expand_prologue): Likewise.
11206 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
11207 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
11208 * config/i386/i386.h (FINALIZE_PIC): Likewise.
11209 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
11210 * config/i960/i960.c (i960_output_function_prologue): Likewise.
11211 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
11212 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
11213 (m32r_expand_prologue): Likewise.
11214 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
11215 (m88k_expand_prologue): Likewise.
11216 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
11217 * config/mips/mips.c (compute_frame_size): Likewise.
11218 (mips_expand_prologue): Likewise.
11219 (mips_can_use_return_insn): Likewise.
11220 * config/pa/elf.h (ASM_FILE_START): Likewise.
11221 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
11222 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
11223 * config/pa/som.h (ASM_FILE_START): Likewise.
11224 * config/romp/romp.c (romp_using_r14): Likewise.
11225 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
11226 (rs6000_stack_info): Likewise.
11227 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 11228 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
11229 * config/v850/v850.c (compute_register_save_size): Likewise.
11230
cb1ac742
JJ
112312002-01-03 Jakub Jelinek <jakub@redhat.com>
11232
11233 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
11234 gen_lowpart_common fails, use gen_lowpart_SUBREG.
11235
61d951df 112362002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 11237
61d951df
TC
11238 * darwin.c (machopic_output_possible_stub_label): Don't generate
11239 stub routines for pseudo-stubs which we've just defined.
11240
505ddab6
KH
112412002-01-03 Kazu Hirata <kazu@hxi.com>
11242
11243 * builtins.c: Fix formatting.
11244 * c-typeck.c: Likewise.
11245 * combine.c: Likewise.
11246 * expr.c: Likewise.
11247 * loop.c: Likewise.
11248
b7e30d8a
AS
112492002-01-03 Andreas Schwab <schwab@suse.de>
11250
11251 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
11252 and return true if _cpp_push_next_buffer pushed a new include
11253 file.
11254 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
11255 _cpp_pop_file_buffer did not push a new file.
11256 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
11257
ff81832f
EC
112582002-01-02 Eric Christopher <echristo@redhat.com>
11259
11260 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
11261 FIND_REG_INC_NOTE call. Update copyright.
11262 * loop.c (canonicalize_condition): Ditto.
11263 * reorg.c (delete_scheduled_jump): Ditto.
11264
8e42ace1
KH
112652002-01-03 Kazu Hirata <kazu@hxi.com>
11266
11267 * gcse.c: Fix formatting.
11268
fb2bf631
GS
112692002-01-03 Graham Stott <grahams@redhat.com>
11270
11271 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
11272 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 11273 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
11274
11275 * system.h: Move forward defs for struct tags rtx_def, union_tree,
11276 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 11277 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
11278
112792002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
11280
11281 * tree.h: Update copyright date.
11282 (IS_EXPR_CODE_CLASS): Add parenthesis.
11283 (TREE_SET_CODE): Add whitespace.
11284 (TREE_CHECK): Add parenthesis.
11285 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
11286 (CST_OR_CONSTRUCTOR_CHECK):
11287 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
11288 (TREE_SYMBOL_REFERENCED): Whitespace.
11289 (INT_CST_LT): Likewise.
11290 (INT_CST_LT_UNSIGNED): Likewise.
11291 (tree_real_cst): Unwrap comment.
11292 (tree_string): Likewise.
11293 (tree_complex): Likewise.
11294 (IDENTIFIER_POINTER): correct cast.
11295 (SAVE_EXPR_CONTEXT): Whitespace.
11296 (EXPR_WFL_FILENAME_NODE): Likewise.
11297 (EXPR_WFL_FILENAME): Remove parenthesis.
11298 (DECL_ORIGIN): Add parenthesis.
11299 (DECL_FROM_INLINE): Use NULL_TREE.
11300 (build_int_2): Whitespace.
11301 (build_type_variant): Add parenthesis.
11302
11303 * gcc/jcf-parse.c: Update copyright date.
11304 (yyparse): Constify resource_filename.
11305
f52eda29
GS
113062002-01-03 Graham Stott <grahams@redhat.com>
11307
11308 * rtl.h: Update copyright date.
11309 (RTL_CHECK1): Wrap long line.
11310 (RTL_CHECK2): Likewise.
11311 (RTL_CHECKC1): Wrap long line and whitespace.
11312 (RTL_CHECKC2): Likewise.
11313 (XWINT): Whitespace.
11314 (XINT): Likewise.
11315 (XSTR): Likewise.
11316 (XEXP): Likewise.
11317 (XVEC): Likewise.
11318 (XMODE): Likewise.
11319 (XBITMAP): Likewise.
11320 (XTREE): Likewise.
11321 (XBBDEF): Likewise.
11322 (XTMPL): Likewise.
11323 (X0WINT): Likewise.
11324 (X0INT):Likewise.
11325 (X0UINT): Likewise.
11326 (X0STR): Likewise.
11327 (X0EXP): Likewise.
11328 (X0VEC): Likewise.
11329 (X0MODE): Likewise.
11330 (X0BITMAP): Likewise.
11331 (X0TREE): Likewise.
11332 (X0BBDEF): Likewise.
11333 (X0ADVFLAGS): Likewise.
11334 (X0CSELIB): Likewise.
11335 (X0MEMATTR): Likewise.
11336 (XCWINT): Likewise.
11337 (XCINT): Likewise.
11338 (XCUINT): Likewise.
11339 (XCSTR): Likewise.
11340 (XCEXP): Likewise.
11341 (XCVEC): Likewise.
11342 (XCMODE): Likewise.
11343 (XCBITMAP): Likewise.
11344 (XCTREE): Likewise.
11345 (XCBBDEF): Likewise.
11346 (XCADVFLAGS): Likewise.
11347 (XCCSELIB): Likewise.
11348 (XC2EXP): Likewise.
11349 (INSN_UID): Likewise.
11350 (PREV_INSN): Likewise.
11351 (PATTERN): Likewise.
11352 (INSN_CODE): Likewise.
11353 (PUT_REG_NOTE_KIND): Likewise.
11354 (CODE_LABEL_NUMBER): Likewise.
11355 (NOTE_SOURCE_FILE): Likewise.
11356 (NOTE_BLOCK): Likewise.
11357 (NOTE_EH_HANDLER): Likewise.
11358 (NOTE_RANGE_INFO): Likewise.
11359 (NOTE_LIVE_INFO): Likewise.
11360 (NOTE_BASIC_BLOCK): Likewise.
11361 (NOTE_EXPECTED_VALUE): Likewise.
11362 (NOTE_LINE_NUMBER): Likewise.
11363 (LABEL_NAME): Likewise.
11364 (LABEL_NUSES): Likewise.
11365 (LABEL_ALTERNATE_NAME): Likewise.
11366 (ADDRESSOF_DECL): Likewise.
11367 (JUMP_LABEL): Likewise.
11368 (LABEL_NEXTREF): Likewise.
11369 (REGNO): Likewise.
11370 (ORIGINAL_REGNO: Likewise.
11371 (HARD_REGISTER_NUM_P): Add parenthesis.
11372 (SUBREG_REG): Whitespace.
11373 (SUBREG_BYTE): Likewise.
11374 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
11375 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
11376 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
11377 (ASM_OPERANDS_INPUT_VEC): Likewise.
11378 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
11379 (ASM_OPERANDS_INPUT): Likewise.
11380 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
11381 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
11382 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
11383 (ASM_OPERANDS_INPUT_MODE): Likewise.
11384 (ASM_OPERANDS_SOURCE_FILE): Likewise.
11385 (ASM_OPERANDS_SOURCE_LINE): Likewise.
11386 (MEM_SET_IN_STRUCT_P): Minor reformat.
11387 (TRAP_CONDITION): Whitespace.
11388 (TRAP_CODE): Likewise.
11389 (COND_EXEC_TEST): Likewise.
11390 (COND_EXEC_CODE): Likewise.
11391 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
11392 (PHI_NODE_P): Add parenthesis.
11393 (plus_constant): Whitespace and add parenthesis.
11394
e03f5d43
KH
113952002-01-03 Kazu Hirata <kazu@hxi.com>
11396
11397 * config/avr/avr.c: Fix comment typos.
11398 * config/c4x/c4x.md: Likewise.
11399 * config/dsp16xx/dsp16xx.h: Likewise.
11400 * config/dsp16xx/dsp16xx.md: Likewise.
11401 * config/i386/i386.md: Likewise.
11402 * config/ia64/ia64.c: Likewise.
11403 * config/m32r/m32r.h: Likewise.
11404 * config/m68hc11/m68hc11.md: Likewise.
11405 * config/mmix/mmix.c: Likewise.
11406 * config/mn10200/mn10200.c: Likewise.
11407 * config/romp/romp.c: Likewise.
11408 * config/sh/sh.c: Likewise.
11409 * config/stormy16/stormy16.c: Likewise.
11410 * config/stormy16/stormy16.h: Likewise.
11411 * config/stormy16/stormy16.md: Likewise.
11412
97e300e9
GS
114132002-01-03 Graham Stott <grahams@redhat.com>
11414
11415 * loop.h: Update copyright date.
0d24f4d1
ZW
11416 (LOOP_MOVABLES): Fix typo.
11417 (LOOP_REGS): Likewise.
11418 (LOOP_IVS): Likewise.
ff81832f 11419
745b26b3
GS
114202002-01-03 Graham Stott <grahams@redhat.com>
11421
11422 * cppinit.c: Update copyright date.
11423 Don't include output.h
11424 * Makefile.in: Update copyright date.
11425 Update dependency.
11426
0a379b7a
CR
114272002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
11428
11429 PR c/5226
11430 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
11431 (-pthread) Add to RS/6000 options.
11432
a8154559
KH
114332002-01-02 Kazu Hirata <kazu@hxi.com>
11434
11435 * except.c: Fix comment typos.
11436 * loop.c: Likewise.
11437 * varasm.c: Likewise.
11438 * doc/tm.texi: Fix a typo.
11439
e6ecc89b
JJ
114402002-01-02 Jakub Jelinek <jakub@redhat.com>
11441
11442 * c-typeck.c (output_init_element): Allow initializing static storage
11443 duration objects with compound literals.
11444
d1094b40
RH
114452002-01-02 Richard Henderson <rth@redhat.com>
11446
11447 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
11448 after abusing it.
11449
0c5d8c82
KG
114502002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11451
5e65297b
KG
11452 * gcc.c (default_compilers): Const-ify.
11453 * mips-tdump.c (stab_names): Likewise.
11454 * mips-tfile.c (map_coff_types, map_coff_storage,
11455 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
11456 pseudo_ops_t, pseudo_ops): Likewise.
11457 * protoize.c (default_include): Likewise
11458
0c5d8c82
KG
11459 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
11460 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
11461 Add array size in declaration.
11462 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
11463 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
11464 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
11465 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
11466 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
11467 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
11468 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
11469 emtens, make_nan): Const-ify.
11470 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
11471 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
11472
817e13c4
JM
114732002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
11474
11475 * config.gcc (ia64-*-*): Set extra_headers.
11476 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
11477 * config/alpha/t-osf: Remove.
11478 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
11479
98095e2b
DE
114802002-01-02 David Edelsohn <edelsohn@gnu.org>
11481
11482 * config/rs6000/t-aix43: Revert previous change.
11483
a4200657
JM
114842002-01-02 Jason Merrill <jason@redhat.com>
11485
11486 * c-decl.c (c_expand_body): Call outlining_inline_function when
11487 emitting an inline function out of line.
11488
54ba1f0d
RH
114892002-01-02 Richard Henderson <rth@redhat.com>
11490
11491 * dwarf2out.c (limbo_die_node): Add created_for member.
11492 (new_die): New argument created_for. Update all callers.
11493 (mark_limbo_die_list): New.
11494 (dwarf2out_init): Register limbo_die_list as a root.
11495 (dwarf2out_finish): Force insert limbo dies into their function
11496 context.
11497
323728aa
NS
114982002-01-02 Nathan Sidwell <nathan@codesourcery.com>
11499
11500 PR c++/5089
11501 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
11502
aefc5826
KH
115032002-01-02 Kazu Hirata <kazu@hxi.com>
11504
11505 * config/h8300/fixunssfsi.c: Update copyright.
11506 Fix comment typos.
11507 Fix formatting.
11508 * config/h8300/h8300.c: Update copyright.
11509 Eliminate warnings.
11510
b1c9bc51
KH
115112002-01-02 Kazu Hirata <kazu@hxi.com>
11512
11513 * config/romp/romp.c: Fix comment formatting.
11514 * config/romp/romp.h: Likewise.
11515 * config/romp/romp.md: Likewise.
11516 * config/s390/s390.c: Likewise.
11517 * config/stormy16/stormy16.c: Likewise.
11518 * config/stormy16/stormy16.h: Likewise.
11519
1574ef13
AO
115202002-01-02 Alexandre Oliva <aoliva@redhat.com>
11521
11522 * c-common.h (genrtl_expr_stmt_value): Declare.
11523 * c-semantics.c (genrtl_goto_stmt): Redirect to...
11524 (genrtl_goto_stmt_value): ... this new function. Pass new
11525 argument down to expand_expr_stmt_value, taking
11526 TREE_ADDRESSABLE into account.
11527 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
11528 STMT_EXPR as addressable, i.e., one whose result we want.
11529 * expr.c (expand_expr): Don't save expression statement value
11530 of labeled_blocks or loop_exprs.
11531 * stmt.c (expand_expr_stmt): Redirect to...
11532 (expand_expr_stmt_value): ... this new function. Use new
11533 argument to tell whether to save expression value.
11534 (expand_end_stmt_expr): Reset last_expr_type and
11535 last_expr_value if we don't have either.
11536 * tree-inline.c (declare_return_variable): Mark its use
11537 statement as addressable.
11538 * tree.h: Document new use of TREE_ADDRESSABLE.
11539 (expand_expr_stmt_value): Declare.
11540
252b88f7
TR
115412002-01-01 Tom Rix <trix@redhat.com>
11542
11543 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
11544 rs6000_emit_allocate_stack.
11545
29f7a208
JM
115462002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
11547
11548 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
11549 ${srcdir}/ginclude/ to every entry in extra_headers.
11550 * configure: Regenerate.
11551 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
11552 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
11553 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
11554 * ginclude/proto.h: Rename to config/convex/proto.h.
11555
2cc2d4bb
RK
11556Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11557
11558 * attribs.c (handle_vector_size_attribute): Use host_integerp
11559 and tree_int_cst; remove warnings.
11560 * caller-save.c (insert_restore): Add cast to get rid of warning.
11561 (insert_save): Likewise.
11562 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
11563 * regmove.c (find_matches): Add temporary var to kill a warning.
11564
f01c9bcd
DR
115652002-01-01 Douglas B Rupp <rupp@gnat.com>
11566
16b61764
DR
11567 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
11568 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
11569 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
11570 (vms-dwarf2eh.o): Add Makefile rule.
11571 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
11572 * config/alpha/vms-dwarf2eh.asm: New file.
11573
f01c9bcd
DR
11574 * gcc.c (delete_if_ordinary): Delete all versions.
11575
91312b81
HPN
115762002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
11577
11578 * config/mmix/mmix.md: Update FIXME to not mention
11579 define_constants.
11580 (MMIX_rJ_REGNUM): New define_constants constant.
11581 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
11582 "*movdicc_real"): Adjust contraints formatting.
11583 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
11584 for branch prediction.
11585 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
11586 output template.
11587 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
11588 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
11589 number. Delete related FIXMEs.
11590 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
11591 from number to MMIX_rJ_REGNUM.
11592 (TARGET_MASK_BRANCH_PREDICT): New.
11593 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
11594 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
11595 value. Add -mbranch-predict and -mno-branch-predict.
11596 (TARGET_VERSION): Drop date.
11597 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
11598 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
11599 for finding out global symbols.
11600 (mmix_asm_output_labelref): Revert condition for global symbol.
11601 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
11602 (mmix_print_operand_punct_valid_p): A '+' is valid.
11603
619acae7 11604See ChangeLog.6 for earlier changes.
This page took 1.699657 seconds and 5 git commands to generate.