]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
This file needs resurrecting
[gcc.git] / gcc / ChangeLog
CommitLineData
805c42ba
AH
12002-05-15 Aldy Hernandez <aldyh@redhat.com>
2
3 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
4 Cleanups for accepting modifiers on pointers.
5 Fix predicate typos.
6 Allow long pointers as well as int pointers.
7
34fb9ba5
RH
82002-05-15 Richard Henderson <rth@redhat.com>
9
10 * varasm.c (merge_weak): Remove special case for extern and common.
11
62e118f5
MH
122002-05-15 Matt Hiller <hiller@redhat.com>
13
14 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
15 XFAILing.
16 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
17 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
18 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
19 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
20 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
21 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
22
fefac463
AH
232002-05-15 Aldy Hernandez <aldyh@redhat.com>
24
25 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
26
5f004351
AH
272002-05-15 Aldy Hernandez <aldyh@redhat.com>
28
29 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
30 ("altivec_mfvscr"): Read from VSCR.
31
32 Add vscr sets for the following insns: altivec_vctuxs,
33 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
34 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
35 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
36 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
37 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
38 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
39 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
40 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
41 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
42 altivec_vsum2sws, altivec_vsumsws.
43
44 * config/rs6000/rs6000.h: Add VSCR fixed register.
45 (CALL_REALLY_USED_REGISTERS): Add vscr.
46 (CALL_USED_REGISTERS): Same.
47 (FIXED_REGISTERS): Same.
48 (REG_ALLOC_ORDER): Same.
49 (reg_class): Add VSCR_REGS.
50 (REG_CLASS_NAMES): Same.
51 (REG_CLASS_CONTENTS): Same.
52 (VSCR_REGNO): New.
53 (REGISTER_NAMES): Add vscr.
54 (DEBUG_REGISTER_NAMES): Same.
55 (ADDITIONAL_REGISTER_NAMES): Same.
56 (FIRST_PSEUDO_REGISTER): Increment.
57 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
58
033afd11
RH
592002-05-15 Jakub Jelinek <jakub@redhat.com>
60
61 * fold-const.c (fold): Fix a typo.
62
632002-05-15 Eric Botcazou <ebotcazou@multimania.com>
64
65 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
66 comparison against the highest or lowest integer value before
67 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
68 transformation and that of an unsigned comparison against 0
69 right after.
70
14285ace
RH
712002-05-15 Richard Henderson <rth@redhat.com>
72
73 * varasm.c (merge_weak): Error for any weakening after definition.
74 Adjust weakening after use warning to catch more cases.
75 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
76 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
77
194734e9
JH
78Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
79
80 * invoke.texi (-malign-double): Re-add lost warning.
81
82 * i386-protos.h (x86_output_mi_thunk): Declare.
83 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
84 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
85
86 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
87 when flag_asynchronous_unwind_tables is set.
88
89 * flags.h (flag_reorder_functions): Declare.
90 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 91 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
92 * Makefile.in (predict.o): Add dependency on target.h and params.h
93 * defaults.h (HOT_TEXT_SECTION_NAME,
94 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
95 * predict.c (choose_function_section): New function.
96 (estimate_bb_frequencies): Use it.
97 * toplev.c (flag_reorder_functions): New global variable.
98 (lang_independent_options): New.
99 (parse_options_and_default_flags): Set.
100 * varasm.c (assemble_start_function): Bypass functdion alignment
101 for never executed functions.
102 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
103 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
104 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
105 Document.
106
107 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
108
109 * predict.c: Inlude profile.h
110 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
111 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
112 Use the information about maximal counter in the program.
113
114 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
115
116 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
117 probably_never_executed_bb_p): New functions.
118 * cfgcleanup.c (outgoing_edges_match): Use them.
119 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
120 (maybe_hot_bb_p, probably_cold_bb_p,
121 probably_never_executed_bb_p): New functions.
122
123 * function.h (function): Add new field function_frequency.
124 * predict.c (compute_function_frequency): New function.
125 (estimate_probability): Call it.
126
61ad9a34
JJ
1272002-03-09 Jakub Jelinek <jakub@redhat.com>
128
129 PR optimization/5172, optimization/5200
130 * gcse.c (gcse_main): Disable store_motion.
131
a11eba95
ZW
1322002-05-14 Zack Weinberg <zack@codesourcery.com>
133
134 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
135 (c_common_nodes_and_builtins): Use it.
136 (builtin_define_with_value): New function.
137 (cb_register_builtins): Define __SIZE_TYPE__,
138 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
139 using builtin_define_with_value. Use consistent notation when
140 defining __GXX_WEAK__.
141 (WCHAR_TYPE_SIZE): Don't redefine.
142 (combine_strings): Don't use WCHAR_TYPE_SIZE.
143
144 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
145 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
146 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
147 * tradcpp.c (initialize_builtins): Likewise.
148 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
149
150 * c-lex.h (builtin_define_with_value): Prototype.
151 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
152 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
153 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
154
155 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
156 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
157 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
158 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
159 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
160 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
161 config/sparc/sol2-bi.h, config/sparc/sparc.h:
162 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
163 to __SIZE_TYPE__ etc from all spec strings. When this makes
164 extra specs empty, delete them.
165
1c31ecf6
JDA
1662002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
167
168 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
169 for PA8000 or generating dwarf2 call frame information.
170 (output_call): Remove DO_FRAME_NOTES check from return pointer
171 optimization.
172 (following_call): Return 0 when scheduling for PA8000 or generating
173 dwarf2 call frame information. Revise comment.
174
ac9cfada
NB
1752002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
176
177config/alpha:
178 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
179 and __IEEE_FP_INEXACT as appropriate.
180 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
181 (CPP_SPEC): Remove ieee defines.
182 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
183
9b690711
RH
1842002-05-14 Richard Henderson <rth@redhat.com>
185
186 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
187 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
188
e6471be6
NB
1892002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
190
e6471be6
NB
191 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
192 (CPP_SPEC): Update.
193 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
194 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
195 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
196 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
197 (EXTRA_SPECS): Update.
198 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
199 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
200 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
201 define TARGET_OS_CPP_BUILTINS if necessary.
202
e5f5feea
NB
2032002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
204
205 * gcc.c (cpp_options): Must pass -m* and -f* options
206 to the front end even when only preprocessing.
207 (cc1_options): Remove redundant -lang-c.
208 * tradcpp.c (main): Ignore -m options.
209objc:
210 * lang-specs.h: Similarly.
211
317638a8
VM
2122002-05-14 Vladimir Makarov <vmakarov@redhat.com>
213
214 * genautomata.c (transform_3): Add code for transformation
215 `(A,B,...)+C -> A+C,B,...'.
216
4d604303
JH
217Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
218
219 * final.c (end_final): Do not output profile_arcs constructor, when
220 no functions are instrumented.
221
b18b06ed
JH
222Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
223
224 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
225
a12f97f0
GP
2262002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
227
228 * doc/install.texi: Remove special markup originally required for
229 HTML generation with texi2html.
230
c1ae3eb4
AS
2312002-05-14 Andreas Schwab <schwab@suse.de>
232
233 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
234 SELECT_SECTION.
235 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
236
237 * varasm.c (resolve_unique_section): Add third parameter
238 flag_function_or_data_sections and use it instead of
239 flag_function_sections.
240 (assemble_start_function): Pass flag_function_sections.
241 (asm_emit_uninitialised): Pass flag_data_sections.
242 (assemble_variable): Likewise.
243
8ee41eaf
RH
2442002-05-14 Richard Henderson <rth@redhat.com>
245
246 * config/i386/i386.md: Use define_constants for unspec numbers.
247 * config/i386/i386.c: Likewise.
248
e6471be6
NB
2492002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
250
251 * doc/contrib.texi: Update my entry.
252
c297b764
MM
2532002-05-13 Mark Mitchell <mark@codesourcery.com>
254
255 * fixinc/inclhack.def (winidss_valist): Limit applicability.
256 * fixinc/fixincl.x: Regenerated.
257 * fixinc/tests/base/math.h: Update.
258 * fixinc/tests/base/testing.h: Likewise.
259
0b42c8f8
ZW
2602002-05-13 Zack Weinberg <zack@codesourcery.com>
261
262 * genattr.c (gen_attr): Don't emit a comma after the last
263 enumerator.
264
546c093e
RH
2652002-05-13 Richard Henderson <rth@redhat.com>
266
267 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
268 by non-local gotos.
269 * recog.c (peephole2_optimize): Likewise.
270
85be8c2d
AP
2712002-05-13 Andris Pavenis <pavenis@lanet.lv>
272
273 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
274 input to O_BINARY.
275
765b8f90
JL
2762002-05-13 Jeffrey A Law (law@redhat.com)
277
fe4b3c79
JL
278 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
279 Update prototype and callers.
280 (propagate_one_insn): Stack pointer adjustments kill MEMs on
281 the mem_set_list which reference the stack pointer, as do
282 calls to constant functions as they may clobber outgoing
283 argument space.
284
16133d00
JL
285 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
286
765b8f90
JL
287 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
288 (ia32_multipass_dfa_lookahead): New function.
289
63826d5b
NB
2902002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
291
292 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
293 (translate_options): Remove 'V'.
294 (process_command): Similarly.
295doc:
296 * invoke.texi: Remove documentation of 'V'.
297
dcb41ced
UW
2982002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
299
300 * config/s390/linux.h: Revert 2002-04-22 changes.
301
8dfea428
SM
3022002-05-13 Scott Marks <SMarks@mobile-mind.com>
303
304 * config/fr30/fr30.md: Only allow splits of immediate loads
305 if the destination is a register.
306
12a41c22
NB
3072002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
308
309 * Makefile.in (c-common.o, cppinit.o): Update.
310 * c-common.c: Include except.h.
311 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
312 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
313 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
314 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
315 CPP_PREDEFINES): Handle here.
316config:
317 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
318 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
319 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
320 TARGET_OS_CPP_BUILTINS.
321 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
322 (CPP_SPEC, EXTRA_SPECS): Update.
323 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
324 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
325 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
326 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
327 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
328doc:
329 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
330 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
331
5692c7bc
ZW
3322002-05-12 Zack Weinberg <zack@codesourcery.com>
333
334 * emit-rtl.c (global_rtl): Update comment.
335 (const_double_htab, const_double_htab_hash,
336 const_double_htab_hash, lookup_const_double): New.
337 (const_int_htab_hash, const_int_htab_eq): Remove const
338 qualifiers, which cause tons of warnings with RTL checking on.
339 (gen_rtx_CONST_DOUBLE): Deleted.
340 (const_double_from_real_value): New function - bears some
341 resemblance to the former immed_real_const_1.
342 (immed_double_const): Moved here from varasm.c and
343 simplified.
344 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
345 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
346 (gen_rtx): Use immed_double_const.
347 (init_emit_once): Initialize the const_double_htab. Use
348 REAL_VALUE_FROM_INT where possible. Can now use
349 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
350 * varasm.c (struct varasm_status): Remove x_const_double_chain.
351 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
352 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
353 (init_varasm_status, mark_varasm_status): Don't touch
354 x_const_double_chain.
355
356 * output.h: Delete prototype for clear_const_double_mem.
357 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
358 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
359 const_double_from_real_value, not immed_real_const_1, and use
360 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
361 CONST_DOUBLE_ATOF.
362 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
363 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
364 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
365 (gen_rtx_REG): Second arg is unsigned.
366
367 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
368 (excluded_rtx): New, return true for CONST_DOUBLE.
369 (genmacro): Write nothing for excluded codes.
370 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
371 * expr.c (expand_expr): Likewise.
372 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
373 CONST_DOUBLE_CHAIN.
374 * toplev.c (rest_of_compilation): Don't call
375 clear_const_double_mem.
376
377 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
378 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
379 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
380 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
381 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
382 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
383 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
384 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
385
31397a7b
KG
3862002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
387
388 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
389
1b70d38a
TT
3902002-05-12 Tom Tromey <tromey@redhat.com>
391
392 * tree.h (copy_node): Don't mention TREE_PERMANENT.
393
9a5834ae
ZW
3942002-05-12 Zack Weinberg <zack@codesourcery.com>
395
396 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
397 (scan_comma_elt): New function. Accepts whitespace in comma lists.
398 * gensupport.h: Prototype new routines.
399 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
400 use of printf.
401 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
402 (next_comma_elt): Use scan_comma_elt.
403
404 * config/i386/i386.md: Use new attribute notation to break up
405 long lines in define_attr forms.
406
51286de6
RH
4072002-05-12 Richard Henderson <rth@redhat.com>
408
409 * expr.c (compress_float_constant): New.
410 (emit_move_insn): Use it.
411 (float_extend_from_mem): New.
412 (init_expr_once): Initialize it.
413 * real.c (exact_real_truncate): New.
414
415 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
416 dropped into memory; penalize for size.
417 (RTX_COSTS): FLOAT_EXTEND is free.
418 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
419 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
420
6412341e
RH
4212002-05-12 Richard Henderson <rth@redhat.com>
422
423 * profile.h (profile_info): Add missing extern to declaration.
424 * profile.c (profile_info): Define it.
425
12877f09
JDA
4262002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
427
428 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
429 used for DImode and TImode.
430
387f9e32
NB
4312002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
432
433 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
434 fake a newline.
435
e1a0f69c
ZW
4362002-05-11 Zack Weinberg <zack@codesourcery.com>
437
438 * config/rs6000/rs6000.c (rs6000_default_long_calls,
439 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
440 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
441 (rs6000_override_options): Handle -m(no-)longcall.
442 (init_cumulative_args, output_mi_thunk): Check for both
443 longcall and shortcall attributes on the function.
444 (rs6000_attribute_table): Add "shortcall".
445 (rs6000_handle_longcall_attribute): Update comment.
446 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
447 altivec_expand_ternop_builtin): Add default clauses to switches
448 to silence warnings.
449
450 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
451 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
452 (TARGET_OPTIONS): Add longcall and no-longcall.
453
454 * config/rs6000/rs6000.md (call_nonlocal_sysv,
455 call_value_nonlocal_sysv): Split by alternatives. One pair
456 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
457 the call cookie. The other pair accepts only LR/CTR and has
458 no restriction.
459
460 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
461 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
462 tmake_file.
463 * config/rs6000/rs6000-c.c: New file.
464 * config/rs6000/t-rs6000-c-rule: New file.
465 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
466 Prototype rs6000_pragma_longcall.
467
468 * doc/extend.texi: Document shortcall attribute.
469 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
470
9c64026d
JDA
4712002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
472
473 * reorg.c (dbr_schedule): Remove unnecessary test.
474
6c81a490
JH
475Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
476
477 * i386.md (testsi to testqi spliters): New.
478
479 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
480
481 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
482
483 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
484
485 * basic-block.h: New flag EDGE_CAN_FALLTHRU
486 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
487 that can be made fallthru.
488
489 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
490
491 * cfglayout.c (cleanup_unconditional_jumps): New static function.
492 (cfg_layout_initialize): Use it.
4c476cf3 493
e4447d94
MM
4942002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
495
496 * config/avr/avr.c (avr_mcu_types): Update supported devices.
497 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
498 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
499
3a538a66
KH
5002002-05-11 Kazu Hirata <kazu@cs.umass.edu>
501
502 * dbxout.c: Fix formatting.
503 * dependence.c: Likewise.
504 * df.c: Likewise.
505 * diagnostic.c: Likewise.
506 * doloop.c: Likewise.
507 * dominance.c: Likewise.
508 * doschk.c: Likewise.
509 * dwarf2asm.c: Likewise.
510 * dwarf2out.c: Likewise.
511 * dwarfout.c: Likewise.
512
2292e8fc
RH
5132002-05-10 Richard Henderson <rth@redhat.com>
514
515 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
516 Convert integers constants as needed. Replace "nwords" field with
517 "sizeof_bb".
518 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
519 * function.h: Fix typo in comment.
520 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
521
dbfb1116
RS
5222002-05-10 Roger Sayle <roger@eyesopen.com>
523
524 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
525 into the equivalent (signed char)c > 0.
526
79a497cd
JJ
5272002-05-10 Janis Johnson <janis187@us.ibm.com>
528
529 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
530 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
531 (struct prefetch_info): Fix spelling of member bytes_accessed.
532 (emit_prefetch_instructions): Make dump messages more regular;
533 restructure code to add more dump messages; use new macros for
534 heuristics. (There are no code generation changes in any of this).
535
6c45cb0d
DM
5362002-05-10 David S. Miller <davem@redhat.com>
537
7440af14
DM
538 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
539 (struct rtx_def): Update unchanging flag comment.
540 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
541 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
542 to be handled to INSN too.
543 (dbr_schedule): Likewise.
544 * resource.c (next_insn_no_annul): Likewise.
545
6c45cb0d
DM
546 * cse.c (rtx_cost): Remove multiplication by power of 2 special
547 casing.
548
29f21e4f
GP
5492002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
550
551 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
552 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
553 (possibly) work around broken /bin/sh.
554
e4ba88da
RO
5552002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
556
557 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
558 . as N64/N32 libgcc_s.so subdirs.
559
4f4778ee
DM
5602002-05-10 David S. Miller <davem@redhat.com>
561
562 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
563
564 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
565 more accurately.
566 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
567 comment.
568 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
569 * doc/rtl.texi: Document these macros more accurately.
570 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
571 JUMP_INSNs and CALL_INSNs.
572 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
573 or INSN_FROM_TARGET_P if the code is appropriate.
574
1a499b92
MM
5752002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
576
577 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
578 before using SYMBOL_REF_FLAG (addr).
579
580 * config/avr/avr-protos.h (avr_io_address_p): Declare.
581 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
582 Make non-static. Update all callers.
583 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
584 New insns to clear/set/test a single bit in I/O address space.
585
65212b66
KG
5862002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
587
588 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
589
3df89291
NB
5902002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
591
592 * Makefile.in: Update.
593 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
594 builtin_define_std): New.
595 (c_common_init): Register CPP builtins callback.
596 * c-common.h (flag_iso, flag_undef): New.
597 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
598 * c-lex.c: Don't include target.h.
599 (cb_register_builtins): Move to c-common.c.
600 (init_c_lex): Don't register hook here.
601 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
602 (cpp_define, cpp_assert): Remove.
603 * gcc.c (cc1_options): Pass -undef to front end.
604 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
605 (TARGET_INITIALIZER): Update.
606 * target.h (struct cpp_reader): Don't predeclare.
607 (struct gcc_target): Remove cpp builtin hook.
608 * tree.c (default_register_cpp_builtins): Remove.
609doc:
610 * tm.texi: Update.
611
32fa4565
NB
6122002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
613
614 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
615
23357c55
RO
6162002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
617
618 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
619 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
620
5aa26af0
JJ
6212002-05-09 Jakub Jelinek <jakub@redhat.com>
622
623 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
624 * config/sparc/libgcc-sparc-glibc.ver: New file.
625 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
626 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
627
2937267b
JJ
6282002-05-09 Jakub Jelinek <jakub@redhat.com>
629
630 PR target/6429
631 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
632 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
633 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
634 base multilibs.
635 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
636 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
637 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
638 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
639
086c0f96
RH
6402002-05-09 Richard Henderson <rth@redhat.com>
641
642 * config/ia64/ia64.md: Use define_constants for unspec numbers.
643 * config/ia64/ia64.c: Likewise.
644
a8b4881f
RS
6452002-05-09 Richard Sandiford <rsandifo@redhat.com>
646
647 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
648 (save_restore_insns): Likewise.
649 (mips_expand_prologue, mips_expand_epilogue): Update callers.
650 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
651
890d52e8
JL
652Thu May 9 11:50:09 2002 Jeffrey A Law (law@cygnus.com)
653
af2728a4
JL
654 * athlon.md, k6.md, pentium.md, ppro.md): New files.
655 * i386.md: Move scheduling information into new files.
656
890d52e8
JL
657 * i386.md (type attribute): Add "rotate" for rotate insns.
658 (rotate insns): Set type to "rotate".
659 (various attributes and function units): Treat rotate like shift.
660 (pent_pair attribute): Only rotates by one bit position are
661 pairable.
662 (sbb insns): Explicitly set pent_pair attribute on a couple
663 that were missing it.
664
f78ec36a
R
665Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
666
667 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
668 make sure that buffer starts on odd word address.
669 (sh_va_arg): Skip odd fp registers when reading a double precision
670 value.
671
ff431459
NB
6722002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
673
674 * tree.h (preserve_data, object_permanent_p, type_precision):
675 Remove.
676
c3bf3e6e
NB
6772002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
678
679 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
680 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
681doc:
682 * cpp.texi: Update for removal of obsolete features.
683
02263a8a
JH
684Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
685 Jeffrey A Law (law@redhat.com)
686
687 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
688 the DFA interface for Pentium processors.
689 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
690 (attr_pent_pair, ix86_pent_find_pair): Remove.
691 (ix86_sched_reorder_pentium): Remove.
692 (ix86_sched_reorder): Remove reordering for Pentium.
693 * i386.md (Pentium scheduling): Rewrite using DFA description.
694
3e638a90
JH
695Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
696
697 * cfganal.c (can_fallthru): Fix fast path.
698 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
699 with edges to the next block.
700
b7c9bf28
JH
701Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
702 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
703
704 * final.c (end_final): Use C trees to output data structures for profiling.
705
706 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
707 (profile.o): New dependency profile.h
708 (final.o): New dependency profile.h
709 * profile.h: New file. New global structure profile_info.
710 * final.h (count_edges_instrumented_now): Declare.
711 (current_function_cfg_checksum): Declare.
712 (function_list): New structure.
713 (functions_head, functions_tail): New static variables.
714 (end_final): Emits more data, removed some -ax stuff.
715 (final): Stores function names and chcksums.
716 * gcov-io.h (__write_gcov_string): New function.
717 (__read_gcov_string): New function.
718 * gcov.c (read_profile): New function.
719 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 720 da_file.
5692c7bc
ZW
721 (read_files): Removed da_file checking, it's done by read_profile now.
722 * libgcc2.c (bb_function_info): New structure.
723 (bb): New field in structure, removed some -ax stuff.
724 (__bb_exit_func): Changed structure of da_file.
725 * profile.c (count_edges_instrumented_now): New global variable.
726 (current_function_cfg_checksum): New global variable.
727 (max_counter_in_program): New global variable.
728 (get_exec_counts): New function.
729 (compute_checksum): New function.
730 (instrument_edges): Sets count_edges_instrumented_now.
731 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 732 reading da_file.
5692c7bc
ZW
733 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
734 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 735 now.
5692c7bc 736 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 737 now.
5692c7bc 738 * gcov.texi: Updated information about gcov file format.
b7c9bf28 739
786de7eb
KH
7402002-05-09 Kazu Hirata <kazu@cs.umass.edu>
741
742 * sbitmap.c: Fix formatting.
743 * scan.c: Likewise.
744 * scan-decls.c: Likewise.
745 * sched-deps.c: Likewise.
746 * sched-ebb.c: Likewise.
747 * sched-rgn.c: Likewise.
748 * sched-vis.c: Likewise.
749 * sdbout.c: Likewise.
750 * sibcall.c: Likewise.
751 * simplify-rtx.c: Likewise.
752 * ssa.c: Likewise.
753 * ssa-ccp.c: Likewise.
754 * ssa-dce.c: Likewise.
755 * stmt.c: Likewise.
756 * stor-layout.c: Likewise.
757 * stringpool.c: Likewise.
758
b7764693
DM
7592002-05-09 David S. Miller <davem@redhat.com>
760
761 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
762
4e7d5d27
DM
7632002-05-07 David S. Miller <davem@redhat.com>
764
765 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
766 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
767 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
768 library implementation clobbers the output before the inputs
769 are fully consumed, use stack temporary for the output.
770
f979570e
JT
7712002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
772
773 * config/netbsd.h (CPP_SPEC): Remove.
774 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
775 * config/i386/netbsd.h (CPP_SPEC): Define.
776 * config/ns32k/netbsd.h (CPP_SPEC): Define.
777 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
778 * config/sparc/netbsd.h (CPP_SPEC): Define.
779 * config/vax/netbsd.h (CPP_SPEC): Define.
780
a6a2274a
KH
7812002-05-08 Kazu Hirata <kazu@cs.umass.edu>
782
783 * read-rtl.c: Fix formatting.
784 * real.c: Likewise.
785 * recog.c: Likewise.
786 * regclass.c: Likewise.
787 * regmove.c: Likewise.
788 * reg-stack.c: Likewise.
789 * reload1.c: Likewise.
790 * reload.c: Likewise.
791 * resource.c: Likewise.
792 * rtlanal.c: Likewise.
793 * rtl.c: Likewise.
794 * rtl-error.c: Likewise.
795
461b48d5
JDA
7962002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
797
798 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
799 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
800
95d075ff
BS
8012002-05-08 Bernd Schmidt <bernds@redhat.com>
802
803 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
804 use __SSE2__ macro instead.
805 * config/i386/xmmintrin.h: Likewise.
806
2d4cc6a7
JJ
8072002-05-08 Janis Johnson <janis187@us.ibm.com>
808
809 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
810 and use it in all invocations of these macros. Clean up comments.
811 * rtl.c (rtl_check_failed_flag): Add an argument for the name
812 of the flag access macro whose check failed.
813 * doc/rtl.texi (Flags): Document additional flag uses.
814
3f8ffc7c
RS
8152002-05-08 Robert Spier <rspier@pobox.com>
816 Neil Booth <neil@daikokuya.demon.co.uk>
817
818 PR preprocessor/6521
819 * cppfiles.c (handle_missing_header): Don't do anything
820 different for <> includes.
821doc:
822 * cppopts.texi: Update documentation for -MG.
823
b9e2d17b
NB
8242002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
825
826 * cpplex.c (cpp_interpret_charconst): Truncate as well as
827 sign-extend.
828doc:
829 * cpp.texi: Clarify multichar charconst valuation.
830
8d8269fa
MM
8312002-05-08 Mark Mitchell <mark@codesourcery.com>
832
833 * doc/invoke.texi: Document -mwindiss option.
834
29b91443
JM
8352002-05-08 Jason Merrill <jason@redhat.com>
836
837 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
838
839 * dwarf2out.c (gen_type_die): Abort on broken recursion.
840
841 PR c++/6381
842 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
843 REAL_CST.
844
6c76b950
NC
8452002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
846
847 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
848 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 849 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
850 multilibs for the Thumb.
851
f90bf7ca
MM
8522002-05-08 Mark Mitchell <mark@codesourcery.com>
853
854 PR c/6569.
855 * varasm.c (mark_weak): New function.
856 (merge_weak): Use it. Do not call declare_weak.
857 (declare_weak): Use merge_weak.
858
1e150f2c
JH
859Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
860
861 * cse.c (dead_libcall_p): Update counts.
862 (delete_trivially_dead_insns): Update call of dead_libcall_p.
863
969d70ca
JH
864Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
865
866 * cfglayout.c (function_tail_eff_head): Rename to ...
867 (function_footer): ... this one.
868 (unlink_insn_chain): New functions.
869 (label_for_bb): Only call block_label and emit debug message.
870 (record_effective_endpoints): Actually unlink the headers and footers.
871 (fixup_reorder_cahin): Re-insert the unlinked sequences.
872 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
873 * cfglayout.h (struct reorder_block_def): New fields footer/header;
874 remove eff_head/eff_end.
875 * rtl.h (set_first_insn): Declare.
876 * emit-rtl.c (set_first_insn): New function.
877
878 * cfglayout.c (fixup_reorder_chain): Dump duplicated
879 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
880 cfg_layout_duplicate_bb): New global function.
881 (duplicate_insn_chain): New static function.
882 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
883 cfg_layout_duplicate_bb): Declare.
884 (struct reorder_block_def): Add "original" field.
885 * emit-rtl.c (emit_copy_of_insn_after): New function.
886 * rtl.h (emit_copy_of_insn_after): Declare.
887
888 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
889 (fixup_reorder_chain): properly handle edges to exit block.
890
891Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
892 Jan Hubicka <jh@suse.cz>
893
894 * basic-block.h (note_prediction_to_br_prob): declare.
895 * c-semantics.c: Inlucde predit.h
896 (expand_stmt): predict GOTO_STMT as not taken.
897 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
898 (cleanup_cfg): Do not free tail_recursion_list.
899 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
900 (flow_delete_block): Kill predictions past end of basic block.
901 * output.h (delete_unreachable_blocks): Declare.
902 * predict.c (predicted_by_p, process_note_predictions,
903 process_note_prediction, last_block_p): New function.
904 (estimate_probability): Bypass loop on PRED_CONTINUE;
905 do not handle noreturn heuristics; kill PRED_RETURN; add
906 PRED_EARLY_RETURN.
907 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
908 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
909 * predict.h (IS_TAKEN): New constant.
910 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
911 * rtl.c (NOTE_INSN_PREDICTION): New.
912 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
913 New macro.
914 (insn_note): add NOTE_INSN_PREDICTION.
915 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
916 CFG; free tail_recursion_label_list.
917 * stmt.c: Include predict.h;
918 (return_prediction): New.
919 (expand_value_return): Use it.
920 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
921
41f8d041
RS
9222002-05-08 Richard Sandiford <rsandifo@redhat.com>
923
924 * config/mips/mips.md: Name the unspecs with define_constant.
925 (*HILO_delay): Rename to 'hilo_delay' (no star).
926 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
927 (reload_outdi, reload_outsi): Likewise.
928
9cabb1d8
KH
9292002-05-07 Kazu Hirata <kazu@cs.umass.edu>
930
931 * toplev.c: Fix formatting.
932
4c76f856
JJ
9332002-05-07 Janis Johnson <janis187@us.ibm.com>
934
935 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
936 * configure.in (ac_rtlflag_checking): New.
937 * doc/install.texi (--enable-checking): Document RTL flag checking.
938
44a147ad
NB
9392002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
940
941 * c-common.c (c_common_init): Set options->unsigned_wchar.
942 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
943 group target dependencies.
944 (init_builtins, cpp_handle_option): Update.
945 * cpplex.c (cpp_interpret_charconst): Update.
946 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
947 signed_char to unsigned_char, group target dependencies.
948 * defaults.h (WCHAR_UNSIGNED): Remove.
949 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
950config:
951 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
952 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
953 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
954 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
955 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
956doc:
957 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
958
cace4f93
MM
9592002-05-07 Mark Mitchell <mark@codesourcery.com>
960
961 * fixinc/inclhack.def (windiss_math1): New fix.
962 (windiss_math2): Likewise.
963 (windiss_valist): Likewise.
964 * fixinc/fixincl.x: Regenerated.
965
e2ff6cee
AJ
9662002-05-07 Andreas Jaeger <aj@suse.de>
967
968 * genautomata.c (output_internal_min_issue_delay_func): Add
969 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
970 (output_internal_trans_func): Likewise.
971
bdad4be5
JL
972Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
973
974 * pa.c (hppa_profile_hook): Use force_reg to get the address
975 of the profile hook into an appropriate pseudo register.
976
a1ffecd9
MM
9772002-05-07 Mark Mitchell <mark@codesourcery.com>
978
979 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
980 (LINK_START_SPEC): Handle it.
981 (LINK_OS_SPEC): Likewise.
982 (CPP_SPEC): Likewise.
983 (STARTFILE_SPEC): Likewise.
984 (LIB_SPEC): Likewise.
985 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
986 all platforms.
987 (CRTSAVRES_DEFAULT_SPEC): New macro.
988 (LIB_WINDISS_SPEC): New macro.
989 (CPP_OS_WINDISS_SPEC): Likewise.
990 (STARTFILE_WINDISS_SPEC): Likewise.
991 (ENDFILE_WINDISS_SPEC): Likewise.
992 (LINK_START_WINDISS_SPEC): Likewise.
993 (LINK_OS_WINDISS_SPEC): Likewise.
994 * config/rs6000/windiss.h: New file.
e2ff6cee 995
df966bff
AH
9962002-05-07 Aldy Hernandez <aldyh@redhat.com>
997
a5c76ee6 998 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 999
db84f1bd
DM
10002002-05-06 David S. Miller <davem@redhat.com>
1001
1002 * config/sparc/sparc.md (shift insns): Do not mask off
1003 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
1004 take care of it.
1005
818c0c94
RH
10062002-05-06 Richard Henderson <rth@redhat.com>
1007
1008 PR c++/6212
1009 * expr.c (highest_pow2_factor_for_type): New.
1010 (expand_assignment): Use it.
1011
61e0b50f
AH
10122002-05-06 Aldy Hernandez <aldyh@redhat.com>
1013
818c0c94
RH
1014 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
1015 unspec_volatile.
1016 ("altivec_mfvscr"): Same.
61e0b50f 1017
5a63e069
JJ
10182002-05-06 Janis Johnson <janis187@us.ibm.com>
1019
1020 * rtl.h (struct rtx_def): Update comments.
1021 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
1022 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
1023 RTL_FLAG_CHECK macros with list of expected RTL codes.
1024 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
1025 (rtl_check_failed_flag): New.
1026 * reload1.c (reload): Use REG macro before changing rtx to MEM.
1027 (reload_cse_noop_set_p): Check rtx code before using access macro.
1028 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
1029 before using access macro.
1030
4afe3952
JJ
10312002-05-06 Janis Johnson <janis187@us.ibm.com>
1032
1033 * doc/rtl.texi (Flags): Update to reflect current usage.
1034
1f77b5da
RS
10352002-05-06 Roger Sayle <roger@eyesopen.com>
1036
1037 PR opt/3995
1038 * fold-const.c (sign_bit_p): New function.
1039 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 1040 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
1041 Reapply fold when converting (A & C) == C into (A & C) != 0.
1042 (fold_binary_op_with_conditional_arg): Fix typo in comment.
1043
a5a49440
NB
10442002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
1045
1046 * c-common.c (warn_multichar): New.
1047 (c_common_init): Set CPP's warn_multichar.
1048 * c-common.h (warn_multichar): New.
1049 * c-decl.c (warn_multichar): Remove.
1050 * c-lex.c (lex_charconst): Update.
1051 * c-tree.h (warn_multichar): Remove.
1052 * cppexp.c (eval_token): Sign-extend charconst value.
1053 * cppinit.c (cpp_create_reader): Set warn_multichar.
1054 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
1055 each character. Update prototype. Sign-extend the result.
1056 * cpplib.h: Fix conditions.
1057 (struct cpp_options): Add new warning flag.
1058 (cpp_interpret_charconst): Update prototype.
1059doc:
1060 * cpp.texi: Update documentation.
1061
83e0be55
VM
10622002-05-06 Vladimir Makarov <vmakarov@redhat.com>
1063
1064 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1065 Fix typo in usage of allof instead of unit.
1066
688ec718
RH
10672002-05-06 Richard Henderson <rth@redhat.com>
1068
1069 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
1070 and any jump or call for IN.
1071
f6536266
BS
10722002-05-06 Bernd Schmidt <bernds@redhat.com>
1073
e2ff6cee 1074 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
1075 -msse2.
1076 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 1077
0316d49b
RS
10782002-05-06 Roger Sayle <roger@eyesopen.com>
1079
1080 * fold-const.c (lshift-double): Cast the high word to an unsigned
1081 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
1082 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
1083 avoid compiler warning. (fold): Remove redundant code from
1084 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
1085
5d50fab3
JL
10862002-05-06 Jeff Law <law@redhat.com>
1087
1088 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
1089 * pa.c (pa_adjust_cost): Remove all true dependency cost
1090 adjustments. Also remove support for non-DFA scheduling.
1091 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
1092 to adjust true dependency costs. Update various comments.
1093 (7100lc, 7200, 7300 scheduling): Simplify by combining the
1094 FP ALU & MPY units into a single unit.
1095
a17a104c
CM
10962002-05-06 Catherine Moore <clm@redhat.com>
1097
1098 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 1099 to count all of the registers that will be saved.
a17a104c 1100
7799175f
JH
1101Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
1102
1103 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
1104
0ac941a0
DM
11052002-05-06 David S. Miller <davem@redhat.com>
1106
1107 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
1108 allow result to overlap input operands in memory.
1109
95ff5d3f
NB
11102002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
1111
1112doc:
1113 * cpp.texi: Update multichar charconst docs.
1114
639e8b0c
NB
11152002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
1116
1117 * cpplex.c (cpp_interpret_charconst): Sign-extend each
1118 character. Don't ignore excess characters. Treat
1119 multicharacter character constants as signed.
1120 (cpp_parse_escape): Clarify diagnostic.
1121
84ea5bc1
JJ
11222002-05-05 Jakub Jelinek <jakub@redhat.com>
1123
1124 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
1125 use add instead of shift.
1126 (ashldi3_sp64): Likewise.
1127 (ashlsi3_const1, ashldi3_const1): Remove.
1128 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
1129 * config/sparc/sparc.c (const1_operand): New.
1130
40cd22f2
JT
11312002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
1132
1133 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
1134
cac01076
JJ
11352002-05-05 Jakub Jelinek <jakub@redhat.com>
1136
1137 PR target/6561
1138 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
1139
98791e3a
RH
11402002-05-05 Richard Henderson <rth@redhat.com>
1141
1142 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
1143 memory latency adjustments.
1144 (alpha_variable_issue): Remove.
1145 (alpha_use_dfa_pipeline_interface): New.
1146 (alpha_multipass_dfa_lookahead): New.
1147 * config/alpha/alpha.md: Remove define_function_unit scheduling;
1148 include new dfa scheduling.
1149 (attr type): Add none.
1150 (blockage): Use it.
1151 * config/alpha/ev4.md: New.
1152 * config/alpha/ev5.md: New.
1153 * config/alpha/ev6.md: New.
1154
309527ce
DM
11552002-05-05 David S. Miller <davem@redhat.com>
1156
1157 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
1158
68252e27
KH
11592002-05-05 Kazu Hirata <kazu@cs.umass.edu>
1160
1161 * cse.c: Fix formatting.
1162 * emit-rtl.c: Likewise.
1163
30cc9d00
VM
11642002-05-05 Vladimir Makarov <vmakarov@redhat.com>
1165
1166 * genautomata.c (initiate_states): Add additional guard to
1167 initialize `units_array'.
1168
deb09eff
VM
11692002-05-05 Vladimir Makarov <vmakarov@redhat.com>
1170
1171 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
1172 process_unit_to_form_the_same_automaton_unit_lists,
1173 form_the_same_automaton_unit_lists
1174 check_unit_distributions_to_automata): New prototypes and
1175 functions.
1176 (check_automata): Rename it into `check_automata_insn_issues'.
1177 (unit_decl): New fields `the_same_automaton_unit' and
1178 `the_same_automaton_message_reported_p'.
1179 (unit_decl_t): New typedef.
1180 (the_same_automaton_lists): New gloval variable.
1181 (unit_regexp, unit_set_el, units_array, units_cmp,
1182 output_get_cpu_unit_code_func): Use the typedef.
1183 (evaluate_max_reserv_cycles): Increment
1184 `description->max_insn_reserv_cycles'.
1185 (initiate_states): Don't increment `max_cycles_num'.
1186 (transform_insn_regexps): Move code around transformation of
1187 regexps from `generate'.
1188 (generate): Remove call of `transform_insn_regexps'.
1189 (expand_automata): Call `transform_insn_regexps' and
1190 `check_unit_distributions_to_automata'. Check errors before
1191 `generate'.
1192
1193 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
1194 automaton `ultrasparc3_1'.
e2ff6cee 1195
2443d4e1
NB
11962002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
1197
1198 * c-common.c (c_common_init): Set up CPP arithmetic.
1199 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
1200 something reasonable for the host.
1201 (sanity_checks): Add checks.
1202 (cpp_read_main_file): Call sanity_checks() from here...
1203 (cpp_post_options): ... not here.
1204 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
1205 * cpplib.h (struct cpp_options): New member int_precision.
1206
791a949f
FS
12072002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1208
1209 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
1210
091fb516
DM
12112002-05-04 David S. Miller <davem@redhat.com>
1212
f60ebeb7
DM
1213 * config/sparc/linux.h, config/sparc/linux64.h
1214 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
1215
214c6394
DM
1216 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
1217 more RTX codes.
1218 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
1219
091fb516
DM
1220 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
1221 of SETs.
1222
f2fdc802
TJ
12232002-05-05 Tim Josling <tej@melbpc.org.au>
1224
e2ff6cee 1225 * treelang; New directory for new sample language treelang.
f2fdc802 1226
3d90d290
NB
12272002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
1228
1229 * Makefile.in (c-lex.o): Update.
1230 * c-lex.c: Include target.h.
1231 (cb_register_builtins): New.
1232 (init_c_lex): Set builtins callback.
1233 * c-lex.h (cpp_define, cpp_assert): New prototypes.
1234 * cppinit.c (init_builtins): Use callback, including for
1235 GXX_WEAK.
1236 * cpplib.h (struct cpp_callbacks): New member.
1237 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
1238 (TARGET_INITIALIZER): Update.
1239 * target.h (struct gcc_target): New hook.
1240 * tree.c (default_register_cpp_builtins): New.
1241 * tree.h (default_register_cpp_builtins): New.
1242doc:
1243 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
1244
625458d0
NB
12452002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
1246
1247 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
1248 (cpp_post_options): Move sanity checks to...
1249 (sanity_checks): New.
1250 * cpplex.c (maybe_read_ucs): Fix prototype.
1251 (parse_string, cpp_parse_escape): Cast for %c format specifier.
1252 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
1253 if necessary.
1254
916b60b7
BS
12552002-05-04 Bernd Schmidt <bernds@redhat.com>
1256
1257 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
1258 builtins. Use V2DI patterns instead of TI for logical operations.
1259 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
1260 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
1261 (ix86_expand_builtins): Change the pattern used for movntdq.
1262 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
1263 sse2_nandv2di3): New patterns.
1264 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
1265 on operands.
1266 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
1267 (cvtdq2pd): Correct mode on operand 1.
1268 (sse2_umulsidi3): Describe without unspec.
1269 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
1270 machine modes.
1271 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
1272 (ashlv2di3): Likewise, from sse2_ashlv2di3.
1273 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
1274 ashlv4si3, ashlv2di3): Use SImode for shift count.
1275 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
1276 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
1277 New patterns.
1278 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
1279 New typedefs.
1280 (__m128i, __m128d): New macros.
1281 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
1282 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
1283 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
1284 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
1285 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 1286 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
1287 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
1288 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 1289 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
1290 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
1291 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
1292 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
1293 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
1294 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
1295 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
1296 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
1297 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
1298 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
1299 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
1300 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
1301 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
1302 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
1303 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
1304 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
1305 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
1306 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
1307 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
1308 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
1309 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
1310 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
1311 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
1312 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
1313 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
1314 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
1315 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
1316 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
1317 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
1318 functions.
e2ff6cee 1319 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
1320 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
1321
c26fbbca
KH
13222002-05-04 Kazu Hirata <kazu@cs.umass.edu>
1323
1324 * dwarf2out.c: Fix formatting.
1325 * varasm.c: Likewise.
1326
0387639b
DE
13272002-05-04 David Edelsohn <edelsohn@gnu.org>
1328
1329 PR c/6543
1330 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
1331 clobber and use result as temporary value.
1332
8a28dbcc
JH
1333Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
1334
1335 * expr.c (force_operand): Use expand_simple_* to handle more
1336 cases.
1337
4268e8bb
NB
13382002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
1339
1340 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
1341 and sign-extension.
1342 (lex_charconst): Update for change in prototype of
1343 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
1344 appropriately.
1345 * cpphash.h (BITS_PER_CPPCHAR_T): New.
1346 * cppinit.c (cpp_create_reader): Initialize them for no
1347 change in semantics.
1348 (cpp_post_options): Add sanity checks.
1349 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
1350 and truncation issues. Calculate in type cppchar_t.
1351 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
1352 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
1353 run-time dependent precision correctly. Return whether the
1354 result is signed or not.
1355 * cpplib.c (dequote_string): Use cppchar_t; update.
1356 * cpplib.h (cppchar_signed_t): New.
1357 struct cpp_options): New precision members.
1358 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 1359 * cppexp.c (eval_token): Update.
4268e8bb 1360
af54350e
DM
13612002-05-03 David S. Miller <davem@redhat.com>
1362
2ce04b6b
DM
1363 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
1364 * config/sparc/sparc.c (sparc_rtx_costs): New function
1365 implementing RTX_COSTS and CONST_COSTS.
1366 * config/sparc/sparc.h (CONST_COSTS): Delete.
1367 (RTX_COSTS_CASES): Define.
1368 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
1369 the work.
1370
a1d9bd0c
DM
1371 * config/sparc/sparc.md (DFA schedulers): Split out...
1372 * config/sparc/cypress.md, config/sparc/hypersparc.md,
1373 config/sparc/sparclet.md, config/sparc/supersparc.md,
1374 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
1375
e87bb82e
DM
1376 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
1377 checks on it, always defined for Sparc.
1378
af54350e
DM
1379 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
1380 Tweak, and add more detailed comments.
1381
935bfb44
ZW
13822002-05-03 Zack Weinberg <zack@codesourcery.com>
1383
1384 * Re-apply patch accidentally reverted with
1385 DFA scheduler merge: remove all rules and variables to slurp
1386 source files out of libiberty and rebuild them with HOST_CC.
1387 ($(HOST_PREFIX_1)varray.o): New rule.
1388 (genattrtab rule): Word wrap.
1389
fa7a0712
JT
13902002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
1391
1392 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
1393 (CPP_SUBTARGET_SPEC): Define.
1394 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
1395 cpp_subtarget specs.
1396 (CPP_SPEC): Redefine to include %(cpp_subtarget).
1397
14c93978
DM
13982002-05-03 David S. Miller <davem@redhat.com>
1399
1400 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
1401 * target.h (struct gcc_target): Delete cycle_display member.
1402
14d118d6
DM
1403 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
1404 (rtx_needs_barrier): Delete reference to cycle_display unspec.
1405 (ia64_sched_reorder2): Mention need for cycle display handling
1406 once such notes exist.
935bfb44 1407
b3ae1ccd
RH
14082002-05-03 Richard Henderson <rth@redhat.com>
1409
1410 * real.c (etoasc): Strip most trailing zeros for clarity.
1411 * sched-vis.c: Include real.h.
1412 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
1413 * Makefile.in (sched-vis.o): Add real.h.
1414
8f39865a
DM
14152002-05-03 David S. Miller <davem@redhat.com>
1416
1417 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
1418 no longer needed.
1419
b44140e7
AH
14202002-05-03 Aldy Hernandez <aldyh@redhat.com>
1421
935bfb44
ZW
1422 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
1423 when we get an out of range literal.
1424 (altivec_expand_ternop_builtin): Same.
1425 (altivec_expand_unop_builtin): Same.
1426 (altivec_expand_builtin): Same, for dss.
1427 (altivec_expand_builtin): Use trees instead of rtl when
1428 determining literal argument validity.
b44140e7 1429
aaaed752
DM
14302002-05-03 David S. Miller <davem@redhat.com>
1431
1432 Delete cycle display scheduling hook.
1433 * config/ia64/ia64.c (ia64_cycle_display,
1434 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
1435 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
1436 and use emit_insn_before instead of ia64_emit_insn_before.
1437 * config/ia64/ia64.md (unspec usage): Delete cycle display.
1438 (cycle_display): Delete insn pattern.
1439 * config/sparc/sparc.md (unspec usage): Delete cycle display.
1440 (cycle_display): Delete insn pattern.
1441 * config/sparc/sparc.c (sparc_cycle_display,
1442 TARGET_SCHED_CYCLE_DISPLAY): Delete.
1443 * doc/md.texi (cycle_display): Don't mention.
1444 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 1445
b37c2614
RH
14462002-05-03 Richard Henderson <rth@redhat.com>
1447
1448 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
1449 * recog.h: Declare them.
1450
1451 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
1452 * config/sparc/sparc.md: Use store_data_bypass_p instead.
1453 * config/sparc/sparc-protos.h: Update.
935bfb44 1454
e1c1132e
JT
14552002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
1456
1457 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
1458 -D__arch64__. Add -D_LP64.
1459 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
1460 from sparc.h.
1461 (CPP_ARCH64_SPEC): Likewise.
1462 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
1463 (NO_BUILTIN_SIZE_TYPE): Undef.
1464
0b2fb0d7
VM
14652002-05-03 Vladimir Makarov <vmakarov@redhat.com>
1466
1467 * genautomata.c (min_issue_delay_pass_states): Change return type
1468 in the prototype.
1469 (min_issue_delay_pass_states): Change the algorithm.
1470 (min_issue_delay): Set up min_insn_issue_delay for the state.
1471 (output_min_issue_delay_table): Interchange the nested loops and
1472 and initiate min_insn_issue_delay for states.
935bfb44 1473
3d4ce12a
JH
1474Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
1475
1476 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
1477 jump is simplejump.
1478
1479Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
1480
1481 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
1482 sequence.
1483
b5482208
RH
14842002-05-03 Richard Henderson <rth@redhat.com>
1485
1486 PR opt/6534
1487 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
1488 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
1489 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
1490 code before JUMP, not EARLIEST.
1491
5a3085c5
JM
14922002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
1493
1494 * c-format.c (check_format_info_main): Don't check for presence of
1495 parameter for * width until after operand number has been read,
1496 and only check for it if format parameters are available.
1497 Fixes PR c/6547.
1498
40039424
JT
14992002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
1500
1501 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
1502 (LINK_SPEC): Undef before defining.
1503
8157303b
JJ
15042002-05-03 Jakub Jelinek <jakub@redhat.com>
1505
1506 PR preprocessor/6489
1507 * tradcpp.c (fixup_newlines): New.
1508 (main, finclude): Use it.
1509
66319f5c
RS
15102002-05-03 Richard Sandiford <rsandifo@redhat.com>
1511
1512 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
1513 * config/mips/mips.c (mips_unique_section): Strip encoding from
1514 decl name.
1515
ce8076ad
JJ
15162002-05-03 Jakub Jelinek <jakub@redhat.com>
1517
1518 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
1519 mode.
1520
975c6e4e
RO
15212002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1522
1523 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
1524 (Specific): Removed buildstats references.
1525 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
1526 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
1527 Accomodate Solaris versions beyond 8.
1528 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
1529 (Specific, *-*-solaris2.8): Removed, obsolete.
1530
d70e94ec
JJ
15312002-05-03 Jakub Jelinek <jakub@redhat.com>
1532
1533 PR target/6542
1534 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
1535 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
1536 fill leaf_reg_remap with identity.
1537 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
1538
6b148bd9
KH
15392002-05-03 Kazu Hirata <kazu@cs.umass.edu>
1540
1541 * config/h8300/crti.asm: Remove trailing spaces.
1542 * config/h8300/h8300.c: Likewise.
1543 * config/h8300/lib1funcs.asm: Likewise.
1544
609688f3
JM
15452002-05-02 Jason Merrill <jason@redhat.com>
1546
1547 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
1548 * c-decl.c (c_init_decl_processing): Use it.
1549 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
1550 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
1551 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
1552
3b03c671
KH
15532002-05-03 Kazu Hirata <kazu@cs.umass.edu>
1554
1555 * regrename.c: Fix formatting.
1556 * tree.c: Likewise.
1557
3b4961bd
JH
1558Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
1559
1560 * i386.md (attribute memory): Handle compares properly.
1561
19cba4a0
JH
1562Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
1563
3b4961bd 1564 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
1565 to none.
1566
797a6ac1
KH
15672002-05-02 Kazu Hirata <kazu@cs.umass.edu>
1568
1569 * function.c: Fix formatting.
1570
6d0de005
JH
15712002-05-02 Jan Hubicka <jh@suse.cz>
1572
1573 * haifa-sched.c (schedule_insn): Print table of instructions and
1574 reservations.
1575 (sched_block): Do not print ready list at verbosity level 1.
1576 * sched-vis.c (print_insn): Make global.
1577 * sched-ebb.c (ebb_print_insn): Rename from...
1578 (print_insn): ... this one.
1579 * sched-int.h (print_insn): Declare
1580
0bfb9a69
RH
15812002-05-02 Richard Henderson <rth@redhat.com>
1582
1583 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
1584 emitted by cycle_display.
1585
6b976d99
LR
15862002-05-02 Loren J. Rittle <ljrittle@acm.org>
1587
1588 * doc/install.texi (*-*-freebsd*): Update to latest status.
1589
0a295052
JJ
15902002-05-02 Jakub Jelinek <jakub@redhat.com>
1591
1592 PR target/6540
1593 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
1594 * config/float-sparc.h: Assume 128-bit long double if
1595 __LONG_DOUBLE_128__ is defined.
1596
842d5d6c
VM
15972002-05-02 Vladimir Makarov <vmakarov@redhat.com>
1598
1599 * genattrtab.c (write_function_unit_info): Add a dummy element
1600 when num_units == 0.
1601
3d7a6309
HB
16022002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1603
1604 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
1605 TYPE_MODE (double_type_node) instead of DFmode.
1606
1b6763cf
JH
1607Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
1608
1609 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
1610 jumps post reload.
1611 * toplev.c (rest_of_compilation): Revert Richard's patch.
1612
b303008e
JDA
16132001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
1614
1615 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
1616
6ed7412a
CM
16172002-05-02 Catherine Moore <clm@redhat.com>
1618
1619 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
1620
e0a2f705
KH
16212002-05-02 Kazu Hirata <kazu@hxi.com>
1622
b32d6163 1623 * combine.c: Fix comment typos.
e0a2f705
KH
1624 * expr.c: Likewise.
1625 * genautomata.c: Likewise.
1626 * stmt.c: Likewise.
1627 * tree.h: Likewise.
1628
38e23049
JM
16292002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
1630
1631 * doc/install.texi: State GNAT version requirements.
1632
40f4a97d
NC
16332002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
1634
1635 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
1636 of the frame pointer or arg pointer register which strict register
1637 checking is not enabled.
1638
0d6d6892
AH
16392002-05-02 Aldy Hernandez <aldyh@redhat.com>
1640
b5482208 1641 * gcc.dg/altivec-8.c: New.
0d6d6892 1642
b5482208
RH
1643 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
1644 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 1645
abaa8559
BK
16462002-05-01 Bruce Korb <bkorb@gnu.org>
1647
1648 * fixinc/check.tpl(set-writable): make sure the function exists first
1649 * fixinc/inclhack.def(alpha_assert): fix test_text
1650 * fixinc/tests/base/assert.h: add in missing result
1651
ecab2143
JL
16522002-05-01 Jeff Law <law@redhat.com>
1653
1654 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
1655 'T' constraint.
1656
ea619b46
JB
16572002-05-01 Joel Brobecker <brobecker@gnat.com>
1658
1659 * dbxout.c (dbxout_type): Emit size information for range types,
1660 as well, but only when using GDB extensions.
1661
c72931a6
RH
16622002-05-01 Richard Henderson <rth@redhat.com>
1663
1664 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
1665 target-independent gnu binutils date test.
1666
2150ad33
RH
16672002-05-01 Richard Henderson <rth@redhat.com>
1668
1669 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
1670 info before expunging the block.
1671
1651cc96
JJ
16722002-05-01 Jakub Jelinek <jakub@redhat.com>
1673
1674 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
1675 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
1676 -M -or -MM is in effect.
1677
8998d5bf
ZW
16782002-05-01 Zack Weinberg <zack@codesourcery.com>
1679
1680 * config.gcc: Correct test of --enable-obsolete. Obsolete all
1681 A29k configurations.
1682 * doc/install.texi: Update to match.
1683
a81eed10
FS
16842002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1685
1686 PR bootstrap/6514
1687 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
1688 for duplicates. Always loop over whole list.
1689
8d53318f
RK
1690Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1691
1692 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
1693
4109b118
JS
16942002-05-01 Joel Sherrill <joel@OARcorp.com>
1695
1696 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
1697 support routines.
1698
c4a9c570
JS
16992002-05-01 Joel Sherrill <joel@OARcorp.com>
1700
1701 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
1702
ea112fc4
DE
17032002-05-01 David Edelsohn <edelsohn@gnu.org>
1704
1705 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
1706 (nabs_nopower): Same.
1707 (floatdisf2): New pattern.
1708 (absdi2): Convert to define_insn_and_split.
1709 (nabsdi2): Same.
1710 (trunctfsf2): Same.
1711 (floatditf2): Same.
1712 (floatsitf2): Same.
1713 (fix_trunctfdi2): Same.
1714 (fix_trunctfsi2): Same.
1715
dda78254
JM
17162002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
1717
1718 * doc/install.texi: Update Texinfo version requirement
1719 documentation.
1720
26aeede4
JJ
17212002-05-01 Jakub Jelinek <jakub@redhat.com>
1722
1723 PR target/6512, PR target/5628
1724 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
1725 when memory is not aligned.
1726 (movdf_insn_v9only_vis): Likewise.
1727 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
1728 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
1729 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
1730
9b7bc465
AH
17312002-05-01 Aldy Hernandez <aldyh@redhat.com>
1732
8998d5bf 1733 * gcc.dg/altivec-7.c: New.
9b7bc465 1734
8998d5bf 1735 * config/rs6000/altivec.h: Cleanup.
9b7bc465 1736
08b57fb3
AH
17372002-04-30 Aldy Hernandez <aldyh@redhat.com>
1738
8998d5bf
ZW
1739 * doc/invoke.texi (Option Summary): Add -mvrsave=.
1740 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 1741
8998d5bf
ZW
1742 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
1743 (rs6000_altivec_vrsave_string): Same.
1744 (rs6000_override_options): Call rs6000_parse_vrsave_option.
1745 (rs6000_parse_vrsave_option): New.
1746 (rs6000_stack_info): Only generate vrsave instructions when
1747 TARGET_ALTIVEC_VRSAVE.
08b57fb3 1748
8998d5bf
ZW
1749 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
1750 (rs6000_altivec_vrsave_string): Define extern.
1751 (rs6000_altivec_vrsave): Same.
1752 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 1753
8e8c38cd
RH
17542002-04-30 Richard Henderson <rth@redhat.com>
1755
1756 PR opt/6516
1757 * toplev.c (rest_of_compilation): Don't run cross-jump before
1758 bb-reorder.
1759
4be9e9cb
TR
17602002-04-30 Tom Rix <trix@redhat.com>
1761
8998d5bf 1762 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
1763 check which_alternative.
1764
1eeeb6a4
KH
17652002-04-30 Kazu Hirata <kazu@hxi.com>
1766
1767 * cpplex.c: Fix comment formatting.
1768 * function.c: Likewise.
1769 * integrate.c: Likewise.
1770 * regrename.c: Likewise.
1771 * sibcall.c: Likewise.
1772 * simplify-rtx.c: Likewise.
1773 * tree-inline.c: Likewise.
1774
ed9d6ff9
JDA
17752002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
1776
1777 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
1778 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
1779 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
1780 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
1781 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
1782 * pa/x-ada: New file. Define ADA_CFLAGS.
1783
1f2641b6
HPN
17842002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
1785
1786 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
1787 from MMIX_LAST_REGISTER_FILE_REGNUM.
1788 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
1789 (struct machine_function): New member highest_saved_stack_register
1790 previously static variable in mmix.c.
1791 (MACHINE_DEPENDENT_REORG): Define.
1792 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
1793 (MMIX_OUTPUT_REGNO): New.
1794 (mmix_target_asm_function_prologue): Move calculation of last used
1795 saved-stack-register into...
1796 (mmix_machine_dependent_reorg): New function. Update to also handle
1797 !TARGET_ABI_GNU.
1798 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
1799 register names, simplify somewhat by new variable regno.
1800 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
1801 register.
1802 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
1803 emitting register names.
1804 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
1805 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
1806 Remove fixed FIXME.
1807 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
1808 Declare.
1809
1810 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
1811
73985940
RH
18122002-04-30 Richard Henderson <rth@redhat.com>
1813
1814 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
1815 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
1816 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
1817 emit_tfmode_cvt): New.
1818 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
1819 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
1820 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
1821 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
1822 * config/sparc/sparc-protos.h: Update.
1823
2b46bc67
JJ
18242002-04-30 Janis Johnson <janis187@us.ibm.com>
1825
1826 * install.texi (Final install): Add to the list of info to include
1827 in a report of a successful bootstrap, and add link to 3.1 list.
1828
3d34cd91
JH
1829Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
1830
1831 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
1832 (mode): Add vector modes
1833 (i387): Kill attribute.
1834 (unit): New attribute.
1835 (length_immediate): Grok new types.
1836 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
1837 (modrm): Use "unit".
1838 (memory): Handle MMX/SSE properly.
1839 (scheduling descriptions): Kill uses of fop1.
1840 (sse, mmx, fp patterns): Set type and mode properly.
1841
3193c415
JL
1842Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@cygnus.com)
1843
30482eb0
JL
1844 * pa.c (override_options): Default to PA8000 scheduling.
1845 * doc/invoke.texi (HP-PA options): Mention newly added 7300
1846 scheduling parameter.
1847
3193c415
JL
1848 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
1849 handling of double precision multiplies.
1850
1851 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
1852 fpdiv and fpsqrt instructions.
1853 (7200 & 7300 scheduling): Fix typo in handling of
1854 store-load and store-store penalties.
1855
c0a34cb7
GP
18562002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1857
1858 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
1859 mips. Add two missing commas.
1860
8bce0628
PC
18612002-04-30 Paolo Carlini <pcarlini@unitus.it>
1862
1863 * doc/contrib.texi (Contributors): Update Paolo Carlini's
1864 and Benjamin Kosnik's entries.
1865
84643cbf
DM
18662002-04-29 David S. Miller <davem@redhat.com>
1867
1868 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
1869 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
1870 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
1871 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
1872
da6886f6
FS
18732002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1874
1875 * combine.c (find_split_point): Use gen_int_mode.
1876
fae15c93
VM
18772002-04-29 Vladimir Makarov <vmakarov@redhat.com>
1878
1879 Merging code from dfa-branch:
8998d5bf 1880
fae15c93
VM
1881 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
1882
1883 * genautomata.c (output_reserv_sets): Fix typo.
1884
1885 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
1886
1887 * genautomata.c (output_reserv_sets): Remove
1888 next_cycle_output_flag.
1889
1890 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
1891
8998d5bf
ZW
1892 * sched-rgn.c (init_ready_list): Make the DFA code handle
1893 USE/CLOBBER insns in the same way as the traditional
1894 scheduler.
1895 (new_ready): Similarly..
fae15c93
VM
1896
1897 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
1898
1899 * haifa-sched.c (schedule_block): Change the DFA state only after
1900 issuing insn.
1901
1902 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
1903
1904 * pa.c (hppa_use_dfa_pipeline_interface): New function.
1905 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
1906 (override_options): Add PA7300 scheduling support.
1907 (pa_adjust_cost): Update various comments. Properly
1908 handle anti and output dependencies when using the
1909 DFA scheduler.
1910 (pa_issue_rate): Add PA7300 scheduling support.
1911 (pa_can_combine_p): Call extract_insn before calling
1912 constrain_operands (taken from mainline tree).
1913 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
1914 * pa.md (cpu attr): Add 7300. Rewrite pipeline
1915 descriptions using DFA descriptions. Add PA7300
1916 scheduling support.
1917
1918 2002-03-30 David S. Miller <davem@redhat.com>
1919
1920 Add UltraSPARC-III DFA scheduling support.
1921 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
1922 Update FP conditional move on register insn patterns to use it, as
1923 appropriate.
1924 (define_attr cpu): Add ultrasparc3.
1925 (define_attr us3load_type): New, update integer load patterns to
1926 set it, as appropriate.
1927 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
1928 (rest): Add UltraSPARC3 scheduling description.
1929 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
1930 (PROCESSOR_ULTRASPARC3): New.
1931 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
1932 ({ASM,CPP}_CPU_SPEC): Likewise.
1933 (REGISTER_MOVE_COST): Likewise.
1934 (RTX_COSTS): Likewise.
1935 * config/sparc/sparc.c (sparc_override_options,
1936 sparc_initialize_trampoline, sparc64_initialize_trampoline,
1937 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
1938 sparc_issue_rate): Likewise.
1939 * config/sparc/sol2.h: Likewise.
1940 * config/sparc/sol2-sld-64.h: Likewise.
1941 * config/sparc/linux64.h: Likewise.
8998d5bf 1942
fae15c93
VM
1943 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
1944
1945 * doc/md.texi: Add comments about usage the latency time for the
1946 different dependencies and about case when two or more conditions
1947 in different define_insn_reservations returns TRUE for an insn.
1948
1949 * doc/md.texi: Add reference for automaton based pipeline
1950 description.
8998d5bf 1951
fae15c93
VM
1952 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
1953
1954 * doc/passes.texi: Add missed information about genattrtab.
1955
1956 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
1957
1958 * genautomata.c (output_automata_list_transition_code): Check
1959 automata_list on NULL.
1960
1961 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
1962
1963 * genautomata.c (output_insn_code_cases,
1964 output_automata_list_min_issue_delay_code,
1965 output_automata_list_transition_code,
1966 output_automata_list_state_alts_code): Comment the functions.
1967
1968 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
1969
1970 * genautomata.c (automata_list_el_t): New typedef.
1971 (get_free_automata_list_el,free_automata_list_el,
1972 free_automata_list, automata_list_hash, automata_list_eq_p,
1973 initiate_automata_lists, automata_list_start, automata_list_add,
1974 automata_list_finish, finish_automata_lists,
1975 output_insn_code_cases, output_automata_list_min_issue_delay_code,
1976 output_automata_list_transition_code,
1977 output_automata_list_state_alts_code, add_automaton_state,
1978 form_important_insn_automata_lists): New functions and prototypes.
1979 (insn_reserv_decl): Add members important_automata_list and
1980 processed_p.
1981 (ainsn): Add members important_p.
1982 (automata_list_el): New structure.
1983 (first_free_automata_list_el, current_automata_list,
1984 automata_list_table): New global variables.
1985 (create_ainsns): Initiate member important_p.
1986 (output_internal_min_issue_delay_func): Generate the switch and
1987 call output_insn_code_cases.
1988 (output_internal_trans_func, output_internal_state_alts_func):
1989 Ditto.
1990 (generate): Call initiate_automata_lists.
1991 (automaton_states): New global variable.
1992 (expand_automata): Call form_important_insn_automata_lists.
1993 (write_automata): Call finish_automata_lists.
8998d5bf 1994
fae15c93
VM
1995 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
1996
1997 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 1998 cpu units in the sets belong the same automaton.
fae15c93
VM
1999
2000 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
2001 about that cpu units in the sets belong the same automaton.
2002
2003 * doc/md.texi: Ditto.
8998d5bf 2004
2799d721
VM
2005 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
2006 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 2007
fae15c93
VM
2008 * config/sh/sh.c (sh_use_dfa_interface): New function.
2009
2010 (sh_issue_rate): New Function.
2011 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
2012 TARGET_SCHED_ISSUE_RATE: define.
2013
2014 * config/sh/sh.md: Add DFA based pipeline description for SH4.
2015
8998d5bf
ZW
2016 (define_attr insn_class): New attribute used for DFA
2017 scheduling.
fae15c93
VM
2018 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
2019 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
2020 cmpeqdi_t): Likewise.
2021
2022 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 2023 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
2024 ex_group.
2025 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 2026
fae15c93
VM
2027 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
2028
2029 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
2030 break.
2031
2032 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
2033
2034 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
2035 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
2036 necessary.
2037 (output_dfa_start_func): Initiate new variable insn_codes_length,
2038 (write_automata): Output definition of the new variable.
8998d5bf 2039
fae15c93
VM
2040 2001-10-02 David S. Miller <davem@redhat.com>
2041
2042 * haifa-sched.c (advance_one_cycle): New function.
2043 (schedule_block): Use it.
2044 (queue_to_ready): Use it, and also make sure to advance the DFA
2045 state on all stall cycles, not just those where insn_queue links
2046 are found.
2047
2048 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
2049
2050 * haifa-sched.c (max_issue): Remove last_p argument. Only return
2051 non-zero if the highest-priority instruction could be scheduled.
2052 (choose_ready): Remove last argument from max_issue call.
2053
2054 2001-09-28 David S. Miller <davem@redhat.com>
2055
2056 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
2057 ultrasparc and 3 for other multi-issue sparcs.
2058
2059 2001-09-27 David S. Miller <davem@redhat.com>
2060
2061 * config/sparc/sparc.md (cycle_display): New pattern.
2062 * config/sparc/sparc.c (sparc_cycle_display): New.
2063 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
2064
2065 2001-09-25 David S. Miller <davem@redhat.com>
2066
2067 Convert all of Sparc scheduling to DFA
2068 * config/sparc/sparc.md: Kill all define_function_unit
2069 directives and replace with DFA equivalent.
2070 * config/sparc/sparc.c (ultrasparc_adjust_cost,
2071 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
2072 ultra_fpmode_conflict_exists, ultra_find_type,
2073 ultra_build_types_avail, ultra_flush_pipeline,
2074 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
2075 ultrasparc_variable_issue, ultrasparc_sched_init,
2076 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
2077 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
2078 ultra_cur_hist, ultra_cycles_elapsed): Kill.
2079 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
2080 ultrasparc_store_bypass_p): New.
2081 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
2082 Declare.
2083
2084 2001-09-24 David S. Miller <davem@redhat.com>
2085
2086 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
2087 ready->vec[foo] not ready[foo].
2088
2089 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
2090
2091 * doc/md.texi: Correct examples for define_insn_reservations
2092 `mult' and `div'.
2093
2094 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
2095
2096 * genautomata.c (create_automata): Print message about creation of
2097 each automaton.
2098 (generate): Remove printing meease about creation of
2099 automata.
2100
2101 2001-09-05 David S. Miller <davem@redhat.com>
2102
2103 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
2104 * config/sparc/linux64.h: Likewise.
2105
2106 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
2107
2108 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
2109 schedule_block, sched_init, sched_finish): Add missed calls of
2110 use_dfa_pipeline_interface.
2111
2112 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
2113 Ditto.
2114
2115 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 2116
fae15c93
VM
2117 2001-08-27 Richard Henderson <rth@redhat.com>
2118
2119 * genattr.c (main): Emit state_t even when not doing scheduling.
2120
2121 2001-08-27 Richard Henderson <rth@redhat.com>
2122
2123 * genautomata.c (expand_automata): Always create a description.
2124
2125 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
2126
8998d5bf 2127 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
2128 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
2129 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
2130 RTL constructions.
2131
2132 * genattr.c (main): New variable num_insn_reservations. Increase
2133 it if there is DEFINE_INSN_RESERVATION. Output automaton based
2134 pipeline hazard recognizer interface.
2135
2136 * genattrtab.h: New file.
2137
2138 * genattrtab.c: Include genattrtab.h.
2139 (attr_printf, check_attr_test, make_internal_attr,
2140 make_numeric_value): Move protypes into genattrtab.h. Define them
2141 as external.
2142 (num_dfa_decls): New global variable.
2143 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
2144 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
2145 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
2146 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
2147
2148 * genautomata.c: New file.
2149
2150 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
2151
8998d5bf 2152 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
2153 automaton pipeline interface.
2154 (haifa_insn_data): Add comments for members blockage and units.
2155
2156 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2157 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
2158 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
2159 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
2160 TARGET_SCHED_DFA_POST_CYCLE_INSN,
2161 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2162 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
2163 macros.
2164 (TARGET_SCHED): Use the new macros.
2165
2166 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
2167 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
2168 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
2169 dfa_bubble): New members in gcc_target.sched.
2170
8998d5bf 2171 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
2172 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
2173 (insn_queue): Redefine it as pointer to array.
2174 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
2175 INSN_QUEUE_SIZE.
2176 (max_insn_queue_index_macro_value): New variable.
2177 (curr_state, dfa_state_size, ready_try): New varaibles for
2178 automaton interface.
2179 (ready_element, ready_remove, max_issue): New function prototypes
2180 for automaton interface.
2181 (choose_ready): New function prototype.
2182 (insn_unit, blockage_range): Add comments.
2183 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
2184 FUNCTION_UNITS_SIZE == 0.
2185 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
2186 actual_hazard, potential_hazard): Add comments.
2187 (insn_cost): Use cost -1 as undefined value. Remove
2188 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
2189 pipeline interface.
2190 (ready_element, ready_remove): New functions for automaton
2191 interface.
2192 (schedule_insn): Add new code for automaton pipeline interface.
2193 (queue_to_ready): Add new code for automaton pipeline interface.
2194 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
2195 (debug_ready_list): Print newline when the queue is empty.
2196 (max_issue): New function for automaton pipeline interface.
2197 (choose_ready): New function.
2198 (schedule_block): Add new code for automaton pipeline interface.
2199 Print ready list before scheduling each insn.
2200 (sched_init): Add new code for automaton pipeline interface.
2201 Initiate insn cost by -1.
2202 (sched_finish): Free the current automaton state and finalize
2203 automaton pipeline interface.
2204
2205 * sched-rgn.c: Include target.h.
2206 (init_ready_list, new_ready, debug_dependencies): Add new code for
2207 automaton pipeline interface.
2208
2209 * sched-vis.c: Include target.h.
2210 (get_visual_tbl_length): Add code for automaton interface.
2211 (target_units, print_block_visualization): Add comments.
2212
8998d5bf 2213 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
2214 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
2215 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
2216 (getruntime.o, genautomata.o): New entries.
2217 (genattrtab.o): Add new dependency file genattrtab.h.
2218 (genattrtab): Add new dependencies. Link it with `libm.a'.
2219 (getruntime.o, hashtab.o): New entries for canadian cross.
2220
2221 * doc/md.texi: Description of automaton based model.
2222
2223 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
2224 Add comments.
2225 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2226 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
2227 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
2228 TARGET_SCHED_DFA_POST_CYCLE_INSN,
2229 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
2230 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2231 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
2232 hook descriptions.
2233 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
2234 MAX_DFA_ISSUE_RATE): New macro descriptions.
2235
2236 * doc/contrib.texi: Add dfa based scheduler contribution.
2237
2238 * doc/gcc.texi: Add more information about genattrtab.
2239
a2ff290c
RK
2240Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2241
2242 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
2243 adjust_address_nv call.
2244
f97903cc
JJ
22452002-04-29 Janis Johnson <janis187@us.ibm.com>
2246
2247 * doc/install.texi (Testing): Provide additional information, and
2248 a stronger encouragement, for running the testsuites.
2249
f41a6bf1
DD
22502002-04-29 DJ Delorie <dj@redhat.com>
2251
2252 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
2253 given in upper case.
2254
d8af0868
RO
22552002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2256
2257 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
2258 Solaris 2 <widec.h> if missing.
2259 * fixinc/fixincl.x: Regenerate.
2260 * fixinc/tests/base/widec.h: New file.
2261
1034407f
NC
22622002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
2263
2264 * toplev.c (f_options): Add "profile" switch so that
2265 -fno-profile can be used to disable -p.
2266
fbe5eb6d
BS
22672002-04-29 Bernd Schmidt <bernds@redhat.com>
2268
2269 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
2270 UV2DImode.
2271 * tree.c (build_common_tree_nodes_2): Likewise.
2272 * tree.h (enum tree_index): Likewise.
2273 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
2274
2275 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
2276 entries.
2277 (init_mmx_sse_builtins): Initialize SSE2 builtins.
2278 (ix86_expand_builtin): Add support for SSE2 builtins.
2279 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
2280 (VALID_SSE_REG_MODE): Use it.
2281 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
2282 (enum ix86_builtins): Add SSE2 builtins.
2283 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
2284 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
2285 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
2286 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
2287 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
2288 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
2289 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
2290 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
2291 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
2292 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
2293 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
2294 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
2295 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
2296 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
2297 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
2298 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
2299 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
2300 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
2301 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
2302 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
2303 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
2304 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
2305 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
2306 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
2307 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
2308 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
2309 lfence_insn): New patterns.
2310 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
2311 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
2312
44aefada
JH
2313Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
2314
2315 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
2316
d5482cdc
GP
23172002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2318
2319 * doc/contrib.texi (Contributors): Add Paolo Carlini and
2320 Janis Johnson.
2321 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
2322 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
2323 and CPU instead of cpu.
2324
2c4b77f3
JH
2325Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
2326
2327 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
2328 variables.
2329 (lang_independent_options): Add -fif-conversion, -fif-conversion2
2330 (rest_of_compilation): Do if conversion only when asked for.
2331 (parse_options_and_default_flags): Set new variables to 1 for -O1
2332 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
2333
3de72741
JH
2334Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
2335
2336 * i386.c (dbx64_register_map): Fix typo.
2337
8aa18a7d
JH
2338Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
2339
2340 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
2341 real_one_half, real_bb_freq_max): New static variables.
2342 (debug_profile_bbauxs): Kill.
2343 (process_note_predictions): Kill unused variable.
2344 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
2345 volatile double.
2346 (propagate_freq): Use REAL_ARITHMETICS.
2347 (estimate_bb_frequencies): Likevise; init new static variables.
2348 * Makefile.in (predict.o): Add dependency on real.h
2349
1bbad4c6
DM
23502002-04-28 David S. Miller <davem@redhat.com>
2351
2352 PR target/6500
2353 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
2354 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
2355 several {reads,writes} instead.
2356 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
2357 Define.
2358
3ef3f384
DM
23592002-04-27 David S. Miller <davem@redhat.com>
2360
2361 PR target/6494
2362 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
2363 of the stack bias.
2364
2365 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
2366 including signal.h and sys/ucontext.h, not needed.
2367
ec493bcb
HPN
23682002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
2369
2370 * varasm.c (output_constant_def): Correct test for not calling
2371 ENCODE_SECTION_INFO for INTEGER_CST.
2372
60284a59
NB
23732002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
2374
2375 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
2376 keep most cases as function eval_token.
2377 (eval_token): New function.
2378 (_cpp_parse_expr): Read token here for improved diagnostics.
2379 Don't use op_as_text. Detect bad ':' here.
2380 (reduce): Don't detect bad ':' here.
2381 (op_as_text): Remove.
2382 * cpphash.h (_cpp_test_assertion): Change prototype.
2383 * cpplib.c (_cpp_test_assertion): Change prototype.
2384
349a4b40
RH
23852002-04-28 Richard Henderson <rth@redhat.com>
2386
2387 PR c/5154
8998d5bf 2388 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
2389 (ggc_mark_rtx_children): New.
2390
7a03f82f
JJ
23912002-04-28 Jakub Jelinek <jakub@redhat.com>
2392
2393 PR target/6496
2394 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
2395 after call peepholes for UltraSPARC.
2396 (call + jump 64-bit peepholes): Remove.
2397
80103f96
FS
23982002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2399
2400 PR c/6497
2401 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
2402 result as temporary value.
2403
06990986
JJ
24042002-04-28 Jakub Jelinek <jakub@redhat.com>
2405
2406 PR c++/6396
2407 * toplev.c (rest_of_compilation): Only run regrename and copy
2408 propagation if optimizing.
2409
a20fd5ac
JJ
24102002-04-28 Jakub Jelinek <jakub@redhat.com>
2411
2412 PR optimization/6475
2413 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
2414 register of REGNO_DECL (i).
2415 * Makefile.in (reload1.o): Add $(TREE_H).
2416
87ed109f
NB
24172002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
2418
2419 * cppexp.c (lex): Update to use state.skip_eval.
2420 (struct op): Remove prio and flags members.
2421 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
2422 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
2423 (LEFT_ASSOC): New macro.
2424 (optab): New table of operator priorities and flags.
2425 (SHIFT): Update.
2426 (_cpp_parse_expr): Clean up logic. Return bool. Use a
2427 malloc-ed parser stack.
2428 (reduce): New; reduce the operator stack.
2429 (_cpp_expand_op_stack): Expand the operator stack as necessary.
2430 * cpphash.h (struct op): Predeclare.
2431 (struct cpp_reader): New members op_stack, op_limit.
2432 (struct lexer_state): New member skip_eval.
2433 (_cpp_parse_expr): Update.
2434 (_cpp_expand_op_stack): New.
2435 * cpplib.c (do_if): Update.
2436 * cppinit.c (cpp_create_reader): Create op stack.
2437 (cpp_destroy): And destroy it.
2438 * cpplib.h (CPP_LAST_CPP_OP): Correct.
2439 (TTYPE_TABLE): Correct.
2440
45806a3f
FS
24412002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2442
2443 PR c/6343
2444 * c-decl.c (duplicate_decls): Call merge_weak.
2445 * c-pragma.c (apply_pragma_weak): Warn about misuse.
2446 * output.h (merge_weak): Prototype merge_weak.
2447 * varasm.c (merge_weak): New function.
2448 (declare_weak): Make sure we don't give an error on VAR_DECLs.
2449 Mark RTL with SYMBOL_REF_WEAK.
2450
a6227154
KG
24512002-04-27 Kurt Garloff <garloff@suse.de>
2452
2453 * tree-inline.c (inlinable_function_p): Improve heuristics
2454 by using a smoother function to cut down allowable inlinable size.
2455 * param.def: Add parameters max-inline-insns-single,
2456 max-inline-slope, min-inline-insns that determine the exact
2457 shape of the above function.
2458 * param.h: Likewise.
2459
94a50397
RH
24602002-04-26 Richard Henderson <rth@redhat.com>
2461
2462 * c-parse.in (malloced_yyss, malloced_yyvs): New.
2463 (yyoverflow): Re-add. Set them.
2464 (free_parser_stacks): New.
2465 * c-common.h: Declare it.
2466 * c-lex.c (c_common_parse_file): Call it.
2467
9c0a0632
RH
24682002-04-26 Richard Henderson <rth@redhat.com>
2469
2470 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
2471 for fallthru search.
2472
b875d2ee
EC
24732002-04-26 Eric Christopher <echristo@redhat.com>
2474
2475 PR optimization/3700
2476 * config/mips/mips.c (mips_issue_rate): Define. New function.
2477 (TARGET_SCHED_ISSUE_RATE): Use.
2478
1db828df
DM
24792002-04-25 David S. Miller <davem@redhat.com>
2480
2481 PR target/6422
2482 * reorg.c (optimize_skip): Do not allow exception causing
2483 instructions to be considered for delay slots.
2484 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
2485 (relax_delay_slots): Do not try to consider exception causing
2486 instructions as redundant.
2487
ae5d234e
RH
24882002-04-26 Richard Henderson <rth@redhat.com>
2489
2490 PR c/5225
2491 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
2492
7d793e9b
MM
24932002-04-26 Mark Mitchell <mark@codesourcery.com>
2494
2495 PR bootstrap/6445
2496 * config/i386/i386.md (untyped_call): Return the value in a float
2497 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
2498 TARGET_80387.
2499
b13ab42c
AO
25002002-04-26 Alexandre Oliva <aoliva@redhat.com>
2501
2502 * tree.c (tree_int_cst_lt): Compare constants whose types differ
2503 in unsigned-ness correctly.
2504
5e56f909
JDA
25052002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
2506
2507 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
2508 portable runtime model.
2509
bde3c0c0
RH
25102002-04-26 Richard Henderson <rth@redhat.com>
2511
a6227154 2512 * c-parse.in (yyoverflow): Revert.
bde3c0c0 2513
5276df18
DE
25142002-04-26 David Edelsohn <edelsohn@gnu.org>
2515 Richard Henderson <rth@redhat.com>
2516
2517 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
2518 result as temporary value.
2519
b84a3874
RH
25202002-04-26 Richard Henderson <rth@redhat.com>
2521
2522 PR c/3581
2523 * c-common.c (fix_string_type): Split out of ...
2524 (combine_strings): ... here. Take a varray, not a tree list.
2525 (c_expand_builtin_printf): Use fix_string_type.
2526 * c-common.h: Update decls.
2527 * c-parse.in (string): Remove. Update all uses to use STRING
2528 instead, and not call combine_strings.
2529 (yylexstring): New.
2530 (_yylex): Use it.
2531 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
2532 (build_asm_stmt): Likewise.
2533 * objc/objc-act.c (my_build_string): Use fix_string_type.
2534 (build_objc_string_object): Build varray for combine_strings.
2535
d8ae8cd4
BT
25362002-04-26 Bo Thorsen <bo@suse.co.uk>
2537
2538 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
2539 x86-64.
2540
f8b954fc
NB
25412002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
2542
2543 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
2544 (HAVE_NO_R_OPERAND): Remove.
2545 (HAVE_VALUE): Remove.
2546 (op_to_prio): Update.
2547 (UNARY): Don't alter flags.
2548 (_cpp_parse_expr): want_value used to indicate whether
2549 a number or unary operator is expected next. Distinguish
2550 unary and binary +/-.
2551 (op_as_text): Update for unary operators.
2552
6052bef0
RH
25532002-04-25 Richard Henderson <rth@redhat.com>
2554
2555 PR c/2161
2556 * c-parse.in (yyoverflow): New.
2557
5c5b2283
RH
25582002-04-25 Richard Henderson <rth@redhat.com>
2559
2560 PR c/2098
2561 * c-common.c (shorten_compare): Simplfy conditions leading to
2562 the generation of a warning.
2563
28ce94d4
RH
25642002-04-25 Richard Henderson <rth@redhat.com>
2565
2566 PR c/2035
2567 * expmed.c (extract_bit_field): Fall through to generic code rather
2568 than aborting on subreg special case.
2569
6bfd0c63
DM
25702002-04-25 David S. Miller <davem@redhat.com>
2571
2572 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
2573 for DECL being NULL.
2574
7a430e3b
SC
25752002-04-25 Steve Christiansen <smc@us.ibm.com>
2576
2577 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
2578
45c42d7d
EB
25792002-04-25 Eric Botcazou <ebotcazou@multimania.com>
2580
2581 * c-decl.c (grokdeclarator): Remove outdated ??? note
2582 on invalid declaration of flexible array members.
2583
eb7715a4
RH
25842002-04-25 Richard Henderson <rth@redhat.com>
2585
2586 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
2587
cf5ee720
UW
25882002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
2589
2590 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
2591 needed by the compiler, even if they are used as global regs.
2592
d604bca3
MH
25932002-04-25 Matt Hiller <hiller@redhat.com>
2594
2595 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
2596 functions.
2597 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
2598 of the corresponding functions.
2599 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
2600 New prototypes.
b875d2ee 2601
d604bca3
MH
26022002-04-25 Matt Hiller <hiller@redhat.com>
2603
2604 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
2605
2606 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
2607 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
2608 registers, adjust comment accordingly.
2609 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
2610 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
2611 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
2612 for coprocessor registers.
2613 (ADDITIONAL_REGISTER_NAMES): Include
2614 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 2615
d604bca3
MH
2616 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
2617 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
2618 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
2619 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
2620 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
2621
2622 (mips_char_to_class): Adjust comment to include coprocessor
2623 constraint letters.
2624
2625 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
2626 New functions.
2627 (mips_reg_names, mips_regno_to_class): Include coprocessor
2628 information.
2629 (mips_sw_reg_names): Ditto, make non-static.
2630 (mips_move_1word): Handle moves to and from coprocessor registers.
2631 (mips_move_2words): Handle moves to and from coprocessor
2632 registers.
2633 (mips_class_max_nregs, mips_register_move_cost): Handle
2634 coprocessor register classes.
2635 (override_options): Initialize mips_char_to_class and
2636 mips_hard_regno_mode_ok properly for coprocessor registers.
2637
2638 * config/mips/mips.md (movdi_internal, movdi_internal2,
2639 movsi_internal1, movsi_internal2): Add constraint-sets for
2640 coprocessor registers.
2641 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
2642 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
2643 isn't mips.
2644 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
2645 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
2646 isn't mips.
2647 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
2648 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
2649 isn't mips.
2650 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
2651 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
2652 isn't mips.
b875d2ee 2653
d604bca3
MH
2654 * doc/tm.texi: Document feature.
2655
b9a26d09
NB
26562002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
2657
2658 * integrate.c (function_attribute_inlinable_p): Simplify.
2659 Check the table pointer is not NULL.
2660
ab5973b7
SB
26612002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
2662
2663 * doc/c-tree.texi: Fix typo in introduction.
2664
ff45c01e
NB
26652002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
2666
2667 * c-common.h (c_common_parse_file): Update.
2668 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
2669 * c-lex.c (YYDEBUG): Get from c-lex.h.
2670 (c_common_parse_file): Update.
2671 * c-lex.h (YYDEBUG, yydebug): New.
2672 * c-parse.in (YYDEBUG): Get from c-lex.h.
2673 (c_set_yydebug): Remove.
2674 * c-tree.h (c_set_yydebug): Remove.
2675 * langhooks-def.h (lhd_do_nothing_i): New.
2676 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
2677 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
2678 * langhooks.c (lhd_do_nothing_i): New.
2679 (lhd_set_yydebug): Remove.
2680 * langhooks.h (struct lang_hooks): Update.
2681 * toplev.c (set_yydebug): New.
2682 (compile_file): Update call to parse_file hook.
2683 (decode_d_option): Update.
2684objc:
2685 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
2686
fcae219a
R
2687Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
2688
2689 * loop.c (load_mems): Don't change the interface of called functions.
2690
2691 * calls.c (expand_call): Take current_function_pretend_args_size
2692 into account when setting argblock for sibcalls.
2693
d0fea45a
MH
26942002-04-24 Matt Hiller <hiller@redhat.com>
2695
2696 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
2697 * c-lex.c: Ditto.
2698
2699 * cpplex.c (skip_line_comment): Process comment one multibyte
2700 character at a time rather than one char at a time, if
2701 appropriate.
2702 (parse_string): Process string one multibyte character at a time
2703 rather than one char at a time, if appropriate.
2704 * c-lex.c (lex_string): Lex and copy multibyte strings
2705 appropriately.
2706 * cpplib.h (cppchar_t): Change to unsigned.
2707
2d1b5436
RH
27082002-04-24 Richard Henderson <rth@redhat.com>
2709
2710 PR c/3467
2711 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
2712 for c99.
2713
5e039e6b
R
2714Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
2715
2716 * sh.c (sh_va_arg): If argument was passed by reference,
2717 dereference the pointer.
309d8365
R
2718
2719 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
2720
2721 * sh.md (divsi3_i4_media): Use match_operand for input values
2722 rather than hard registers.
2723 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
2724 unnecessarily through hard registers. Keep copies of pseudo
2725 registers outside of the libcall sequence.
2726
2727 * sh.md (casesi_shift_media): Add modes.
b700634a
R
2728
2729 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
2730 values in memory.
2731
349ae713
NB
27322002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
2733
2734 * attribs.c (c_common_attribute_table): Move table and handlers
2735 to c-common.c.
2736 (format_attribute_table, lang_attribute_table,
2737 lang_attribute_common): Remove.
2738 (init_attributes): Replace NULL pointers with pointers to the
2739 empty table.
2740 (handle_packed_attribute, handle_nocommon_attribute,
2741 handle_common_attribute, handle_noreturn_attribute,
2742 handle_noinline_attribute, handle_always_inline_attribute,
2743 handle_used_attribute, handle_unused_attribute,
2744 handle_const_attribute, handle_transparent_union_attribute,
2745 handle_constructor_attribute, handle_destructor_attribute,
2746 handle_mode_attribute, handle_section_attribute,
2747 handle_aligned_attribute, handle_weak_attribute,
2748 handle_alias_attribute, handle_visibility_attribute,
2749 handle_no_instrument_function_attribute, handle_malloc_attribute,
2750 handle_no_limit_stack_attribute, handle_pure_attribute,
2751 handle_deprecated_attribute, handle_vector_size_attribute,
2752 vector_size_helper): Move to c-common.c.
2753 * c-common.c (c_common_attribute_table,
2754 handle_packed_attribute, handle_nocommon_attribute,
2755 handle_common_attribute, handle_noreturn_attribute,
2756 handle_noinline_attribute, handle_always_inline_attribute,
2757 handle_used_attribute, handle_unused_attribute,
2758 handle_const_attribute, handle_transparent_union_attribute,
2759 handle_constructor_attribute, handle_destructor_attribute,
2760 handle_mode_attribute, handle_section_attribute,
2761 handle_aligned_attribute, handle_weak_attribute,
2762 handle_alias_attribute, handle_visibility_attribute,
2763 handle_no_instrument_function_attribute, handle_malloc_attribute,
2764 handle_no_limit_stack_attribute, handle_pure_attribute,
2765 handle_deprecated_attribute, handle_vector_size_attribute,
2766 vector_size_helper): Move from attribs.c.
2767 * c-common.h (c_common_attribute_table,
2768 c_common_format_attribute_table): New.
2769 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
2770 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
2771 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
2772 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
2773 (LANG_HOOKS_INITIALIZER): Update.
2774 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
2775 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
2776 * target.h: Update comment.
2777 * tree.c (default_target_attribute_table): Remove.
2778 * tree.h (default_target_attribute_table, format_attribute_table,
2779 lang_attribute_table, lang_attribute_common): Remove.
2780objc:
2781 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
2782 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
2783
84f0ace0
JM
27842002-04-24 Jason Merrill <jason@redhat.com>
2785
2786 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
2787 * dwarf2out.c (dwarf_attr_name): Support it.
2788 (gen_array_type_die): Emit it.
2789 (lookup_type_die): No special handling for VECTOR_TYPE.
2790 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
2791
120eaf28
RH
27922002-04-24 Richard Henderson <rth@redhat.com>
2793
2794 * config/mips/mips.md (movdi_usd): Renumber.
2795
e732178c
DM
27962002-04-24 David S. Miller <davem@redhat.com>
2797
2798 PR target/6420
2799 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
2800 32-bit Sparc and current_function_returns_struct is true.
2801
e879eb2f
JH
2802Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
2803
2804 * loop.c (canonicalize_condition): Use gen_int_mode.
2805
4287a893
AH
28062002-04-24 Aldy Hernandez <aldyh@redhat.com>
2807
2808 * config/rs6000/altivec.h: Cleanup file. Add non individual
2809 variants.
2810 (vec_vaddubm): New.
2811 (vec_vadduhm): New.
2812 (vec_vadduwm): New.
2813 (vec_vaddfp): New.
2814 (vec_vaddcuw): New.
2815 (vec_vaddubs): New.
2816 (vec_vaddsbs): New.
2817 (vec_vadduhs): New.
2818 (vec_vadduws): New.
2819 (vec_vaddsws): New.
2820 (vec_vand): New.
2821 (vec_vandc): New.
2822 (vec_vavgub): New.
2823 (vec_vavgsb): New.
2824 (vec_vavguh): New.
2825 (vec_vavgsh): New.
2826 (vec_vavguw): New.
2827 (vec_vavgsw): New.
2828 (vec_vrfip): New.
2829 (vec_vcmpbfp): New.
2830 (vec_vcmpequb): New.
2831 (vec_vcmpequh): New.
2832 (vec_vcmpequw): New.
2833 (vec_vcmpeqfp): New.
2834 (vec_vcmpgefp): New.
2835 (vec_vcmpgtub): New.
2836 (vec_vcmpgtsb): New.
2837 (vec_vcmpgtuh): New.
2838 (vec_vcmpgtsh): New.
2839 (vec_vcmpgtuw): New.
2840 (vec_vcmpgtsw): New.
2841 (vec_vcmpgtfp): New.
2842 (vec_vcmpgefp): New.
2843 (vec_vcfux): New.
2844 (vec_vcfsx): New.
2845 (vec_vctsxs): New.
2846 (vec_vctuxs): New.
2847 (vec_vexptefp): New.
2848 (vec_vrfim): New.
2849 (vec_lvx): New.
2850 (vec_lvebx): New.
2851 (vec_lvehx): New.
2852 (vec_lde): Add vector float variant.
2853 (vec_lvewx): New.
2854 (vec_lvxl): New.
2855 (vec_vlogefp): New.
2856 (vec_vmaddfp): New.
2857 (vec_vmhaddshs): New.
2858 (vec_vmaxub): New.
2859 (vec_vmaxsb): New.
2860 (vec_vmaxuh): New.
2861 (vec_vmaxsh): New.
2862 (vec_vmaxuw): New.
2863 (vec_vmaxsw): New.
2864 (vec_vmaxsw): New.
2865 (vec_vmaxfp): New.
2866 (vec_vmrghb): New.
2867 (vec_vmrghh): New.
2868 (vec_vmrghw): New.
2869 (vec_vmrglb): New.
2870 (vec_vmrglh): New.
2871 (vec_vmrglw): New.
2872 (vec_vminub): New.
2873 (vec_vminsb): New.
2874 (vec_vminuh): New.
2875 (vec_vminsh): New.
2876 (vec_vminuw): New.
2877 (vec_vminsw): New.
2878 (vec_vminfp): New.
2879 (vec_vmladduhm): New.
2880 (vec_vmhraddshs): New.
2881 (vec_msumubm): New.
2882 (vec_vmsummbm): New.
2883 (vec_vmsumuhm): New.
2884 (vec_vmsumshm): New.
2885 (vec_vmsumuhs): New.
2886 (vec_vmsumshs): New.
2887 (vec_vmuleub): New.
2888 (vec_vmulesb): New.
2889 (vec_vmuleuh): New.
2890 (vec_vmulesh): New.
2891 (vec_vmuloub): New.
2892 (vec_mulosb): New.
2893 (vec_vmulouh): New.
2894 (vec_vmulosh): New.
2895 (vec_vnmsubfp): New.
2896 (vec_vnor): New.
2897 (vec_vor): New.
2898 (vec_vpkuhum): New.
2899 (vec_vpkuwum): New.
2900 (vec_vpkpx): New.
2901 (vec_vpkuhus): New.
2902 (vec_vpkshss): New.
2903 (vec_vpkuwus): New.
2904 (vec_vpkswss): New.
2905 (vec_vpkshus): New.
2906 (vec_vpkswus): New.
2907 (vec_vperm): New.
2908 (vec_vrefp): New.
2909 (vec_vrlb): New.
2910 (vec_vrlh): New.
2911 (vec_vrlw): New.
2912 (vec_vrfin): New.
2913 (vec_vrsqrtefp): New.
2914 (vec_vsel): New.
2915 (vec_vslb): New.
2916 (vec_vslh): New.
2917 (vec_vslw): New.
2918 (vec_vsldoi): New.
2919 (vec_vsl): New.
2920 (vec_vslo): New.
2921 (vec_vspltb): New.
2922 (vec_vsplth): New.
2923 (vec_vspltw): New.
2924 (vec_vspltisb): New.
2925 (vec_vspltish): New.
2926 (vec_vspltisw): New.
2927 (vec_vsrb): New.
2928 (vec_vsrh): New.
2929 (vec_vsrw): New.
2930 (vec_vsrab): New.
2931 (vec_vsrah): New.
2932 (vec_vsraw): New.
2933 (vec_vsr): New.
2934 (vec_vsro): New.
2935 (vec_stvx): New.
2936 (vec_stvebx): New.
2937 (vec_stvehx): New.
2938 (vec_stvewx): New.
2939 (vec_stvxl): New.
2940 (vec_vsububm): New.
2941 (vec_vsubuhm): New.
2942 (vec_vsubuwm): New.
2943 (vec_vsubfp): New.
2944 (vec_vsubcuw): New.
2945 (vec_vsububs): New.
2946 (vec_vsubsbs): New.
2947 (vec_vsubuhs): New.
2948 (vec_vsubshs): New.
2949 (vec_vsubuws): New.
2950 (vec_vsubsws): New.
2951 (vec_vsum4ubs): New.
2952 (vec_vsum4sbs): New.
2953 (vec_vsum4shs): New.
2954 (vec_vsum2sws): New.
2955 (vec_vsumsws): New.
2956 (vec_vrfiz): New.
2957 (vec_vupkhsb): New.
2958 (vec_vupkhpx): New.
2959 (vec_vupkhsh): New.
2960 (vec_vupklsb): New.
2961 (vec_vupklpx): New.
2962 (vec_vupklsh): New.
2963 (vec_vxor): New.
2964
cff27795
EB
29652002-04-23 Eric Botcazou <ebotcazou@multimania.com>
2966
2967 PR c/5430
2968 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
2969 added literals from substracted literals.
2970 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
2971 (fold) [associate]: Preserve MINUS_EXPR if needed.
2972
952bca84
ZW
29732002-04-23 Zack Weinberg <zack@codesourcery.com>
2974
2975 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
2976 are obsoleted.
2977
50cb2154
TT
29782002-04-23 Tom Tromey <tromey@redhat.com>
2979
2980 * gcc.c: Added --resource. For PR java/6314.
2981
271f61fb
DB
29822002-04-23 David O'Brien <obrien@FreeBSD.org>
2983
9566d1e9 2984 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
2985 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
2986 these libraries.
2987
bdabbc80
DB
29882002-04-23 David O'Brien <obrien@FreeBSD.org>
2989
2990 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
2991
74411039
JH
2992Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
2993
2994 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
2995 workaround.
2996 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
2997 (ix86_expand_clrstr): Fix typo.
2998 * loop.c (gen_load_of_final_value): New.
2999 (loop_givs_rescan, strength_reduce, check_dbra_loop):
3000 Use it.
3001
1a887f86
RS
30022002-04-23 Roger Sayle <roger@eyesopen.com>
3003
3004 * builtins.c (builtin_memset_gen_str): New function.
3005 (expand_builtin_memset): Optimize the case of constant length, but
3006 unknown value.
3007
8d3441e0
AH
30082002-04-23 Aldy Hernandez <aldyh@redhat.com>
3009
cff27795
EB
3010 * config/rs6000/altivec.h (vec_step): Remove extraneous
3011 parentheses.
3012 (vec_ctu): Cast return.
8d3441e0 3013
f6f315fe
AM
30142002-04-23 Alan Modra <amodra@bigpond.net.au>
3015
3016 PR target/6413
3017 * function.h: (struct function): Add profile_label_no field.
3018 (current_function_profile_label_no): Define.
3019 * function.c: (profile_label_no): New static var.
3020 (expand_function_start): Increment it, and copy to
3021 current_function_profile_label_no.
3022 * output.h (profile_label_no): Delete.
3023 * final.c (profile_label_no): Delete.
3024 (profile_function): Use current_function_profile_label_no.
3025 (final_end_function): Don't increment profile_label_no here.
3026 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
3027 profile_label_no with current_function_profile_label_no.
3028 * config/pa/pa.c (current_function_number): Delete.
3029 (pa_output_function_prologue): Don't output profile label here.
3030 (hppa_profile_hook): Use label_no param rather than
3031 current_function_number.
3032 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
3033 * config/pa/pa.h: .. here.
3034 (FUNCTION_PROFILER): Output profile label here.
3035
d239cdc0
EC
30362002-04-22 Eric Christopher <echristo@redhat.com>
3037
3038 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
3039 patch of 2002-04-09 due to binutils issues.
3040 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
3041
04428ad4
AH
30422002-04-22 Aldy Hernandez <aldyh@redhat.com>
3043
cff27795
EB
3044 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
3045 constraint to 'o' for m=r and r=m alternatives.
3046 ("*movv8hi_internal1"): Same.
3047 ("*movv16qi_internal1"): Same.
3048 ("*movv4sf_internal1"): Same.
04428ad4 3049
2adc7f12
JJ
30502002-04-22 Janis Johnson <janis187@us.ibm.com>
3051
3052 * rtl.h (RTX_FLAG): New macro.
3053 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
3054 * final.c (alter_subreg): Use macro to access rtx flag.
3055 * integrate.c (copy_rtx_and_substitute): Use new access macro.
3056 * print-rtl.c (print_rtx): Use new access macro.
3057
3058 * cse.c (insert): Check rtx code before accessing flag.
3059
3060 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
3061 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
3062 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
3063 convert_const_symbol_ref, make_canonical, make_alternative_compare,
3064 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
3065 simplify_test_exp, optimize_attrs, simplify_by_exploding,
3066 find_and_mark_used_attributes, unmark_used_attributes,
3067 add_values_to_cover, simplify_with_current_value,
3068 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
3069 copy_rtx_unchanging, main): Use new access macros.
3070
b7c89afe
TR
30712002-04-22 Tom Rix <trix@redhat.com>
3072
3073 * expmed.c (init_expmed): Generate shifted constant once.
3074
9340544b
ZW
30752002-04-22 Zack Weinberg <zack@codesourcery.com>
3076
3077 * c-lex.c (lex_charconst): Call convert to get constant in
3078 proper type; don't just smash the type field.
3079 Fixes PR c/6300.
3080
3081 * config.gcc: Add list of obsolete configurations. Disallow
3082 building these without --enable-obsolete.
3083 * doc/install.texi: Document --enable-obsolete and obsoletion
3084 policy. Mention obsoletion of individual targets in
3085 appropriate places.
3086
f942d7a5
RH
30872002-04-22 Richard Henderson <rth@redhat.com>
3088
3089 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
3090
30912002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
3092
3093 PR f/6138.
3094 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
3095 (walk_fixup_memory_subreg): Likewise.
3096 (fixup_var_refs_insn): Adjust accordingly.
3097 (fixup_var_refs_1): Likewise.
3098
232b0b45
UW
30992002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
3100
3101 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
3102 LIBPATH_ARCH64_SPEC): Define.
3103 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
3104 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
3105 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
3106 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
3107
1b61552b
JS
31082002-04-22 Joel Sherrill <joel@OARcorp.com>
3109
3110 * gthr-rtems.h: Correct prototypes to remove warnings.
3111
0fe854a7
RH
31122002-04-22 Richard Henderson <rth@redhat.com>
3113
3114 PR c/6344
3115 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
3116
3117 * gcse.c (free_insn_expr_list_list): New.
3118 (clear_modify_mem_tables): Use it. Fix bit set usage.
3119 (canon_list_insert): Use EXPR_LISTs for expressions.
3120 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
3121
af0d16cd
NB
31222002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
3123
3124 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
3125 file change and include code to _cpp_pop_buffer.
3126 * cpphash.h (struct pending_option): Predeclare.
3127 (struct cpp_reader): New member next_include_file.
3128 (_cpp_pop_file_buffer): Update.
3129 (_cpp_push_next_buffer): Update, rename.
3130 * cppinit.c (cpp_destroy): Free include chain and pending here.
3131 (cpp_finish_options): Simplify.
3132 (_cpp_push_next_buffer): Rename and clean up.
3133 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
3134 Clarify.
3135 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
3136
0d918572
AH
31372002-04-22 Aldy Hernandez <aldyh@redhat.com>
3138
0fe854a7
RH
3139 * config/rs6000/altivec.h (vec_xor): Add variant for both args
3140 being vector signed int.
3141 (vec_andc): Same.
3142 (vec_xor): Add variant for both args being vector signed char.
3143 Remove redundant variant.
3144 (vec_andc): Same.
0d918572 3145
77e2c290
DM
31462002-04-21 David S. Miller <davem@redhat.com>
3147
3148 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
3149 compare mode in output RTL.
3150
ee2ca2a2
DE
31512002-04-22 David Edelsohn <edelsohn@gnu.org>
3152
3153 * config/rs6000/rs6000.c (rs6000_override_options): Correct
3154 style and formatting of previous patch.
3155
894bdff6
AM
31562002-04-22 Alan Modra <amodra@bigpond.net.au>
3157
3158 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
3159 flag_pic for ABI_AIX.
3160
562a5c27
NB
31612002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
3162
3163 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
3164 * cppfiles.c (read_include_file): Similarly.
3165 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
3166 uxstrdup ustrchr, ufputs): Similarly.
3167 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
3168 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
3169 cpp_ideq, parse_identifier, parse_number): Similarly.
3170 * cpplib.c (struct directive, dequote_string, D, run_directive,
3171 cpp_push_buffer): Similarly.
3172 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
3173 _cpp_create_definition, check_trad_stringification,
3174 cpp_macro_definition): Similarly.
3175
9ac3b1be
NB
31762002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
3177
3178 * cppmacro.c (funlike_invocation_p): Don't step back
3179 over CPP_EOF.
3180
9dda4cc8
DE
31812002-04-21 David Edelsohn <edelsohn@gnu.org>
3182
3183 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
3184 labelno.
3185
20764052
JM
31862002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
3187
3188 * doc/invoke.texi: Remove Chill references.
3189 * doc/gcc.texi: Update last modified date.
3190
26b29884
KH
31912002-04-20 Kazu Hirata <kazu@hxi.com>
3192
3193 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
3194 push and pop. Replace add.l with add.w.
3195
59184677
TM
31962002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
3197
3198 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
3199 multiply instructions for H8/300H case.
3200
b1113e0a
TM
32012002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
3202
3203 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
3204 Bum three instructions from each routine.
3205
b03e38e1
NB
32062002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
3207
3208 * Makefile.in: Update.
3209 * decl.c (push_c_function_context, pop_c_function_context,
3210 mark_c_function_context): Rename for consistency.
3211 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
3212 * c-tree.h (push_c_function_context, pop_c_function_context,
3213 mark_c_function_context): Rename for consistency.
3214 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
3215 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
3216 * function.c (init_lang_status, save_lang_status,
3217 restore_lang_status, mark_lang_status, free_lang_status):
3218 Move to langhooks.h.
3219 (push_function_context_to, pop_function_context_from,
3220 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
3221 Update.
3222 * function.h (init_lang_status, save_lang_status,
3223 restore_lang_status, mark_lang_status, free_lang_status):
3224 Move to langhooks.h.
3225 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
3226 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
3227 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
3228 LANG_HOOKS_FUNCTION_INITIALIZER): New.
3229 (LANG_HOOKS_INITIALIZER): Update.
3230 (lhd_do_nothing_f): New.
3231 * langhooks.h (struct lang_hooks_for_functions): New.
3232 (struct lang_hooks): New hooks.
3233 * langhooks.c (lhd_do_nothing_f): New.
3234objc:
3235 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
3236 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
3237
db430d26
DM
32382002-04-19 David S. Miller <davem@redhat.com>
3239
3240 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
3241 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
3242
0f2a3457
JJ
32432002-04-19 Jakub Jelinek <jakub@redhat.com>
3244
3245 PR optimization/3756
3246 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
3247 x = ((int) y < 0) ? cst1 : cst2.
3248
ce5e43d0
JJ
32492002-04-19 Jakub Jelinek <jakub@redhat.com>
3250
3251 PR c/6358
3252 * function.c: Reapply patch for c/6358.
3253 (expand_function_end): Copy decl_rtl's mode, not
3254 current_function_return_rtx mode.
3255
32562002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
3257
3258 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
3259 targets.
3260
40e7f8ea
TT
32612002-04-19 Tom Tromey <tromey@redhat.com>
3262
3263 * doc/install.texi (Specific): Update status of Solaris 2.8.
3264 For PR libgcj/6158.
3265
62a12b27
AS
32662002-04-19 Andreas Schwab <schwab@suse.de>
3267
3268 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
3269 (PUT_REAL): Restore old definition.
3270
1405141b
DN
32712002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
3272 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3273
3274 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
3275 binutils 2.11.2 and higher generate smaller binaries than Sun's
3276 native tools.
3277
303a3927
MM
32782002-04-19 Mark Mitchell <mark@codesourcery.com>
3279
3280 PR c++/6352
3281 * toplev.c (rest_of_compilation): Do not defer functions for which
3282 TREE_SYMBOL_REFERENCED has already been set.
3283
de80110b
JH
3284Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
3285
3286 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
3287 alternative.
3288
ab393bf1
NB
32892002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
3290
3291 * builtins.c: Include langhooks.h.
3292 (lang_type_promotes_to): Remove.
3293 (expand_builtin_va_arg): Use new hook.
3294 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
3295 (simple_type_promotes_to): Move to c-typeck.c.
3296 * c-common.h (simple_type_promotes_to): Remove.
3297 * c-decl.c (duplicate_decls, grokdeclarator): Update.
3298 * c-format.c: Include langhooks.h.
3299 (check_format_types): Update.
3300 * c-tree.h (c_type_promotes_to): New.
3301 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
3302 (type_lists_compatible_p): Update.
3303 * langhooks-def.h (lhd_type_promotes_to): New.
3304 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
3305 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
3306 * langhooks.c (lhd_type_promotes_to): New.
3307 * langhooks.h (struct lang_hooks_for_types): New hook.
3308 * tree.h (lang_type_promotes_to): Remove.
3309objc:
3310 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
3311
0cd3301b
RH
33122002-04-18 Richard Henderson <rth@redhat.com>
3313
58533fa2 3314 * function.c: Revert patch for c/6358.
0cd3301b
RH
3315
33162002-04-18 Richard Henderson <rth@redhat.com>
3317
58533fa2
RH
3318 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
3319 blocks. Handle multiple references to the TRAP block. Handle
3320 non-adjacent THEN and OTHER blocks.
0cd3301b 3321
58533fa2
RH
33222002-04-18 Richard Henderson <rth@redhat.com>
3323
3324 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
3325 crash with no type for by-mode libcalls.
3326
3327 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 3328
57174693
BW
33292002-04-18 Bob Wilson <bob.wilson@acm.org>
3330
3331 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
3332 __xtensa_nonlocal_goto): Use a syscall instructions to flush
3333 the register windows.
3334
46468cd9
ZW
33352002-04-18 Zack Weinberg <zack@codesourcery.com>
3336
3337 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
3338 appropriate. Document need for extended precision even when
3339 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
3340 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
3341 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
3342 instead of relying on later syntax error when REAL_WIDTH > 5.
3343 * real.c: Define NE based only on whether or not we have a
3344 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
3345 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
3346 define GET_REAL and PUT_REAL as simple memcpy operations; no
3347 need to byteswap or round.
3348 Use #error instead of #ifdef-ing out the entire file, for
3349 prompt error detection.
3350
3351 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
3352
2f82dbf8
DM
33532002-04-18 David S. Miller <davem@redhat.com>
3354
3355 * config/sparc/sparc.h (BRANCH_COST): Define.
3356
3357 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
3358 does it.
3359
566576e7
HPN
33602002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
3361
3362 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
3363 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
3364 propagate_block calls after relaxation loop using new variable
3365 stabilized_prop_flags.
3366
51dcde6f
RH
33672002-04-18 Richard Henderson <rth@redhat.com>
3368
3369 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
3370 (ia64_va_arg): Expect variable sized types by reference.
3371 * config/ia64/ia64-protos.h: Update.
46468cd9 3372 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
3373 ia64_function_arg_pass_by_reference.
3374
26406018
RH
33752002-04-18 Richard Henderson <rth@redhat.com>
3376
46468cd9
ZW
3377 * ifcvt.c: Include except.h.
3378 (block_has_only_trap): Break out from find_cond_trap.
3379 (find_cond_trap): Use it. Always delete the trap block.
3380 (merge_if_block): Allow then block null. Be less simplistic about
3381 what insns can end a block.
3382 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 3383
26406018
RH
3384 * config/ia64/ia64.md (trap, conditional_trap): New.
3385
a3acf46d
JJ
33862002-04-18 Jakub Jelinek <jakub@redhat.com>
3387
3388 PR c/6358
3389 * function.c (assign_parms): Assign hard current_function_return_rtx
3390 register here...
3391 (expand_function_end): ...not here.
3392
7a228918
NB
33932002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
3394
3395 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
3396 * c-tree.h (c_incomplete_type_error): New.
3397 * c-typeck.c (require_complete_type, build_component_ref): Update.
3398 (incomplete_type_error): Rename.
3399 * langhooks-def.h (lhd_incomplete_type_error): New.
3400 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
3401 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
3402 * langhooks.c (lhd_incomplete_type_error): New.
3403 * langhooks.h (struct lang_hooks_for_types): New hook.
3404 * tree.c (size_in_bytes): Use new hook.
3405 * tree.h (incomplete_type_error): Remove.
3406objc:
3407 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
3408
f18664c1
ZW
34092002-04-18 Zack Weinberg <zack@codesourcery.com>
3410
3411 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
3412 TARGET_FLOAT_FORMAT blocks.
3413
8ecab453
GP
34142002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3415
3416 * doc/install.texi (Downloading the source): Do not mention Chill
3417 any longer, but mention Ada.
3418 (Configuration): Do not mention Chill any longer.
3419
528d8489
HPN
34202002-04-18 Hans-Peter Nilsson <hp@axis.com>
3421
3422 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
3423
91da27c5
JH
3424Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
3425
3426 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
3427 in last patch.
3428
a32db605
JJ
34292002-04-18 Jakub Jelinek <jakub@redhat.com>
3430
3431 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
3432 instead of unsigned_type.
3433
5a28d8cc
JH
3434Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
3435
3436 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
3437 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
3438 later.
3439
3d980b9f
BS
34402002-04-18 Bernd Schmidt <bernds@redhat.com>
3441
3442 * attribs.c (vector_type_node_list): New static variable.
3443 (handle_vector_size_attribute): Use it to avoid generating a
3444 new type node each time we are called.
3445
2e676d78
BS
3446 * combine.c (subst): Avoid trying to make a vector mode subreg of
3447 an integer constant.
3448 (gen_lowpart_for_combine): Likewise.
46468cd9 3449
58c2956c
RS
34502002-04-18 Roger Sayle <roger@eyesopen.com>
3451 Jakub Jelinek <jakub@redhat.com>
3452
3453 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
3454 for integer constant c (if x has unsigned type or sign bit is not
3455 set in c). This folds the zero/sign extension into the bit-wise and
3456 operation.
3457
692efa8e
JJ
34582002-04-18 Jakub Jelinek <jakub@redhat.com>
3459
3460 PR middle-end/6205
3461 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
3462 otherwise xorps.
3463
1372d4ce
NY
34642002-04-17 NIIBE Yutaka <gniibe@m17n.org>
3465
3466 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
3467
169ce44d
NC
34682002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
3469
3470 * gcc.c (read_specs): Detect and fail if an attempt is made to
3471 rename a spec string to an already existing string.
3472
b30d2115
UW
34732002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
3474
3475 * config/s390/s390.c (legitimize_pic_address): Do not generate
3476 illegal address constant without CONST.
3477
d6964c30
KG
34782002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3479
3480 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
3481 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3482
7c82a1ed
UW
34832002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
3484
3485 PR optimization/6305
3486 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
3487 to make sure previous reloads are taken into account. Generate
3488 better code if one operand is an in-range immediate constant.
3489
58db9d1a
AH
34902002-04-16 Andrew Haley <aph@cambridge.redhat.com>
3491
3492 * doc/install.texi (Building): libgcj requires GNU make.
3493
2a732575
JJ
34942002-04-17 Jakub Jelinek <jakub@redhat.com>
3495
3496 PR bootstrap/6315
3497 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
3498 even if hard quad and register is not floating.
3499 (movtf reg<-mem split): Disallow splitting if hard quad and
3500 register is floating.
3501 (movtf mem<-reg split): Likewise.
3502 * config/sparc/sparc.c (fp_register_operand): New predicate.
3503 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
3504
75a65e46
ZW
35052002-04-17 Zack Weinberg <zack@codesourcery.com>
3506
3507 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
3508 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
3509 (unprotoize.o): Ditto. Build from protoize.c. Define
3510 UNPROTOIZE on command line.
3511 * protoize.c: Include cppdefault.h. Delete include_defaults.
3512 (in_system_include_dir): Use cpp_include_defaults (defined in
3513 cppdefault.o).
3514 * unprotoize.c: Delete file.
3515
650f0e97
AH
35162002-04-17 Aldy Hernandez <aldyh@redhat.com>
3517
46468cd9
ZW
3518 * config/rs6000/altivec.h (vec_ld): Add array variants.
3519 (vec_lde): Same.
3520 (vec_ldl): Same.
650f0e97 3521
71a0ab0c 35222002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 3523 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 3524
46468cd9
ZW
3525 * config/rs6000/altivec.h: Define __ALTIVEC__.
3526 (bool): New.
3527 (__pixel): New.
3528 (pixel): New.
3529 (vec_cfux): New.
3530 (vec_vmaddfp): New.
3531 (vec_vsldoi): New.
3532 Add parentheses to all macro arguments.
71a0ab0c 3533
ff2c46ac
RH
35342002-04-16 Richard Henderson <rth@redhat.com>
3535
3536 PR c++/6320
3537 * except.c (remove_eh_handler): Insert inner regions at beginning
3538 of sibling chain. Refactor expressions.
3539
f1ba94dd
RH
35402002-04-16 Richard Henderson <rth@redhat.com>
3541
f0871dfe
RH
3542 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
3543 * config/sparc/sol2-gas-bi.h: New file.
3544 * config.gcc (sparc*-solaris): Add it as needed.
3545 * configure.in (AS_SPARC64_FLAG): Remove check.
3546 * config.in, configure: Regenerate.
3547
3548 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
3549
35502002-04-16 Richard Henderson <rth@redhat.com>
3551
3552 * config/mips/mips.c (override_options): Don't override N32 for
3553 a 64-bit ISA.
409d3c60 3554
f1ba94dd
RH
3555 PR 6202
3556 * config/mips/mips.md (can_delay): Split out of existing define_delays.
3557 (HILO_delay): Set can_delay false.
3558
178c3eff
DJ
35592002-04-16 Dale Johannesen <dalej@apple.com>
3560
3561 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
3562 instruction addresses.
3563 (rs6000_output_function_epilogue): Likewise.
3564
7d6f6369
PC
35652002-04-16 Paolo Carlini <pcarlini@unitus.it>
3566
3567 * c-parse.in (poplevel, compstmt_start,
3568 compstmt_primary_start): Add ending ';', in accordance
3569 with POSIX.
3570
8947df0c
RH
35712002-04-16 Richard Henderson <rth@redhat.com>
3572
3573 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
3574 Adjust tm_file order to get TARGET_DEFAULT set properly.
3575 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
3576 * doc/install.texi (sparc-solaris): Update.
3577
3148ad6d
DJ
35782002-04-16 Dale Johannesen <dalej@apple.com>
3579
3580 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
3581 comparison operands do not match each other or if modes of
3582 conditions do not match result.
3583
014cb9b6 35842002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 3585
014cb9b6
HP
3586 PR target/6305
3587 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 3588 multiword register.
562a69be 3589
014cb9b6 35902002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 3591
8947df0c 3592 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 3593
a9772b60
JJ
35942002-04-16 Jakub Jelinek <jakub@redhat.com>
3595
3596 PR middle-end/6279
3597 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
3598
3599 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
3600
861829ed
RH
36012002-04-15 Richard Henderson <rth@redhat.com>
3602
3603 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
3604 call_really_used_regs too.
3605
bcf2fe9c
RH
36062002-04-15 Richard Henderson <rth@redhat.com>
3607
3608 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
3609
629111c7
DM
36102002-04-15 David S. Miller <davem@redhat.com>
3611
3612 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
3613 as being CLOBBERed.
3614
98ef3137
JJ
36152002-04-16 Jakub Jelinek <jakub@redhat.com>
3616
3617 PR c/6290
3618 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
3619 CONST_VECTOR is { 0, ... 0 }.
3620
0aa911c5
LR
36212002-04-15 Loren J. Rittle <ljrittle@acm.org>
3622
3623 * doc/install.texi (Installing GCC: Configuration): Clarify
3624 the only supported ways to configure gcc.
3625
83248d49 36262002-04-15 Roland McGrath <roland@frob.com>
46468cd9 3627
83248d49
RM
3628 * config.gcc (alpha*-*-gnu*): New target configuration.
3629 * config/alpha/gnu.h: New file for it.
3630 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
3631
b2123dc0
MM
36322002-04-16 Mark Mitchell <mark@codesourcery.com>
3633
3634 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
3635 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
3636 * tree.h (expand_start_stmt_expr): Update prototype.
3637 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
3638 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
3639 on the STMT_EXPR created for the inline function.
46468cd9 3640
8fe2d853
RH
36412002-04-15 Richard Henderson <rth@redhat.com>
3642
3643 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
3644 config/i386/linux-aout.h, config/i386/linux-oldld.h,
3645 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
3646 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
3647 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
3648 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
3649 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
3650 Define __gnu_linux__, not gnu_linux.
3651 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
3652
07cdae91
MM
36532002-04-15 Mark Mitchell <mark@codesourcery.com>
3654
3655 Remove Chill front end.
3656 * gcc.c (default_compilers): Remove Chill entries.
3657 * ch: Remove directory.
3658 * doc/frontends.texi: Remove information about Chill.
3659 * doc/sourcebuild.texi: Likewise.
3660 * doc/standards.texi: Likewise.
3661
41823c5e
DR
36622002-04-15 Douglas B Rupp <rupp@gnat.com>
3663
3664 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
3665 (LONGLONG_STANDALONE): Define.
3666
eb29ddb6
DM
36672002-04-15 David S. Miller <davem@redhat.com>
3668
3669 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
3670 Call emit_library_call with LCT_NORMAL.
3671 (sparc_initialize_trampoline): Use LCT_foo instead of
3672 magic constant in emit_library_call invocations.
3673 (sparc64_initialize_trampoline): Likewise.
3674 (sparc_profile_hook): Likewise.
3675 * config/sparc/sparc.md: Likewise.
3676
3677 * config/sparc/sparc.c (sparc_extra_constraint_check):
3678 Fix type of argument 'c'.
3679 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
3680 Likewise.
3681
bd6bec6b
GDR
36822002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
3683
3684 * diagnostic.h (output_buffer_state): Redefine.
3685 (output_format_decoder): New macro.
3686 (output_prefixing_rule): Likewise.
3687 (output_line_cutoff): Likewise.
3688 (diagnostic_format_decoder): Adjust.
3689 (diagnostic_prefixing_rule): Likewise.
3690 (diagnostic_line_cutoff): Likewise.
3691 (diagnostic_state): Likewise.
3692 (diagnostic_kind_count): Likewise.
3693 (diagnostic_buffer): Now a macro.
3694
3695 * diagnostic.c (diagnostic_buffer): Remove definition.
3696 (output_is_line_wrapping): Adjust.
3697 (set_real_maximum_length): Likewise.
3698 (output_set_maximum_length): Likewise.
3699 (init_output_buffer): Likewise.
3700 (lhd_print_error_function): Likewise.
3701 (output_do_verbatim): Likewise.
3702
ebef4e8c
NB
37032002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
3704
3705 * cpperror.c (print_location): Don't print include chain
3706 if line == 0.
3707 (cpp_begin_message): Update to use DL_ macros.
3708 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
3709 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
3710 cpp_notice, cpp_notice_from_errno): Remove.
3711 (cpp_error, cpp_error_with_line): Update to take a diagnostic
3712 level.
3713 (cpp_errno): New.
3714 * cppexp.c (CPP_ICE): Remove.
3715 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
3716 lex, integer_overflow, _cpp_parse_expr): Update.
3717 * cppfiles.c (read_include_file, find_include_file,
3718 handle_missing_header, _cpp_read_file, remap_filename): Update.
3719 * cpphash.h (enum error_type): Remove.
3720 (_cpp_begin_message): Update.
3721 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
3722 cpp_handle_option, cpp_post_options): Update.
3723 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
3724 skip_whitespace, parse_identifier, parse_slow, parse_string,
3725 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
3726 cpp_interpret_charconst): Update.
3727 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
3728 lex_macro_node, do_undef, glue_header_name, parse_include,
3729 do_include_common, read_flag, do_line, do_linemarker, do_ident,
3730 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
3731 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
3732 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
3733 _cpp_pop_buffer, do_diagnostic): Update.
3734 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
3735 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
3736 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
3737 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
3738 cpp_notice, cpp_notice_from_errno): Remove.
3739 (cpp_error, cpp_error_with_line): Update to take a diagnostic
3740 level.
3741 (cpp_errno): New.
3742 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
3743 collect_args, enter_macro_context, save_parameter, parse_params,
3744 _cpp_create_definition, check_trad_stringification,
3745 cpp_macro_definition): Update.
3746 * cppmain.c (cpp_preprocess_file): Update.
3747 * fix-header.c (read_scan_file): Update.
3748
c19a3859
AS
37492002-04-14 Andreas Schwab <schwab@suse.de>
3750
3751 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
3752
10fdbed6
JD
37532002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3754
3755 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
3756
77660a9a
MM
37572002-04-13 Mark Mitchell <mark@codesourcery.com>
3758
3759 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
3760 not gnu_hurd.
3761
e0ff1ded
HPN
37622002-04-13 Hans-Peter Nilsson <hp@axis.com>
3763
3764 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
3765
2341c7ea
JS
37662002-04-13 Joel Sherrill <joel@OARcorp.com>
3767
3768 * config/sparc/t-elf: Enable v8 multilibs. Impacts
3769 sparc-elf and sparc-rtems targets.
3770
d29350c0
MM
37712002-04-13 Mark Mitchell <mark@codesourcery.com>
3772
3773 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
3774 defined, and __gnu_hurd__ wherever __GNU__ is defined.
3775 * arm/linux-elf.h: Likewise.
3776 * cris/aout.h: Likewise.
3777 * cris/linux.h: Likewise.
3778 * i370/linux.h: Likewise.
3779 * i386/gnu.h: Likewise.
3780 * i386/linux-aout.h: Likewise.
3781 * i386/linux-oldld.h: Likewise.
3782 * i386/linux.h: Likewise.
3783 * i386/linux64.h: Likewise.
3784 * ia64/linux.h: Likewise.
3785 * m68k/linux-aout.h: Likewise.
3786 * m68k/linux.h: Likewise.
3787 * mips/linux.h: Likewise.
3788 * pa/pa-linux.h: Likewise.
3789 * pj/linux.h: Likewise.
3790 * rs6000/sysv4.h: Likewise.
3791 * s390/linux.h: Likewise.
3792 * sh/linux.h: Likewise.
3793 * sparc/linux-aout.h: Likewise.
3794 * sparc/linux.h: Likewise.
3795 * sparc/linux64.h: Likewise.
3796 * xtensa/linux.h: Likewise.
3797
fc552851
RS
37982002-04-13 Richard Sandiford <rsandifo@redhat.com>
3799
3800 * stmt.c (check_unique_operand_names): Expect operand names to
3801 be strings rather than identifiers. Use simple_cst_equal to
3802 compare them.
3803 (resolve_operand_name_1): Make same identifier to string change here.
3804 * c-parse.in (asm_operand): Convert a named operand into a string.
3805 * cp/parse.y (asm_operand): Likewise.
3806
1d405c5e
AS
38072002-04-13 Andreas Schwab <schwab@suse.de>
3808
3809 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
3810
c740732f
MM
38112002-04-12 Mark Mitchell <mark@codesourcery.com>
3812
3813 Revert these changes:
3814
3815 2002-04-06 Mark Mitchell <mark@codesourcery.com>
3816
3817 PR c++/5571
3818 * stor-layout.c (layout_decl): Reset the RTL for the decl.
3819
3fc602a0
RH
38202002-04-12 Richard Henderson <rth@redhat.com>
3821
3822 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
3823 (sparc*-*-solaris): Clean up header files.
3824 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
3825 and plan on generating 64-bit code.
3826 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
3827 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
3828 * config/sparc/sol2-sld-64.h: Rename ...
3829 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
3830 for AS_SPARC64_FLAG not defined.
3831 * config/sparc/sol2-gld-bi.h: New.
3832 * config/sparc/sol2-sld.h: Remove.
3833 * config/sparc/sol26-sld.h: New.
3834 * config/sparc/sol2.h: Tidy comments.
3835 * doc/install.texi: Document sparc-solaris configury changes.
3836
2f15e255
RH
38372002-04-12 Richard Henderson <rth@redhat.com>
3838
3839 * recog.c (offsettable_address_p): Match the logic in adjust_address.
3840
3841 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
3842 in 64-bit mode only. Use only for 32-bit or MEDLOW.
3843
cc8475cb
RO
38442002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3845
3846 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
3847
6f133a4a
JL
3848Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
3849
ef1b8858 3850 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
3851 constrain_operands.
3852
1329e600
DR
38532002-04-12 Douglas B Rupp <rupp@gnat.com>
3854
3855 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
3856 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
3857 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 3858 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
3859 * config/i386/t-interix (USER_H): Remove.
3860
0339d239
DD
38612002-04-12 DJ Delorie <dj@redhat.com>
3862
3863 * integrate.c (compare_blocks): Make comparisons safe for when
3864 sizeof(int) < sizeof(char *).
3865 (find_block): Likewise.
3866
cc4d5fec
JH
38672002-04-12 Jan Hubicka <jh@suse.cz>
3868 David Edelsohn <edelsohn@gnu.org>
3869
3870 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
3871 registers.
3872 (symbol_ref_operand): New.
3873 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
3874 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
3875
93215a1b
AS
38762002-04-12 Andreas Schwab <schwab@suse.de>
3877
3878 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
3879 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
3880 overrides the definition in config/svr4.h.
46468cd9 3881
1d80248e
EN
38822002-04-12 Eric Norum <eric.norum@usask.ca>
3883
3884 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
3885 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
3886 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
3887 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
3888 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
3889 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
3890 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
3891 definitions to config/rtems.h and make the targets more similar.
3892
fa1591cb
RK
3893Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3894
fa06ab5c
RK
3895 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
3896 POINTERS_EXTEND_UNSIGNED.
3897 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
3898 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
3899
fa1591cb
RK
3900 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
3901 not specified.
3902
12e85a0e
R
3903Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
3904
3905 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
3906 depends on TARGET_SHMEDIA, not TARGET_SH5.
3907
1ab3e58a
HPN
39082002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
3909
3910 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
3911 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
3912
18778292
R
3913Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
3914
3915 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
3916 no r0 clobber.
3917
9002507c
AS
39182002-04-12 Andreas Schwab <schwab@suse.de>
3919
3920 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
3921
9be40833
RH
39222002-04-12 Richard Henderson <rth@redhat.com>
3923
3924 PR bootstrap/4191
3925 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
3926
3927 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
3928 modes spanning multiple hard regs.
46468cd9 3929
9be40833
RH
3930 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
3931
3d9268b6
JDA
39322002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3933
3934 * pa.c (pa_output_function_prologue): Don't accumulate the total
3935 number of code bytes when using TARGET_64BIT, or gas, SOM and not
3936 the portable runtime.
3937 (output_deferred_plabels): Handle 64bit plabels.
3938 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
3939 generating pic code using the GAS assembler for object formats that
3940 are not SOM (ie., ELF32 and ELF64).
3941 (output_millicode_call): Check attribute type if attribute length is 28.
3942 Likewise use $PIC_pcrel$0. Only call get_attr_length and
3943 dbr_sequence_length once.
3944 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
3945 dbr_sequence_length once.
3946 * pa.h (TARGET_SOM): Define if not defined.
3947 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
3948 with GAS and not SOM.
3949 (jump, call_internal_reg, call_value_internal_reg): Likewise.
3950 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
3951
d360fd18
DB
39522002-04-11 David O'Brien <obrien@FreeBSD.org>
3953
3954 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
3955 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
3956 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
3957 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
3958 elfos.h and dbxelf.h values are fine now.
3959 * config/i386/freebsd.h, config/alpha/freebsd.h
3960 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
3961
5b8fcab6
DB
39622002-04-11 David O'Brien <obrien@FreeBSD.org>
3963
3964 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
3965 or set Acpu or Amachine. Reformat.
3966 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
3967 define.
3968 (LINK_SPEC): Do not need to undef.
3969 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
3970 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
3971 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
3972 define.
3973 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
3974 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
3975 (LINK_SPEC): Do not need to undef.
3976 (DONT_USE_BUILTIN_SETJMP): Do not define.
3977 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
3978 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
3979 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
3980 Remove trailing spaces.
3981 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
3982 __ELF__, or set Acpu or Amachine. Reformat.
3983 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
3984 define.
3985
fee42cc1
DB
39862002-04-11 David O'Brien <obrien@FreeBSD.org>
3987
3988 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
3989 all other *-*-freebsd* targets.
3990
77a403e4
RH
39912002-04-11 Richard Henderson <rth@redhat.com>
3992
3993 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
3994
cf0005c6
DB
39952002-04-11 David O'Brien <obrien@FreeBSD.org>
3996
3997 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
3998 Include {cpu}/{cpu}.h thru tm_file.
3999 (alpha*-*-linux*ecoff): Remove target.
4000 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
4001 (LINK_SPEC): Remove, is not OS independent.
4002 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
4003 (LINK_SPEC): Do not need to #undef any longer.
4004 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
4005 any longer.
4006 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
4007 __ELF__.
4008 (LINK_SPEC): Moved here from alpha/elf.h.
4009 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
4010 SUB_CPP_PREDEFINES.
4011 * config/alpha/linux-ecoff.h: Remove.
4012 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
4013 (CPP_SPEC): Define _POSIX_SOURCE as needed.
4014 (CPP_SUBTARGET_SPEC): Do not define.
4015 (LINK_SPEC): Do not need to #undef any longer.
4016 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
4017 * config/alpha/vms.h: Likewise.
4018
9be40833 40192002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
4020
4021 * doc/extend.texi: Remove old claim that typedefs cannot have
4022 an alignment attribute.
4023
010f87c4
JJ
40242002-04-11 Jakub Jelinek <jakub@redhat.com>
4025
4026 PR optimization/6177
4027 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
4028 bitpos is 0 and bitsize CONCAT size.
4029
578fc63d
JJ
40302002-04-11 Jakub Jelinek <jakub@redhat.com>
4031
4032 PR c/6223
4033 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
4034
bf9b85ce
DB
40352002-04-10 David O'Brien <obrien@FreeBSD.org>
4036
4037 * config/alpha/freebsd.h: Minor reformatting.
4038 (CPP_SPEC): Define ELF and add cpp_subtarget.
4039 (ASM_SPEC): No longer needed.
4040
7425707d
RH
40412002-04-11 Richard Henderson <rth@redhat.com>
4042
4043 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
4044 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
4045 (dimode mem/zero splitter): New.
4046
1a05e874
HPN
40472002-04-11 Hans-Peter Nilsson <hp@axis.com>
4048
4049 * config/cris/cris.c (cris_override_options): Tweak error message
4050 for PIC not implemented.
4051
4052 * config/cris/cris.h: Tweak comments related to parameter-passing.
4053
4054 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
4055
6f3d0447
RH
40562002-04-10 Richard Henderson <rth@redhat.com>
4057
4058 * except.c (add_ehl_entry): Allow duplicates after landing pad
4059 creation.
4060
174bf2b1
DE
40612002-04-10 David Edelsohn <edelsohn@gnu.org>
4062
4063 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
4064
03f10472
TM
40652002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
4066
4067 * c-decl.c (c_init_decl_processing): Move generation of
4068 decls for g77_integer_type_node and friends from here ...
4069 * c-common.c (c_common_nodes_and_builtins): ... to here.
4070
2f460a0a
UW
40712002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
4072
4073 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
4074 is only used as frame pointer when frame_pointer_needed is true.
4075
0be5cf85
RE
40762002-04-10 Richard Earnshaw <rearnsha@arm.com>
4077
4078 PR target/817
4079 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
4080 for the fact that the pool entry uses two words.
4081 (movdf_hard_insn): Similarly. Also, ADR instruction can span
4082 1k bytes.
4083 (movdf_soft_insn): Similarly.
4084 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
4085 for the fact that the pool entry uses three words.
4086
bf6d4777
RS
40872002-04-10 Richard Sandiford <rsandifo@redhat.com>
4088
4089 * config/mips/mips.c (mips_va_arg): When using the struct version
4090 of the EABI va_list, allow arguments in the register save area to
4091 take up less room than a stack argument.
4092
c2e9dc85
RH
40932002-04-10 Richard Henderson <rth@redhat.com>
4094
4095 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
4096 if EXPAND_INITIALIZER.
4097
bc8e8e97
RH
40982002-04-09 Richard Henderson <rth@redhat.com>
4099
4100 * config/alpha/alpha.md (movdi_er_maybe_g): New.
4101 * config/alpha/alpha.c (alpha_expand_mov): Use it.
4102
a6a063b8
AM
41032002-04-10 Alan Modra <amodra@bigpond.net.au>
4104
4105 PR optimization/6233
4106 * rtlanal.c (pure_call_p): New function.
4107 * rtl.h (pure_call_p): Declare.
4108 * loop.c (prescan_loop): Use it to set has_nonconst_call.
4109 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
4110
7b2e1077
EC
41112002-04-09 Eric Christopher <echristo@redhat.com>
4112
4113 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
4114 information to .comm directive.
4115
d8a50944
RH
41162002-04-09 Richard Henderson <rth@redhat.com>
4117
4118 PR c/5078
4119 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
4120
6a58eee9
RH
41212002-04-09 Richard Henderson <rth@redhat.com>
4122
4123 * basic-block.h (flow_delete_block_noexpunge): Declare.
4124 (expunge_block_nocompact): Declare.
4125 * cfg.c (expunge_block_nocompact): Split out from ...
4126 (expunge_block): ... here.
4127 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
4128 (flow_delete_block_noexpunge): Split out from ...
4129 (flow_delete_block): ... here.
4130 * cfgcleanup.c (delete_unreachable_blocks): Compact while
4131 removing dead blocks.
4132 * except.c (exception_handler_labels): Remove.
4133 (exception_handler_label_map): New.
4134 (struct eh_region): Add aka member.
4135 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
4136 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
4137 (for_each_eh_label, for_each_eh_label_1): New.
4138 (init_eh): Register exception_handler_label_map.
4139 (free_eh_status): Use free_region.
4140 (find_exception_handler_labels): Use the map, not the list.
4141 (remove_exception_handler_label): Likewise.
4142 (maybe_remove_eh_handler): Likewise.
4143 (remove_eh_handler): Use the region aka bitmap.
4144 * except.h (exception_handler_labels): Remove.
4145 (for_each_eh_label): Declare.
4146 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
4147 * loop.c (invalidate_loops_containing_label): New.
4148 (find_and_verify_loops): Use it. Use for_each_eh_label.
4149 * sched-rgn.c (is_cfg_nonregular): Use
4150 current_function_has_exception_handlers.
4151
b47374fa
RH
41522002-04-09 Richard Henderson <rth@redhat.com>
4153
4154 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
4155 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
4156 Do not return changed status.
4157 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
4158 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
4159 New functions that do return changed status.
4160 * sbitmap.h: Update decls.
4161 * gcse.c, lcm.c: Use _cg functions as needed.
4162
1951818c
R
4163Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
4164
4165 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
4166 (sh64-*-elf*, sh-*-rtemself*): Likewise.
4167 * config/sh/embed_bb.c: New file.
4168 * config/sh/embed-elf.h: New file.
4169 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
4170 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
4171 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
4172 __PTRDIFF_TYPE__ .
4173 (SUBTARGET_CPP_PTR_SPEC): Don't define.
4174 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
4175 Add subtarget_asm_endian_spec.
4176 (ASM_SPEC): Use subtarget_asm_endian_spec.
4177 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
4178 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
4179 (WCHAR_UNSIGNED): Define.
4180 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
4181 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
4182 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
4183 Fix value.
4184 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
4185 (sh_adjust_cost): Likewise.
4186 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
4187 __PTRDIFF_TYPE__ .
4188 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
4189 (WCHAR_TYPE_SIZE): Likewise.
4190 (ASM_SPEC): Use subtarget_asm_endian_spec.
4191 (SH_ELF_WCHAR_TYPE): #undef/ #define.
4192 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
4193 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
4194 (MAX_WCHAR_TYPE_SIZE): Don't #define .
4195 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
4196 (USER_LABEL_PREFIX): Don't #undef /#define .
4197 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
4198 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
4199 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
4200 (ASM_SPEC): Likewise.
4201 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
4202 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
4203 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
4204 (LIB2FUNCS_EXTRA): Define.
4205 * t-sh64 (LIB2FUNCS_EXTRA): Define.
4206 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
4207 (LIB1ASMFUNCS_CACHE): Define.
4208 (LIB2FUNCS_EXTRA): Redefine empty.
4209
34295799
RH
42102002-04-08 Richard Henderson <rth@redhat.com>
4211
4212 * reorg.c (get_branch_condition): Use reversed_comparison_code.
4213
e8766a39
SC
42142002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4215
4216 * config/m68hc11/larith.asm (__map_data_section): Fix condition
4217 and optimize for size.
4218 (__do_global_ctors): Fix pointer comparison.
4219 (__do_global_dtors): Likewise.
4220
f451b552
DM
42212002-04-09 David S. Miller <davem@redhat.com>
4222
4223 * config/sparc/sparc.c (sparc_extra_constraint_check): New
4224 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
4225 allow reloading pseudos.
4226 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
4227 * config/sparc/sparc-protos.h: Declare it.
4228
4229 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
4230 unsigned comparison warning.
4231 (output_restore_regs): Mark leaf_function as unused.
4232
1ce7f3c2
RK
4233Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4234
4235 * expr.c (is_aligning_offset): New function.
4236 (expand_expr, case COMPONENT_EXPR): Call it.
4237
7a31a340
DM
42382002-04-08 David S. Miller <davem@redhat.com>
4239
4240 PR target/6082
4241 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
4242
4243 Make init_priority work on Sparc when using GNU ld.
4244 * config/sparc/linux.h, config/sparc/linux64.h,
4245 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
4246 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
4247 * config/sparc/sol2-gld.h: New file to do the same.
4248 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
4249 sparc/sol2-gld.h to tm_file.
4250
4251 PR optimization/4328
4252 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
4253 * doc/md.texi: Document it.
4254 * config/sparc/sparc.md (movdi_insn_sp64_novis,
4255 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
4256 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
4257 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
4258 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
4259
11579f33
AJ
42602002-04-08 Andreas Jaeger <aj@suse.de>
4261
4262 * stmt.c (expand_asm_operands): Revert last patch from Richard
4263 Henderson.
4264
b57215d9
GP
42652002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4266
4267 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
4268 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
4269
42702002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4271
4272 * doc/contrib.texi (Contributors): Add David O'Brien.
4273
534d0cc0
AM
42742002-04-08 Alan Modra <amodra@bigpond.net.au>
4275
4276 * configure.in (auto-build.h): Use target_alias and build_alias
4277 when running configure.
4278 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
4279 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
4280 * configure: Regenerate.
4281
19fe522a
DM
42822002-04-07 David S. Miller <davem@redhat.com>
4283
4284 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
4285
bf2d0b8e
JDA
42862002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
4287
4288 PR 5933
4289 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
4290 generating 32-bit pic code.
4291
477cdac7
JT
42922002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
4293
4294 * cppinit.c (cpp_create_reader): Initialize
4295 discard_comments_in_macro_exp.
4296 (COMMAND_LINE_OPTIONS): Add "-CC" option.
4297 (cpp_handle_option): Handle "-CC" option.
4298 * cpplex.c (save_comment): If saving a C++ comment in
4299 a directive, convert it to a C comment.
4300 (_cpp_lex_direct): Pass second comment start character to
4301 save_comment to indicate comment type.
4302 * cpplib.c (_cpp_handle_directive): If processing
4303 a "#define" directive and discard_comments_in_macro_exp
4304 is false, re-enable saving of comments.
4305 (lex_macro_node): If discard_comments_in_macro_exp is false,
4306 discard any comments before the macro identifier.
4307 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
4308 member.
4309 * cppmacro.c (cpp_get_token): If expanding a macro while
4310 processing a directive, discard any comments we might encounter.
4311 (parse_params): If discard_comments_in_macro_exp is false,
4312 ignore comments in the macro parameter list.
4313 * gcc.c (cpp_unique_options): Add "-CC" option.
4314 (option_map): Map "--comments-in-macros" to "-CC".
4315 * doc/cppopts.texi: Document "-CC" option.
4316 * f/lang-specs.h: Add "-CC" option.
4317 * testsuite/gcc.dg/cpp/maccom1.c: New test.
4318 * testsuite/gcc.dg/cpp/maccom2.c: New test.
4319 * testsuite/gcc.dg/cpp/maccom3.c: New test.
4320 * testsuite/gcc.dg/cpp/maccom4.c: New test.
4321 * testsuite/gcc.dg/cpp/maccom5.c: New test.
4322 * testsuite/gcc.dg/cpp/maccom6.c: New test.
4323
f1526122
JDA
43242002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
4325
4326 PR middle-end/6180
4327 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
4328
b1896e61
MM
43292002-04-06 Mark Mitchell <mark@codesourcery.com>
4330
0154eaa8
MM
4331 PR c++/5571
4332 * stor-layout.c (layout_decl): Reset the RTL for the decl.
4333
b1896e61
MM
4334 PR opt/5120
4335 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
4336 RTX_UNCHANGING_P for the functions arguments when a tail call
4337 is made.
4338
b0148884
JM
43392002-04-06 Jason Merrill <jason@redhat.com>
4340
4341 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
4342 (parse_options_and_default_flags): Set them appropriately.
4343 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
4344
392fc5b0
HPN
43452002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
4346
4347 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
4348 here.
4349
4350 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
4351 semicolon.
4352
4353 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
4354 types come in by-reference. Fix typo in comment.
4355
2d69e3cb
DM
43562002-04-05 David S. Miller <davem@redhat.com>
4357
4358 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
4359 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
4360 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
4361 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
4362
43632002-04-05 David S. Miller <davem@redhat.com>
4364
4365 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
4366 are not going to emit return instructions, emit at least a nop
4367 for the sake of sane backtraces.
4368
5f9fb0e3
RH
43692002-04-05 Richard Henderson <rth@redhat.com>
4370
4371 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
4372
49f37a0d
JJ
43732002-04-05 Jakub Jeilnek <jakub@redhat.com>
4374
4375 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
4376
974a3101
AO
43772002-04-05 Alexandre Oliva <aoliva@redhat.com>
4378
4379 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
4380 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
4381 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
4382
2e04a694
AS
43832002-04-05 Andreas Schwab <schwab@suse.de>
4384
a40179bd 4385 * c-convert.c: Include c-common.h.
2e04a694
AS
4386 * Makefile.in (c-convert.o): Updated.
4387
1f785b7c
JJ
43882002-04-05 Jakub Jelinek <jakub@redhat.com>
4389
4390 * mklibgcc.in: Use separate libgcc.map for each multilib.
4391 * Makefile.in (distclean): Don't remove libgcc.map here.
4392
4d2fb38b
JJ
43932002-04-05 Jakub Jelinek <jakub@redhat.com>
4394
4395 * Makefile.in (s-mlib): Handle --disable-multilib by separate
4396 genmultilib invocation.
4397
bb63e5a0
RS
43982002-04-04 Richard Sandiford <rsandifo@redhat.com>
4399
4400 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
4401 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
4402 to num_gprs for symmetry.
4403 * config/mips/mips.c: Adjust accordingly.
4404
8ab80eaa
NB
44052002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
4406
4407 * c-common.c (truthvalue_conversion): Rename, update.
4408 * c-common.h (c_common_truthvalue_conversion): New.
4409 * c-convert.c (convert): Update.
4410 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
4411 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
4412 * c-typeck.c (build_binary_op, build_unary_op,
4413 build_conditional_expr): Update.
4414 * fold-const.c (constant_boolean_node, fold): Use langhook.
4415 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
4416 * langhooks.h (struct lang_hooks): New hook.
4417 * stmt.c (expand_decl_cleanup): Use langhook.
4418 * tree.h (truthvalue_conversion): Remove.
4419objc:
4420 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
4421
a2e9374a
AM
44222002-04-05 Alan Modra <amodra@bigpond.net.au>
4423
4424 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
4425 Add rules to make null object file.
4426
64d08263
JB
44272002-04-04 Jim Blandy <jimb@redhat.com>
4428
4429 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
4430 macro formal parameter names.
4431
aa7634dd
DM
44322002-04-04 David S. Miller <davem@redhat.com>
4433
4434 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
4435
ecc114f7
RH
44362002-04-04 Richard Henderson <rth@redhat.com>
4437
4438 PR middle-end/5099
4439 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
4440 Support copies into and out of memory. Don't accept allows_reg
4441 and allows_mem as gospel.
4442
c4484b8f
RH
44432002-04-04 Richard Henderson <rth@redhat.com>
4444
4445 PR opt/6165
4446 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
4447 (write_dependence_p): Likewise.
4448
39002160
RH
44492002-04-04 Richard Henderson <rth@redhat.com>
4450
4451 * predict.c (estimate_bb_frequencies): Do frequency calculation
4452 with a volatile temporary.
4453
f53ebe71
UW
44542002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
4455
4456 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
4457
15e0ecab
JJ
44582002-04-04 Jakub Jelinek <jakub@redhat.com>
4459
4460 PR c++/6119
4461 * final.c (final_start_function): Don't bump profile_label_no here...
4462 (final_end_function): ...but here.
4463
ffd386b0
JJ
44642002-04-04 Jakub Jelinek <jakub@redhat.com>
4465
4466 * config/sparc/sparc.md (pic): New attribute.
4467 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
4468 into stack slots.
4469 (split after do_builtin_setjmp_setup): New.
4470
8b156b3e
JJ
44712002-04-04 Jakub Jelinek <jakub@redhat.com>
4472
4473 PR fortran/6106
4474 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
4475 change.
4476
014c0998
JJ
44772002-04-04 Jakub Jelinek <jakub@redhat.com>
4478
4479 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
4480 UNITS_PER_WORD for zero sized aggregates.
4481
4d8611d9
DM
44822002-04-03 David S. Miller <davem@redhat.com>
4483
4484 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
4485 one-character spec for this, just use %(link_gcc_c_sequence).
4486
b03ad99d
DM
44872002-04-03 David S. Miller <davem@redhat.com>
4488
4489 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
4490 handling.
4491
823fbbce
JDA
44922002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
4493
4494 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
4495 (DWARF_FRAME_RETURN_COLUMN): Move.
4496 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4497 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
4498 * pa.c (except.h, predict.h): Include.
4499 (FRP): Delete.
4500 (store_reg_modify, set_reg_plus_d): Revise prototypes.
4501 (output_ascii): Add cast.
4502 (store_reg_modify): Revise to add frame notes.
4503 (set_reg_plus_d): Likewise.
4504 (compute_frame_size): Include space for eh data registers in frame if
4505 the current function calls eh_return.
4506 (hppa_expand_prologue): Ensure register %r2 is saved if the current
4507 function calls eh_return. Save eh data registers if the current
4508 function calls eh_return. Fix code to add frame notes. Emit
4509 blockage to prevent insns with frame notes being scheduled in the
4510 delay slot of calls.
4511 (hppa_expand_epilogue): Restore eh data registers and do final stack
4512 adjustment if the current function calls eh_return. Don't add frame
4513 notes.
4514 (output_call): Revise for change in length of call insn. Don't do
4515 return pointer adjustment for an unconditional jump in the delay slot
4516 of a call when using frame notes.
4517 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
4518 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
4519 (ARG_POINTER_CFA_OFFSET): Define.
4520 * pa.md (return_external_pic): New pattern.
4521 (prologue): Correct formatting. Use return_external_pic if current
4522 function calls eh_return.
4523 (call_internal_symref, call_value_internal_symref,
4524 sibcall_internal_symref, sibcall_value_internal_symref): Change default
4525 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
4526 respectively.
4527 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
4528
4529 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
4530 list of targets to check using "nop" insn.
4531 * configure: Rebuilt.
4532
4078e224
AM
45332002-04-04 Alan Modra <amodra@bigpond.net.au>
4534
4535 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
4536
bbd7687d
DM
45372002-04-03 David S. Miller <davem@redhat.com>
4538
4539 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
4540 library sequence passed to the linker.
4541 (LINK_COMMAND_SPEC): Use it.
4542 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
4543 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
4544 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
4545
659e5a7a
JM
45462002-04-03 Jason Merrill <jason@redhat.com>
4547
4548 * except.c (struct eh_status): Remove protect_list.
4549 (begin_protect_partials, end_protect_partials): Remove.
4550 (add_partial_entry): Remove.
4551 * except.h: Remove prototypes.
4552
4553 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
4554 expand_decl_cleanup_eh.
4555
4556 PR c++/5636
4557 * tree.h (CLEANUP_EH_ONLY): New macro.
4558 * stmt.c (expand_decl_cleanup_eh): New fn.
4559 (expand_cleanups): Check CLEANUP_EH_ONLY.
4560 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
4561 Use expand_decl_cleanup_eh.
4562 (expand_stmt): Adjust.
4563 * c-common.h: Adjust prototype.
4564
053d3344
HPN
45652002-04-04 Hans-Peter Nilsson <hp@axis.com>
4566
4567 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
4568 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
4569 (cris_target_asm_function_epilogue): Ditto.
4570 (cris_initial_frame_pointer_offset): Ditto.
4571 (cris_simple_epilogue): Ditto.
4572 (cris_expand_builtin_va_arg): Variable-size types come in
4573 by-reference.
4574
61ab5260
DM
45752002-04-03 David S. Miller <davem@redhat.com>
4576
4577 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
4578 little-endian.
4579 (set_fast_math): Correct 'fsr' type.
4580
ef4f94ac
RH
45812002-04-03 Richard Henderson <rth@redhat.com>
4582
36c2272c 4583 PR opt/3569
ef4f94ac
RH
4584 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
4585 * toplev.c (check_global_declarations): Use it.
4586 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
4587 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
4588 (LANG_HOOKS_DECLS): Add it.
4589 * langhooks.c (lhd_warn_unused_global_decl): New.
4590 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
4591 * c-objc-common.c (c_warn_unused_global_decl): New.
4592 * c-tree.h (c_warn_unused_global_decl): Declare.
4593 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
4594
599bba86
NB
45952002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
4596
4597 * langhooks-def.h (lhd_set_decl_assembler_name,
4598 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
4599 (LANG_HOOKS_INITIALIZER): Update.
4600 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
4601 * langhooks.h (struct lang_hooks): New hook.
4602 * tree.c (set_decl_assembler_name): Move to langhooks.c.
4603 (lang_set_decl_assembler_name): Remove.
4604 (init_obstacks): Don't set hook.
4605 (decl_assembler_name): New function.
4606 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
4607 (decl_assembler_name): New.
4608 (lang_set_decl_assembler_name): Remove.
4609
cf7b8b0d
JJ
46102002-04-03 Jakub Jelinek <jakub@redhat.com>
4611
4612 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
4613 works properly with .hidden symbols.
4614 * configure: Rebuilt.
4615 * config.in: Rebuilt.
4616 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
4617 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
4618 properly with .hidden symbols.
4619
faf6db38
JJ
46202002-04-03 Jakub Jelinek <jakub@redhat.com>
4621
4622 PR middle-end/6102
4623 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
4624 USE argument.
4625
68c17f30
RH
46262002-04-03 Richard Henderson <rth@redhat.com>
4627
4628 PR opt/4120
4629 * sched-rgn.c (sets_likely_spilled): New.
4630 (sets_likely_spilled_1): New.
4631 (add_branch_dependences): Use it.
4632
6584b4aa
RH
46332002-04-02 Richard Henderson <rth@redhat.com>
4634
4635 PR opt/4311
4636 * loop.h (LOOP_FIRST_PASS): New.
4637 * loop.c (strength_reduce): Mind it when deciding to unroll.
4638 * toplev.c (rest_of_compilation): Set it.
4639
0acf409f
DM
46402002-04-02 David S. Miller <davem@redhat.com>
4641
4642 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
4643 mems_ok_for_ldd_peep when the order of the loads being examined
4644 is reversed.
4645 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
4646 existing comment to increase comprehension of this situation.
4647
85654444
ZW
46482002-04-02 Zack Weinberg <zack@codesourcery.com>
4649
4650 * config/sh/sh.md: Don't use union real_extract.
4651
543828ca
RH
46522002-04-02 Richard Henderson <rth@redhat.com>
4653
4654 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
4655
39ed301b
DB
46562002-04-02 David O'Brien <obrien@FreeBSD.org>
4657
4658 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
4659 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
4660 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
4661 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
4662 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
4663 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
4664 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
4665 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
4666 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
4667 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
4668 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
4669 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
4670 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
4671 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
4672 Include as many configury headers via tm_file as possible. This
4673 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
4674 * config/openbsd-oldgas.h: New file.
4675 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
4676 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
4677 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
4678 config/i386/i386-coff.h, config/i386/i386-interix.h,
4679 config/i386/iscdbx.h, config/i386/linux-aout.h,
4680 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
4681 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
4682 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
4683 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
4684 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
4685 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
4686 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
4687 config/i386/vxi386.h: Do not directly include configury headers.
4688 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
4689 Directly include configury headers that are no longer automatically
4690 included by the above headers.
4691 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
4692 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
4693 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
4694 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
4695 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
4696 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
4697 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
4698 (TARGET_VERSION): Define.
4699 * config/i386/beos-elf.h, config/i386/freebsd.h,
4700 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
4701 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
4702 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
4703 config/i386/sco5.h, config/i386/sysv4.h
4704 (TARGET_VERSION): Do not need to protect.
4705 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
4706 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
4707 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
4708 config/i386/i386-interix.h, config/i386/linux-aout.h,
4709 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
4710 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
4711 (YES_UNDERSCORES): Do not define - not needed.
4712 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
4713 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
4714 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
4715 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
4716 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
4717 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
4718 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
4719 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
4720
9432c136
EB
47212002-04-02 Eric Botcazou <ebotcazou@multimania.com>
4722 Richard Henderson <rth@redhat.com>
4723
4724 PR c/5484
4725 * function.c (assign_temp): Accept either type or decl argument.
4726 Detect variables whose size is too large to fit into an integer.
4727 * stmt.c (expand_decl): Pass the decl, not the type.
4728
058b1275
DB
47292002-04-02 David O'Brien <obrien@FreeBSD.org>
4730
4731 * protoize.c: Match include directory usage with cppdefault.c.
4732
5add6d1a 47332002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 4734 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
4735
4736 * combine.c (simplify_comparison): Avoid narrowing a comparison
4737 with a paradoxical subreg when doing so would drop signficant bits.
4738
1e533e4b
SE
47392002-04-02 Steve Ellcey <sje@cup.hp.com>
4740
4741 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
4742 if POINTERS_EXTEND_UNSIGNED is defined.
4743
7a145e92
RH
47442002-04-02 Richard Henderson <rth@redhat.com>
4745
4746 PR opt/3967
4747 * local-alloc.c (contains_replace_regs): LO_SUM may contain
4748 replace regs.
4749
3a079822
RH
47502002-04-02 Richard Henderson <rth@redhat.com>
4751
4752 * doc/standards.texi: Document required freestanding libc entry points.
4753
c94ccb87
AM
47542002-04-02 Alan Modra <amodra@bigpond.net.au>
4755
4756 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
4757 associated splitter. Remove MQ constraint.
4758 (ctrdi_internal4): Correct CCmode clobber.
4759
fe660a1a
JDA
47602002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
4761
4762 * milli64.S ($$dyncall): New function.
4763 * t-linux (LIB1ASMFUNCS): Revise module list.
4764 (LIB1ASMSRC): Use pa/milli64.S.
4765
eadc0202
RH
47662002-04-02 Richard Henderson <rth@redhat.com>
4767
4768 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
4769 rename solaris_sys_varargs_h.
4770
a1471322
RK
4771Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4772
4773 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
4774 the same mode as its component.
4775
c8b94768
RH
47762002-04-02 Richard Henderson <rth@redhat.com>
4777
4778 PR opt/190
4779 * final.c (this_is_asm_operands): Export.
4780 * output.h (this_is_asm_operands): Declare.
4781 * config/i386/i386.c (print_operand): Error odd asm operands.
4782
161eb4fc
RH
47832002-04-02 Richard Henderson <rth@redhat.com>
4784
4785 PR opt/420
4786 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
4787
b88a94c6
RH
47882002-04-01 Richard Henderson <rth@redhat.com>
4789
4790 PR target/1538
4791 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
4792 * fixinc/fixincl.x: Rebuild.
4793
72e32876
RH
47942002-04-01 Richard Henderson <rth@redhat.com>
4795
4796 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
4797 (atomic_alloc, atomic_free): New.
4798 (SIZE, MASK_FOR, PTR_IN): New.
4799 (emergency_reg_state, emergency_reg_state_free): New.
4800 (emergency_labeled_state, emergency_labeled_state_free): New.
4801 (reg_state_alloced, labeled_state_alloced): New.
4802 (alloc_reg_state, free_reg_state): New.
4803 (alloc_label_state, free_label_state, free_label_states): New.
4804 (push, pop, dup_state_stack, free_state_stack): Use them.
4805 (desc_label_state): Likewise.
4806 (uw_frame_state_for): Free label states and state stack.
4807 (uw_update_reg_address): Eliminate warnings.
4808
84d76074
VM
48092002-04-01 Vladimir Makarov <vmakarov@redhat.com>
4810
4811 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 4812 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 4813
dffd7eb6
NB
48142002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
4815
4816 * c-decl.c (grokdeclarator): Update.
4817 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
4818 * c-tree.h (c_mark_addressable): New.
4819 * c-typeck.c (default_function_array_conversion, build_unary_op,
4820 build_array_ref, convert_for_assignment): Update.
4821 (mark_addressable): Rename.
4822 * calls.c (try_to_integrate, expand_call): Use langhook.
4823 * expr.c (expand_expr): Use langhook.
4824 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
4825 * langhooks.h (struct lang_hooks): New hook.
4826 * stmt.c (expand_asm_operands): Use langhook.
4827 * tree.h (mark_addressable): Remove.
4828objc:
4829 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
4830
544ef5b5
BW
48312002-04-01 Bob Wilson <bob.wilson@acm.org>
4832
9be40833
RH
4833 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
4834 in previous change.
544ef5b5 4835
bcf88f9b
BW
48362002-04-01 Bob Wilson <bob.wilson@acm.org>
4837
4838 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
4839 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
4840
ceef8ce4
NB
48412002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
4842
4843 * c-common.c (unsigned_conversion_warning, convert_and_check,
4844 unsigned_type, signed_type, shorten_compare,
4845 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
4846 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
4847 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
4848 New.
4849 * c-decl.c (grokdeclarator): Update.
4850 * c-format.c (check_format_types): Update.
4851 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
4852 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
4853 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
4854 * convert.c (convert_to_integer): Use new hooks.
4855 * expmed.c (make_tree): Use new hooks.
4856 * expr.c (store_expr): Use new hooks.
4857 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
4858 all_ones_mask_p, unextend, fold): Use new hooks.
4859 * langhooks.h (struct lang_hooks_for_types): New hooks.
4860 * tree.h (signed_or_unsigned_type, signed_type,
4861 unsigned_type): Remove.
4862objc:
4863 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
4864 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
4865
1d9ad0e0
RH
48662002-03-31 Richard Henderson <rth@redhat.com>
4867
4868 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
4869 (desc_frgr_mem): Fix reference to f16-f31.
4870
d544bc39
KG
48712002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4872
4873 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
4874 RTVEC_ELT): Const-ify.
d8750784
KG
4875 * varray.h (VARRAY_CHECK): Const-ify.
4876 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
4877 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 4878
b18101c7
NB
48792002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
4880
4881 * diagnostic.c: Include langhooks-def.h.
4882 * Makefile.in (diagnostic.o): Update.
4883
48a7a235
NB
48842002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
4885
4886 * c-common.c (c_unsafe_for_reeval): Rename.
4887 * c-common.h (c_unsafe_for_reeval): Rename.
4888 * c-decl.c (finish_incomplete_decl): Rename.
4889 (c_init_decl_processing): Don't set langhook.
4890 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
4891 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
4892 * c-objc-common.c (c_objc_common_init): Don't set langhook.
4893 * c-tree.h (finish_incomplete_decl): Rename.
4894 * langhooks-def.h (lhd_unsafe_for_reeval): New.
4895 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
4896 (LANG_HOOKS_INITIALIZER): Update.
4897 * langhooks.c (lhd_unsafe_For_reeval): New.
4898 * langhooks.h (struct langhooks): New hooks.
4899 * toplev.c (incomplete_decl_finalize_hook): Remove.
4900 (wrapup_global_declarations): Update.
4901 * tree.c (lang_unsafe_for_reeval): Remove.
4902 (unsafe_for_reeval): Update.
4903 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
4904 Remove.
4905objc:
4906 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
4907 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
4908
7cb32822
NB
49092002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
4910
4911 * diagnostic.c (print_error_function): Remove.
4912 (default_print_error_function): Rename.
4913 (report_error_function): Update.
4914 * diagnostic.h (print_error_function): Remove.
4915 (default_print_error_function): Remove.
4916 * langhooks-def.h (struct diagnostic_context): Predeclare.
4917 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
4918 (LANG_HOOKS_INITIALIZER): Update.
4919 * langhooks.h (struct diagnostic context): Predeclare.
4920 (struct lang_hooks): New hook.
4921
1db02437
FS
49222002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4923
4924 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
4925 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
4926 !flag_pic.
4927 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
4928 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
4929 of PIC_OFFSET_TABLE_REGNUM thruout.
4930 * config/rs6000/rs6000.md: Likewise.
4931 * config/rs6000/darwin.h: Likewise.
4932
3bf1e984
RK
4933Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4934
4935 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
4936 unsigned HOST_WIDE_INT, not unsigned int.
4937
0864c526
JJ
49382002-03-31 Jakub Jelinek <jakub@redhat.com>
4939
4940 PR middle-end/6096, middle-end/6098, middle-end/6099
4941 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
4942 CODE_LABELs.
4943 (fill_slots_from_thread): Likewise.
4944
105b2084
JJ
49452002-03-31 Jakub Jelinek <jakub@redhat.com>
4946
4947 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
4948 floating fields in float regs.
4949 (function_arg_record_value_2): Likewise.
4950
db08fddf
HPN
49512002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
4952
4953 * config/mmix/mmix.md (define_constants): Remove misleading
4954 FIXME. Add MMIX_fp_rO_OFFSET.
4955 ("nonlocal_goto_receiver"): Don't have stack-frame address of
4956 saved rO as part of the pattern. Remove FIXME.
4957 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
4958 here, at output-time.
4959
4f31cce8
JJ
49602002-03-31 Jakub Jelinek <jakub@redhat.com>
4961
4962 PR middle-end/6100
4963 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
4964 REG_BR_PRED.
4965 (output_v9branch): Likewise.
4966
ba2b7435
AO
49672002-03-31 Alexandre Oliva <aoliva@redhat.com>
4968
4969 * gcc.c: Revert previous patch for now.
4970 * config/i386/djgpp.h: Likewise.
4971
aa66aa5f 49722002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
4973
4974 * config/mmix/crti.asm (_init): Register _fini with atexit.
4975 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
4976
41ba8a20
RH
49772002-03-31 Richard Henderson <rth@redhat.com>
4978
4979 PR target/3997
4980 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
4981 (ASM_OUTPUT_DEF_FROM_DECLS): New.
4982
adc186ef
RH
49832002-03-31 Richard Henderson <rth@redhat.com>
4984
4985 * libgcc2.c (__bb_exit_func): Make static.
4986
9be40833 4987 * config/alpha/alpha.md (trap): New.
a7648399 4988
9602f5a0
RH
49892002-03-31 Richard Henderson <rth@redhat.com>
4990
4991 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
4992 promoted argument types; build trap.
4993 (expand_builtin_trap): New.
4994 (expand_builtin): Use it.
4995 * stmt.c (expand_nl_goto_receivers): Likewise.
4996 * expr.h (expand_builtin_trap): Declare.
4997 * libfuncs.h (LTI_abort, abort_libfunc): New.
4998 * optabs.c (init_optabs): Init abort_libfunc.
4999
1a0a7539
AO
50002002-03-31 Alexandre Oliva <aoliva@redhat.com>
5001
5002 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
5003 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 5004 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
5005 shared_name in the second copy.
5006 (init_spec): Test for duplicate
5007 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
5008
b5de1a27
DM
50092002-03-30 David S. Miller <davem@redhat.com>
5010
5011 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
5012 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
5013
78414d74 50142002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 5015 Richard Henderson <rth@redhat.com>
78414d74 5016
9be40833
RH
5017 * regmove.c (combine_stack_adjustments_for_block): Avoid
5018 emitting a stack adjustment of zero bytes. Let delete_insn
5019 update bb->head.
78414d74 5020
33074e5f
RH
50212002-03-30 Richard Henderson <rth@redhat.com>
5022
5023 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
5024 (sparc_emitting_epilogue): New.
5025 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
5026 * config/sparc/sparc-protos.h: Update.
5027 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
5028 (TARGET_SWITCHES): Update.
5029 * config/sparc/sparc.md (return): Remove.
5030 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
5031 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
5032 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
5033 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
5034 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
5035 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
5036 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
5037 Remove MASK_EPILOGUE.
5038 * doc/invoke.texi: Update.
5039
606cc056
DB
50402002-03-30 Daniel Berlin <dan@dberlin.org>
5041
5042 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
5043 CPP will start the file for us.
7b2e1077 5044
bdbe5b8d
RH
50452002-03-30 Richard Henderson <rth@redhat.com>
5046
5047 PR target/5446
5048 * config/ia64/ia64.c (group_barrier_needed_p): Special case
5049 prologue_allocate_stack.
5050 (ia64_single_set): Use insn codes for recognition of special
5051 cases, not rtl matching.
5052 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
5053
4ab95d82
JH
5054Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
5055
5056 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
5057
89a8b315
RH
50582002-03-30 Richard Henderson <rth@redhat.com>
5059
5060 PR target/6032
5061 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
5062 or -fomit-frame-pointer with profiling.
5063 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5064 (FUNCTION_PROFILER): Do nothing.
5065 (PROFILE_HOOK): New.
5066 * config/sparc/sparc.c (sparc_override_options): Don't check
5067 code models for profiling.
5068 (sparc_function_profiler): Remove.
5069 (sparc_profile_hook): New.
5070 * config/sparc/sparc-protos.h: Update.
5071
30984c57
JJ
50722002-03-30 Jakub Jelinek <jakub@redhat.com>
5073
5074 PR optimization/6086
5075 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
5076 of SUBREG of volatile MEM or because the MEM was mode dependent,
5077 return CLOBBER instead of unmodified SUBREG.
5078
1540f9eb
JH
5079Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
5080
89a8b315
RH
5081 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
5082 when not optimizing.
1540f9eb
JH
5083
5084 * toplev.c (rest_of_compilation): Cann mark_constant_function
5085 only when optimizing.
5086
89a8b315
RH
5087 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
5088 are NULL.
1540f9eb
JH
5089
5090 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
5091 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
5092 (try_optimize_cfg): clear all AUX fields.
5093
5094 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
5095 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
5096 (ix86_address_cost): Be prepared for SUBREGed registers.
5097 (legitimate_address_p): Accept SUBREGed registers.
5098
70d95bac
RH
50992002-03-29 Richard Henderson <rth@redhat.com>
5100
5101 PR target/5672
5102 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
5103
d3294cd9
FS
51042002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5105
5106 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
5107 for aggregate and TFmode types.
5108
a106c875
HPN
51092002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
5110
5111 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
5112
7d7a5d6f
RH
51132002-03-29 Richard Henderson <rth@redhat.com>
5114
6e2d670b 5115 PR target/5886
7d7a5d6f
RH
5116 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
5117 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
5118
30c99a84
RH
51192002-03-29 Richard Henderson <rth@redhat.com>
5120
6e2d670b 5121 PR target/6041
30c99a84
RH
5122 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
5123 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
5124 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
5125 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
5126 conditional.
5127 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
5128
02a566dc
DJ
51292002-03-29 Dale Johannesen <dalej@apple.com>
5130
5131 * loop.c (combine_movables): Do allow combination of pseudos.
5132
bc3a44db
LR
51332002-03-29 Loren J. Rittle <ljrittle@acm.org>
5134
5135 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
5136 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
5137 No functional change except ...
5138 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
5139 * doc/install.texi (*-*-freebsd*): Document port configuration.
5140
b0c48229
NB
51412002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
5142
5143 * Makefile.in (convert.o, calls.o, expmed.o): Update.
5144 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
5145 Use new hooks.
5146 * builtin-types.def (BT_PTRMODE): Update.
5147 * c-common.c (type_for_size): Rename c_common_type_for_size.
5148 (type_for_mode): Similarly.
5149 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
5150 Use new hook.
5151 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
5152 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
5153 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
5154 Redefine.
5155 * c-typeck.c (common_type, comptypes, default_conversion):
5156 Use new hooks.
5157 * calls.c: Include langhooks.h.
5158 (emit_library_call_value_1): Use new hooks. Avoid redundant
5159 calls.
5160 * convert.c: Include langhooks.h
5161 (convert_to_pointer, convert_to_integer): Use new hooks.
5162 * except.c (init_eh): Similarly.
5163 * expmed.c: Include langhooks.h.
5164 (expand_mult_add): Use new hooks.
5165 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
5166 try_casesi): Similarly.
5167 * fold-const.c (optimize_bit_field_compare, make_range,
5168 decode_field_reference, fold_truthop, fold): Similarly.
5169 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
5170 put_var_into_stack): Similarly.
5171 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
5172 LANG_HOOKS_TYPE_FOR_SIZE): New.
5173 (LANG_HOOKS_TYPES_INITIALIZER): Update.
5174 * langhooks.h (lang_hooks_for_types): New hooks.
5175 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
5176 * tree.c (get_unwidened, get_narrower): Similarly.
5177 * tree.h (type_for_mode, type_for_size): Remove.
5178 * varasm.c (force_const_mem): Use new hooks.
5179 * utils2.c (nonbinary_modular_operation): Update.
5180objc:
5181 * objc-act.c (handle_impent): Update.
5182 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
5183 Redefine.
5184
e206a74f
SE
51852002-03-29 Steve Ellcey <sje@cup.hp.com>
5186
5187 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
5188 * config/ia64/ia64.c (basereg_operand): New.
5189 * config/ia64/ia64-protos.h (basereg_operand): Declare.
5190 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
5191
7d9b6378
HPN
51922002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
5193
5194 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
5195 unwind information when frame_pointer_needed.
5196 (mmix_assemble_integer): Tweak wording in comment.
5197
f1e639b1
NB
51982002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
5199
5200 * Makefile.in (except.o): Update.
5201 * except.c: Include langhooks.h.
5202 (init_eh): Use langhook.
5203 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
5204 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
5205 (LANG_HOOKS_INITIALIZER): Update.
5206 * langhooks.h (lang_hooks_for_types): New.
5207 (struct lang_hooks): Add it.
5208 * tree.c (make_lang_type_fn, make_lang_type): Remove.
5209 * tree.h (make_lang_type_fn, make_lang_type): Remove.
5210config:
5211 * alpha/alpha.c: Include langhooks.h.
5212 (alpha_build_va_list): Use langhook.
5213 * d30v/d30v.c: Include langhooks.h.
5214 (d30v_build_va_list): Use langhook.
5215 * i386/i386.c: Include langhooks.h.
5216 (ix86_build_va_list): Use langhook.
5217 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
5218 * s390/s390.c: Include langhooks.h.
5219 (s390_build_va_list): Use langhook.
5220 * stormy16/stormy16.c: Include langhooks.h.
5221 (stormy16_build_va_list): Use langhook.
5222
f17f9332
JJ
52232002-03-29 Jakub Jelinek <jakub@redhat.com>
5224
5225 PR c++/5964
5226 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
5227 attributes.
5228 (length): Compute variable length for branches/calls/jumps here.
5229 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
5230 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
5231 define branch_type attribute.
5232 (divsi3_sp32): Maximum length is 6 not 7.
5233 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
5234 call_address_untyped_struct_value_sp32,
5235 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
5236 * config/sparc/sparc.c (empty_delay_slot): New function.
5237 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
5238 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
5239
0a0440c9
JJ
52402002-03-29 Jakub Jelinek <jakub@redhat.com>
5241
5242 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
5243 nonzero_bits if not needed.
5244 (nonzero_bits) [XOR]: Likewise.
5245 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
5246 reg_last_set_mode and mode are both MODE_INT, but not equal.
5247 (record_value_for_reg): Compute reg_last_set_nonzero_bits
5248 in nonzero_bits_mode for MODE_INT modes.
5249
c9045f47
RH
52502002-03-28 Richard Henderson <rth@redhat.com>
5251
5252 PR target/5715
5253 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
5254 to GAS. Correct drift between alternatives.
5255
f8ed1958
RH
52562002-03-28 Richard Henderson <rth@redhat.com>
5257
5258 PR target/6087
5259 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
5260
54e20385
LR
52612002-03-28 Alexandre Oliva <aoliva@redhat.com>
5262
5263 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
5264 emulation to the linker.
5265
52662002-03-28 Loren J. Rittle <ljrittle@acm.org>
5267
5268 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
5269 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
5270
8bc52806
JL
5271Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
5272
5273 * combine.c (simplify_and_const_int): Make sure to apply mask
5274 when force_to_mode returns a constant integer. PR3311.
5275
279dccc5
JDA
52762002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
5277
5278 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
5279
62aaa62c
GP
52802002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5281
5282 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
5283 and Objective-C Dialect Options.
5284
b8de5050
RH
52852002-03-28 Richard Henderson <rth@redhat.com>
5286
5287 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
5288 comparison should be done vs !=0 not >0 return code. Tidy cases.
5289
619708cc
RH
52902002-03-28 Richard Henderson <rth@redhat.com>
5291
5292 * c-decl.c (finish_function): New arg can_defer_p. Pass it
5293 on to c_expand_body.
5294 * c-tree.h (finish_function): Update decl.
5295 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
5296
b1d874d7
JH
5297Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
5298
5299 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
5300
f5eb5fd0
JH
5301Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
5302
5303 * rtlanal.c: Include flags.h
5304 (may_trap_p): Do not mark FP operations if trapping
5305 if !flag_trapping_math
5306 * Makefile.in (rtlanal.o): Add dependency on flag.h
5307 * ifcvt.c (noce_operand_ok): Avoid the lameness.
5308
81b4c798
ZW
53092002-03-27 Zack Weinberg <zack@codesourcery.com>
5310
5311 * mips.md: Use dconst1, not 1.0, as first argument of
5312 REAL_VALUE_LDEXP. Don't use union real_extract.
5313
55a2ea2a
AM
53142002-03-28 Alan Modra <amodra@bigpond.net.au>
5315
5316 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
5317 rather than $target. Heed program_prefix and
5318 program_transform_name. Search for gas in cross-compiler case too.
5319 "test -x" rather than "test -f".
5320 (gcc_cv_ld): Likewise.
5321 (gcc_cv_nm): Heed program_prefix and program_transform_name.
5322 (gcc_cv_objdump): Likewise.
5323 * configure: Regenerate.
5324
7ffb4fd2
NB
53252002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
5326
5327 * Makefile.in (attribs.o): Update.
5328 * attribs.c: Include langhooks.h.
5329 (decl_attributes): Use langhook.
5330 * c-decl.c (insert_default_attributes): Rename.
5331 * c-tree.h (c_insert_default_attributes): New.
5332 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
5333 (LANG_HOOKS_INITIALIZER): Update.
5334 * langhooks.h (struct lang_hooks): New hook.
5335 * tree.h (insert_default_attributes): Remove.
5336objc:
5337 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
5338
e4dbaed5
AS
53392002-03-27 Andreas Schwab <schwab@suse.de>
5340
5341 * config/i386/i386.c (classify_argument): Also check for
5342 QUAL_UNION_TYPE.
5343
18b467f1
RO
53442002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5345
5346 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
5347 any more.
5348
d337d653
JH
5349Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
5350
5351 * i960.md (ret): Set PC.
5352 (nonlocal_goto): Fix expander.
5353 * builtins.c (epxand_builin_longjmp): Check that we've emitted
5354 some jump or call.
5355
218aa620
JH
5356Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
5357
5358 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
5359 of libcall regions.
5360
e27a4eaf
ZD
5361Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5362
5363 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
5364 assigning to BLOCK_FOR_INSN directly.
5365
8a12f34c
JH
5366Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
5367
5368 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
5369
c9d892a8
NB
53702002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
5371
5372 * c-common.c (c_expand_expr): Fix prototype.
5373 * c-common.h (c_expand_expr): Always declare, update.
5374 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
5375 * c-objc-common.c (c_objc_common_init): No global hook.
5376 * expr.c (expand_expr): Use langhook.
5377 * expr.h (enum expand_modifier): Conditionally declare.
5378 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
5379 (LANG_HOOKS_INITIALIZER): Update.
5380 * langhooks.c (lhd_expand_expr): New.
5381 * langhooks.h (struct lang_hooks): New hook.
5382 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
5383 (lang_independent_init): Don't default hook.
5384objc:
5385 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
5386
6dad5a56
RH
53872002-03-27 Richard Henderson <rth@redhat.com>
5388
5389 PR target/6054
5390 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
5391 TARGET_CONST_GP. Simplify conditions.
5392
59f96879
RH
53932002-03-27 Richard Henderson <rth@redhat.com>
5394
5395 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
5396 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
5397 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
5398
f3f1190d
DS
53992002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
5400
5401 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
5402 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
5403 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
5404 Remove unnecessary masks.
5405 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
5406 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
5407 -mwindows, -mdll switches and their negations.
5408
31c816cf
NB
54092002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
5410
5411 * gcc-common.c (lang_mark_false_label_stack): Remove.
5412 * ggc.h (lang_mark_false_label_stack): Similarly.
5413
7b2e1077 54142002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
5415
5416 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
5417
5418 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
5419 or __rtems_ is defined.
5420
1ef9531b
RH
54212002-03-26 Richard Henderson <rth@redhat.com>
5422
5423 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
5424 if a non-trivial load was emitted.
5425 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
5426 in high+extra+low case.
5427
300d4093
RH
54282002-03-26 Richard Henderson <rth@redhat.com>
5429
5430 * config.gcc (sparc*-solaris): Use float_format=sparc.
5431
b3689904
RH
54322002-03-26 Richard Henderson <rth@redhat.com>
5433
5434 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
5435 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
5436 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
5437 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
5438 (WINT_TYPE_SIZE): Fix at 32.
5439
1eefb6c1
RH
54402002-03-26 Richard Henderson <rth@redhat.com>
5441
5442 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
5443 until after eh landing pad generation.
5444 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
5445 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
5446
361ea006
RH
54472002-03-26 Richard Henderson <rth@redhat.com>
5448
5449 * expr.h (ADD_PARM_SIZE): One more convert for INC.
5450
1de38a88
PE
54512002-03-26 Phil Edwards <pme@gcc.gnu.org>
5452
5453 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
5454 and warning switches.
5455 (cc1_options): Likewise.
5456
d7e60e95 54572002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 5458
d7e60e95
HB
5459 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
5460 Restore more of the signal context. Set no_reg_stack_frame.
5461 * config/ia64/unwind-ia64.c (unw_state_record):
5462 Add no_reg_stack_frame, comments.
5463 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
5464 (uw_update_context): Adjust bsp when unwinding from leaf,
5465 but not signal frame.
5466
7032923b
DE
54672002-03-26 David Edelsohn <edelsohn@gnu.org>
5468
5469 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
5470
8be56275
BW
54712002-03-26 Bob Wilson <bob.wilson@acm.org>
5472
5473 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
5474
56fbb855
RE
54752002-03-26 Richard Earnshaw <rearnsha@arm.com>
5476
5477 PR target/5621
5478 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
5479 "Add a pool_range attribute", which was lost during the ARM/Thumb
5480 merge.
5481
3437320b
BW
54822002-03-26 Bob Wilson <bob.wilson@acm.org>
5483
5484 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
5485 a register into the MAC16 accumulator.
5486
173028e5
AC
54872002-03-26 Andrew Cagney <ac131313@redhat.com>
5488
5489 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
5490 (Warning Options): Document -Wswitch-enum.
5491 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
5492 -Wswitch.
5493 (warn_switch_enum): Define variables.
5494 * flags.h (warn_switch_enum): Declare variables.
5495 * stmt.c (expand_end_case_type): When warn_switch_enum /
5496 -Wswitch-enum, perform switch checks.
5497 Fix PR c/5044.
7b2e1077 5498
e14365a7
RE
54992002-03-26 Richard Earnshaw <rearnsha@arm.com>
5500
5501 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
5502 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
5503 (reload_muladdsi_compare0_scratch): Delete.
5504
46fc709d
LR
55052002-03-26 Loren J. Rittle <ljrittle@acm.org>
5506
5507 * doc/install.texi (*-*-freebsd*): Update.
5508
f36dea3c
RH
55092002-03-26 Richard Henderson <rth@redhat.com>
5510
8e5fe23f
RH
5511 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
5512 (SUB_PARM_SIZE): Cast DEC to ssizetype.
5513
5514 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
5515 types from the normal argument frame.
5516
f36dea3c
RH
5517 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
5518 variable sized objects by reference.
5519 (sparc_va_arg): Receive them by reference too.
5520
1447dc69
HP
55212002-03-26 Hartmut Penner <hpenner@de.ibm.com>
5522
5523 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 5524 code to not restoring global registers.
1447dc69 5525
4f0ade92
NB
55262002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
5527
5528 * Makefile.in (ggc-common.o): Update.
5529 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
5530 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
5531 * c-tree.h (c_mark_tree): New.
5532 * ggc-common.c: Include langhooks.h.
5533 (gcc_mark_trees): Use new langhook.
5534 * ggc-callbacks.c: Delete file.
5535 * ggc.h (lang_mark_tree): Remove.
5536 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
5537 (LANG_HOOKS_INITIALIZER): Update.
5538 * langhooks.h (struct lang_hooks): New hook.
5539objc:
5540 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
5541
caba570b
ZW
55422002-03-25 Zack Weinberg <zack@codesourcery.com>
5543
5544 * doc/cpp.texi: Exclude entire Top node from printed manual.
5545 Move option index after directive index. Insert page breaks
5546 before GFDL and concept index. Index environment variables
5547 with command line options.
5548 * doc/cppenv.texi: Use @vtable for environment variable list.
5549 Add paragraph explaining semantics of empty elements in path
5550 variables. Exclude a cross-reference to Fishkill from the
5551 manpage. Remove an unnecessary cross-reference of the entry
5552 right above the referer. Don't use @anchor in text that goes
5553 into manpage.
5554 * doc/cppopts.texi: Cross-reference the environment variables
5555 section, not the specific environment variable, for consistency.
5556
6b2e80b7
RH
55572002-03-25 Richard Henderson <rth@redhat.com>
5558
5559 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
5560 anywhere in the block. Don't refer to insns that have been
5561 removed from the chain. Iterate backward through the new insns.
5562 Don't refer to edges that have been removed.
5563
67e469d7
AM
55642002-03-26 Alan Modra <amodra@bigpond.net.au>
5565
5566 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
5567 test for overflow of constant.
5568
f2356393
RE
55692002-03-25 Richard Earnshaw <rearnsha@arm.com>
5570
5571 PR target/2623
5572 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
5573 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
5574 these patterns on arm_archv4.
5575
355426ab
DS
55762002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
5577
5578 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
5579 int".
5580
15e5ad76
ZW
55812002-03-25 Zack Weinberg <zack@codesourcery.com>
5582
5583 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
5584 float_handled, float_handler, float_signal, set_float_handler,
5585 and do_float_handler. Set handler for SIGFPE to crash_signal.
5586 * toplev.h: Don't prototype do_float_handler.
5587
5588 * c-lex.c: Fold parse_float into lex_number. Make warning
5589 about portability of hex float constants more informative, and
5590 don't issue it on top of a syntax error.
5591 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
5592 their callers.
5593 * real.h: Define REAL_VALUE_ABS here...
5594 * simplify-rtx.c: ... not here. Fold check_fold_consts,
5595 simplify_unary_real, simplify_binary_real, and
5596 simplify_binary_is2orm1 into their callers.
5597 * tree.c: Fold build_real_from_int_cst_1 into caller.
5598
5599 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
5600
5601 * tsystem.h: Include float.h here...
5602 * libgcc2.c: ... not here.
5603
56ae9405
NC
56042002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
5605
5606 Fixes for: PR bootstrap/3591, target/5676
5607 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
5608 defined. Do not disable exceptions or rtti.
5609 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
5610 mcore.h. Disable exceptions and rtti, since they are not
5611 supported by EPOC.
5612
c88770e9
NB
56132002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
5614
5615 * c-decl.c (maybe_build_cleanup): Remove.
5616 * expr.c (expand_expr): Use langhook.
5617 * langhooks-def.h (lhd_return_null_tree,
5618 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
5619 (LANGHOOKS_INITIALIZER): Update.
5620 * langhooks.c (lhd_return_null_tree): New.
5621 * langhooks.h (struct lang_hooks): New hook.
5622 * tree-inline.c (initialize_inlined_parameters): Use langhook.
5623 * tree.h (maybe_build_cleanup): Remove.
5624
2ed1f154
JJ
56252002-03-25 Jakub Jelinek <jakub@redhat.com>
5626
5627 * regrename.c (build_def_use): Move recog_memoized
5628 before extract_insn.
5629
6ddae612
JJ
56302002-03-25 Jakub Jelinek <jakub@redhat.com>
5631
5632 PR target/6043
5633 * expr.c (emit_group_store): Handle storing into CONCAT.
5634
ea475b23
JJ
56352002-03-25 Jakub Jelinek <jakub@redhat.com>
5636
5637 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
5638 corresponding MATCH_DUP.
5639
e7d482b9
RH
56402002-03-24 Richard Henderson <rth@redhat.com>
5641
cd39fc13
RH
5642 * unroll.c (unroll_loop): Zero label_map.
5643
e7d482b9
RH
5644 * gcse.c: Include except.h.
5645 * Makefile.in (gcse.o): Update.
5646
1bd6476f
RH
56472002-03-24 Richard Henderson <rth@redhat.com>
5648
5649 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
5650 Do resolve_unique_section before shared data clause.
5651
2e6c150a
RH
56522002-03-24 Richard Henderson <rth@redhat.com>
5653
5654 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
5655
b29afcf8
RH
56562002-03-24 Richard Henderson <rth@redhat.com>
5657
15e5ad76 5658 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
5659 generated in the middle of a block. Do global life update if
5660 zapped EH edges.
5661
05ed1296
RH
56622002-03-24 Richard Henderson <rth@redhat.com>
5663
5664 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
5665
3ddbb8a9
NB
56662002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
5667
5668 preprocessor/3951
15e5ad76 5669 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
5670 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
5671 (init_dependency_output): Don't make no_output decision here.
5672
740b77b6
AC
56732002-03-24 Andrew Cagney <ac131313@redhat.com>
5674
5675 * stmt.c (check_for_full_enumeration_handling): Remove tests of
5676 warn_switch. Update description.
5677 (expand_end_case_type): Call check_for_full_enumeration_handling
5678 when warn_switch.
5679
7590cfd0
SC
56802002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5681
5682 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
5683 (m68hc11_split_move): Call it to see if the source and destination
5684 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 5685 source an offsetable memory operand and generate an add.
7590cfd0 5686
2e3d3481
SC
56872002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5688
5689 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
5690 register for operand 2.
5691 ("*subsi3_zero_extendqi"): Likewise.
5692 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
5693 bits so that it is compatible with a pop.
5694 ("*andhi3_gen"): Likewise.
5695 ("xorhi3"): Likewise.
5696
2784528c
NB
56972002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
5698
5699 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
5700 -pedantic here...
5701 (cpp_post_options): ... not here.
5702
aaf93206
NB
57032002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
5704 Aldy Hernandez <aldyh@redhat.com>
5705
5706 Removal of separate preprocessor cpp0.
5707
5708 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
5709 cpp0, install-common): Update.
5710 * c-common.c (flag_preprocess_only): New.
5711 (c_common_init): Preprocess for -E.
5712 * c-common.h (flag_preprocess_only): New.
5713 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
5714 * c-objc-common.c (c_init_decl_processing): Exit quickly
5715 for NULL return from c_common_init.
5716 * cpplib.h (cpp_preprocess_file): New.
5717 * cppmain.c (main, general_init, pfile, progname): Remove.
5718 (do_preprocessing): Rename cpp_preprocess_file, don't call
5719 cpp_finish. Don't close stdout here.
5720 (setup_callbacks): Update prototype.
5721 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
5722 Update.
5723 * tradcpp.c (main): Ignore -quiet.
5724objc:
5725 * lang-specs.h (default_compilers): Preprocess with cc1obj.
5726
c6e6f5c1
RH
57272002-03-24 Richard Henderson <rth@redhat.com>
5728
5729 PR optimization/5742
5730 * machmode.def: Add inner mode field to complex modes.
5731 * config/mips/mips.c (mips_function_value): Always define. Add
5732 new argument to handle libcalls.
5733 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
5734 (FUNCTION_VALUE): Likewise.
5735 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
5736 * config/mips/mips-protos.h: Update.
5737
d88e57d1
RH
57382002-03-23 Richard Henderson <rth@redhat.com>
5739
5740 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
5741 * config/sparc/sparc-protos.h: Update.
5742 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
5743
6dfaf9ba
RH
57442002-03-23 Richard Henderson <rth@redhat.com>
5745
5746 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
5747 _start or _init begins the text segment.
5748
0c769cf8
DE
57492002-03-23 David Edelsohn <edelsohn@gnu.org>
5750
5751 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
5752 not HOST_WIDEST_INT.
5753 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
5754
64e92a26
RE
57552002-03-23 Richard Earnshaw <rearnsha@arm.com>
5756
5757 PR java/5489
5758 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
5759 operand argument to output_return_instruction.
15e5ad76 5760 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
5761 const_true_rtx then just return.
5762 (arm_print_operand, case 'D'): If the operand is const_true_rtx
5763 then abort.
5764
d6961341
AC
57652002-03-23 Andrew Cagney <ac131313@redhat.com>
5766
5767 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
5768 (Warning Options): Document -Wswitch-default.
5769 * toplev.c (W_options): Add -Wswitch-default. Update comment on
5770 -Wswitch.
5771 (warn_switch_default): Define variable.
5772 (warn_switch): Update comment.
5773 * flags.h (warn_switch_default): Declare variable.
5774 (warn_switch): Update comment.
5775 * stmt.c (expand_end_case): Check for and, when
5776 warn_switch_no_default, warn of a missing default case.
15e5ad76 5777
d4c5ac1f
AM
57782002-03-23 Alan Modra <amodra@bigpond.net.au>
5779
bbaa9790
AM
5780 * real.h (N): Special case 128 bit doubles.
5781
d4c5ac1f
AM
5782 * combine.c (simplify_comparison): When widening modes, ignore
5783 sign extension on CONST_INTs.
5784
84bf8c2c
BW
57852002-03-22 Bob Wilson <bob.wilson@acm.org>
5786
5787 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
5788 passed to adjust_address. Fix comment formatting.
5789
5790
b216cd4a
ZW
57912002-03-22 Zack Weinberg <zack@codesourcery.com>
5792
5793 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
5794 Always make REAL_VALUE_TYPE a struct containing an array of
5795 HOST_WIDE_INT, not a double. Tidy up the code deciding how
5796 big it is. Don't declare or use union real_extract.
5797
5798 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
5799 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
5800 (print_operand), config/arm/arm.c (output_move_double),
5801 config/arm/arm.md (consttable_4, consttable_8),
5802 config/romp/romp.c (output_fpops), config/s390/s390.h
5803 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
5804 (xtensa_output_literal): Don't use union real_extract.
5805
5806 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
5807 (sfmode_constant_to_ulong), config/ns32k/merlin.h
5808 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
5809 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
5810 (PRINT_OPERAND): Don't use local version of union
5811 real_extract.
5812
5813 * config/convex/convex.c (check_float_value), config/vax/vax.c
5814 (vax_float_literal), config/m88k/m88k.md (divdf3),
5815 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
5816 config/pdp11/pdp11.c (output_move_quad): Don't do host
5817 arithmetic on target floating point quantities.
5818
5819 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
5820 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
5821
5822 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
5823 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
5824
5825 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
5826 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
5827 INFINITY.
5828 * print-rtl.c (print_rtx): Disable code which needs
5829 floating-point emulator.
5830 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
5831 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
5832 depending on HOST_FLOAT_FORMAT to be defined properly.
5833
5834 * config/1750a/1750a.c (get_double, float_label): Delete.
5835 (print_operand): Delete huge commented-out chunk. Use
5836 REAL_VALUE_TO_DECIMAL.
5837 * config/1750a/1750a-protos.h: Delete prototypes of deleted
5838 functions.
5839 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
5840 IEEE_FLOAT_FORMAT.
5841 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
5842 Use REAL_VALUE_TO_DECIMAL as ELF version does.
5843 * config/m88k/m88k.c (real_power_of_2_operand,
5844 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
5845 real_extract out of the union; run the input through
5846 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
5847 from that into the union.
5848 * config/pdp11/pdp11.c (output_move_double): Rearrange
5849 parentheses to make automatic indenter happy.
5850
5851 * doc/tm.texi (Cross-compilation): Rename node to "Floating
5852 Point" and rewrite to describe current situation. Also adjust
5853 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
5854 match code.
5855 * doc/rtl.texi: Adjust cross reference.
5856
a8cacfd2
BW
58572002-03-22 Bob Wilson <bob.wilson@acm.org>
5858
5859 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
5860 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
5861 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
5862 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
5863 prevent use of sp as a reload register.
5864 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
5865 non_acc_reg_operand.
5866 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
5867 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
5868 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
5869 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
5870
d4e6133f
NB
58712002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
5872
b216cd4a
ZW
5873 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
5874 * cpplex.c (unterminated): Delete.
5875 (parse_string): No string literal may extend over multiple
5876 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
5877 * cppmain.c (scan_translation_unit): Strings are single-line.
5878
b216cd4a 5879 * doc/cpp.texi: Update to match.
d4e6133f 5880
65e6c005
JJ
58812002-03-22 Jakub Jelinek <jakub@redhat.com>
5882
5883 PR optimization/5854
5884 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
5885 Shut up warnings.
5886 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
5887 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
5888 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
5889 const0 if scratch register was not allocated.
5890 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
5891 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
5892 with GEN_INT (...).
5893 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
5894 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
5895 with GEN_INT (...) everywhere. Remove constraints in define_split
5896 patterns.
5897 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
5898 require scratch register for setting 0 into regs/non-pushable memory.
5899
7f48c9e1
AO
59002002-03-22 Alexandre Oliva <aoliva@redhat.com>
5901
5902 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
5903 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
5904
909de5da
PE
59052002-03-22 Phil Edwards <pme@gcc.gnu.org>
5906
5907 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
5908 * cppinit.c (cpp_create_reader): On by default.
5909 (cpp_handle_option): Handle -W[no-]endif-labels.
5910 (cpp_post_options): Also enable if -pedantic.
5911 * cpplib.c (do_else): Use it.
5912 (do_endif): Likewise.
5913 * doc/cppopts.texi: Document new option.
5914 * doc/invoke.texi: Document new option.
5915
d8bf17f9
LB
59162002-03-22 Lars Brinkhoff <lars@nocrew.org>
5917
5918 * config/i386/i386.c, config/i386/i386.md: Change all occurences
5919 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
5920
70e0ccd0
AO
59212002-03-22 Alexandre Oliva <aoliva@redhat.com>
5922
5923 * flow.c (calculate_global_regs_live): Clear aux fields of
5924 ENTRY and EXIT.
5925
68882f0f
JJ
59262002-03-22 Jakub Jelinek <jakub@redhat.com>
5927
5928 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
5929 REG or MEM subregs, pass rtx * instead of rtx to it.
5930 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
5931 rtx * instead of rtx to alter_subreg.
5932 * config/m32r/m32r.c (gen_split_move_double): Likewise.
5933 * config/pj/pj.c (pj_output_rval): Likewise.
5934
648fe28b
RH
59352002-03-22 Richard Henderson <rth@redhat.com>
5936
5937 PR target/3177
5938 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
5939 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
5940 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
5941 (ia64_expand_prologue): Look at int_regs, not words, for number
5942 of incomming int regs.
5943
e8dcd824
AM
59442002-03-22 Andrew MacLeod <amacleod@redhat.com>
5945
5946 * expr.c (expand_expr): A RESULT_DECL is part of a call.
5947
96327cdc
JH
5948Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
5949
5950 * toplev.c (flag_loop_optimize, flag_crossjumping):
5951 New static variables.
5952 (rest_of_compilation): Conditionalize crossjumping and
5953 loop optimizer.
5954 (parse_options_and_default_flags): Default loop_optimize and
5955 crossjumping.
5956 (lang_independent_options): Add -fcrossjumping and -floop-optimize
5957 * invoke.texi (crossjumping, loop-optimize): Document.
5958
bc185257
RS
59592002-03-22 Richard Sandiford <rsandifo@redhat.com>
5960
5961 * real.c (eiisneg): Move outside #ifdef NANS.
5962
0a2ed1f1
JH
5963Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
5964
5965 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
5966 frequencies match; avoid match on different loop depths.
5967 (try_crossjump_to_bb): Kill tests that no longer brings time
5968 savings.
5969 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
5970 updating code.
5971 (split_edge): Likewise.
5972
5973 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
5974 variable.
5975
5976 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
5977 * cfgrtl.c: Include insn-config.h
5978 (split_block) Dirtify block in presence of conditional execution
5979
4d72536e
RS
59802002-03-22 Richard Sandiford <rsandifo@redhat.com>
5981
5982 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
5983 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
5984 (function_arg): Constify CUMULATIVE_ARGS.
5985 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
5986 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
5987 (UNITS_PER_DOUBLE): New macro.
5988 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
5989 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
5990 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
5991 fp_regs and stack_words.
5992 (EABI_FLOAT_VARARGS_P): New macro.
5993 * config/mips/mips.c (struct mips_arg_info): New.
5994 (mips_arg_info): New function.
5995 (function_arg_advance): Use it. Add adjustment instructions here
5996 rather than in function_arg.
5997 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
5998 for VOIDmode at the beginning of the function.
5999 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
6000 (function_arg_pass_by_reference): Likewise.
6001 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
6002 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
6003 (mips_va_start): Likewise. Use the new stack_words field of
6004 CUMULATIVE_ARGS to set up overflow area. Reformat.
6005 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
6006 doubles and other types, aligning the overflow pointer for non-doubles
6007 too. Remove some code duplication. Replace hard-coded constants.
6008
e6f884cd
RS
60092002-03-22 Richard Sandiford <rsandifo@redhat.com>
6010
6011 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
6012 (CLASS_UNITS): Undefine.
6013 (CLASS_MAX_NREGS): Use FP_INC.
6014 * config/mips/mips.c (compute_frame_size): Likewise.
6015 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
6016
10cf9bde
NB
60172002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
6018
6019 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
6020 prototype, and handle lexing numbers and identifiers.
6021 (parse_identifier): Update to new form of parse_slow.
6022 (parse_number): Fast path only, use parse_slow otherwise.
6023 (_cpp_lex_direct): Update calls to parse_number.
6024
fbc2782e
DD
60252002-03-21 DJ Delorie <dj@redhat.com>
6026
6027 * bb-reorder.c (make_reorder_chain_1): Protect against
6028 when redundant edges are omitted.
6029 * predict.c (dump_prediction): Likewise.
6030
fba39eaf
RH
60312002-03-21 Richard Henderson <rth@redhat.com>
6032
6033 PR target/5996
6034 * fixinc/inclhack.def (solaris_stdio_tag): New.
6035 * fixinc/fixincl.x: Regenerate.
6036
eba80994
EB
60372002-03-21 Eric Botcazou <ebotcazou@multimania.com>
6038
6039 PR c/5597
6040 * c-typeck.c (process_init_element): Flag non-static
6041 initialization of a flexible array member as illegal.
6042
2a78758b
AM
60432002-03-22 Alan Modra <amodra@bigpond.net.au>
6044
6045 * config/rs6000/t-linux64: New.
6046 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
6047 t-ppccomm. Use t-rs6000 and t-linux64.
6048 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
6049 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
6050 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
6051 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 6052
2cb921f4
AH
60532002-03-21 Aldy Hernandez <aldyh@redhat.com>
6054
eba80994
EB
6055 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
6056 flag_really_no_inline instead of optimize == 0.
2cb921f4 6057
eba80994 6058 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 6059
eba80994 6060 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 6061
eba80994 6062 * flags.h (flag_really_no_inline): New.
2cb921f4 6063
659e5a7a 6064 * c-common.c (c_common_post_options): Initialize
eba80994 6065 flag_really_no_inline.
2cb921f4 6066
eba80994 6067 * toplev.c (flag_really_no_inline): New.
2cb921f4 6068
239b8b9d
JJ
60692002-03-21 Jakub Jelinek <jakub@redhat.com>
6070
6071 * config/avr/avr.md (length): Fix length computation for
6072 conditional branches.
6073
43577e6b
NB
60742002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
6075
6076 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
6077 sdbout.o, profile.o): Update.
6078 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
6079 langhook.
6080 * c-common.h (gettags): Move here from tree.h.
6081 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
6082 insert_block, getdecls, kept_level_p, global_bindings_p): New.
6083 * dbxout.c (dbxout_init): Use getdecls langhook.
6084 * expr.c (expand_expr): Use insert_block langhook.
6085 * fold-const.c: Include langhooks.h.
6086 (fold_range_test, fold_binary_op_with_conditional_arg,
6087 fold): Use global_bindings_p langhook.
6088 * integrate.c (expand_inline_function): Use insert_block langhook.
6089 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
6090 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
6091 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
6092 LANG_HOOKS_GETDECLS): New.
6093 (LANG_HOOKS_INITIALIZER): Update.
6094 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
6095 langhook.
6096 * langhooks.h (struct lang_hooks_for_decls): New.
6097 (struct lang_hooks): Update.
6098 * profile.c: Include langhooks.h.
6099 (output_func_start_profiler): Use new langhooks.
6100 * sdbout.c: Include langhooks.h.
6101 (sdbout_init, sdbout_finish): Use getdecls langhook.
6102 * stmt.c: Include langhooks.h.
6103 (expand_fixup, fixup_gotos): Use new langhooks.
6104 * stor-layout.c: Include langhooks.h.
6105 (variable_size): Use global_bindings_p langhook.
6106 * toplev.c (compile_file): Use getdecls langhook.
6107 * tree-inline.c (remap_block): Use insert_block langhook.
6108 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
6109 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
6110
5b19b10c
RH
61112002-03-21 Richard Henderson <rth@redhat.com>
6112
6113 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
6114 constants in .data when -fpic.
6115
e05af335
GP
61162002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6117
6118 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
6119 where appropriate.
6120
60ffc997
TT
61212002-03-21 Tom Tromey <tromey@redhat.com>
6122
6123 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
6124
75897075
RK
6125Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6126
a73afd69 6127 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 6128
75897075
RK
6129 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
6130
312687cf
EB
61312002-03-21 Eric Botcazou <ebotcazou@multimania.com>
6132 Richard Henderson <rth@redhat.com>
6133
6134 PR c/5354
6135 * c-common.c (c_expand_expr): Preserve result of a statement
6136 expression if needed.
6137
f0e1f482
JJ
61382002-03-21 Jakub Jelinek <jakub@redhat.com>
6139
6140 PR bootstrap/4195
6141 * genrecog.c (maybe_both_true_mode): Remove.
6142 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
6143 * machmode.def (Pmode): Likewise.
6144
c14b9960
JW
6145Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
6146
6147 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
6148 (nonlocal_mentioned_p_1): New function.
6149 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
6150 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
6151 (mark_constant_function): Recognize pure functions.
6152 * rtl.h (global_reg_mentioned_p): New prototype.
6153 * rtlanal.c (global_reg_mentioned_p,
6154 global_reg_mentioned_p_1): New function.
6155
aaa4d130
RO
61562002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6157
6158 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
6159 UNIX assert.h.
6160 * fixinc/fixincl.x: Regenerate.
6161
e5c4bd1b
JM
61622002-03-20 Jason Merrill <jason@redhat.com>
6163
6164 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
6165
852b81bb
MM
61662002-03-20 Michael Meissner <meissner@redhat.com>
6167
6168 * doc/invoke.texi (Optimize Options): Document that -O2 sets
6169 -fstrict-aliasing.
6170
86d8c251
BW
61712002-03-20 Bob Wilson <bob.wilson@acm.org>
6172
6173 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
6174 ".literal_position" directive before the constant pool.
6175
0a39c350
GP
61762002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6177
6178 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
6179 Add Craig Rodrigues.
6180 Add Brad Lucier to testers.
6181
71a83373
JJ
61822002-03-20 Jakub Jelinek <jakub@redhat.com>
6183
6184 PR target/4792
6185 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
6186 to if_then_else.
6187 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
6188 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
6189 instead of insn_extract.
6190
a29b099d
JJ
61912002-03-20 Jakub Jelinek <jakub@redhat.com>
6192
6193 PR bootstrap/4192
71a83373 6194 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
6195
6196 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
6197 stmt if some case has been output.
6198
048b1c95
JJ
61992002-03-20 Jakub Jelinek <jakub@redhat.com>
6200
6201 PR c/5972
6202 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
6203 movsfcc_1, movdfcc_1): Add %O2.
6204 * config/i386/i386.c (print_operand): Handle %ON.
6205 Print . before float condition codes in Sun as cmov syntax.
6206 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
6207 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
6208 no longer true.
6209
f4864588
PB
62102002-03-20 Philip Blundell <pb@nexus.co.uk>
6211
6212 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
6213 return instruction if PC was popped.
6214
3a307de4
BW
62152002-03-20 Bob Wilson <bob.wilson@acm.org>
6216
6217 * config/xtensa/xtensa.md: Remove unused type attributes.
6218 (adddi_carry, subddi_carry): Change type attribute to "multi".
6219
048b1c95 62202002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
6221
6222 PR optimization/5999, middle-end/5731
6223 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
6224 multiplications by reciprocals.
6225
7afff7cf
NB
62262002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
6227
6228 * Makefile.in: Update.
6229 * c-common.c: Include langhooks.h.
6230 (inline_forbidden_p): Use new hook.
6231 * diagnostic.c: Include langhooks.h.
6232 (format_with_decl, announce_function,
6233 default_print_error_function): Use new hook.
6234 * dwarf2out.c (dwarf2_name): Use new hook.
6235 * function.c: Include langhooks.h.
6236 (init_function_start): Use new hook.
6237 * langhooks-def.h (lhd_decl_printable_name): New.
6238 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
6239 (LANGHOOKS_INITIALIZER): Update.
6240 * langhooks.c (lhd_decl_printable_name): New.
6241 * langhooks.h (struct lang_hooks): New hook.
6242 * toplev.c (decl_name, decl_printable_name): Remove.
6243 (open_dump_file): Use new hook.
6244 (process_options): Remove old hook.
6245 * tree.h (decl_printable_name): Remove.
6246objc:
6247 * objc-act.c (objc_init): Remove old hook.
6248 (objc_printable_name): Export.
6249 * objc-act.h (objc_printable_name): New.
6250 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
6251
f78ce0b7
JB
62522002-03-19 Jim Blandy <jimb@redhat.com>
6253
6254 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
6255 the start_source_file debug hook, not the current line number.
6256
15b5aef3
RH
62572002-03-19 Richard Henderson <rth@redhat.com>
6258
6259 * flow.c (EH_USES): Provide default.
6260 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
6261 * doc/tm.texi (EH_USES): New.
6262
6263 * config/ia64/ia64.c (ia64_eh_uses): New.
6264 * config/ia64/ia64-protos.h: Update.
6265 * config/ia64/ia64.h (EH_USES): New.
6266
02a7a3fd
RH
62672002-03-19 Richard Henderson <rth@redhat.com>
6268
6269 * varasm.c (output_constant_def): Fix stupid typo.
6270
93f82d60
RH
62712002-03-19 Richard Henderson <rth@redhat.com>
6272
2842be05 6273 PR 5879
93f82d60
RH
6274 * except.c (current_function_has_exception_handlers): New.
6275 * except.h: Declare it.
6276 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
6277 Combine tests that disable all sibcalls for the function.
6278
ed4fbfa0
OH
62792002-03-19 Olivier Hainque <hainque@act-europe.fr>
6280
6281 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
6282 for INTEGER_CST.
6283
ebf0e888
RH
62842002-03-19 Richard Henderson <rth@redhat.com>
6285
1e82682b 6286 PR 5977, 5991
ebf0e888
RH
6287 * config/ia64/ia64.c: Revert 2002-03-01 patch.
6288 * config/ia64/ia64.h (INIT_EXPANDERS): New.
6289
e37b38d7
JB
62902002-03-19 Jim Blandy <jimb@redhat.com>
6291
6292 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
6293 name, even if the replacement list contains no tokens, as required
6294 by Dwarf.
6295
2a4ea326
JM
62962002-03-19 Jason Merrill <jason@redhat.com>
6297
f9d09ae5
JM
6298 * varasm.c (globalize_decl): Get the name from the RTL, not
6299 DECL_ASSEMBLER_NAME.
6300
2a4ea326
JM
6301 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
6302
99b96edb
BW
63032002-03-19 Bob Wilson <bob.wilson@acm.org>
6304
6305 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
6306 subdi_carry): Define.
6307
3774b567
DE
63082002-03-19 David Edelsohn <edelsohn@gnu.org>
6309
6310 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
6311 about -fpic/-fPIC if extra_warnings set.
6312
21ef78aa
DE
63132002-03-19 David Edelsohn <edelsohn@gnu.org>
6314
6315 * expr.c (expand_expr): Sign-extend CONST_INT generated from
6316 TREE_STRING_POINTER.
0c2fdcdf 6317 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 6318
91d4b3fd
RK
6319Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6320
6321 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
6322 in favor of SP if FRAME_POINTER_REQUIRED is false.
6323
2496c7bd
LB
63242002-03-19 Lars Brinkhoff <lars@nocrew.org>
6325
6326 * emit-rtl.c (gen_int_mode): New function.
6327 * rtl.h: Prototype for it.
6328 * combine.c (make_extraction, simplify_comparison), expmed.c
6329 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
6330 (convert_modes, store_field), optabs.c (expand_fix),
6331 simplify-rtx.c (neg_const_int, simplify_unary_real),
6332
6333 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
6334 Use it instead of GEN_INT (trunc_int_for_mode (...)).
6335
f735a153
JJ
63362002-03-19 Jakub Jelinek <jakub@redhat.com>
6337
6338 PR c/5656
6339 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6340 convert_parm_for_inlining.
6341 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
6342 Define.
6343 * langhooks-def.h: Likewise.
6344 * objc/objc-lang.c: Likewise.
6345 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
6346 function.
6347 * tree-inline.c (initialize_inlined_parameters):
6348 Call convert_parm_for_inlining lang hook if needed.
6349 * c-typeck.c (c_convert_parm_for_inlining): New function.
6350 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
6351
1929c971
MM
63522002-03-18 Mark Mitchell <mark@codesourcery.com>
6353
b216cd4a 6354 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
6355 can be destroyed after expanding the argument.
6356 (expand_call): Likewise.
6357
c79ca0ac
EC
63582002-03-15 Eric Christopher <echristo@redhat.com>
6359
6360 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
6361 Fix register preference on last change.
6362 * config/mips/mips.c (mips_return_in_memory): New function.
6363 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
6364 * config/mips/mips-protos.h: Declare.
6365 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
6366 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
6367
07e2e444
AO
63682002-03-18 Alexandre Oliva <aoliva@redhat.com>
6369
1bfbbbcf
AO
6370 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
6371 a register too.
6372 (anddi3, iorsi3): Likewise.
6373
c066429e
AO
6374 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
6375 use %gprel for symbols that are going to be placed in linkonce
6376 sections.
6377
07e2e444
AO
6378 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
6379 RETURN_ADDRESS_POINTER_REGNUM to $ra.
6380 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
6381 not needed. Disregard leaf_function_p().
6382 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
6383 mips16 frame pointer.
6384 * config/mips/mips.md (store ra): Only to small SP offsets.
6385 2001-08-22 Graham Stott <grahams@redhat.com>
6386 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
6387 return a REG rtx for the return address register.
6388
eb8e00ea
BW
63892002-03-18 Bob Wilson <bob.wilson@acm.org>
6390
6391 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
6392 constant-pool addresses as "mode-dependent".
6393 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
6394
cbb92744
JJ
63952002-03-18 Jakub Jelinek <jakub@redhat.com>
6396
6397 PR target/5740
6398 * expr.c (emit_group_load): Use extract_bit_field if
6399 needed for CONCAT arguments.
6400
657d9449
RE
64012002-03-18 Richard Earnshaw <rearnsha@arm.com>
6402
91f3a802 6403 PR target/4863
657d9449
RE
6404 * arm.md (tablejump): Make this a define_expand. For PIC add the
6405 offset to the base of the table.
6406 (thumb_tablejump): Matcher for Thumb tablejump insn.
6407 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
6408 as the difference of two labels.
6409 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6410 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
6411 tables in the code.
6412 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
6413 * arm.c (get_jump_table_size): If the table is not in the text
6414 section, return zero.
c79ca0ac 6415
5d5603e2
BS
64162002-03-18 Bernd Schmidt <bernds@redhat.com>
6417
6418 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
6419 of gen_rtx_SUBREG.
6420 (arm_reload_out_hi): Use gen_lowpart instead of
6421 gen_rtx_SUBREG to access QImode components.
6422 * config/arm/arm.md: Disable zero_extend split for QImode
6423 subregs in BIG_ENDIAN mode.
6424 (storehi_bigend): Match use of least significant byte.
6425 (storeinthi): Remove extraneous SUBREG.
66c17b64 6426 Add missing construction of operands[2].
5d5603e2
BS
6427 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
6428 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
6429 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
6430
df15fbc7
AH
64312002-03-18 Aldy Hernandez <aldyh@redhat.com>
6432
2496c7bd
LB
6433 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
6434 any_operand.
df15fbc7 6435
b83b7fa3
RH
64362002-03-17 Richard Henderson <rth@redhat.com>
6437
6438 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
6439 explicitly.
6440
6f7c00fe
HPN
64412002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
6442
6443 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
6444 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
6445
155038f2
KG
64462002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6447
720d42fa
KG
6448 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
6449
155038f2
KG
6450 * predict.c (estimate_bb_frequencies): Delete unused variables.
6451
e6542f4e
RH
64522002-03-17 Richard Henderson <rth@redhat.com>
6453
6454 * config/ia64/ia64.c (ia64_attribute_table): Move before
6455 targetm definition. Make static.
6456
52dabb6c
NB
64572002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
6458
6459 * c-common.h (yyparse, c_common_parse_file): New.
6460 * c-lang.c: Include c-common.h.
6461 (LANG_HOOKS_PARSE_FILE): Redefine.
6462 * c-lex.c: Include c-common.h.
6463 (yyparse): Rename c_common_parse_file. Call yyparse.
6464 * c-parse.in (yyparse): Remove macro.
6465 * c-tree.h (yyparse_1): Remove.
6466 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
6467 (LANG_HOOKS_INITIALIZER): Update.
6468 * langhooks.h (struct lang_hoooks): New hook parse_file.
6469 * toplev.c (compile_file): Use parse_file hook.
6470 * tree.h (yyparse): Remove.
e6542f4e 6471 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 6472
b5ffe606
HPN
64732002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
6474
ba82f58b
HPN
6475 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
6476 float_truncate, not fix.
6477 ("*truncdfsf2_real"): Ditto.
6478 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
6479
b5ffe606
HPN
6480 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
6481
c8d1b2b7
AO
64822002-03-16 Alexandre Oliva <aoliva@redhat.com>
6483
cfb773f9
AO
6484 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
6485 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
6486 where appropriate. Make the second reference to
6487 leaf_function_p a function call, as intended. Reindented.
6488
4dffef52
AO
6489 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
6490 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
6491
4f5bd6d7
AO
6492 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
6493 add register to non-constant into sp.
6494
c8d1b2b7
AO
6495 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
6496 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
6497 (mips16_gp_pseudo_rtx): Lose.
6498 (INIT_EXPANDERS): Deleted.
6499 * config/mips/mips.c (mips_init_machine_status): New.
6500 (mips_free_machine_status): New.
6501 (mips_mark_machine_status): New.
6502 (override_options): Set them.
6503 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
6504 (struct machine_function): ... new. Replaced all references.
6505 (mips_add_gc_roots): Don't mark them.
6506 (embedded_pic_fnaddr_reg): New, extracted from...
6507 (embedded_pic_offset): ... here.
6508 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
6509 (movsi): Likewise.
6510
b3124fac
NB
65112002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
6512
6513 * cppinit.c: Revert -MD removal.
6514
121449b6
SC
65152002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6516
6517 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
6518 soft registers by default for 68HC12.
6519 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
6520 when compiling with -fomit-frame-pointer.
6521 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
6522 (expand_epilogue): Likewise.
6523 (m68hc11_gen_rotate): Use exg when rotating by 8.
6524
840e2ff1
SC
65252002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6526
6527 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
6528 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
6529 (splits): Remove unused add splits.
6530 ("*addhi3_68hc12"): Tune constraints.
6531 ("addhi_sp"): Try to use X instead of Y in all cases and if the
6532 constant fits in 8-bits and D is dead use abx/aby instructions.
6533 ("*addhi3"): Remove extern declaration of ix_reg.
6534 ("*subsi3"): Optimize and provide new split.
6535 ("subhi3"): Cleanup.
6536 ("*subhi3_sp"): Avoid saving X if we know it is dead.
6537 (arith splits): For 68hc12 save the address register on the stack
6538 and do the arithmetic operation with a pop.
6539
3c9a5efe
SC
65402002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6541
6542 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
6543 allocating QImode in address registers.
6544 ("*movqi_m68hc11"): Likewise.
6545
e41f3392
JH
6546Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
6547
6548 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
6549
576786b0
NB
65502002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
6551
6552 * cppinit.c (print_help): Display -MD and -MMD.
6553 Don't display usage string. Update assertion syntax and
6554 typo.
6555 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
6556 (cpp_handle_option): Update.
6557
1ac458d4
CD
65582002-03-15 Chris Demetriou <cgd@broadcom.com>
6559
6560 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
6561 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
6562 and define it so that regardless of target CPU size,
6563 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
6564 of "int" rather than "long."
6565
1fcd592b
RH
65662002-03-15 Richard Henderson <rth@redhat.com>
6567
6568 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
6569 size as a tree.
6570
a0df6910
SC
65712002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6572
6573 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
6574 ("tstqi" split): Avoid using memory for tstqi on address register.
6575 (splits): Remove constraints.
6576 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
6577 ("cmpdf", "cmpsf"): Remove since not used.
6578 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
6579 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
6580
015a2e59
SC
65812002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6582
6583 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
6584 ("neghi2"): Tighten constraints.
6585 ("one_cmplsi2"): Optimize and simplify split.
6586 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
6587
cd28557c
SC
65882002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6589
6590 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
6591 and split of AND operation to clear the upper bits.
6592 ("*logicalsi3_zextqi"): Likewise.
6593 ("*logicallhi3_zexthi_ashift8"): Likewise.
6594 ("*logicalsi3_silshr16"): Likewise.
6595 ("logicalsi3_silshl16"): Likewise.
6596 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
6597
932657df
SC
65982002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6599
6600 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
6601 (m68hc11_indirect_p): New function.
6602 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
6603 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
6604 TARGET_M6812.
6605 (asm_print_register): Likewise.
6606 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
6607 (m68hc11_indirect_p): Declare.
6608 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
6609 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
6610 (TARGET_SWITCHES): New option -mrelax.
6611 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
6612 destination.
6613 ("iorsi3", "xorsi3"): Likewise.
6614 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
6615 ("*andhi3_mem"): New to handle destination in memory with bclr
6616 and a scratch register.
6617 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
6618 ("*andhi3_const"): New when operand2 is constant.
6619 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
6620 ("*andhi3_gen"): Cleanup of the old "andhi3".
6621 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
6622 ("xorqi3"): Update constraints.
6623
fdffea1a
SC
66242002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6625
6626 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
6627 for reg_equiv_memory_loc when the operand is a register that does
6628 not get a hard register (stack location).
6629 (tst_operand): After reload, accept all memory operand.
6630 (symbolic_memory_operand): Fix detection of symbolic references.
6631 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
6632 accept symbols and any constant.
6633
6272bc68
SC
66342002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6635
6636 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
6637 note on the insn that sets the soft frame register.
6638 (must_parenthesize): ix and iy are also reserved names.
6639 (print_operand_address): One more place where parenthesis are required
6640 to avoid confusion with register names.
6641 (m68hc11_gen_movhi): Allow push of stack pointer.
6642 (m68hc11_check_z_replacement): Fix handling of parallel with a
6643 clobber.
6644 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
6645 the replacement register is.
6646 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
6647 and D8_REGS classes.
6648 (MODES_TIEABLE_P): All modes are tieable except QImode.
6649
1d2d9def
SC
66502002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6651
6652 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
6653 (___subdi3): Likewise.
6654 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
6655 (__map_data_section): Optimize 68hc11 case.
6656
a0ccf503
SC
66572002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6658
6659 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
6660 than a shift to avoid adding a register with itself.
6661 (m68hc11_memory_move_cost): Take into account NO_REGS.
6662 (m68hc11_register_move_cost): Update and use memory move cost
6663 for soft registers.
6664 (m68hc11_address_cost): Make cost of valid offset not 0 so that
6665 it gives more opportunities to cse to optimize.
6666 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
6667 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
6668
6e4ae815
MM
66692002-03-15 Mark Mitchell <mark@codesourcery.com>
6670
6671 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
6672 * c-common.def (CLEANUP_STMT): New tree node.
6673 * c-common.h (CLEANUP_DECL): New macro.
6674 (CLEANUP_EXPR): Likewise.
6675 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
6676 * expr.c (expand_expr): Tidy.
6677 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
6678 * tree-inline.c (initialize_inlined_parameters): Clean up
6679 new local variables.
6680
a42519be
JJ
66812002-03-15 Jakub Jelinek <jakub@redhat.com>
6682
6683 PR bootstrap/4128
6684 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
6685 before movrXX only, use reg_overlap_mentioned_p.
6686 Only special case NE if just one insn can be generated.
6687
15409448
JM
66882002-03-15 Jason Merrill <jason@redhat.com>
6689
6690 * varasm.c (assemble_variable): Call resolve_unique_section before
6691 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
6692 of error_mark_node.
6693
3a4edb44
RE
66942002-03-15 Richard Earnshaw <rearnsha@arm.com>
6695
6696 PR target/5170
6697 * arm.md (split pattern for thumb shiftable immediates): Add comment
6698 explaining non-obvious test.
6699
32defa36
RE
67002002-03-15 Richard Earnshaw <rearnsha@arm.com>
6701
6702 PR target/5712
6703 * arm.md (movaddr, movaddr_insn): Delete.
6704
5cc90635
JM
67052002-03-15 Jason Merrill <jason@redhat.com>
6706
6707 * toplev.c (wrapup_global_declarations): Clarify variable handling.
6708 -fkeep-static-consts doesn't apply to comdats.
6709
ecb0eece
RH
67102002-03-14 Richard Henderson <rth@redhat.com>
6711
6712 * c-decl.c: Include c-pragma.h.
6713 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
6714 (finish_function): Tidy.
6715 * c-pragma.c: Include c-common.h.
6716 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
6717 (handle_pragma_weak): Use them.
6718 (init_pragma): Register pending_weaks.
6719 * c-pragma.h (maybe_apply_pragma_weak): Declare.
6720 * print-tree.c (print_node): Print DECL_WEAK.
6721 * varasm.c (mark_weak_decls): Remove.
6722 (remove_from_pending_weak_list): Remove.
6723 (add_weak): Remove.
6724 (asm_emit_uninitialised): Call globalize_decl for weak commons.
6725 (weak_decls): Make a tree_list.
6726 (declare_weak): Cons weak_decls directly.
6727 (globalize_decl): Remove weak_decls elements directly.
6728 (weak_finish): Simplify weak_decls walk. Don't weaken unused
6729 symbols. Don't pretend to handle aliases.
6730 (init_varasm_once): Update weak_decls registry.
6731 * Makefile.in: Update dependencies.
6732
98d2b17e
RH
67332002-03-14 Richard Henderson <rth@redhat.com>
6734
6735 PR target/5312
6736 * config/ia64/ia64.c: Include tm_p.h last.
6737 (gen_nop_type): Remove duplicate definition.
6738 (cycle_end_fill_slots): Set sched_data for second L slot.
6739 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
6740 (nop_cycles_until): Fix typos.
6741
f2f4927e
JJ
67422002-03-15 Jakub Jelinek <jakub@redhat.com>
6743
6744 PR optimization/5891
6745 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
6746
5025a549
DM
67472002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
6748
6749 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
6750 descriptors correctly.
6751
03e9dbc9
MM
67522002-03-14 Michael Meissner <meissner@redhat.com>
6753
6754 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
6755 100, allowing MAX_UNROLLED_INSNS to be overridden.
6756
6757 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
6758 --param.
6759
6760 * unroll.c (params.h): Include.
6761 (MAX_UNROLLED_INSNS): Delete, now in params.h.
6762
6763 * doc/invoke.texi (--param max-unroll-insns): Document.
6764
6765 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
6766
12249385
RE
67672002-03-14 Richard Earnshaw <rearnsha@arm.com>
6768
6769 * arm.md: Fix warnings about constraints in peepholes and splits.
6770
f0cce04a
ZW
67712002-03-14 Zack Weinberg <zack@codesourcery.com>
6772
6773 * cpphash.h (struct lexer_state): Remove line_extension member.
6774 * cpplib.c (dequote_string, do_linemarker): New functions.
6775 (linemarker_dir): New data object.
6776 (DIRECTIVE_TABLE): No longer need to interpret #line in
6777 preprocessed source. Delete obsolete comment about return
6778 values of handlers.
6779 (end_directive, directive_diagnostics, _cpp_handle_directive):
6780 Don't muck with line_extension.
6781 (directive_diagnostics): No need to issue warnings for
6782 linemarkers here.
6783 (_cpp_handle_directive): Issue warnings for linemarkers here,
6784 when appropriate. Dispatch linemarkers to do_linemarker, not
6785 do_line.
6786 (do_line): Code to handle linemarkers split out to do_linemarker.
6787 Convert escape sequences in filename argument, both places.
6788
6789 * cppmacro.c (quote_string): Rename cpp_quote_string and
6790 export. All callers changed.
6791 * cpplib.h (cpp_quote_string): Prototype.
6792 * cppmain.c (print_line): Call cpp_quote_string on to_file
6793 before printing it.
6794
6795 * doc/cpp.texi: Document that escapes are now interpreted in
6796 #line and in linemarkers, and that non-printing characters are
6797 converted to octal escapes when linemarkers are generated.
6798
6799Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
6800
6801 * emit-rtl.c (try_split): Use delete_insns.
6802 * recog.c (split_all_insns): Fix terminating condition.
6803
c882c7ac
RE
68042002-03-14 Richard Earnshaw <rearnsha@arm.com>
6805 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
6806
6807 PR target/5828
6808 * arm.c (arm_output_epilogue): Fix floating-point register save
6809 adjustment when using a frame pointer.
6810
3f26edaa
RS
68112002-03-14 Richard Sandiford <rsandifo@redhat.com>
6812
6813 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
6814 * config/mips/mips.c (compute_frame_size): Retrofit them here.
6815 (save_restore_insns, mips_expand_epilogue): And here.
6816 (build_mips16_call_stub): And here.
6817 (mips_function_value): Use the new macros to decide whether a single
6818 or complex float can be returned in floating-point registers. Return
6819 a parallel rtx in the complex case.
6820
1e3881c2
JH
6821Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
6822
6823 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
6824 call after liveness analysis.
6825
6826 * recog.c (split_insn): Use delete_insn_and_edges.
6827
6828 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
6829 instructions to have branch prediction notes.
6830 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
6831
200ef634
GK
68322002-03-14 Geoffrey Keating <geoffk@redhat.com>
6833
6834 * configure.in: Don't pass -Wno-long-long to a ADA compiler
6835 that doesn't support it.
6836 * configure: Regenerate.
6837
0b82d204
JJ
68382002-03-13 Jakub Jelinek <jakub@redhat.com>
6839
6840 PR target/5626
6841 * config/sparc/sparc.md (normal_branch, inverted_branch,
6842 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
6843 inverted_fp_branch): Adjust calls to output_cbranch.
6844 Set length attribute.
6845 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
6846 output_v9branch. Set length attribute.
6847 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
6848 predicates.
6849 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
6850 (output_cbranch): Likewise. Handle far branches.
6851 (output_v9branch): Handle far branches.
6852 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
6853 Adjust prototypes.
6854 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
6855 noov_compare64_op predicates.
6856
7a8de19b
JM
68572002-03-13 Jason Merrill <jason@redhat.com>
6858
6859 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
6860 into the function and constify it.
6861 * gthr-dce.h, gthr-solaris.h: Likewise.
6862
2a55fd42
DE
68632002-03-13 David Edelsohn <edelsohn@gnu.org>
6864
6865 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
6866 * config/rs6000/rs6000.c (rs6000_va_arg): Use
6867 std_expand_builtin_va_arg if not ABI_V4.
6868
19c5b1cf
JM
68692002-03-13 Jason Merrill <jason@redhat.com>
6870
6871 * varasm.c (globalize_decl): New fn.
6872 (assemble_start_function): Use it.
6873 (asm_emit_uninitialized): Use it.
6874 (assemble_alias): Use it.
6875 (assemble_variable): Use it.
6876
2a15f5e1
HPN
68772002-03-13 Hans-Peter Nilsson <hp@axis.com>
6878
6879 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 6880 2002-03-12 internal visibility change.
2a15f5e1
HPN
6881 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
6882 visibility into SYMBOL_REF_FLAG.
6883
c0a3eeac
UW
68842002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
6885
6886 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
6887 VOIDmode operand. Add compile-time optimization for constant results.
6888
a1652cee
JM
68892002-03-12 Jason Merrill <jason@redhat.com>
6890
6891 * c-typeck.c (convert_for_assignment): Don't allow conversions
6892 between pointers and references. Only allow lvalues to convert to
6893 reference.
6894
c52a375d
HP
68952002-03-13 Hartmut Penner <hpenner@de.ibm.com>
6896
f0cce04a
ZW
6897 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
6898 before prologue, to avoid scheduling problems.
c52a375d 6899
e387e99b
JJ
69002002-03-13 Jakub Jelinek <jakub@redhat.com>
6901
6902 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
6903 (ELIMINABLE_REGS): Add sfp->sp.
6904 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
6905
69062002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
6907
6908 PR optimization/5892
6909 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
6910
4061c1a3
JJ
69112002-03-13 Jakub Jelinek <jakub@redhat.com>
6912
6913 * loop.c (basic_induction_var): Don't call convert_modes if mode
6914 classes are different.
6915
5b43fed1
RH
69162002-03-12 Richard Henderson <rth@redhat.com>
6917
9f53e965
RH
6918 PR optimization/5901
6919 * function.c (reposition_prologue_and_epilogue_notes): Position
6920 the markers after/before the last/first insn not deleted.
6921
69222002-03-12 Richard Henderson <rth@redhat.com>
6923
6924 PR optimization/5878
5b43fed1
RH
6925 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
6926 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
6927 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
6928
6929 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
6930 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
6931 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
6932
6933 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
6934 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
6935 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
6936 also. Don't set it if not flag_pic.
6937 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
6938 to be INVALID_REGNUM when not used.
6939
4e9bb42b
AH
69402002-03-13 Aldy Hernandez <aldyh@redhat.com>
6941
5b43fed1
RH
6942 * expmed.c (store_bit_field): Reset alias set for memory.
6943 (extract_bit_field): Same.
4e9bb42b 6944
2f9834e8
KG
69452002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6946
6947 * c-common.c (c_tree_code_type, c_tree_code_length,
6948 c_tree_code_name, add_c_tree_codes): Delete.
6949 * c-common.h (add_c_tree_codes): Delete.
6950 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
6951 Define.
6952 * c-objc-common.c (c_objc_common_init): Don't call
6953 add_c_tree_codes, instead set lang_unsafe_for_reeval.
6954 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
6955 objc_tree_code_name, add_objc_tree_codes): Delete.
6956 (objc_init): Don't call add_objc_tree_codes.
6957 * objc/objc-lang.c (tree_code_type, tree_code_length,
6958 tree_code_name): Define.
6959 * toplev.c (lang_independent_init): Don't set
6960 tree_code_length[IDENTIFIER_NODE].
6961 * tree.c (tree_code_type, tree_code_length, tree_code_name):
6962 Delete definitions, moved to language front-ends.
6963 * tree.def (IDENTIFIER_NODE): Hardwire the length.
6964 * tree.h (tree_code_type, tree_code_length, tree_code_name):
6965 Const-ify.
6966 (tree_code_length): Change type to unsigned char.
6967
36ad2436
RH
69682002-03-12 Richard Henderson <rth@redhat.com>
6969
6970 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
6971 internal visibility change.
6972
0ae02efa
BW
69732002-03-12 Bob Wilson <bob.wilson@acm.org>
6974
6975 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
6976 validize_mem() instead of change_address to avoid clobbering
6977 memory attributes.
6978
35bb2bee
NB
69792002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
6980
6981 * c-lex.h (position_after_whitespace): Remove.
6982
62ae2529
JJ
69832002-03-12 Jakub Jelinek <jakub@redhat.com>
6984
6985 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
6986 (lex_string): Use unsigned char pointers.
6987
6a45951f
UW
69882002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
6989
6990 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
6991 is not a valid memory_operand.
6992
e2fb85da
BW
69932002-03-12 Bob Wilson <bob.wilson@acm.org>
6994
6995 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
6996 * config/xtensa/lib1funcs.asm: Fix copyright to include
6997 special case for libgcc files.
6998 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
6999 (__divsi3): Likewise.
7000 (__umodsi3): Likewise.
7001 (__modsi3): Likewise.
7002 * config/xtensa/lib2funcs.S: Fix copyright to include
7003 special case for libgcc files.
7004
5b8619f8
TR
70052002-03-12 Tom Rix <trix@redhat.com>
7006
7007 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 7008 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
7009 (ignore_library): Same.
7010
089c8f97
BW
70112002-03-12 Bob Wilson <bob.wilson@acm.org>
7012
7013 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
7014
958c70ff
BW
70152002-03-12 Bob Wilson <bob.wilson@acm.org>
7016
7017 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
7018 to function_section before writing out the constant pool.
7019
a65c591c
DE
70202002-03-12 David Edelsohn <edelsohn@gnu.org>
7021
7022 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
7023 zero_constant.
7024 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
7025
70262002-03-12 Alan Modra <amodra@bigpond.net.au>
7027
7028 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
7029 (adddi3): Likewise.
7030 (movdf): Likewise.
7031 (movdi): Likewise.
7032 (cmpsi splitter): Likewise.
7033 (modsi3): Fail if <= 0.
7034 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
7035 redundant test when HOST_BITS_PER_WIDE_INT != 32.
7036 (reg_or_sub_cint64_operand): Likewise.
7037 (num_insns_constant_wide): Optimize sign extension.
7038 (rs6000_legitimize_address): Likewise.
7039
17720332
AM
70402002-03-12 Andrew MacLeod <amacleod@redhat.com>
7041
7042 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
7043 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
7044
cd49f073
AM
70452002-03-12 Andrew MacLeod <amacleod@redhat.com>
7046
7047 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
7048 address calculation.
7049
6a4e49c1
UW
70502002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
7051
7052 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
7053 scratch register to DImode / TImode.
7054 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
7055 register used does not overlap the target.
7056
54b6670a
KG
70572002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7058
7059 * Makefile.in (debug.o): Depend on debug.h.
7060 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
7061 * debug.c (do_nothing_debug_hooks): Likewise.
7062 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
7063 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
7064 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
7065 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
7066 * dwarfout.c (dwarf_debug_hooks): Likewise.
7067 * integrate.c (output_inline_function): Likewise.
7068 * objc/objc-act.c (synth_module_prologue): Likewise.
7069 * sdbout.c (sdb_debug_hooks): Likewise.
7070 * toplev.c (debug_hooks): Likewise.
7071 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
7072
2465bf76
KG
70732002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7074
7075 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
7076 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
7077 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
7078 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
7079 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
7080 * defaults.h (POINTER_SIZE): Define.
7081 * doc/tm.texi (POINTER_SIZE): Document default.
7082
53f3e9ca
KG
70832002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7084
7085 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
7086
44d3eb5b
RH
70872002-03-11 Richard Henderson <rth@redhat.com>
7088
7089 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
7090 if rebuild_label_notes_after_reload.
7091
4a085d2e
HPN
70922002-03-12 Hans-Peter Nilsson <hp@axis.com>
7093
7094 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
7095 emit pic register load if "internal" visibility.
7096 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
7097 (cris_expand_builtin_va_arg): Do all computations on trees.
7098
bc204393
RH
70992002-03-11 Richard Henderson <rth@redhat.com>
7100
7101 * rtlanal.c: Include recog.h.
7102 (keep_with_call_p): Fix thinko.
7103 * Makefile.in (rtlanal.o): Update dependencies.
7104
6b8b9d7b
CM
71052002-03-11 Chris Meyer <cmeyer@gatan.com>
7106
7107 * genflags.c (gen_insn): Use IS_VSPACE.
7108 * genoutput.c (output_insn_data): Likewise.
7109 (process_template): Likewise.
7110
6c40858f
RH
71112002-03-11 Richard Henderson <rth@redhat.com>
7112
7113 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
7114
40adaa27
NB
71152002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
7116
7117 * Makefile.in: Update.
6c40858f 7118 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 7119 Update documentation.
6c40858f
RH
7120 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
7121 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 7122
049b03f4
ZW
71232002-03-11 Zack Weinberg <zack@codesourcery.com>
7124
7125 * Makefile.in: Give texi2pod its input file as a command line
7126 argument, not on stdin.
7127
61eece67
DN
71282002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
7129 Daniel Berlin <dan@dberlin.org>
7130
7131 C++ alias analysis improvement.
f0cce04a 7132 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
7133 classes too.
7134
a65c591c
DE
71352002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
7136
ff080aba
UW
7137 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
7138
1682dbb1
DR
71392002-03-11 Douglas B Rupp <rupp@gnat.com>
7140
fa2d765a
DR
7141 * toplev.c (vms_fopen): Remove, not needed.
7142
6f1fd286
DR
7143 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
7144
b230e057
DR
7145 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
7146
cb9a8e97
DR
7147 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
7148 for FP, already done later.
7149
1682dbb1
DR
7150 * toplev.c (debug_args): Add entry for VMS_DEBUG.
7151 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
7152
3fcaac1d
RS
71532002-03-11 Richard Sandiford <rsandifo@redhat.com>
7154
7155 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
7156 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
7157 LARGEST_EXPONENT_IS_NORMAL for the given mode.
7158 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
7159 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
7160 (ediv, emul, eldexp, esqrt): Likewise.
7161 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
7162 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
7163 (saturate): New function.
7164 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
7165 (make_nan): Use a saturation value instead of a NaN if
7166 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
7167 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
7168 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
7169 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
7170 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
7171 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
7172 !ROUND_TOWARDS_ZERO.
7173 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
7174 (ROUND_TOWARDS_ZERO): Document.
7175
d25558be
AJ
71762002-03-11 Andreas Jaeger <aj@suse.de>
7177
7178 * cfg.c (dump_flow_info): Remove unused variable.
7179
c71f9ae7
HPN
71802002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
7181
7182 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
7183 computations on trees.
7184
561c9153
RH
71852002-03-10 Richard Henderson <rth@redhat.com>
7186
932b4e3e 7187 PR 5693:
561c9153
RH
7188 * reload.c (copy_replacements_1): New.
7189 (copy_replacements): Use it to recurse through the rtx.
7190
26b738be
RH
71912002-03-10 Richard Henderson <rth@redhat.com>
7192
7193 * loop.c (strength_reduce): Compute number of iterations as
7194 unsigned HOST_WIDE_INT.
7195
8d8a083e
RH
71962002-03-10 Richard Henderson <rth@redhat.com>
7197
7198 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
7199 to move away from the end of the block.
7200
32810ba3
NB
72012002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
7202
7203 PR preprocessor/5899
7204 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 7205
2b03d201
KG
72062002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7207
f90c544c
KG
7208 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
7209
2b03d201
KG
7210 * attribs.c (decl_attributes): Fix signed/unsigned warning.
7211
3ec1b4cb
HPN
72122002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
7213
7214 * config/mmix/mmix.c: Improve comments.
7215 (mmix_target_asm_function_prologue): Drop variable
7216 empty_stack_frame. Don't allocate unused slot above fp.
7217 (mmix_target_asm_function_epilogue): Mirror prologue changes.
7218 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
7219 brace in first column.
7220 (enum reg_class): Ditto.
7221 (FIRST_PARM_OFFSET): Now 0.
7222 (USER_LABEL_PREFIX): Remove #if 0:d definition.
7223
27e486c5
KG
72242002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7225
7226 * combine.c (make_extraction): Fix error in last change.
7227
0139adca
KG
72282002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7229
7230 * c4x.c (c4x_fp_reglist): Const-ify.
7231 * cris.c (cris_print_operand): Likewise.
7232 * i386.c (ix86_va_arg): Likewise.
7233 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
7234 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
7235 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
7236 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
7237 * mcore.h (regno_reg_class): Likewise.
7238 * mips.c (gen_int_relational): Likewise.
7239 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
7240 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 7241 * pdp11.c (move_costs): Likewise.
0139adca
KG
7242 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
7243 * s390.c (s390_branch_condition_mnemonic, regclass_map):
7244 Likewise.
7245 * s390.h (regclass_map): Likewise.
7246 * sh.c (shift_amounts): Likewise.
a4334c36 7247 * sh.md (rotlsi3): Likewise.
0139adca 7248
889b90a1
GK
72492002-03-09 Geoffrey Keating <geoffk@redhat.com>
7250
7251 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
7252 (ne0+5): Use new clobber to generate proper shift pattern.
7253 Patch by Michael Matz <matz@kde.org>.
7254
2877e0ae
AS
72552002-03-09 Andreas Schwab <schwab@suse.de>
7256
7257 * gcc.c (validate_all_switches): Also handle `%W{...}'.
7258
79b51cd7
GK
72592002-03-09 Geoffrey Keating <geoffk@redhat.com>
7260
7261 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
7262
e0f1be5c
JJ
72632002-03-09 Jakub Jelinek <jakub@redhat.com>
7264
7265 PR middle-end/5877
7266 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
7267 even for non-representable constants.
7268
0a7ec763
RK
7269Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7270
93fe8e92
RK
7271 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
7272 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
7273 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
7274 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
7275 (pop_function_context): Compute MAY_SHARE parameter for
7276 fixup_var_refs.
7277 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
7278 (gen_mem_addressof): Call fixup_var_refs with new parm.
7279
0a7ec763
RK
7280 * combine.c (make_extraction): Don't make extension of CONST_INT.
7281
a85cd407
AO
72822002-03-09 Alexandre Oliva <aoliva@redhat.com>
7283
9445b814
AO
7284 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
7285 in o32 and o64 ABIs.
7286 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
7287 but getting fixed-size structs passed in registers regardless of
7288 padding in o32 and o64 ABIs.
7289
a85cd407
AO
7290 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
7291 offset before loading address of argument passed by transparent
7292 reference.
7293
c51fbe40
JDA
72942002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
7295
7296 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
7297
918e70dd
AO
72982002-03-09 Alexandre Oliva <aoliva@redhat.com>
7299
7300 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
7301 marker such that registers after it are saved.
7302
3070dd00
KG
73032002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7304
7305 * sparc.c (arith_4096_operand): Fix error in last change.
7306
e25d11b0
AO
73072002-03-08 Alexandre Oliva <aoliva@redhat.com>
7308
7309 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
7310 defaults for MEABI.
7311
41daaf0e
AH
73122002-03-08 Aldy Hernandez <aldyh@redhat.com>
7313
5b43fed1
RH
7314 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
7315 vectors.
41daaf0e 7316
fa139b00
AH
73172002-03-08 Aldy Hernandez <aldyh@redhat.com>
7318
5b43fed1 7319 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 7320
c51d95ec
JH
7321Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
7322
7323 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
7324 removed; fix return value.
7325 * combine.c (combine_instructions): Dirtify blocks where we failed to
7326 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
7327 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
7328
3b25fbfe
KG
73292002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7330
7331 * gcse.c (insert_insn_end_bb): Fix typo in last change.
7332
189ae0f4
JH
7333Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
7334
7335 * recog.c (peephole2_optimize): Re-distribute EH edges.
7336
24965e7a
NB
73372002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
7338
7339 * expr.c (expand_expr): Use unsave lang hook.
7340 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
7341 (LANG_HOOKS_INITIALIZER): Update.
7342 * langhooks.h (struct lang_hooks): New hook unsave.
7343 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
7344 (unsave_expr_1): Remove unused lang_unsave_expr_now.
7345 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
7346 (unsave_expr_now): Remove.
7347 * tree.h (unsave_expr_now, lang_unsave,
7348 lang_unsave_expr_now): Remove.
7349 (lhd_unsave): New.
7350
1e4e95d6
AJ
73512002-03-08 Andreas Jaeger <aj@suse.de>
7352
7353 * flow.c (propagate_block_delete_insn): Remove unused variable.
7354
054ef905
KH
73552002-03-08 Kazu Hirata <kazu@hxi.com>
7356
7357 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
7358 insn length for memory load/store.
7359
5304400d 73602002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 7361
5304400d
CR
7362 * doc/install.texi (--with-libiconv-prefix): Document.
7363
81034129
MB
73642002-03-08 Michael Y. Brukman <myb2@cornell.edu>
7365
7366 * doc/sourcebuild.texi: Fix typo.
7367
71db7d03
JJ
73682002-03-08 Jakub Jelinek <jakub@redhat.com>
7369
7370 PR c/3711
7371 * builtins.c (std_expand_builtin_va_arg): Do all computations on
7372 trees.
7373
127c1ba5
RK
7374Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7375
7376 * rtl.c (copy_most_rtx): Move from here ...
7377 * emit-rtl.c (copy_most_rtx): ... to here.
7378
8a13c092
AO
73792002-03-08 Alexandre Oliva <aoliva@redhat.com>
7380
5faae4f7
AO
7381 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
7382 SUBTARGET_CPP_SIZE_SPEC.
7383 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
7384
8a13c092
AO
7385 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
7386
4ec59de2
MH
73872002-03-07 Matt Hiller <hiller@redhat.com>
7388
7389 * gensupport.c (first_dir_md_include): Renamed from include;
7390 change all references.
7391 (last_dir_md_include): Renamed from last_include; change all
7392 references.
7393 (init_md_reader): Unconditionally initialize base_dir whether or
7394 not filename is a relative path.
7395
12f61e77
AO
73962002-03-07 Alexandre Oliva <aoliva@redhat.com>
7397
95356058
AO
7398 * config/fp-bit.c (_unord_f2): Compile it in even if
7399 US_SOFTWARE_GOFAST is enabled.
7400
12f61e77
AO
7401 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
7402 NULL_RTX. Set all HFmode operations as NULL_RTX.
7403 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
7404 NULL_RTX, try reversing the comparison and the operands.
7405
6d7a1c4c
UW
74062002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
7407
7408 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
7409 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
7410 and MATCH_OP_DUP.
7411
66d54344
JH
7412Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
7413
7414 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
7415
068473ec
JH
7416Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
7417
7418 * basic-block.h (fixup_abnormal_edges): Declare.
7419 * reload1.c (fixup_abnormal_edges): New function.
7420 * reg-stack.c (convert_regs): Use it.
7421
7422 * gcse.c (insert_insn_end_bb): Handle trapping insns.
7423
7424 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
7425
71925bc0
RS
74262002-03-07 Richard Sandiford <rsandifo@redhat.com>
7427
7428 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
7429 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
7430 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
7431 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
7432 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
7433 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
7434 unless x and y could be infinite.
7435 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
7436 Check that the common type of both arguments is a real, even for
7437 targets without unordered comparisons. Allow an integer argument
7438 to be compared against a real.
7439 (expand_tree_builtin): Use expand_unordered_cmp.
7440 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
7441 * cse.c (fold_rtx): Likewise. Fix indentation.
7442 * fold-const.c (fold_real_zero_addition_p): New.
7443 (fold): Use it, and the new HONOR_... macros.
7444 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
7445 * jump.c (reversed_comparison_code_parts): After searching for
7446 the true comparison mode, use HONOR_NANS to decide whether it
7447 can be safely reversed.
7448 (reverse_condition_maybe_unordered): Remove IEEE check.
7449 * simplify-rtx.c (simplify_binary_operation): Use the new macros
7450 to decide which simplifications are valid. Allow the following
7451 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
7452 and (a - -b) to (a + b).
7453 (simplify_relational_operation): Use HONOR_NANS.
7454 * doc/tm.texi: Document the MODE_HAS_... macros.
7455
145d3bf2
RE
74562002-03-07 Richard Earnshaw <rearnsha@arm.com>
7457
7458 * combine.c (simplify_comparison): If simplifying a logical shift
7459 right and compare with constant, force the comparison to unsigned.
7460
76a773f3
AH
74612002-03-07 Aldy Hernandez <aldyh@redhat.com>
7462
5b43fed1 7463 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 7464
5b43fed1
RH
7465 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
7466 -mabi=no-altivec
7467 (alt_reg_names): Remove % for vrsave.
76a773f3 7468
ab55f58c
RH
74692002-03-06 Richard Henderson <rth@redhat.com>
7470
5ddec02e 7471 PR optimization/5844
ab55f58c
RH
7472 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
7473 if used indicates we've already emitted one copy of an operand.
7474 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
7475 (gen_split): Supply a non-null used.
7476
e16e3291
UW
74772002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
7478
5b43fed1 7479 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 7480
1e4e95d6 7481 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
7482 but simply fail if the expression is too complex to simplify.
7483 (simplify_gen_binary): Handle simplify_plus_minus failures.
7484
2ca6672b
JH
7485Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
7486
7487 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
7488 consistently call delete_trivially_dead_insns after CSE and GCSE;
7489 fix DFI_life dumping; do jump threading after liveness; do crossjumping
7490 after liveness2; update comment in last crossjumping.
7491 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
7492
31d0dd4f
JL
7493Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
7494
d094b0b3
JL
7495 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
7496 after completing fast dead code elimination.
7497
31d0dd4f
JL
7498 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
7499 COMPARE operator.
1e4e95d6 7500
f2b958b1
PE
75012002-03-06 Phil Edwards <pme@gcc.gnu.org>
7502
7503 * version.c: Fix misplaced leading blanks on first line.
7504
a2877a09
JH
7505Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
7506
7507 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
7508
fe477d8b
JH
7509Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
7510
7511 * cfgcleanup.c (mentions_nonequal_regs): New function.
7512 (thread_jump): Use it.
7513 * toplev.c (rest_of_compilation): Run jump threading after
7514 liveness.
7515
2041cde4
JJ
75162002-03-06 Jakub Jelinek <jakub@redhat.com>
7517
7518 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
7519 patch.
7520
82d68d46
JH
7521Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
7522
7523 * predict.c (estimate_bb_frequencies): Do not reload the
7524 frequencies from notes.
7525
3dec4024
JH
7526Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
7527
7528 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
7529 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
7530
7531 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
7532 delete_noop_moves): Return indeger.
7533 * flow.c (ndead): New variable.
7534 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
7535 BB argument; update callers.
7536 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
7537 (life_analysis): Do not call purge_all_dead_edges.
7538 (update_life_info): Return number of deleted insns; print statistics.
7539 (update_life_info_in_dirty_blocks): likewise.
7540 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
7541 return number of insns deleted.
7542
7543 * cse.c: Include timevar.h
7544 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
7545 iterate until stabilizes; print statistics; return number of killed
7546 insns.
7547 * Makefile.in: (cse.o): Add timevar.h dependency
7548 * rtl.h (delete_trivially_dead_insns): New.
7549 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
7550 * toplev.c (rest_of_compilation): Update callers.
7551
7552 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
7553 (try_optimize_cfg): Do not update liveness.
7554 (cleanup-cfg): Loop until try_optimize_cfg and dead code
7555 removal stabilizes; use delete_trivially_dead_insns.
7556
7557 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
7558
c7544dd8
ZW
75592002-03-05 Zack Weinberg <zack@codesourcery.com>
7560
7561 * cppmain.c (setup_callbacks): Disable #pragma and #ident
7562 callbacks when processing assembly language.
7563
50b424a9
JDA
75642002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7565
7566 * pa.h (ASM_FILE_END): Define.
7567 * som.h (ASM_FILE_END): Delete.
7568
7569 * pa.c (function_arg): Don't pass floats in general registers in
7570 indirect calls if TARGET_ELF32.
7571
6185f217
RH
75722002-03-05 Richard Henderson <rth@redhat.com>
7573
7574 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
7575
3020a4b2
DS
75762002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
7577
7578 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
7579
65649daa
JJ
75802002-03-05 Jakub Jelinek <jakub@redhat.com>
7581
7582 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
7583 -r command line. Don't hide any symbols if not building
7584 shared libgcc.
7585
5a1a3e5e
JH
7586Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
7587
7588 * cfg.c (dump_flow_info): Warn about profile mismatches.
7589 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
7590 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
7591
170c56da
JJ
75922002-03-05 Jakub Jelinek <jakub@redhat.com>
7593
7594 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
7595 wide volatile memory by parts.
7596
6d051694
JJ
75972002-03-05 Jakub Jelinek <jakub@redhat.com>
7598
7599 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
7600 is NULL.
7601
28bcfd4d
RH
76022002-03-05 Richard Henderson <rth@redhat.com>
7603
5b43fed1 7604 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 7605
75227a33
GK
76062002-03-04 Geoffrey Keating <geoffk@redhat.com>
7607
7608 * toplev.c (documented_lang_options): Document more
7609 language-specific options.
7610 * doc/invoke.texi (Warning Options): Correct documentation for
7611 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
7612 * c-decl.c (c_decode_option): Use a table to handle warning options.
7613
4f1aac42
HPN
76142002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
7615
7616 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
7617 parameter to mmix_encode_section_info.
7618 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
7619 relocatably. Always produce ELF, not mmo if linking relocatably.
7620 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
7621 first is non-zero, don't add symbol prefix.
7622 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
7623 prototype accordingly.
7624
12345543
KW
76252002-03-04 Krister Walfridsson <cato@df.lth.se>
7626
7627 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
7628
8e97db8f
JM
76292002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
7630
7631 * configure.in: Increase required makeinfo version to 4.1.
7632 * configure: Regenerate.
7633
06487868
GK
76342002-03-04 Geoffrey Keating <geoffk@redhat.com>
7635
7636 * .cvsignore: Remove *.info* and genrtl*; these files are generated
7637 elsewhere now.
7638
cff42170
JM
76392002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
7640
7641 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
7642 * doc/invoke.texi: Fix @math uses.
7643
974a7f56
JH
7644Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
7645
7646 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
7647 removal
7648
3b7d0e98
AH
76492002-03-03 Aldy Hernandez <aldyh@redhat.com>
7650
5b43fed1
RH
7651 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
7652 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 7653
5b43fed1 7654 * config/rs6000/t-ppcendian: New.
3b7d0e98 7655
65f2f288
HB
76562002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7657
7658 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
7659 nonimmediate_src_operand and nonimmediate_lsrc_operand to
7660 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
7661
8ce0a8a5
RH
76622002-03-03 Richard Henderson <rth@redhat.com>
7663
7664 * toplev.c (rest_of_decl_compilation): Revert last two changes.
7665
ba31d94e
ZW
76662002-03-03 Zack Weinberg <zack@codesourcery.com>
7667
7668 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
7669 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
7670 tree.c, config/m68k/m68k.c:
7671 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
7672 REAL_ARITHMETIC blocks unconditional. Delete some further
7673 #ifdef blocks predicated on REAL_ARITHMETIC.
7674 * flags.h, toplev.c: Delete remaining references to
7675 flag_pretend_float.
7676
7677 * doc/invoke.texi: Remove documentation of -fpretend-float.
7678 * doc/tm.texi: Describe the various REAL_* macros as provided by
7679 real.h, not by the target configuration files.
7680
7681 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
7682 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
7683 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
7684 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
7685 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
7686 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
7687 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
7688 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
7689 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
7690 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
7691 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
7692 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
7693 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
7694 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
7695 config/xtensa/xtensa.h:
7696 Do not define, undefine, or mention in comments any of
7697 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
7698 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
7699 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
7700 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
7701 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
7702 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
7703 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
7704 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
7705 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
7706
9a571cfd
KG
77072002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7708
e81dd381
KG
7709 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
7710 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
7711 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
7712 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
7713 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
7714 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
7715 Delete.
7716 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 7717 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 7718
9a571cfd
KG
7719 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
7720 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
7721 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
7722
ca7558fc
KG
77232002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7724
7725 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
7726 lieu of explicit sizeof/sizeof.
7727 * i386.c (override_options, ix86_init_mmx_sse_builtins,
7728 ix86_expand_builtin): Likewise.
7729 * mips.c (mips_add_gc_roots): Likewise.
7730 * mmix.c (mmix_output_condition): Likewise.
7731 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
7732 altivec_init_builtins): Likewise.
7733 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
7734 * cppexp.c (Nsuff, parse_number): Likewise.
7735 * cppinit.c (builtin_array_end): Likewise.
7736 * gcc.c (n_default_compilers, process_command): Likewise.
7737 * genpreds.c (output_predicate_decls): Likewise.
7738 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
7739 * lcm.c (N_ENTITIES): Likewise.
7740 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 7741
41c78c88
RH
77422002-03-03 Richard Henderson <rth@redhat.com>
7743
7744 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
7745 for types or labels.
7746
9e9b71e6
RH
77472002-03-03 Richard Henderson <rth@redhat.com>
7748
7749 * c-decl.c (start_decl): Initialized variables are not common.
7750
c26a6db8
PB
77512002-03-02 Per Bothner <per@bothner.com>
7752
7753 * gcc.c (option_map): Suport new --bootclasspath option.
7754 --CLASSPATH is now just an alias for --classpath.
7755
9e8aab55
RH
77562002-03-02 Richard Henderson <rth@redhat.com>
7757
7758 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
7759 load if "internal" visibility.
7760 * doc/extend.texi: Document visibility meanings.
7761
b3bbd220
RH
77622002-03-02 Richard Henderson <rth@redhat.com>
7763
7764 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
7765 to functions as well.
7766
b14707c3
RH
77672002-03-02 Richard Henderson <rth@redhat.com>
7768
7769 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
7770 (handle_visibility_attribute): Don't call assemble_visibility.
7771 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
7772 without asmspec. Invoke assemble_alias when needed.
7773 * varasm.c (maybe_assemble_visibility): New.
7774 (assemble_start_function, assemble_variable, assemble_alias): Use it.
7775
b2003250
RH
77762002-03-02 Richard Henderson <rth@redhat.com>
7777
7778 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
7779 invoke ENCODE_SECTION_INFO with first call flag.
7780
7781 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
7782 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 7783 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
7784 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
7785 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
7786 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
7787 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
7788 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
7789 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
7790 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
7791 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
7792 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
7793 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
7794 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
7795 config/mcore/mcore-protos.h, config/mcore/mcore.c,
7796 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
7797 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 7798 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
7799 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
7800 config/sh/sh.h, config/sparc/sparc.h,
7801 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
7802 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
7803 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
7804 FIRST argument. As needed, examine it and do nothing.
7805
ba31d94e 7806 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
7807 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
7808 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
7809
7810 * config/arm/t-pe (pe.o): Add dependencies.
7811
5c60f03d
KG
78122002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7813
7814 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
7815 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
7816 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
7817 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
7818 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
7819 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
7820 * defaults.h (BITS_PER_UNIT): Define.
7821 * doc/tm.texi (BITS_PER_UNIT): Document default value.
7822
86855e8c
KH
78232002-03-02 Kazu Hirata <kazu@hxi.com>
7824
7825 * config/h8300/h8300-protos.h: Add a prototype for
7826 compute_a_shift_length.
7827 * config/h8300/h8300.c (h8300_asm_insn_count): New.
7828 (compute_a_shift_length): Likewise.
7829 (h8300_adjust_insn_length): Do not adjust insn length of shift
7830 insns.
7831 * config/h8300/h8300.md (anonymous shift patterns): Use
7832 compute_a_shift_length.
7833
f6041ed8
RK
7834Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7835
35aa3c1c
RK
7836 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
7837 trunc_int_for_mode.
7838
f6041ed8
RK
7839 * emit-rtl.c (offset_address): Call update_temp_slot_address.
7840
27b41650
KG
78412002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7842
7843 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
7844 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
7845 * flags.h (flag_zero_initialized_in_bss): Declare.
7846 * toplev.c (flag_zero_initialized_in_bss): New flag.
7847 (lang_independent_options): Add flag_zero_initialized_in_bss.
7848 * tree.c (initializer_zerop): New function.
7849 * tree.h (initializer_zerop): Declare.
7850 * varasm.c (assemble_variable): If we can emit bss, put zero
7851 initializers in the bss section.
7852
ca734b39
AM
78532002-03-02 Alan Modra <amodra@bigpond.net.au>
7854
7855 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
7856 like more than one symbol per .weak directive.
7857
49b72306
RH
78582002-03-01 Richard Henderson <rth@redhat.com>
7859
7860 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
7861 adjust argument_pointer by pretend_args_size.
7862 (ia64_va_start): Adjust va_start address by -pretend_args_size.
7863
fbf0fe41
KH
78642002-03-01 Kazu Hirata <kazu@hxi.com>
7865
7866 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
7867
0010687d
JH
7868Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
7869
7870 * toplev.c (rest_of_compilation): Delete dead jumptables before
7871 loop.
7872 * flow.c (delete_dead_jumptables): Make global.
7873 * rtl.h (delete_dead_jumptables): Declare.
7874
9429c84c
DE
78752002-03-01 David Edelsohn <edelsohn@gnu.org>
7876
7877 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
7878 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 7879 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 7880
f0b6f9a6
KH
78812002-03-01 Kazu Hirata <kazu@hxi.com>
7882
7883 * config/h8300/h8300-protos.h: Fix formatting.
7884 * config/h8300/h8300.c: Likewise.
7885 * config/h8300/h8300.h: Likewise.
7886
bc8db8a1
KH
78872002-03-01 Kazu Hirata <kazu@hxi.com>
7888
7889 * config/h8300/h8300.c (print_operand): Support 16-bit
7890 constant addresses.
7891 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
7892
32b069d3
RH
78932002-02-28 Richard Henderson <rth@redhat.com>
7894
7895 * expmed.c (store_bit_field): Prevent generation of CONCATs;
7896 pun complex values as integers; use gen_lowpart instead of
7897 gen_rtx_SUBREG.
7898 (extract_bit_field): Likewise.
7899
79c4e63f
AM
79002002-03-01 Alan Modra <amodra@bigpond.net.au>
7901 David Edelsohn <edelsohn@gnu.org>
7902
7903 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
7904 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
7905 (SUPPORTS_WEAK): Likewise.
7906 * output.h (add_weak): Add tree param.
7907 * varasm.c (add_weak): Likewise. Save decl.
7908 (struct weak_syms): Add decl field.
7909 (mark_weak_decls): New function.
7910 (init_varasm_once): ggc_add_root mark_weak_decls.
7911 (assemble_start_function): Use ASM_WEAKEN_DECL.
7912 (assemble_variable): Likewise.
7913 (assemble_alias): Likewise.
7914 (declare_weak): Pass decl to add_weak.
7915 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
7916 (remove_from_pending_weak_list): Declare and define for
7917 ASM_WEAKEN_DECL.
7918 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
7919 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
7920 * defaults.h (SUPPORTS_WEAK): Likewise.
7921 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
7922 .weak for code sym. Do emit .size for descriptor sym.
7923 (ASM_DECLARE_FUNCTION_SIZE): Define.
7924 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
7925 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
7926 .lglobl unless TARGET_XCOFF. Formatting fixes.
7927 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
7928 .weak for code sym.
7929 (HANDLE_PRAGMA_WEAK): Remove.
7930 (ASM_WEAKEN_LABEL): Remove.
7931 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
7932
6f30f1f1
JM
79332002-03-01 Jason Merrill <jason@redhat.com>
7934
7935 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
7936 (TARGET_EXPR_CLEANUP): New macro.
7937
7879b81e
SE
79382002-02-28 Steve Ellcey <sje@cup.hp.com>
7939
7940 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
7941 to take ptr_extend into account as third type of extension.
7942 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
7943 fields used by SUBREG_PROMOTED_UNSIGNED_P.
7944 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
7945 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
7946 * calls.c (precompute_arguments): Use new macro.
7947 (expand_call): Ditto.
7948 * combine.c (nonzero_bits): Ditto.
7949 (record_promoted_value): Ditto.
7950 * expr.c (store_expr): Ditto.
7951 (expand_expr): Ditto.
7952 * function.c (assign_parms): Ditto.
7953
42d579d8
AO
79542002-02-28 Alexandre Oliva <aoliva@redhat.com>
7955
7956 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
7957 override -shared and -shared-libgcc.
7958
e0054185
DB
79592002-02-28 David O'Brien <obrien@FreeBSD.org>
7960
7961 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
7962 of "ultrasparc".
7963 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
7964 to be broken.
7965
abda4f1c
RH
79662002-02-28 Richard Henderson <rth@redhat.com>
7967
7968 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
7969 4 cycle latency from MM producers.
7970 (ia64_internal_sched_reorder): Likewise with pipeline flush.
7971
c0f08649
JJ
79722002-02-28 Jakub Jelinek <jakub@redhat.com>
7973
7974 * mklibgcc.in: Don't use GNU make extension.
7975
f79f2651
NB
79762002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
7977
7978 * c-parse.in (STATIC): New terminal.
7979 (scspec): New non-terminal. Update productions accordingly.
7980 (program): Remove bogus ifc / end ifc.
7981 (array_declarator): Simplify production using STATIC.
7982
001e3fee
JM
79832002-02-28 Jim Meyering <meyering@lucent.com>
7984
7985 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
7986 \a still means TARGET_BELL.
7987
89076bb3
RH
79882002-02-28 Richard Henderson <rth@redhat.com>
7989
7990 * haifa-sched.c (sched_emit_insn): New.
7991 (schedule_block): Use last_scheduled_insn to track last insn.
7992 * sched-int.h (sched_emit_insn): Prototype.
7993 * config/ia64/ia64.c (last_issued): Remove.
7994 (ia64_variable_issue): Don't set it.
7995 (nop_cycles_until): Use sched_emit_insn.
7996
e3aaacf4
AM
79972002-02-28 Andrew MacLeod <amacleod@redhat.com>
7998
7999 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
8000 extended constants.
8001
7f473594
KH
80022002-02-28 Kazu Hirata <kazu@hxi.com>
8003
8004 * config/h8300/h8300.c: Fix formatting.
8005 * config/h8300/h8300.h: Likewise.
8006
b96c434c
MM
80072002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
8008
8009 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
8010 which may overwrite the high byte of the frame pointer.
8011
9b420a6a
BT
80122002-02-28 Bo Thorsen <bo@suse.de>
8013
8014 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
8015 (STARTFILE_SPEC): Add 64 bit files.
8016 (ENDFILE_SPEC): Likewise.
8017
6f30f1f1 80182002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
8019
8020 * c-decl.c (finish_function): Only warn about missing return
8021 statement with -Wreturn-type.
8022
70da1d03
JH
8023Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
8024
8025 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
8026
8027 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
8028 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
8029
38c1593d
JH
8030Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
8031
8032 * basic-block.h (BB_REACHABLE): Renumber.
8033 (BB_DIRTY, BB_NEW): New flags.
8034 (clear_bb_flags): Declare.
8035 (update_life_info_in_dirty_blocks): Declare.
8036 * cfg.c (clear_bb_flags): New function.
8037 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
8038 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
8039 reorder_insns, emit_insn_after): Mark block as dirty.
8040 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
8041 (update_life_info_in_dirty_blocks): New function.
8042 * recog.c (apply_change_group): Dirtify block.
8043
8044 * cse.c (cse_insn): Reorder emitting of jump insn to keep
8045 cfg consistent.
8046 * gcse.c (delete_null_pointer_checks): Likewise.
8047
8048 * toplev.c (dump_file_index): Move cse2 after bp,
8049 add DFI_null
8050 (dump_file_info): Similary.
8051 (rest_of_compilation): Avoid most of CFG rebuilds;
8052 do first if converision after null pointer checks, do cse2
8053 after branch prediction; avoid full liveness rebuild after
8054 initializing subregs.
8055 * invoke.texi (-d options): Document -du, renumber.
8056
8057 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
8058 (notice_new_block): Do not set BB_UPDATE_LIFE.
8059 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
8060 merge_blocks_move_successor_nojumps, merge_blocks,
8061 try_crossjump_to_edge): Likewise.
8062 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
8063 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
8064 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
8065 (merge_of_block): Do not use life_data_ok.
8066 (find_if_case_1): Do not use SET_UPDATE_LIFE.
8067 (if_convert): Use BB_DIRTY mechanizm to update life.
8068 * lcm.c (optimize_mode_switching): Update
8069 update_life_info_in_dirty_blocks
8070
63e1b1c4
NB
80712002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
8072
8073 * Makefile.in (integrate.o): Update.
8074 * c-decl.c (copy_lang_decl): Rename.
8075 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
8076 * integrate.c: Include langhooks.h.
8077 (copy_decl_for_inlining): Update to use langhook.
8078 * langhooks-def.h (lhd_do_nothing_t,
8079 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
8080 (LANG_HOOKS_INITIALIZER): Update.
8081 * langhooks.c (lhd_do_nothing_t): New.
8082 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
8083 * tree.h (copy_lang_decl): Remove.
8084objc:
8085 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
8086
f472fa29
AM
80872002-02-27 Andrew MacLeod <amacleod@redhat.com>
8088
ba31d94e 8089 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
8090 POST_DEC, and POST_MODIFY.
8091
273cf2e4
ZW
80922002-02-27 Zack Weinberg <zack@codesourcery.com>
8093
8094 * c-typeck.c (digest_init): Remove unused parameter; all
8095 callers changed.
8096
4e07d762
GK
80972002-02-27 Geoffrey Keating <geoffk@redhat.com>
8098
8099 * expmed.c (expand_shift): Correctly test for low part of a
8100 subreg.
8101
6bc627b3
UW
81022002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
8103
8104 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
8105 insn UIDs with insn addresses.
8106
f458d1d5
ZW
81072002-02-27 Zack Weinberg <zack@codesourcery.com>
8108
8109 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
8110 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
8111 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
8112 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
8113 gcc.c, toplev.c: Delete code implementing -traditional mode.
8114
8115 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
8116 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
8117 Document removal of -traditional mode for compilation, and
8118 remove documentation only relevant to that mode.
8119
8120 * config/nextstep.h, config/ptx4.h, config/svr4.h,
8121 config/convex/convex.h, config/d30v/d30v.h,
8122 config/i386/dgux.h, config/i386/osf1elf.h,
8123 config/i386/osfelf.h, config/i386/osfrose.h,
8124 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
8125 config/m68k/hp310.h, config/m88k/dgux.h,
8126 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
8127 config/m88k/m88k.h, config/m88k/openbsd.h,
8128 config/mips/abi64.h, config/mips/osfrose.h,
8129 config/mips/svr4-5.h, config/mips/svr4-t.h,
8130 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
8131 config/stormy16/stormy16.h: Remove all references to
8132 -traditional from target specs. Delete all mention of the
8133 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
8134 delete a couple of commented-out definitions of
8135 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
8136 to -traditional.
8137
8138 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
8139 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
8140
e0b3a8ff
ZW
81412002-02-27 Zack Weinberg <zack@codesourcery.com>
8142
8143 * mklibgcc.in: Don't use \n in a line subject to
8144 interpretation by echo.
8145
5c6a85b7
GS
81462002-02-27 Graham Stott <grahams@redhat.com>
8147
72b05af1
GS
8148 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
8149 Constify NAME.
8150
7d104885
GS
8151 * loop.c (prescan_loop): Handle PARALLEL.
8152
8ed805d2
GS
8153 * unroll.c (loop_iterations): Return 0 if the add_val for
8154 a BIV is REG.
8155
fd478a0a
GS
8156 * final.c (output_operand_lossage): Constify PFX_STR.
8157
5c6a85b7
GS
8158 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
8159
cd98ad03
JH
8160Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
8161
8162 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
8163 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
8164
639ae55b
JH
8165Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
8166
8167 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
8168
e808ec9c
NB
81692002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
8170
8171 * cpplex.c (_cpp_lex_token): Handle directives in macro
8172 arguments.
8173 * cpplib.c (_cpp_handle_directive): Save and restore state
8174 if parsing macro args when entering a directive.
8175 * cppmacro.c (collect_args): No need to handle directives
8176 in macro arguments.
8177 (enter_macro_context, replace_args): Use the original macro
8178 definition in case it was redefined whilst collecting arguments.
8179doc:
8180 * cpp.texi: Update.
8181
f585a356
DE
81822002-02-26 David Edelsohn <edelsohn@gnu.org>
8183
8184 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
8185 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
8186 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
8187 method on AIX.
8188 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
8189 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
8190 (load_toc_v4_PIC_2): Same.
8191
81922002-02-26 Alan Modra <amodra@bigpond.net.au>
8193
8194 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
8195
d699058e
RH
81962002-02-26 Richard Henderson <rth@redhat.com>
8197
8198 * config/alpha/alpha.md (ashldi_se): Re-enable.
8199
eadccfbb
RH
82002002-02-26 Richard Henderson <rth@redhat.com>
8201
8202 * config/alpha/alpha.c (alpha_encode_section_info): Examine
8203 MODULE_LOCAL_P; improve commentary.
8204
7080ada1
ZW
82052002-02-26 Zack Weinberg <zack@codesourcery.com>
8206
8207 * doc/cpp.texi: Clarify documentation of relationship between
8208 #line and #include.
8209
b42cff6b
KH
82102002-02-26 Kazu Hirata <kazu@hxi.com>
8211
8212 * config/h8300/h8300-protos.h: Update the prototype for
8213 compute_logical_op_length. Add the prototype for
8214 compute_logical_op_cc.
8215 * config/h8300/h8300.c (compute_logical_op_length): Figure out
8216 code from operands.
8217 (compute_logical_op_cc): New.
8218 * config/h8300/h8300.md: Combine all the logical op patterns
8219 in HImode and SImode. Use compute_logical_op_cc.
8220
831c4e87
KC
82212002-02-26 Kelley Cook <kelleycook@comcast.net>
8222
8223 * config/i386/i386.c (print_operand): Don't append ATT-style
8224 length suffixs to x87 opcodes when in Intel mode.
8225
ff88fe10
RS
82262002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
8227
8228 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
8229 (init_emit_once): Update calls.
8230 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
8231 (init_syntax_once): Prototype.
8232
d4108589
JDA
82332002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
8234
8235 * pa-linux.h (LIB_SPEC): Update definition.
8236 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
8237
e013f3c7
RH
82382002-02-26 Richard Henderson <rth@redhat.com>
8239
8240 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
8241 if we emitted a stop bit.
8242
9e944a16
JJ
82432002-02-26 Jakub Jelinek <jakub@redhat.com>
8244
8245 * configure.in (libgcc_visibility): Substitute.
8246 * configure: Rebuilt.
8247 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
8248 defined symbols .hidden.
8249
47bd70b5
JJ
82502002-02-26 Jakub Jelinek <jakub@redhat.com>
8251
8252 * attribs.c (c_common_attribute_table): Add visibility.
8253 (handle_visibility_attribute): New function.
8254 * varasm.c (assemble_visibility): New function.
8255 * output.h (assemble_visibility): Add prototype.
8256 * tree.h (MODULE_LOCAL_P): Define.
8257 * crtstuff.c (__dso_handle): Use visibility attribute.
8258 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
8259 for MODULE_LOCAL_P symbols too.
8260 * config/ia64/ia64.c (ia64_encode_section_info): Handle
8261 MODULE_LOCAL_P symbols the same way as local symbols.
8262 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
8263 into .sdata/.sbss by the user.
8264 * doc/extend.texi (Function Attributes): Document visibility
8265 attribute.
8266
6d73371a
JJ
82672002-02-26 Jakub Jelinek <jakub@redhat.com>
8268
8269 PR debug/5770
8270 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
8271 STRING_CST initializer spanning the whole variable without
8272 embedded zeros.
8273 If expand_expr returned MEM, don't use it.
8274
06e224f7
AO
82752002-02-26 Alexandre Oliva <aoliva@redhat.com>
8276
8277 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
8278 generate a die for the lexical block.
8279
40367e2d
KH
82802002-02-26 Kazu Hirata <kazu@hxi.com>
8281
8282 * config/h8300/h8300-protos.h: Add a prototype for
8283 compute_logical_op_length.
8284 * config/h8300/h8300.c (compute_logical_op_length): New.
8285 * config/h8300/h8300.md (anonymous logical patterns): Use
8286 compute_logical_op_length for length.
8287
0e98f924
AH
82882002-02-26 Aldy Hernandez <aldyh@redhat.com>
8289
831c4e87
KC
8290 * dwarf2out.c (modified_type_die): Do not call type_main_variant
8291 for vectors.
8292 (gen_type_die): Same.
0e98f924 8293
831c4e87 8294 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 8295
a50cfd52
DE
82962002-02-26 Daniel Egger <degger@fhm.edu>
8297
831c4e87
KC
8298 * config/rs6000/rs6000.md: Swap define_insn attributes to
8299 fix incorrect generation of merge high instructions instead
8300 of merge low.
a50cfd52 8301
b7997284
AH
83022002-02-26 Aldy Hernandez <aldyh@redhat.com>
8303
831c4e87
KC
8304 * c-typeck.c (really_start_incremental_init): Use
8305 bitsize_zero_node for vectors.
b7997284 8306
376aec5d
AH
83072002-02-26 Aldy Hernandez <aldyh@redhat.com>
8308
831c4e87
KC
8309 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
8310 ("*set_vrsave_internal"): Same.
376aec5d 8311
3b40e71b
RH
83122002-02-25 Richard Henderson <rth@redhat.com>
8313
8314 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
8315 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
8316
232b8f52
JJ
83172002-02-25 Jakub Jelinek <jakub@redhat.com>
8318
8319 PR target/5755
8320 * config/i386/i386.c (ix86_return_pops_args): Only pop
8321 fake structure return argument if it was passed on the stack.
8322
67282790
JM
83232002-02-25 Jason Merrill <jason@redhat.com>
8324
8325 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
8326 RESULT_DECL.
8327
5c181756
AO
83282002-02-25 Alexandre Oliva <aoliva@redhat.com>
8329
8330 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
8331 link with shared_name only.
8332 * doc/invoke.texi (Link Options): Document new behavior.
8333
6786d201
AH
83342002-02-25 Aldy Hernandez <aldyh@redhat.com>
8335
831c4e87 8336 * c-typeck.c (push_init_level): Handle vectors.
6786d201 8337
7d6040e8
AO
83382002-02-25 Alexandre Oliva <aoliva@redhat.com>
8339
8340 * config/sparc/sparc.c (const64_high_operand): Zero-extend
8341 operands of SPARC_SETHI_P.
8342 (input_operand): Likewise.
8343 (sparc_emit_set_const32): Likewise.
8344 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
8345 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
8346 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
8347 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
8348 (movdi_insn_sp64_vis): Likewise.
8349 (movdi split, movdf split): Use SETHI32.
8350 * doc/md.texi: Document SPARC constraints L, M and N.
8351
b188f760
AH
83522002-02-25 Aldy Hernandez <aldyh@redhat.com>
8353
831c4e87
KC
8354 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
8355 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 8356
831c4e87
KC
8357 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
8358 gen_get_vrsave_internal.
b188f760 8359
8041889f
RK
8360Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8361
8362 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
8363
a47ed310
NB
83642002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
8365
8366 * cpplex.c (cpp_interpret_charconst): Get signedness or
8367 otherwise of wide character constants correct.
8368 * cppexp.c (lex): Get signedness of wide charconsts correct.
8369
cb8f73be
RK
8370Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8371
8372 * optabs.c (widen_operand): Only call convert_modes for
8373 promoted SUBREG if signedness matches.
8374 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
8375
2450e0b8
NB
83762002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
8377
8378 * cpplib.c (glue_header_name): Use local buffer to build up
8379 header name.
8380
70b6aaed
NB
83812002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
8382
8383 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
8384
6be580c7
KH
83852002-02-23 Kazu Hirata <kazu@hxi.com>
8386
8387 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
8388 H8/300[HS] separately.
8389 * config/h8300/h8300.md: Remove the early clobber constraint
8390 from bit field patterns.
8391
35dad9f1
KH
83922002-02-23 Kazu Hirata <kazu@hxi.com>
8393
8394 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
8395 register_operand.
8396 (mulhisi3): Likewise.
8397 (umulqisi3): Likewise.
8398 (umulhisi3): Likewise.
8399
ab8e2228
NB
84002002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
8401
8402 * cppinit.c (output_deps): Correct test for stdout output.
8403 (init_dependency_output): Cure warning.
8404
ac6f8a15
RK
8405Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8406
8407 * expr.c (store_expr): When converting expression to promoted
8408 equivalent type, allow using SUBREG_REG of TARGET as the target
8409 of the expansion of EXP.
8410 * loop.c (basic_induction_var, case SUBREG): Always look inside.
8411 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
8412 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
8413 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
8414 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
8415
f282ffb3
JM
84162002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
8417
8418 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
8419 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
8420 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
8421
44c5edc0
JJ
84222002-02-23 Jakub Jelinek <jakub@redhat.com>
8423
8424 PR optimization/5747
8425 * loop.c (scan_loop): Update reg info if move_movables created new
8426 pseudos.
8427
f98e43c0
DE
84282002-02-23 David Edelsohn <edelsohn@gnu.org>
8429
8430 * gcc.c (init_gcc_spec): Revert last change.
8431
e72247f4
DE
84322002-02-23 David Edelsohn <edelsohn@gnu.org>
8433
8434 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
8435 gpc_reg_operand constraint.
8436
84372002-02-23 Alan Modra <amodra@bigpond.net.au>
8438
8439 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
8440 Simplify comparison of `low'.
8441 (add_operand): Fix formatting.
8442 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 8443 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
8444 (rs6000_stack_info): Remove redundant test setting push_p.
8445 (output_toc): Fix formatting.
8446 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
8447 cc_reg_not_cr0_operand constraint.
8448 (booldi3, boolcdi3 splitters): Same.
8449
a5c30531
AH
84502002-02-23 Aldy Hernandez <aldyh@redhat.com>
8451
831c4e87 8452 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 8453
43710f9f
DE
84542002-02-22 David Edelsohn <edelsohn@gnu.org>
8455
8456 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
8457 gcc invoked with -shared-libgcc.
8458
3256b817
JJ
84592002-02-22 Jakub Jelinek <jakub@redhat.com>
8460
8461 PR c++/5748
8462 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
8463 decl if any of elements was TREE_USED.
8464
9e0625a3
AO
84652002-02-22 Alexandre Oliva <aoliva@redhat.com>
8466
8467 * config/sparc/sol2.h: Don't include sys/mman.h.
8468 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
8469 (arith_4096_operand): Don't throw high bits away.
8470 (const64_operand): Take sign extension of CONST_INTs into account.
8471 (const64_high_operand, sparc_emit_set_const32): Likewise.
8472 (GEN_HIGHINT64): Likewise.
8473 (sparc_emit_set_const64_quick1): Likewise.
8474 (const64_is_2insns): Likewise.
8475 (print_operand): Use trunc_int_for_mode for sign extension.
8476 * config/sparc/sparc.h (SMALL_INT32): Likewise.
8477 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
8478 chars. Assume CONST_INT is already properly sign-extended.
8479 (movdi split): Sign-extend each SImode part.
8480 (andsi3 split): Don't mask high bits off, so that result
8481 remains properly sign-extend.
8482 (iorsi3 split): Likewise.
8483 (xorsi3 split): Likewise.
8484
54fec3d5
RS
84852002-02-22 Richard Sandiford <rsandifo@redhat.com>
8486
8487 * fold-const.c (fold): Fix typo in comments.
8488
667ada9b
DN
84892002-02-21 Diego Novillo <dnovillo@redhat.com>
8490
8491 * Makefile.in (langhooks.o): Update dependencies.
8492
29ac78d5
DN
84932002-02-21 Diego Novillo <dnovillo@redhat.com>
8494
8495 * langhooks.c: Include flags.h.
8496
6aa77e6c
AH
84972002-02-21 Aldy Hernandez <aldyh@redhat.com>
8498
8499 * testsuite/gcc.dg/attr-alwaysinline.c: New.
8500
8501 * c-common.c (c_common_post_options): Set inline trees by
8502 default.
8503
8504 * doc/extend.texi (Function Attributes): Document always_inline
8505 attribute.
8506 Update documentation about inlining when not optimizing.
8507
8508 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
8509
8510 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
8511 unless DECL_ALWAYS_INLINE.
8512
8513 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
8514 unless DECL_ALWAYS_INLINE.
8515 (c_disregard_inline_limits): Disregard if always_inline set.
8516
8517 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
8518 Disregard if always_inline set.
8519 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
8520 unless DECL_ALWAYS_INLINE.
8521
8522 * attribs.c (handle_always_inline_attribute): New.
8523 (c_common_attribute_table): Add always_inline.
8524
8525 * config/rs6000/altivec.h: Add prototypes for builtins
8526 requiring the always_inline attribute.
8527
c410d49e
EC
85282002-02-21 Eric Christopher <echristo@redhat.com>
8529
8530 * expmed.c (store_bit_field): Try to simplify the subreg
8531 before generating a new one when when the mode size of
8532 value is less than maxmode.
8533
e3c8ea67
RH
85342002-02-21 Richard Henderson <rth@redhat.com>
8535
8536 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
8537 than gen_rtx_PLUS to form the sum.
8538 * explow.c (force_reg): Rearrange to not allocate new pseudo
8539 when force_operand returns a register.
8540 * expr.c (expand_assignment): Allow offset_rtx expansion to
8541 return a sum. Do not force addresses into registers.
8542 (expand_expr): Likewise.
8543 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
8544 to canonicalize arithmetic that didn't simpify.
8545 (simplify_plus_minus): New argument force; update
8546 all callers. Don't split CONST unless we can do something with it,
8547 and wouldn't lose the constness of the operands.
8548
8549 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
8550 that we generated earlier.
8551
c1a046e5
TT
85522002-02-21 Tom Tromey <tromey@redhat.com>
8553
8554 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8555 (output_line_info): Use constant `1', with a long explanatory
8556 comment.
8557 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
8558
31fbaad4
R
8559Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
8560
8561 * jump.c (redirect_jump): If old label has no UID, don't try to
8562 delete it.
8563
a7f52356
R
8564Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
8565
8566 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
8567 If input is constant, do shifts at compile time.
8568
924fcc4e
JM
85692002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
8570
8571 * doc/extend.texi: Fix some more overfull hboxes.
8572
e5a20888
JJ
85732002-02-21 Jakub Jelinek <jakub@redhat.com>
8574
8575 PR optimization/4994
8576 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
8577 register moves.
8578
85792002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
8580
8581 PR c++/4574
8582 * expr.h (expand_and): Add mode argument.
8583 * expmed.c (expand_and): Add mode argument.
8584 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
8585 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
8586 * except.c (expand_builtin_extract_return_addr): Likewise.
8587 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
8588 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
8589 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
8590 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
8591 * config/c4x/c4x.md: Use GEN_INT (x) instead of
8592 gen_rtx (CONST_INT, VOIDmode, x).
8593
7133e992
JJ
85942002-02-21 Jakub Jelinek <jakub@redhat.com>
8595
8596 PR c/4697:
8597 * stmt.c (warn_if_unused_value): Move side effects test once more.
8598
e2ec05a6
TG
85992002-02-20 Torbjorn Granlund <tege@swox.com>
8600
8601 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 8602 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 8603
9dd791c8
AO
8604Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
8605
8606 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
8607 SUBREG or ZERO_EXTEND.
8608
7ab56274
R
8609Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
8610
8611 * sh.h (current_function_anonymous_args): Remove.
8612 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
8613 of current_function_varargs and current_function_stdarg is set.
8614 * sh.c (sh_expand_prologue): Check current_function_varargs /
8615 current_function_stdarg / TARGET_SH5 instead of
8616 current_function_anonymous_args.
8617
8618 * sh64.h (TARGET_VERSION): Define.
8619
b1765bde
DE
86202002-02-20 David Edelsohn <edelsohn@gnu.org>
8621
8622 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
8623 VRSAVE_REGNO on TARGET_ALTIVEC.
8624
86252002-02-20 Alan Modra <amodra@bigpond.net.au>
8626
8627 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
8628 bits of SImode const_int.
8629 (includes_rshift_p): Likewise.
8630 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 8631 mode.
b1765bde
DE
8632 (rs6000_output_function_epilogue): Pad traceback table to word.
8633 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
8634 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
8635 mask64_operand with correct mode.
b1765bde
DE
8636 (FUNCTION_ARG_REGNO_P): Correct parentheses.
8637
149d6f9e
JJ
86382002-02-20 Jakub Jelinek <jakub@redhat.com>
8639
8640 PR debug/4461
8641 * varasm.c (get_pool_constant_mark): New.
8642 * rtl.h (get_pool_constant_mark): Add prototype.
8643 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
8644 be represented if it has not been output.
8645
4161da12
AO
86462002-02-20 Alexandre Oliva <aoliva@redhat.com>
8647
8648 * combine.c (do_SUBST): Sanity check substitutions of
8649 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
8650 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
8651 CONST_INT into its operand.
8652 (known_cond): Likewise, for ZERO_EXTEND.
8653 * simplify-rtx.c (simplify_unary_operation): Fix condition to
8654 allow for simplification of wide modes. Reject CONST_INTs in
8655 ZERO_EXTEND when their actual mode is not given.
8656
3704ef74
AO
86572002-02-20 Alexandre Oliva <aoliva@redhat.com>
8658
8659 * c-decl.c (pushdecl): If no global declaration is found for an
8660 extern declaration in block scope, try a limbo one.
8661
7552da58
JJ
86622002-02-20 Jakub Jelinek <jakub@redhat.com>
8663
8664 PR c++/4401
8665 * c-common.c (pointer_int_sum): Moved from...
8666 * c-typeck.c (pointer_int_sum): ...here.
8667 * c-common.h (pointer_int_sum): Add prototype.
8668
00fae85d
JJ
86692002-02-20 Jakub Jelinek <jakub@redhat.com>
8670
8671 PR c++/5713
8672 * c-decl.c (duplicate_decls): Return 0 if issued error about
8673 redeclaration.
8674
4636c87e
JJ
86752002-02-20 Roger Sayle <roger@eyesopen.com>
8676 Jakub Jelinek <jakub@redhat.com>
8677
8678 PR c/4389
8679 * tree.c (host_integerp): Ensure that the constant integer is
8680 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
8681 when pos is zero or non-zero respectively. Clarify comment.
8682 * c-format.c (check_format_info_recurse): Fix host_integerp
8683 usage; the pos argument should be zero when assigning to a
8684 signed HOST_WIDE_INT.
8685
59bef189
RH
86862002-02-20 Richard Henderson <rth@redhat.com>
8687
8688 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
8689 of the operand, rather than assuming TImode.
8690 (ix86_expand_binop_builtin): Cope with commutative patterns
8691 using nonimmediate_operand for both operands.
8692 (ix86_expand_timode_binop_builtin): Likewise.
8693 (ix86_expand_store_builtin): Validate operand 1.
8694 (ix86_expand_unop1_builtin): Likewise.
8695
9338ffe6 86962002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 8697
9338ffe6
PB
8698 PR 5705
8699 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
8700
f322b423
RH
87012002-02-20 Richard Henderson <rth@redhat.com>
8702
8703 PR c/5615
8704 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
8705
d94084f7
TT
87062002-02-20 Tom Tromey <tromey@redhat.com>
8707
8708 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8709 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8710 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8711 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8712 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
8713 unconditionally.
8714
37fa124a
AM
8715Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
8716
8717 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
8718 for (const_int 0) in X not just INTVAL.
8719
6e5bb5ad
JM
87202002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
8721
8722 * doc/extend.texi: Avoid or reduce overfull hboxes.
8723
420e7dfa
DN
87242002-02-20 Diego Novillo <dnovillo@redhat.com>
8725
8726 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
8727 operations if the field does not start at a mode boundary.
8728
1b7a2af6
JS
87292001-02-20 Joel Sherrill <joel@OARcorp.com>
8730
8731 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
8732 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
8733 Also done for -Acpu and -Amachine.
8734
56cd5b95
NB
87352002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
8736
8737 * cppinit.c (init_dependency_output): Take deps output file
8738 from -o if none given with -MF. Suppress normal output.
c410d49e 8739 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
8740 * doc/cpp.texi, doc/invoke.texi: Update.
8741
042cdf71
ZW
87422002-02-19 Zack Weinberg <zack@codesourcery.com>
8743
8744 * toplev.c (output_quoted_string): Write unprintable
8745 characters with octal escapes.
8746
c1f11548
DE
87472002-02-19 David Edelsohn <edelsohn@gnu.org>
8748
8749 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
8750 really_call_used[VRSAVE_REGNO] if not Altivec.
8751
87522002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 8753
c1f11548
DE
8754 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
8755 MODE_MASK.
8756 (constant_pool_expr_1): Fix formatting.
8757 (rs6000_legitimize_reload_address): Likewise.
8758
c964d90e
RK
8759Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8760
8761 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
8762 now that we have one.
8763
ae34ac46
ZW
87642002-02-19 Zack Weinberg <zack@codesourcery.com>
8765
8766 * tree.h (struct tree_common): Remove aux. Add unused_0 at
8767 end of first block of bitfields (which was only seven bits);
8768 rename dummy to unused_1; remove comment which is no longer true.
8769
293c28ee
GS
87702002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
8771
8772 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
8773
7b8781c8
PB
87742002-02-19 Philip Blundell <pb@nexus.co.uk>
8775
0cb6c58d 8776 PR 5399
7b8781c8
PB
8777 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
8778 if generating PIC.
8779
8780 PR 5054
8781 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
8782 arm_is_longcall_p rather than inspecting call-type cookie
8783 directly.
8784 (call_value_insn) [TARGET_THUMB]: Likewise.
8785
5c464583
GS
87862002-02-19 Graham Stott <grahams@redhat.com>
8787
8788 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
8789
71c061e6
DE
87902002-02-19 David Edelsohn <edelsohn@gnu.org>
8791
8792 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
8793 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 8794 (FP_SAVE_INLINE): Delete.
71c061e6
DE
8795
8796 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
8797 * config/rs6000/eabi.asm: Remove ABI save restore routines.
8798 * config/rs6000/t-ppccomm: Build crtsavres.o.
8799 * config/rs6000/crtsavres.asm: New file.
8800
3a7731fd
PB
88012002-02-19 Philip Blundell <philb@gnu.org>
8802
8803 * config/arm/arm.c (use_return_insn): Don't reject interrupt
8804 functions.
8805 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
8806 (output_return_instruction): Allow interrupt functions to return with
8807 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
8808 (arm_expand_prologue): Subtract 4 before stacking LR in an
8809 interrupt function.
8810
14f583b8
PB
88112002-02-19 Philip Blundell <pb@nexus.co.uk>
8812
8813 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
8814 decl, not just FUNCTION_DECL.
8815 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
8816 (arm_assemble_integer): Likewise.
8817 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
8818 marked local.
c410d49e 8819
4cb7482c
MG
88202002-02-19 matthew green <mrg@eterna.com.au>
8821
8822 * config.gcc (sparc-*-netbsdelf*): Enable target.
8823 (sparc64-*-netbsd*): New target.
8824 * config/sparc/netbsd-elf.h: New file.
8825 * config/sparc/t-netbsd64: New file.
8826
2df3a718
GS
88272002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
8828
8829 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
8830
77f6c1eb
RS
88312002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
8832
8833 * doc/invoke.texi: explicitly list the style guidelines that
8834 -Weffc++ checks for.
8835
fd973d56
JH
8836Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
8837
8838 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
8839
30518e45
NB
88402002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
8841
8842 PR other/5718
8843 * gcc.c (cpp_unique_options): Treat -o as indicating object file
8844 only if not -E. If -E, pass -o through to the preprocessor.
8845
39ea5704
KH
88462002-02-19 Kazu Hirata <kazu@hxi.com>
8847
8848 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
8849 register number with an appropriate macro.
8850
7355dba7
BM
88512002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
8852
8853 * doc/rtl.texi (Constants): Close @code tag.
8854
91c8aa9e
AH
88552002-02-19 Aldy Hernandez <aldyh@redhat.com>
8856
8857 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
8858 ("mmx_uavgv4hi3"): Same.
8859 ("pmulhrwv4hi3"): Same.
8860
8861 * tree-inline.c (walk_tree): Handle vectors.
8862
8863 * c-common.c (constant_expression_warning): Handle vectors.
8864 (overflow_warning): Same.
8865
8866 * sched-deps.c (sched_analyze_2): Handle vectors.
8867
8868 * rtlanal.c (rtx_unstable_p): Handle vectors.
8869 (rtx_varies_p): Same.
8870 (count_occurrences): Same.
8871 (regs_set_between_p): Same.
8872 (modified_between_p): Same.
8873 (modified_in_p): Same.
8874 (volatile_insn_p): Same.
8875 (volatile_refs_p): Same.
8876 (side_effects_p): Same.
8877 (may_trap_p): Same.
8878 (inequality_comparisons_p): Same.
8879 (replace_regs): Same.
8880 (computed_jump_p_1): Same.
8881
8882 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
8883 argument.
8884 (inner_mode_array): New.
8885 (copy_rtx): Handle vectors.
8886 (copy_most_rtx): Same.
8887 (rtx_equal_p): Same.
8888 (get_mode_alignment): Adjust for vectors.
8889
8890 * resource.c (mark_referenced_resources): Handle vectors.
8891 (mark_set_resources): Same.
8892
8893 * reload1.c (eliminate_regs): Handle vectors.
8894 (elimination_effects): Same.
8895 (scan_paradoxical_subregs): Same.
8896
8897 * reload.c (subst_reg_equivs): Handle vectors.
8898
8899 * regrename.c (scan_rtx): Handle vectors.
8900
8901 * regclass.c (reg_scan_mark_refs): Handle vectors.
8902
8903 * recog.c (find_single_use_1): Handle vectors.
8904
8905 * local-alloc.c (equiv_init_varies_p): Handle vectors.
8906 (contains_replace_regs): Same.
8907 (memref_referenced_p): Same.
8908
8909 * integrate.c (copy_rtx_and_substitute): Handle vectors.
8910 (subst_constants): Same.
8911
8912 * genattrtab.c (attr_copy_rtx): Handle vectors.
8913 (encode_units_mask): Same.
8914 (clear_struct_flag): Same.
8915 (count_sub_rtxs): Same.
8916
8917 * gcse.c (want_to_gcse_p): Handle vectors.
8918 (oprs_unchanged_p): Same.
8919 (hash_expr_1): Same.
8920 (oprs_not_set_p): Same.
8921 (expr_killed_p): Same.
8922 (compute_transp): Same.
8923 (store_ops_ok): Same.
8924
8925 * function.c (purge_addressof_1): Do not allow paradoxical subregs
8926 of vectors.
8927 (fixup_var_refs_1): Same.
8928 (instantiate_virtual_regs_1): Same.
8929
8930 * fold-const.c (operand_equal_p): Handle vectors.
8931 (fold): Same.
8932 (rtl_expr_nonnegative_p): Same.
8933
8934 * flow.c (mark_used_regs): Handle vectors.
8935
8936 * df.c (df_uses_record): Handle vectors.
8937
8938 * cselib.c (cselib_subst_to_values): Handle vectors.
8939 (cselib_mem_conflict_p): Same.
8940 (hash_rtx): Same.
8941
8942 * cse.c (canon_reg): Handle vectors.
8943 (fold_rt): Same.
8944 (cse_process_notes): Same.
8945 (count_reg_usage): Same.
8946 (canon_hash): Same.
8947
8948 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
8949
8950 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
8951
8952 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
8953 (gen_rtx): Handle CONST_VECTOR.
8954 (gen_const_vector_0): New.
8955 (copy_rtx_if_shared): CONST_VECTORs can be shared.
8956 (reset_used_flags): Same.
8957 (copy_insn_1): Same.
8958 (initializer_constant_valid_p): Handle VECTOR_CST.
8959
8960 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
8961
8962 * doc/rtl.texi (Constants): Document const_vector.
8963 (CONST0_RTX): Update for vectors.
8964 (RTL sharing): Same.
8965
8966 * print-tree.c (print_node): Add case for VECTOR_CST.
8967
8968 * tree.h (TREE_VECTOR_CST_ELTS): New.
8969 (struct tree_vector): New.
8970 (union tree_node): Add vector node.
8971 (build_vector): Add prototype.
8972
8973 * tree.def (VECTOR_CST): New.
8974
8975 * tree.c (build_vector): New.
8976
8977 * expmed.c (make_tree): Handle CONST_VECTOR.
8978
8979 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
8980 (CONST_VECTOR_ELT): New.
8981 (CONST_VECTOR_NUNITS): New.
8982
8983 * machmode.h (GET_MODE_INNER): New.
8984 (DEF_MACHMODE): Accept 8th arg.
8985
8986 * machmode.def: Add 8th argument for vector inner mode.
8987 Add inner vector modes for vectors.
8988
8989 * rtl.def (VEC_CONST): Remove.
8990 (CONST_VECTOR): New.
8991
8992 * expr.c (clear_storage): Allow vectors.
8993 (is_zeros_p): Handle VECTOR_CST.
8994
8995 * varasm.c (output_constant_pool): Handle vectors.
8996 (rtx_const): Add veclo and vechi fields.
8997 (kind): Add RTX_VECTOR.
8998 (decode_rtx_const): Add case for vector.
8999
9000 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 9001
91c8aa9e
AH
9002 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
9003 constants. Force easy vector constants into memory.
9004 (easy_vector_constant): New.
9005 (emit_easy_vector_constant): New.
9006 (rs6000_legitimize_reload_address): Do not generate bad reloads on
9007 darwin.
9008
9009 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
9010 instruction does.
9011 ("altivec_lvxl"): Same.
9012 (altivec_lvebx): Same.
9013 (altivec_lvehx): Same.
9014 (altivec_lvewx): Same.
9015 ("*movv4si_const0"): New.
9016 ("*movv4sf_const0"): New.
9017 ("*movv8hi_const0"): New.
9018 ("*movv16qi_const0"): New.
9019
d4d6d0ce
KH
90202002-02-18 Kazu Hirata <kazu@hxi.com>
9021
9022 * config/h8300/h8300.c (notice_update_cc): Use
9023 cc_status.value2.
9024
4915d3aa
KH
90252002-02-18 Kazu Hirata <kazu@hxi.com>
9026
9027 * config/h8300/h8300.md (divmod patterns): Change the
9028 constraints for operands[1] to register_operand.
9029
82be00ee
KH
90302002-02-18 Kazu Hirata <kazu@hxi.com>
9031
9032 * config/h8300/h8300-protos.h: Remove the prototype for
9033 p_operand.
9034 * config/h8300/h8300.c (p_operand): Remove.
9035 * config/h8300/h8300.md: Replace p_operand with
9036 const_int_operand.
9037
1768c26f
PB
90382002-02-18 Philip Blundell <pb@nexus.co.uk>
9039
9040 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
9041 comment.
9042 (output_return_instruction): Allow use of LDR to unstack
9043 return addresss even for interrupt handlers or when
9044 interworking. If compiling for ARMv5, use interworking-safe
9045 return instructions by default. Remove duplicated code and
9046 lengthy "strcat" sequences.
9047
ccd84f51
FS
90482002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9049
9050 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
9051 (LINK_EH_SPEC): Define.
9052 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
9053
2c153108
UW
90542002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
9055
9056 * config/s390/s390.c (s390_emit_prologue): Do not set the
9057 frame_related flag for call-clobbered registers.
9058
e95d6b23
JH
9059Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
9060
9061 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
9062 (construct_container): Fix handling of SSE operands.
9063 (ix86_expand_builtin): Fix handling of 64bit pointers.
9064 (mmx_maskmovq_rex): New pattern.
9065
c43a12b5
JH
9066Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
9067
9068 * regrename.c (kill_set_value): Handle subregs properly.
9069
aeb85a15
DB
90702002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
9071
9072 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 9073 from objc_class_name.
aeb85a15 9074
a615ca3e
RH
90752002-02-17 Richard Henderson <rth@redhat.com>
9076
9077 * config/alpha/alpha.c (some_small_symbolic_operand,
9078 some_small_symbolic_operand_1, split_small_symbolic_operand,
9079 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
9080 Handle small SYMBOL_REFs anywhere, not just inside memories.
9081 * config/alpha/alpha-protos.h: Update.
9082 * config/alpha/alpha.h (PREDICATE_CODES): Update.
9083 * config/alpha/alpha.md (small symbolic operand splitter): Update.
9084
ddb28441
RM
90852002-02-17 Roland McGrath <roland@frob.com>
9086
9087 * config.gcc (powerpc-*-gnu-gnualtivec*,
9088 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
9089 * config/rs6000/gnu.h: New file.
9090 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
9091 Grok "gnu" in rs6000_abi_name.
9092 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
9093 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
9094 Grok -mcall-gnu analogous to -mcall-linux et al.
9095 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
9096 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
9097 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
9098
f6f8ada3
JJ
90992002-02-17 Jakub Jelinek <jakub@redhat.com>
9100
9101 PR c/3444:
9102 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
9103 shortening.
9104
e16b32fc
PT
91052002-02-17 Philipp Thomas <pthomas@suse.de>
9106
9107 * config/cris/cris.h: Undefine STARTFILE_SPEC and
9108 ENDFILE_SPEC before (re)defining them.
9109
f9477efd
KH
91102002-02-17 Kazu Hirata <kazu@hxi.com>
9111
9112 * config/h8300/h8300.c: Fix formatting.
9113 * config/h8300/h8300.h: Likewise.
9114
404ae494
PT
91152002-02-17 Philipp Thomas <pthomas@suse.de>
9116
9117 * doc/tm.texi: Explain why empty strings should not be
9118 marked for translation.
9119
a52453cc
PT
91202002-02-17 Philipp Thomas <pthomas@suse.de>
9121
9122 * final.c (output_operand_lossage): Changed to accept
9123 printf style arguments. Change calls where necessary.
9124 * output.h (output_operand_lossage): Change declaration
9125 accordingly. Update copyright.
9126 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
9127 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
9128 Update copyright date where necessary.
c410d49e 9129
a52453cc
PT
9130 * config/i386/i386.c (print_operand): Likewise. Remove use of
9131 sprintf.
9132
9133 * config/cris/cris.c (cris_operand_lossage): Likewise.
9134 Rename parameter so that exgettext recognizes it as
9135 translatable message.
9136 (LOSE_AND_RETURN): Rename parameter to msgid.
9137
1c11abc4
KH
91382002-02-17 Kazu Hirata <kazu@hxi.com>
9139
9140 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
9141 hard coded register number with an appropriate macro.
9142 (HARD_REGNO_MODE_OK): Likewise.
9143 (ARG_POINTER_REGNUM): Likewise.
9144 (STATIC_CHAIN_REGNUM): Likewise.
9145 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
9146 * config/h8300/h8300.md (define_constants): Define more
9147 register numbers.
9148
a5d17ff3
PT
91492002-02-17 Philipp Thomas <pthomas@suse.de>
9150
9151 * config/i386/i386.h: Don't mark empty strings for translation.
9152
1a7289c4
L
91532002-02-16 H.J. Lu <hjl@gnu.org>
9154
9155 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
9156
afb58288
ZW
91572002-02-16 Zack Weinberg <zack@codesourcery.com>
9158
9159 * cppinit.c (merge_include_chains): Check for brack being
9160 NULL before attempting to merge it with qtail.
9161
d2af4dbd
AC
91622002-02-16 Andrew Cagney <ac131313@redhat.com>
9163
9164 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
9165 DBX_DEBUG.
9166
2e1ed1e3
JDA
91672002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
9168
9169 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
9170
604c75b2
JDA
91712002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
9172
9173 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
9174 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
9175 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
9176
1a42b072
RK
9177Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9178
7303604f 9179 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
9180 now only if !TARGET_FIX.
9181 (*movsi_nt_vms_fix): New pattern.
9182
c2ea1ac6
DR
91832002-02-16 Douglas B Rupp <rupp@gnat.com>
9184
9185 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
9186 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
9187 (alpha_sa_mask, alpha_sa_size): Reflect above change.
9188 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
9189 (alpha_start_function, alpha_expand_epilogue): Likewise.
9190 (unicosmk_gen_dsib): Likewise.
9191
725e58b1
RK
9192Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9193
9194 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
9195
13e58269
UW
91962002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
9197
c410d49e 9198 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
9199 check_and_change_labels, s390_final_chunkify): Delete.
9200 (s390_split_branches, s390_chunkify_pool): New functions.
9201 (s390_function_prologue): Call them.
c410d49e 9202
13e58269
UW
9203 * config/s390/s390.h (S390_REL_MAX): Delete.
9204 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
9205
c410d49e 9206 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
9207 attribute calculation.
9208
9209
34d1b01d
DE
92102002-02-15 David Edelsohn <edelsohn@gnu.org>
9211
9212 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
9213 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
9214
be5cc51a
JDA
92152002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
9216
9217 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
9218 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
9219 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
9220
ee96ce90
RS
92212002-02-15 Richard Sandiford <rsandifo@redhat.com>
9222
9223 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
9224
05fa709d
RS
92252002-02-15 Richard Sandiford <rsandifo@redhat.com>
9226
9227 * reload.c (find_dummy_reload): Check that an output register
9228 is valid for its mode.
9229
4606272b
AO
92302002-02-14 Alexandre Oliva <aoliva@redhat.com>
9231
9a360704
AO
9232 * combine.c (known_cond): After replacing the REG of a SUBREG, try
9233 to simplify it.
9234
4606272b
AO
9235 * function.c (assign_parms): Demote promoted argument passed by
9236 transparent reference.
9237
e62d89a1
JS
92382001-02-14 Joel Sherrill <joel@OARcorp.com>
9239
9240 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
9241 -Acpu() and -Amachine() to eliminate warnings.
9242
6c4cf695
UW
92432002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
9244
9245 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
9246
037f11ef
KH
92472002-02-14 Kazu Hirata <kazu@hxi.com>
9248
9249 * config/h8300/h8300-protos.h: Update the prototype for
9250 const_costs.
9251 * config/h8300/h8300.c (const_costs): Treat SET as a little
9252 more expensive operation.
9253 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
9254 reference to const_costs.
9255
fdc76b09
HPN
92562002-02-14 Hans-Peter Nilsson <hp@axis.com>
9257
9258 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
9259
d76e6800
JJ
92602002-02-14 Jakub Jelinek <jakub@redhat.com>
9261
9262 PR c/5503:
9263 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
9264 use arguments from newtype.
9265
5ae590d7
EC
92662002-02-13 Eric Christopher <echristo@redhat.com>
9267
9268 * config/mips/mips.c (override_options): Add check for march/mipsX
9269 on the same command line. Fix error message in cpu processing.
9270 Remove architecture and ISA checks.
9271
b8513691
AH
92722002-02-14 Aldy Hernandez <aldyh@redhat.com>
9273
831c4e87 9274 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 9275
831c4e87 9276 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 9277
78c875e8
AH
92782002-02-14 Aldy Hernandez <aldyh@redhat.com>
9279
831c4e87
KC
9280 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
9281 alternatives.
9282 ("*movv8hi_internal1"): Same.
9283 ("*movv16qi_internal1"): Same.
9284 ("*movv4sf_internal1"): Same.
78c875e8 9285
831c4e87
KC
9286 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
9287 not push_reload for altivec modes.
78c875e8 9288
d76e6800 92892002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
9290
9291 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
9292 all RTEMS targets including removal of #includes from config/*/rtems*.h
9293 file and adding them to tm_file setting. Added xm_defines=POSIX to
9294 many targets.
9295 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
9296 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
9297 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
9298 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
9299 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
9300 config/m68k/rtemself.h: Ditto.
9301 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
9302 config/mips/rtems64.h: Ditto.
9303 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
9304 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
9305 Ditto.
9306 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
9307 config/sparc/rtemself.h: Ditto.
9308 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
9309 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
9310 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
9311 more like arm-elf.
9312 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
9313 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
9314 target made more similar to i386-elf.
9315 * config/i386/t-rtems-i386: Added soft float support and multilibs.
9316 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
9317 be similar to config/m68k/t-m68kelf.
9318 * gthr-rtems.h: Encapsulate with extern "C" for C++.
9319
8686336f
JH
9320Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
9321
9322 * regmove.c (kill_value): Handle subregs.
9323
558740bf
JH
9324Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
9325
9326 * i386.md (mul patterns): Allow memory operand to be first;
9327 add expanders where needed; fix constraints.
9328 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
9329 Allow memory operand to be the first.
9330
9331 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
9332 operands.
9333
21117a17
JJ
93342002-02-13 Jakub Jelinek <jakub@redhat.com>
9335
9336 PR c/5681:
9337 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
9338 GET_MODE (x).
9339
ec65b2e3
JJ
93402002-02-13 Jakub Jelinek <jakub@redhat.com>
9341
9342 PR optimization/5547:
9343 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
9344 all valid IA-32 address modes involving non-scaled %ebx and
9345 GOT/GOTOFF as displacement.
9346
ce50cae8
UW
93472002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
9348
9349 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
9350 after emitting ltorg insns.
9351
9352 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
9353 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
9354 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
9355 *abssf2): Fix "op_type" attribute.
9356
09eb789b
DR
93572002-02-13 Douglas B Rupp <rupp@gnat.com>
9358
2dbe67bb
DR
9359 * mkconfig.sh: Avoid using a subshell redirect.
9360 ($output.T): Change to $(output)T.
9361 (ENABLE_NLS): Remove unneeded undef.
9362
ea5b9a1f
DR
9363 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
9364 * config/alpha/x-vms (libsubdir): Define.
9365
3deb00ce
DR
9366 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
9367 register frame procedures. Optimize retrieving context.
9368
09eb789b
DR
9369 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
9370 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
9371 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
9372
1abade85
RK
9373Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9374
9375 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
9376 Make same change as for find_base_value.
9377
c283e63f
KH
93782002-02-13 Kazu Hirata <kazu@hxi.com>
9379
9380 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
9381 of QImode and SImode.
9382
86039100
KH
93832002-02-13 Kazu Hirata <kazu@hxi.com>
9384
9385 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
9386 length computation of movsi.
9387 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
9388
e1429da0
KH
93892002-02-13 Kazu Hirata <kazu@hxi.com>
9390
9391 * config/h8300/h8300.md (subqi3): Tighten the predicate for
9392 operands[2] to register_operand.
9393
aebfea10
JH
9394Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
9395
9396 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
9397
0ec4e2a8
AH
93982002-02-12 Aldy Hernandez <aldyh@redhat.com>
9399
831c4e87
KC
9400 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
9401 for altivec_lvx* and altivec_stvx*.
9402 ("*movv4si_internal"): Add constraint for loading from GPRs.
9403 ("*movv8hi_internal1"): Same.
9404 ("*movv16qi_internal1"): Same.
9405 ("*movv4sf_internal1"): Same.
0ec4e2a8 9406
831c4e87 9407 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 9408
831c4e87
KC
9409 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
9410 altivec_register_operand.
0ec4e2a8 9411
b007569d
HPN
94122002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
9413
9414 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
9415 handle SYMBOL_REF.
9416
e6834654
SS
94172002-02-13 Stan Shebs <shebs@apple.com>
9418
831c4e87
KC
9419 * c-typeck.c (digest_init): Handle vectors.
9420 (really_start_incremental_init): Same.
9421 (pop_init_level): Same.
9422 (process_init_element): Same.
e6834654 9423
831c4e87 9424 * varasm.c (output_constant): Same.
e6834654 9425
831c4e87
KC
9426 * expr.c (clear_storage): Same.
9427 (store_constructor): Same.
e6834654 9428
d9b3eb63
EC
94292002-02-12 Eric Christopher <echristo@redhat.com>
9430
9431 * explow.c (hard_function_value): Add comment explaining
9432 signed/unsigned comparison.
9433
56d44285
JJ
94342002-02-12 Jakub Jelinek <jakub@redhat.com>
9435
9436 * jump.c (never_reached_warning): Add finish argument.
9437 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
9438 real insn after end.
9439 * rtl.h (never_reached_warning): Adjust prototype.
9440 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
9441 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
9442 never_reached_warning.
9443
fc209487
GS
94442002-02-12 Graham Stott <grahams@redhat.com>
9445
9446 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
9447
1e41e866
KH
94482002-02-12 Kazu Hirata <kazu@hxi.com>
9449
9450 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
9451 logical shifts on H8/300.
9452 (shift_alg_si): Improve several shifts on H8/300.
9453 (get_shift_alg): Likewise.
9454
a36a47ad
GS
94552002-02-12 Graham Stott <grahams@redhat.com>
9456
9457 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
9458
0aacc8ed
RK
9459Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9460
9461 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
9462 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
9463
a02ac966
HPN
94642002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
9465
9466 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
9467 non-CONST_INT through default_assemble_integer.
9468 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
9469 <case 8>: Abort for CONST_DOUBLE.
9470
d6e06ddc
JDA
94712002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
9472
9473 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
9474 is specified.
9475 * config/pa/pa-linux.h (LIB_SPEC): Delete.
9476 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
9477
515342a8
AH
94782002-02-11 Andrew Haley <aph@cambridge.redhat.com>
9479
9480 * config/stormy16/stormy16.md (zero_extendqihi2): New.
9481
cddd8b72
AO
94822002-02-11 Alexandre Oliva <aoliva@redhat.com>
9483
66df7a98
AO
9484 * regrename.c (regrename_optimize): Don't accept a
9485 part-clobbered register if the replaced register is not part
9486 clobbered.
9487
841404cd
AO
9488 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
9489 take padding into account when computing the argument value.
9490
1d1ade42
AO
9491 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
9492
cddd8b72
AO
9493 * combine.c (try_combine): Apply substitutions in
9494 CALL_INSN_FUNCTION_USAGE too.
9495
5c665b88
AH
94962002-02-11 Aldy Hernandez <aldyh@redhat.com>
9497
77f6c1eb
RS
9498 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
9499 __builtin_altivec_abs*.
9500 (bdesc_abs): New.
5c665b88 9501
77f6c1eb
RS
9502 * config/rs6000/rs6000.h (rs6000_builtins): Add
9503 ALTIVEC_BUILTIN_ABS*.
5c665b88 9504
77f6c1eb
RS
9505 * config/rs6000/altivec.h: Use const char for builtins expecting
9506 literals.
9507 (vec_abs): New versions for C and C++.
9508 (vec_abss): Same.
5c665b88 9509
3494f1b4
KH
95102002-02-10 Kazu Hirata <kazu@hxi.com>
9511
9512 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
9513 using Pmode.
9514
72431aef
KH
95152002-02-10 Kazu Hirata <kazu@hxi.com>
9516
9517 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
9518 constant definition from h8300.md.
9519 (FRAME_POINTER_REGNUM): Likewise.
9520 * config/h8300/h8300.md (define_constants): Add FP_REG.
9521
87e4ee91
KH
95222002-02-10 Kazu Hirata <kazu@hxi.com>
9523
9524 * config/h8300/h8300.c (print_operand): Remove redundant code.
9525
9c188705
KH
95262002-02-10 Kazu Hirata <kazu@hxi.com>
9527
9528 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
9529 * config/h8300/h8300.c (byte_reg): Make it static.
9530
fba78abb
RH
95312002-02-10 Richard Henderson <rth@redhat.com>
9532
9533 PR c/5623
9534 * c-typeck.c (incomplete_type_error): Handle flexible array members.
9535
65739e62
RH
95362002-02-10 Richard Henderson <rth@redhat.com>
9537
9538 PR c++/5624
9539 * tree.c (append_random_chars): Don't abort if main_input_filename
9540 does not exist.
9541
247cb9df
HPN
95422002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
9543
9544 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
9545
232bd029
KH
95462002-02-10 Kazu Hirata <kazu@hxi.com>
9547
65739e62 9548 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
9549 (pushhi1): Likewise.
9550
276ef573
JDA
95512002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
9552
9553 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
9554 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
9555
617e9ee5
DB
95562002-02-09 David O'Brien <obrien@FreeBSD.org>
9557
9558 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
9559 remove MASK_VIS.
9560 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
9561
6dfa4005
KH
95622002-02-09 Kazu Hirata <kazu@hxi.com>
9563
9564 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
9565 a half of an SImode register on H8/300.
9566
749e7b80
JH
9567Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
9568
9569 * i386.md (movdi_2): Add missing '!'.
9570
ca77d87c
KH
95712002-02-09 Kazu Hirata <kazu@hxi.com>
9572
9573 * config/h8300/h8300.h: Fix formatting. Remove commented-out
9574 definitions.
9575
16c96304
KH
95762002-02-09 Kazu Hirata <kazu@hxi.com>
9577
9578 * config/h8300/h8300.md (length): Correct the distance valid
9579 for the short branch.
9580
a364bc90
KH
95812002-02-09 Kazu Hirata <kazu@hxi.com>
9582
9583 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
9584
e4ec2cac
AO
95852002-02-09 Alexandre Oliva <aoliva@redhat.com>
9586
a138247b
AO
9587 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
9588 registers in SImode.
9589 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
9590 part-clobbered.
9591
2b1fd83f
AO
9592 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
9593 patch.
d9b3eb63 9594
fa5322fa
AO
9595 Contribute sh64-elf.
9596 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
9597 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
9598 (sh_cannot_modify_jumps_p): New function.
9599 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
9600 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
9601 (sh_ms_bitfield_layout_p): New function.
9602 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
9603 Zack Weinberg <zack@codesourcery.com>
9604 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
9605 expand_simple_binop instead of expand_binop.
9606 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
9607 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
9608 use of .quad and .uaquad.
9609 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
9610 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
9611 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
9612 * config/sh/sh.md (movdi_const, movdi_const_32bit,
9613 movdi_const_16bit): Make sure all CONSTs have modes.
9614 (sym2PIC): Ditto, but by adjusting all callers.
9615 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
9616 if the prologue calls the SHmedia argument decoder or register
9617 saver.
9618 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
9619 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
9620 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
9621 (sh_expand_epilogue): Don't emit USE of return target register.
9622 (prepare_move_operands): Legitimize DImode PIC addresses.
9623 (sh_media_register_for_return): Skip tr0, used to initialize the
9624 PIC register.
9625 (sh_expand_prologue): Remove explicit USE of return register.
9626 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
9627 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
9628 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
9629 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
9630 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
9631 EXTRA_CONSTRAINT_T.
9632 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
9633 (MOVI_SHORI_BASE_OPERAND_P): New.
9634 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
9635 (EXTRA_CONSTRAINT_T): Define in terms of them.
9636 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
9637 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
9638 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
9639 alternatives supporting TARGET_REGS.
9640 (UNSPEC_GOTPLT): New constant.
9641 (movdi split): Move incrementing of LABEL_NUSES...
9642 (movdi_const, movdi_const_32bit): Here. Use
9643 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
9644 (movdi_const_16bit): New.
9645 (call, call_value) [flag_pic]: Use GOTPLT.
9646 (call_pop, call_value_pop): New expands.
9647 (call_pop_compact, call_pop_rettramp): New insns.
9648 (call_value_pop_compact, call_value_pop_rettramp): New insns.
9649 (sibcall) [flag_pic]: Use GOT.
9650 (builtint_setjmp_receiver): Remove bogus, unused expand.
9651 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
9652 (*pt, *ptb, ptrel): New insns.
9653 (sym2GOT): Handle DImode GOT.
9654 (sym2GOTPLT, symGOTPLT2reg): New expands.
9655 (sym2PIC): New expand.
9656 (shcompact_return_tramp): Use GOTPLT to return trampoline.
9657 (shcompact_return_tramp_i): Use return register explicitly.
9658 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
9659 disable flag_reorder_blocks.
9660 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
9661 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
9662 clobbers, for clarity.
9663 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
9664 restoring of r0 in macl as MAYBE_DEAD.
9665 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
9666 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
9667 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
9668 alter_subreg all over.
9669 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
9670 reload, instead of emitting instructions that would require
9671 reloading.
9672 (casesi_load_media): Add missing modes.
9673 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
9674 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
9675 as used if the argument decoder is called.
9676 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
9677 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
9678 Pmode, then extend it to DImode if necessary.
9679 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
9680 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
9681 constants in FPU-enabled SHmedia, let them be loaded from memory.
9682 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
9683 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
9684 Adjust whitespace in assembly output templates.
9685 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
9686 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
9687 mode of if_then_else.
9688 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
9689 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
9690 sh.h.
9691 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
9692 Joern Rennecke <amylaar@redhat.com>
9693 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
9694 (SUBTARGET_CPP_PTR_SPEC): New.
9695 (SUBTARGET_CPP_SPEC): Remove.
9696 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
9697 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
9698 Fix typo in previous checkin.
9699 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
9700 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
9701 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
9702 Alexandre Oliva <aoliva@redhat.com>
9703 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
9704 what single FP register can hold for SHmedia target.
9705 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
9706 Alexandre Oliva <aoliva@redhat.com>
9707 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
9708 Do not split into SUBREG.
9709 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
9710 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
9711 and added new functions as specified in SH5 ABI r9.
9712 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
9713 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
9714 8-byte boundary.
9715 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
9716 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
9717 gen_consttable_4 and gen_consttable_8. Emit multiple labels
9718 and consttable_window_ends.
9719 2001-06-03 Graham Stott <grahams@redhat,com>
9720 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
9721 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
9722 * config/sh/sh.c (print_operand): Handle floating-point pair,
9723 vector and matrix registers.
9724 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
9725 vector modes into account.
9726 * config/sh/sh.md (movv2sf): Split move between registers into
9727 movdf.
9728 (movv4sf, movv16sf): Introduce insns that get split only after
9729 reload.
9730 * config/sh/shmedia.h: Fix Copyright dates.
9731 * config/sh/ushmedia.h: Likewise. Move loop counter
9732 declarations into conditionals that uses them.
9733 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
9734 loop boundary.
9735 * config/sh/sshmedia.h: Fix Copyright dates.
9736 (sh_media_PUTCFG): Fix constraints.
9737 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
9738 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
9739 ptrmemfunc_vbit_in_delta for SH5.
9740 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
9741 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
9742 * invoke.texi: Likewise.
9743 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
9744 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
9745 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
9746 GCC_pop_shmedia_regs_nofpu): New global symbols.
9747 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
9748 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
9749 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
9750 compact function with nonlocal labels.
9751 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
9752 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
9753 (initial_elimination_offset): Account for their stack space.
9754 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
9755 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
9756 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
9757 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
9758 least one of the operands to be a register.
9759 (movv2sf): Likewise. Renamed to movv2sf_i.
9760 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
9761 prepare_move_operands() before emitting SHmedia insns.
9762 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
9763 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
9764 Don't save nor initialize r12. Don't mis-align the stack.
9765 Pad the code with a nop.
9766 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
9767 stack.
9768 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
9769 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
9770 [__SHMEDIA__]: Implement.
9771 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
9772 * config/sh/sh.md: Set latency of `pt' closer to reality.
9773 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
9774 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
9775 Set move, load and store type attributes.
9776 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
9777 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
9778 profiling.
9779 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
9780 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
9781 * config/sh/sh.c (sh_media_register_for_return): New function.
9782 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
9783 branch-target register.
9784 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
9785 * config/sh/sh.md (return_media_i): Use any call-clobbered
9786 branch-target register.
9787 (return_media): If r18 wasn't copied in the prologue, copy it
9788 here.
9789 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
9790 Clear class FP0_REGS.
9791 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
9792 from elf.h.
9793 2001-03-08 DJ Delorie <dj@redhat.com>
9794 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
9795 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
9796 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
9797 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
9798 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
9799 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
9800 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
9801 return value correctly for call_cookie.
9802 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
9803 * config/sh/crt1.asm (start): Modified so as to call
9804 ___setup_argv_and_call_main.
9805 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
9806 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
9807 SHmedia mode.
9808 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
9809 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
9810 (STRIP_NAME_ENCODING): Use it.
9811 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
9812 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
9813 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
9814 prepare_scc_operands().
9815 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
9816 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
9817 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
9818 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
9819 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
9820 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
9821 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
9822 used in shcompact_incoming_args.
9823 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
9824 change.
9825 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
9826 mode.
9827 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
9828 Adjust accordingly.
9829 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
9830 Simplify. Adjust. Add sanity check.
9831 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
9832 FPU_SINGLE_BIT.
9833 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
9834 TARGET_SHCOMPACT.
9835 (udivsi3, divsi3): Use them.
9836 (force_mode_for_call): New insn.
9837 (call, call_value, sibcall_value): Emit it before SHcompact
9838 calls.
9839 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
9840 * config/sh/sh.md (call, call_value, sibcall): Make sure the
9841 call cookie is non-NULL before taking its value.
9842 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
9843 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
9844 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
9845 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
9846 block.
9847 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
9848 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
9849 temporary for stack adjusts. Use MACL and MACH to pass
9850 arguments to shcompact_incoming_args.
9851 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
9852 clobber r1.
9853 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
9854 (nested_trampoline): Load static chain address into r1.
9855 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
9856 2001-01-07 Alexandre Oliva <aoliva@redhat.com
9857 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
9858 fp_arith_reg_operand().
9859 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
9860 * config/sh/sh.md (casesi): Sign-extend the first two operands,
9861 and use signed compares for them.
9862 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
9863 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
9864 ones properly aligned.
9865 (find_barrier): Account for extra alignment needed for 8-byte wide
9866 constants.
9867 (machine_dependent_reorg): Require a label for the second 4-byte
9868 constant after an 8-byte one.
9869 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
9870 change.
9871 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
9872 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
9873 last_float when switching float modes.
9874 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
9875 auto-increment for general-purpose registers.
9876 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
9877 result.
9878 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
9879 for stack adjust.
9880 * config/sh/sh.c (sh_builtin_saveregs): Support using all
9881 registers for varargs.
9882 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
9883 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
9884 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
9885 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
9886 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
9887 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
9888 call_cookie accordingly.
9889 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
9890 (SHCOMPACT_BYREF): Likewise.
9891 (SHCOMPACT_FORCE_ON_STACK): New macro.
9892 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
9893 (sh_builtin_saveregs): Likewise.
9894 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
9895 shcompact_incoming_args): Use new shift values. Support
9896 sequences of consecutive and non-consecutive pushes/pops.
9897 * config/sh/sh.md (return): Don't explicitly use PR_REG.
9898 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
9899 * config/sh/sh.h (TEXT_SECTION): Define.
9900 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
9901 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
9902 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
9903 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
9904 return values on FPU-enabled SHmedia.
9905 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
9906 FPU-enabled SHmedia.
9907 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
9908 value is returned in a non-FP reg and is not returned by
9909 reference.
9910 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
9911 jump_ind.
9912 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
9913 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
9914 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
9915 quad-aligned to be passed by callee-copy reference.
9916 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
9917 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
9918 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
9919 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
9920 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
9921 copying low-numbered FP regs to r7 and r8.
9922 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
9923 FP regs to general-purpose regs only if the copy was passed on the
9924 stack.
9925 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
9926 copying FP reg to r9.
9927 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
9928 copy FP regs to general-purpose regs only in outgoing calls.
9929 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 9930 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
9931 HOST_WIDE_INT.
9932 * config/sh/sh.h (struct sh_args): Document all fields.
9933 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
9934 passed partially on the stack should not consider making
9935 sibcalls.
9936 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
9937 stack_regs only for incoming calls. When passing FP args,
9938 make sure there are FP regs available before modifying
9939 call_cookie.
9940 (SHCOMPACT_BYREF): Pass double args in general-purpose
9941 registers by reference.
9942 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
9943 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
9944 attempt to generate sibcalls if the caller got any arguments
9945 by reference.
9946 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
9947 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
9948 to 8-byte boundaries.
9949 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
9950 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
9951 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
9952 stored in the stack.
9953 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
9954 for the offsets to have the ISA bit set.
9955 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
9956 invocation. Use beq instead of bgt to mark end of sequence of
9957 loads.
9958 (shcompact_incoming_args): Fix store of r2. Use beq instead of
9959 bgt to mark end of sequence of stores.
9960 * config/sh/sh.c (arith_operand): Don't check whether
9961 CONST_OK_FOR_J for now.
9962 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
9963 instead of long for conversion.
9964 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
9965 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
9966 before passing it to fprintf.
9967 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
9968 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
9969 Call set_fpscr before reading/writing SR.
9970 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
9971 Call set_fpscr.
9972 * config/sh/lib1funcs.asm: Add `.align 2' directives before
9973 SHmedia code.
9974 (FMOVD_WORKS): Define on SH5 with FPU.
9975 (set_fpscr): Define on SH5. Remove separate _fpscr_values
9976 setting.
9977 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
9978 _fpscr_values.
9979 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
9980 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
9981 address.
9982 (ia_main_table): Ditto.
9983 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
9984 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
9985 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
9986 the definitions from sh.h.
9987 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
9988 TARGET_SH5.
9989 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
9990 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
9991 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
9992 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
9993 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
9994 Increment LABEL_NUSES.
d9b3eb63 9995
fa5322fa
AO
9996 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
9997 TARGET_SH5.
9998 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
9999 defined.
10000 * config/sh/elf.h (SIZE_TYPE): Likewise.
10001 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
10002 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
10003 shcompact_incoming_args): Load switch table addresses using
10004 datalabel.
10005 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
10006 (NO_BUILTIN_SIZE_TYPE): Define.
10007 (SIZE_TYPE): Don't define.
10008 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
10009 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
10010 definition of __SH5__=32 for -m5-compact-nofpu.
10011 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
10012 ADDR_DIFF_VEC.
10013 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
10014 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
10015 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
10016 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
10017 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
10018 (INSN_LENGTH_ALIGNMENT): Likewise.
10019 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
10020 * config/sh/sh.md (call, call_value, sibcall): Simplify
10021 copying of non-branch-target register.
10022 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 10023 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
10024 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
10025 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
10026 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
10027 floating-point values as structs.
10028 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
10029 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
10030 general-purpose register.
10031 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
10032 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
10033 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
10034 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
10035 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
10036 (ENCODE_SECTION_INFO): Enclose variables and constants in
10037 DATALABEL unspecs.
10038 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
10039 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
10040 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
10041 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
10042 only for LABEL_REFs. For SYMBOL_REFs, prepend
10043 SH_DATALABEL_ENCODING to the symbol name.
10044 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
10045 convert_mode().
10046 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
10047 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
10048 UNSPEC_DATALABEL.
10049 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
10050 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
10051 (DATALABEL_REF_P): Don't require CONST.
10052 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
10053 REL label.
10054 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
10055 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
10056 right.
10057 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
10058 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
10059 Use shallow_copy_rtx and PUT_MODE to change the mode of
10060 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
10061 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
10062 on SHmedia using GENERAL_REGs.
10063 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
10064 bltu_media_i): Fix reversion of conditions.
10065 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
10066 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
10067 * config/sh/sh.c (output_far_jump): Save r13 in macl.
10068 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
10069 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
10070 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
10071 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
10072 (GCC_nested_trampoline): Likewise.
10073 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
10074 * config/sh/sh.c (gen_datalabel_ref): Define.
10075 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
10076 (INITIALIZE_TRAMPOLINE): Likewise.
10077 (TRAMPOLINE_ADJUST_ADDRESS): Define.
10078 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
10079 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
10080 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
10081 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
10082 (ic_invalidate): Adjust for SH5.
10083 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
10084 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
10085 _nested_trampoline.
10086 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
10087 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
10088 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
10089 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
10090 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
10091 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
10092 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
10093 * config/sh/sh.c (target_reg_operand): Match only target-branch
10094 registers and pseudos that aren't virtual registers.
10095 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
10096 Copy operands that don't match target_reg_operand to pseudos.
10097 (call_media, call_value_media, sibcall_media): Use
10098 target_reg_operand instead of target_operand.
10099 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 10100 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
10101 * config/sh/sh.c (target_reg_operand): Match hardware registers
10102 other than branch-target registers.
10103 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
10104 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
10105 (fpscr_values) [SH5 == 32]: Define.
10106 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
10107 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
10108 Handle function addresses coming in SUBREGs.
10109 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
10110 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
10111 shcompact_return_trampoline): Use datalabel where appropriate.
10112 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
10113 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
10114 general-purpose register to copy one branch-target register to
10115 another.
10116 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
10117 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
10118 SYMBOL_REFs with VOIDmode.
10119 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
10120 bltu_media_i): New insns.
10121 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
10122 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
10123 (INIT_CUMULATIVE_ARGS): Likewise.
10124 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
10125 * machmode.def (V16SFmode): New mode.
10126 * c-common.c (type_for_mode): Support V2SF and V16SF.
10127 * tree.c (build_common_tree_nodes_2): Likewise.
10128 * tree.h (tree_index): Likewise.
10129 * calls.c (emit_call_1): Take args_so_far. Adjust all
10130 callers. Introduce CALL_POPS_ARGS.
10131 * tm.texi (CALL_POPS_ARGS): Document.
10132 * config/sh/crt1.asm: Implement in SHmedia mode.
10133 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
10134 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
10135 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
10136 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
10137 Implement divsi and udivsi in SHmedia mode. Introduce
10138 SHcompact trampolines.
10139 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
10140 only in SHmedia64.
10141 (regno_reg_class): Rewrite.
10142 (fp_reg_names): Remove.
10143 (sh_register_names, sh_additional_register_names): New.
10144 (print_operand): Added `u'. Support SUBREGs in addresses.
10145 Add parentheses around shifted CONSTs.
10146 (output_file_start): Output .mode and .abi directives.
10147 (shiftcosts, addsubcosts, multcosts): Adjust.
10148 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
10149 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
10150 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
10151 bytes, not registers. Take into account the need for the
10152 SHcompact incoming args trampoline. Adjust all callers.
10153 (sh_expand_prologue): Take stack_regs into account. Call
10154 incoming args trampoline. Keep stack aligned as per SH5 ABI.
10155 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
10156 stack aligned as per SH5 ABI.
10157 (sh_builtin_saveregs): Support SH5 ABI.
10158 (sh_build_va_list, sh_va_start): Likewise.
10159 (initial_elimination_offset): Take alignment into account.
10160 Compute location of PR according to the SH5 stack frame.
10161 (arith_reg_operand): Reject branch-target registers.
10162 (shmedia_6bit_operand): New.
10163 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
10164 (target_reg_operand): Match DImode only. Accept SUBREGs.
10165 (target_operand): New.
10166 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
10167 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
10168 SIBCALL_REGS for SHmedia.
10169 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
10170 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
10171 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
10172 (TARGET_SWITCHES): New SH5 flags.
10173 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
10174 VALID_REGISTER_P to disable unsupported registers.
10175 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
10176 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
10177 (FUNCTION_ARG_PADDING): Define.
10178 (FASTEST_ALIGNMENT): Adjust.
10179 (SH_REGISTER_NAMES_INITIALIZER): New.
10180 (sh_register_names): Declare.
10181 (DEBUG_REGISTER_NAMES): Define.
10182 (REGISTER_NAMES): Define based on sh_register_names.
10183 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
10184 (sh_additional_register_names): Declare.
10185 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
10186 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
10187 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
10188 (REGISTER_NATURAL_MODE): Define.
10189 (FIRST_PSEUDO_REGISTER): Adjust.
10190 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
10191 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
10192 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
10193 (VECTOR_MODE_SUPPORTED_P): Define.
10194 (REG_CLASS_CONTENTS): Adjust.
10195 (SMALL_REGISTER_CLASSES): Adjust.
10196 (REG_ALLOC_ORDER): Adjust.
10197 (INDEX_REG_CLASS): Adjust.
10198 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
10199 (CONST_OK_FOR_LETTER_P): Adjust.
10200 (PREFERRED_RELOAD_CLASS): Adjust.
10201 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
10202 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
10203 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
10204 (FIRST_FP_PARM_REG): Adjust.
10205 (CALL_POPS_ARGS): Define.
10206 (FUNCTION_ARG_REGNO_P): Adjust.
10207 (struct sh_args): New fields.
10208 (GET_SH_ARG_CLASS): Adjust.
10209 (INIT_CUMULATIVE_ARGS): Adjust.
10210 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
10211 (FUNCTION_ARG_ADVANCE): Adjust.
10212 (FUNCTION_ARG): Adjust.
10213 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
10214 (FUNCTION_ARG_CALLEE_COPIES): Define.
10215 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
10216 (STRICT_ARGUMENT_NAMING): Define.
10217 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
10218 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
10219 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
10220 (SETUP_INCOMING_VARARGS): Adjust.
10221 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
10222 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
10223 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
10224 (SUBREG_OK_FOR_INDEX_P): Adjust.
10225 (EXTRA_CONSTRAINT_S): Update.
10226 (EXTRA_CONSTRAINT_T): New.
10227 (EXTRA_CONSTRAINT): Adjust.
10228 (GO_IF_LEGITIMATE_INDEX): Adjust.
10229 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
10230 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
10231 (MOVE_MAX): Adjust.
10232 (MAX_MOVE_MAX): Define.
10233 (Pmode): Adjust.
10234 (CONST_COSTS): Adjust.
10235 (REGISTER_MOVE_COST): Adjust.
10236 (BRANCH_COST): Adjust.
10237 (TEXT_SECTION_ASM_OP): Adjust.
10238 (DBX_REGISTER_NUMBER): Adjust.
10239 (ASM_OUTPUT_DOUBLE_INT): New.
10240 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
10241 (PREDICATE_CODES): Adjust.
10242 (PROMOTE_MODE): Adjust.
10243 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
10244 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
10245 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
10246 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
10247 (DR0_REG, DR2_REG, DR4_REG): Renumber.
10248 (TR0_REG, TR1_REG, TR2_REG): New.
10249 (XD0_REG): Renumber.
10250 (UNSPEC_COMPACT_ARGS): New.
10251 (type): Added pt and ptabs.
10252 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 10253 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
10254 (pt): New function unit.
10255 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
10256 Add whitespace between operands of SHmedia instructions.
10257 (movdicc): Fix.
10258 (adddi3_media, addsi3_media): Adjust constraints.
10259 (subsi3) [SHmedia]: Force operand 1 into a register.
10260 (udivsi3_i1_media, udivsi3_i4_media): New.
10261 (udivsi3): Support SHmedia.
10262 (divsi3_i1_media, divsi3_i4_media): New.
10263 (divsi3): Support SHmedia.
10264 (anddi3, iordi3, xordi3): Adjust constraints.
10265 (zero_extendhidi2, zero_extendqidi2): New.
10266 (extendsidi2, extendhidi2, extendqidi2): New.
10267 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
10268 (pop_e, pop_fpul, pop_4): Likewise.
10269 (movsi_media): Support FP and BT registers.
10270 (movsi_media_nofpu): New. Adjust splits to DImode.
10271 (lduw, ldub): Renamed to zero_extend* above.
10272 (movqi_media): Fix typo.
10273 (movdi_media): Support FP and BT registers.
10274 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
10275 (movdi_const_32bit): New.
10276 (shori_media): Require immediate operand. Use `u' for output.
10277 (movdf_media, movsf_media): Simplified.
10278 (movdf_media_nofpu, movsf_media_nofpu): New.
10279 (movdf, movsf): Adjust
10280 (movv2sf, movv2sf, movv16sf): New.
10281 (beq_media, beq_media_i): Adjust constraints. Don't use
10282 scratch BT register.
10283 (bne_media, bne_media_i): Likewise.
10284 (bgt_media, bgt_media_i): Likewise.
10285 (bge_media, bge_media_i): Likewise.
10286 (bgtu_media, bgtu_media_i): Likewise.
10287 (bgeu_media, bgeu_media_i): Likewise.
10288 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
10289 bunordered): Emit jump insn. Force operands to registers when
10290 needed.
10291 (jump_media, jump): Simplify.
10292 (call_compact, call_compact_rettramp): New.
10293 (call_value_compact, call_value_compact_rettramp): New.
10294 (call_media, call_value_media): Simplify.
10295 (sibcall_compact, sibcall_media): New.
10296 (call, call_value): Adjust for SHmedia and SHcompact.
10297 (sibcall, sibcall_value, untyped_call): Likewise.
10298 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
10299 (indirect_jump): Adjust for SHmedia.
10300 (casesi_jump_media): New.
10301 (nop): Re-enable for SHmedia.
10302 (call_site): Restrict to SH1.
10303 (casesi): Adjust for SHmedia.
10304 (casesi_shift_media, casesi_load_media): New.
10305 (return): Explicitly use PR register. Call return trampoline
10306 on SHcompact.
10307 (return_i): Explicitly use PR register.
10308 (shcompact_return_tramp, shcompact_return_tramp_i): New.
10309 (return_media): Adjust.
10310 (shcompact_incoming_args): New.
10311 (epilogue): Adjust.
10312 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
10313 (movstrsi): Disable on SH5.
10314 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
10315 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
10316 (subsf3, subsf3_media): Likewise.
10317 (mulsf3, mulsf3_media, mac_media): Likewise.
10318 (divsf3, divsf3_media): Likewise.
10319 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
10320 (floatsisf2, fux_truncsfsi2): Likewise.
10321 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
10322 constraints.
10323 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
10324 (cmpunsf_media, cmpsf): Likewise.
10325 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
10326 (abssf2, abssf2_media): Likewise.
10327 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
10328 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
10329 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
10330 (floatsidf2, fix_truncdfsi2): Likewise.
10331 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
10332 constraints.
10333 (cmpeqdf_media, cmpgtdf_media): Likewise.
10334 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
10335 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
10336 (absdf2, absdf2_media): Likewise.
10337 (extendsfdf2, extendsfdf2_media): Likewise.
10338 (truncsfdf2, truncsfdf2_media): Likewise.
10339 * config/sh/sh64.h: New file.
10340 * config/sh/t-sh64: New file.
10341 * config/sh/shmedia.h: New file.
10342 * config/sh/ushmedia.h: New file.
10343 * config/sh/sshmedia.h: New file.
10344 * configure.in: Added sh64-*-elf.
10345 * configure: Rebuilt.
10346 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
10347 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
10348 (reg_class_from_letter): Use `b' for TARGET_REGS.
10349 (print_operand): Support `%M', `%m', `AND' and
10350 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
10351 (andcosts): Adjust for SHmedia.
10352 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
10353 Likewise.
10354 (target_reg_operand): New function.
10355 * config/sh/sh-protos.h (target_reg_operand): Declare.
10356 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
10357 FP registers on SH5.
10358 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
10359 on SH4.
10360 (TARGET_REGISTER_P): New macro.
10361 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
10362 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
10363 (EXTRA_CONSTRAINT_S): New macro.
10364 (EXTRA_CONSTRAINT): Adjust.
10365 (FLOAT_TYPE_SIZE): Define to 32.
10366 (Pmode): DImode on SHmedia.
10367 (CONST_COSTS): Adjust for SHmedia literals.
10368 (PREDICATE_CODES): Added target_reg_operand.
10369 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
10370 * config/sh/sh.md: Remove all attrs from SHmedia insns.
10371 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
10372 (cmpdi): Accept SHmedia.
10373 (movdicc_false, movdicc_true): New insns.
10374 (movdicc): New expand.
10375 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
10376 no_new_pseudos.
10377 (addsi3_media): Match `S' constraint.
10378 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
10379 (negdi2): Expand for SHmedia.
10380 (one_cmpldi2): New expand.
10381 (zero_extendsidi2): Change from expand to insn.
10382 (extendsidi2): Add constraints.
10383 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
10384 LD/ST address. Fix SI immediate loading split.
10385 (movhi_media, movqi_media, lduw, ldub): New insns.
10386 (movhi, movqi): Accept SHmedia.
10387 (shori_media, movdi_media): Relax input constraints. Split
10388 symbolic constants.
10389 (movdf_media, movsf_media): New insn. New split to movdi.
10390 (movdf, movsf): Match on SHmedia.
10391 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
10392 bgeu_media): New insns and splits. New insns with `_i' suffix.
10393 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
10394 (bunordered): New expand.
10395 (jump_compact): Renamed from `jump'.
10396 (jump_media): New insn.
10397 (jump): New expand.
10398 (call_media, call_value_media): New insns.
10399 (call, call_value): Adjust.
10400 (indirect_jump_compact): Renamed from `indirect_jump'.
10401 (indirect_jump_media): New insn.
10402 (indirect_jump): New expand.
10403 (untyped_call, return): Accept SHmedia.
10404 (return_media): New insn.
10405 (prologue, epilogue, blockage): Accept SHmedia.
10406 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
10407 (sunordered): New expand.
10408 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
10409 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
10410 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
10411 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
10412 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
10413 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
10414 abssf2_media): New insns.
10415 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
10416 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
10417 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
10418 floatdidf2, floatsidf2_media, fix_truncdfdi2,
10419 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
10420 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
10421 absdf2_media): New insns.
10422 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
10423 (extendsfdf2_media, truncdfsf2_media): New insns.
10424 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
10425 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
10426 * config/sh/sh.h (CONST_OK_FOR_J): Document.
10427 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
10428 * config/sh/sh.md (adddi3): New expand.
10429 (adddi3_media, adddi3z_media): New insns.
10430 (adddi3_compact): Renamed from adddi3.
10431 (addsi3_media): Use add.l r63 to add constant zero.
10432 (subdi3): New expand.
10433 (subdi3_media): New insn.
10434 (subdi3_compact): Renamed from subdi3.
10435 (mulsidi3): New expand.
10436 (mulsidi3_media): New insn.
10437 (mulsidi3_compact): Renamed from mulsidi3.
10438 (umulsidi3): New expand.
10439 (umulsidi3_media): New insn.
10440 (umulsidi3_compact): Renamed from umulsidi3.
10441 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
10442 (ashlsi3, ashrsi3, lshrsi3): Use them.
10443 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
10444 (ashldi3, ashrdi3, lshrdi3): Use them.
10445 (zero_extendsidi2): New expand.
10446 (extendsidi2): New insn.
10447 (movsi_media): New insn. Split to movdi to load constants.
10448 (movsi): Enable for shmedia.
10449 (movdi_media): New insn. Use shori_media to load wide constants.
10450 (short_media): New insn.
10451 (movdi): Enable for shmedia.
10452 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
10453 * config/sh/sh.h (CPP_SPEC): Added `m5'.
10454 (SUBTARGET_CPP_SPEC): Added `!m5'.
10455 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
10456 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
10457 to all other SH variants.
10458 (TARGET_DEFAULT): Set to SH1_BIT.
10459 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
10460 (BITS_PER_WORD): Raise to 64 on shmedia.
10461 (MAX_BITS_PER_WORD): Change to 64.
10462 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
10463 (INT_TYPE_SIZE): Keep as 32.
10464 (UNITS_PER_WORD): Raise to 8 on shmedia.
10465 (MIN_UNITS_PER_WORD): Keep as 4.
10466 (POINTER_SIZE): Raise to 64 on shmedia.
10467 (CONST_OK_FOR_J): New macro.
10468 (CONST_OK_FOR_LETTER_P): Use it.
10469 (processor_type): Add PROCESSOR_SH5.
10470 * config/sh/sh.md: Conditionalize all expands, insns and
10471 splits to TARGET_SH1.
10472 (cpu): Added sh5.
10473 (addsi3_compact): Renamed from...
10474 (addsi3): Now an expand.
10475 (addsi3_media, subsi3_media): New insns.
10476 (subsi3): Don't negate constants with SHmedia.
10477
e4ec2cac
AO
10478 * hooks.c: New file.
10479 * hooks.h: New file.
10480 * Makefile.in (HOOKS_H): New.
10481 (TARGET_DEF_H): Added $(HOOKS_H).
10482 (OBJS): Added hooks.o.
10483 (cfgcleanup.o, bb-reorder.o): Added target.h.
10484 (hooks.o): Added dependencies.
10485 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
10486 (TARGET_INITIALIZER): this.
10487 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
10488 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
10489 * bb-reorder.c: Include target.h.
10490 (reorder_basic_blocks): Skip if cannot modify jumps.
10491 * cfgcleanup.c: Include target.h.
10492 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
10493
246a46e0
CD
104942002-02-08 Chris Demetriou <cgd@broadcom.com>
10495
831c4e87
KC
10496 * config/mips/mips.md (casesi_internal, casesi_internal_di):
10497 Protect jump delay slot instructions with .set noreorder and
10498 .set nomacro.
246a46e0
CD
10499
105002002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
10501
10502 * config/mips/mips.md (casesi_internal_di): Calculate
10503 the index into the target offset table correctly.
10504
fdf473ae
RH
105052002-02-08 Richard Henderson <rth@redhat.com>
10506
10507 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
10508 * final.c (output_addr_const): Accept and discard SUBREG.
10509 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
10510 mark them unknown instead.
10511 (simplify_subtraction): Handle RTX_UNKNOWN.
10512 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
10513
c50503ac
DE
105142002-02-08 David Edelsohn <edelsohn@gnu.org>
10515
10516 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
10517
3660d217
RH
105182002-02-08 Richard Henderson <rth@redhat.com>
10519
10520 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
10521
56547299
AJ
105222002-02-08 Andreas Jaeger <aj@suse.de>
10523
10524 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
10525 * config/i386/t-linux64: New file.
10526
1cf537c5
JJ
105272002-02-08 Jakub Jelinek <jakub@redhat.com>
10528
10529 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
10530 * c-parse.in (compstmt): Clear last_expr_type.
10531
5c7f5a5f
RH
105322002-02-07 Richard Henderson <rth@redhat.com>
10533
10534 * loop.c (strength_reduce): Sink final_value when not
10535 eliminating a biv.
10536
b1138bf3
DB
105372002-02-07 David O'Brien <obrien@FreeBSD.org>
10538
10539 * config/sparc/freebsd.h: Fix mismatched spec {.
10540
b6878a45
RH
105412002-02-07 Richard Henderson <rth@redhat.com>
10542
10543 * cfgrtl.c: Include recog.h and insn-config.h.
10544 (keep_with_call_p): Fix general_operand invocation.
10545 * Makefile.in (cfgrtl.o): Update dependencies.
10546
ae19f5ef
KH
105472002-02-07 Kazu Hirata <kazu@hxi.com>
10548
10549 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
10550 comment. Accept HImode only if TARGET_H8300.
10551
b137f9fc
EC
105522002-02-07 Eric Christopher <echristo@redhat.com>
10553
10554 * config/mips/crtn.asm: Cleanup #ifdefs.
10555
105562002-02-07 Eric Christopher <echristo@redhat.com>
10557
10558 * config/mips/crti.asm: Add changes for mips16. mips16 uses
10559 register 7 as RA instead of $31.
10560 * config/mips/crtn.asm: Ditto.
10561 * config/mips/mips.c (mips_move_2words): Add case for
10562 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
10563 (compute_frame_size): Fix typo.
10564 (save_restore_insns): Ditto. Make documentation about using
10565 register $7 as return register more precise.
10566 (mips_expand_epilogue): Fix comment. Add code to work around not
10567 being able to add to the stack pointer directly.
10568 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
10569 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
10570 epilogue.
10571
768070a0
TR
105722002-02-07 Tom Rix <trix@redhat.com>
10573
b137f9fc 10574 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
10575 immediates in ldu and stdu DS opcode field.
10576 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
10577 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
10578 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
10579
225909c3
JS
105802002-02-07 Jeff Sturm <jsturm@one-point.com>
10581
10582 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
10583 offset for stack bias.
10584
15fae023
L
105852002-02-07 H.J. Lu <hjl@gnu.org>
10586
10587 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
10588
fde5badd
UW
105892002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
10590
10591 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
10592
162f023b
JH
10593Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
10594
10595 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
10596 * i386.c (x86_order_regs_for_local_alloc): New global function.
10597 * i386.h (REG_ALLOC_ORDER): CLeanup.
10598 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
10599
9b462c42
RH
106002002-02-07 Richard Henderson <rth@redhat.com>
10601
85aa876c 10602 PR optimization/2463
9b462c42
RH
10603 * alias.c (find_base_value): Recall base values for fixed hard regs.
10604 * loop.c (loop_regs_update): Don't use single_set on non-insns.
10605
06e455a9
AO
106062002-02-07 Alexandre Oliva <aoliva@redhat.com>
10607
10608 * config/mips/mips.md (define_delay) [mips16]: Adjust required
10609 length.
10610
edd1967d
RH
106112002-02-06 Richard Henderson <rth@redhat.com>
10612
10613 PR c/5609
10614 * stmt.c (resolve_operand_name_1): Take more care with mixed
10615 named and unnamed operands.
10616
a2cd028f
JJ
106172002-02-06 Janis Johnson <janis187@us.ibm.com>
10618 Jan Hubicka <jh@suse.cz>
10619
10620 * loop.c (remove_constant_addition): Avoid clobbering a shared
10621 CONST expression.
10622
e8487c04
UW
106232002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10624
10625 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
10626 * config/s390/t-linux64: New file.
10627 * config/s390/libgcc-glibc.ver: New file.
10628
58d10f89
UW
106292002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10630
10631 * config/s390/linux64.h: Delete file.
10632 * config/s390/s390x.h: New file.
10633 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
10634 as target header file.
10635 * config/s390/linux.h (TARGET_VERSION): Define depending on
10636 DEFAULT_TARGET_64BIT.
10637 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
10638 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
10639 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
10640 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
10641 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
10642 (EXTRA_SPEC): New define.
10643 * config/s390/s390.h (TARGET_VERSION): Define depending on
10644 DEFAULT_TARGET_64BIT.
10645 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
10646
5ce89b2e
JM
106472002-02-06 Jason Merrill <jason@redhat.com>
10648
10649 * c-decl.c (finish_function): Warn about a non-void function with
10650 no return statement and no abnormal exit.
10651 (current_function_returns_abnormally): New variable.
10652 (start_function): Clear it.
10653 (struct c_language_function): Add returns_abnormally.
10654 (push_c_function_context): Save it.
10655 (pop_c_function_context): Restore it.
10656 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
10657 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
10658 an explicit return type.
10659 * c-tree.h: Declare current_function_returns_abnormally.
10660 (C_FUNCTION_IMPLICIT_INT): New macro.
10661 * c-typeck.c (build_function_call): Set it.
10662 (c_expand_return): Set current_function_returns_value even if the
10663 value is erroneous.
10664
caaf2272
JJ
106652002-02-06 Jakub Jelinek <jakub@redhat.com>
10666
10667 PR c/5420:
10668 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
10669 unsafe for reevaluation.
10670
d5129288
JJ
106712002-02-06 Jakub Jelinek <jakub@redhat.com>
10672
10673 PR c/5482:
10674 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
10675 EXPR_STMT, but COMPOUND_STMT, recurse into it.
10676
7fb75099
RH
106772002-02-06 Richard Henderson <rth@redhat.com>
10678
10679 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
10680 be a general_operand. Dest for function value must be a pseudo.
10681
d3a8b6a6
NC
106822002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
10683
10684 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
10685 as SYMBOL_REFs from the constant pool.
10686
3c1299c5
AO
106872002-02-06 Alexandre Oliva <aoliva@redhat.com>
10688
10689 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
10690 passed by invisible reference.
10691
c2c9f6c9
RH
106922002-02-05 Richard Henderson <rth@redhat.com>
10693
10694 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
10695
a824924d
HPN
106962002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
10697
10698 Implement using "base addresses" in insn operands as default.
10699 * config/mmix/mmix.c (mmix_conditional_register_usage): if
10700 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
10701 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
10702 used to read the rtx value.
10703 (mmix_target_asm_function_epilogue): Fix spacing.
10704 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
10705 (mmix_legitimate_address): Ditto.
10706 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
10707 should be loaded with a GETA insn. Don't allocate needless extra
10708 char for nul termination and fix misleading comment.
10709 (mmix_print_operand_address): Handle constants if
10710 TARGET_BASE_ADDRESSES.
10711 (mmix_output_register_setting): Use base addressing if
10712 TARGET_BASE_ADDRESSES and the number of insns is 3.
10713 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
10714 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
10715 to use R as constraint, add LDA to match s.
10716 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
10717 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
10718 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
10719 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
10720 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
10721 order with other fixed registers.
10722 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
10723 other parameter/call-clobbered registers.
10724 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
10725 -mbase-addresses, -mno-base-addresses.
10726 (MMIX Options): Ditto.
10727
73c342b9
JDA
107282002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
10729
10730 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
10731
ef238c58
AH
107322002-02-06 Aldy Hernandez <aldyh@redhat.com>
10733
831c4e87 10734 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 10735
ad08e60e
JT
107362002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
10737
10738 * config/netbsd.h (WCHAR_TYPE): Define.
10739 (WCHAR_TYPE_SIZE): Ditto.
10740 (WINT_TYPE): Ditto.
10741 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
10742 (WCHAR_UNSIGNED): Ditto.
10743 (WCHAR_TYPE_SIZE): Ditto.
10744 (WINT_TYPE): Ditto.
10745 * config/arm/netbsd.h: Likewise.
10746 * config/i386/netbsd-elf.h: Likewise.
10747 * config/i386/netbsd.h: Likewise.
10748 * config/m68k/netbsd-elf.h: Likewise.
10749 * config/m68k/netbsd.h: Likewise.
10750 * config/ns32k/netbsd.h: Likewise.
10751 * config/sparc/netbsd.h: Likewise.
10752 * config/vax/netbsd.: Likewise.
10753
f913c102
AO
107542002-02-05 Alexandre Oliva <aoliva@redhat.com>
10755
10756 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
10757 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
10758 (TARGET_INITIALIZER): this.
10759 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
10760 (BITFIELD_NBYTES_LIMITED): Markup fix.
10761 * tree.h (default_ms_bitfield_layout_p): Declare.
10762 (record_layout_info): Added prev_field.
10763 * tree.c (default_ms_bitfield_layout_p): New fn.
10764 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
10765 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
10766 * stor-layout.c: Include target.h.
10767 (start_record_layout): Initialize prev_field.
10768 (place_field): Handle MS bit-field layout, and disregard
10769 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
10770 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
10771 * Makefile.in (stor-layout.o): Adjust dependencies.
10772
c13db5d1
JM
107732002-02-05 Jason Merrill <jason@redhat.com>
10774
c13db5d1
JM
10775 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
10776
4505024e
AJ
107772002-02-05 Andreas Jaeger <aj@suse.de>
10778
10779 * crtstuff.c: Fix comments.
10780
794ad79d
RH
107812002-02-05 Richard Henderson <rth@redhat.com>
10782
2e279a9b
RH
10783 PR fortran/3393
10784 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
10785 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
10786
794ad79d
RH
10787 PR fortran/3392
10788 * config/mips/mips.c (function_arg): Handle TImode.
10789 (function_arg_advance): Likewise.
10790
8f909017
AH
107912002-02-05 Aldy Hernandez <aldyh@redhat.com>
10792
c13db5d1
JM
10793 * config/rs6000/altivec.h (vec_step_help): Rename to
10794 __vec_step_help.
8f909017 10795
66daa9e3
AH
107962002-02-05 Aldy Hernandez <aldyh@redhat.com>
10797
c13db5d1 10798 * config/rs6000/altivec.h: Fix typos.
66daa9e3 10799
2696e97b
JT
108002002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
10801
10802 * config/arm/netbsd.h: Correct a comment.
10803
3deb2758
AH
108042002-02-05 Aldy Hernandez <aldyh@redhat.com>
10805
c13db5d1
JM
10806 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
10807 building void typed builtins.
3deb2758 10808
c13db5d1
JM
10809 * config/rs6000/altivec.h (vec_ld*): Fix typos.
10810 (vec_step): Implement for C++.
3deb2758 10811
c13db5d1 10812Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
10813
10814 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
10815
ebbb0a63
RH
108162002-02-04 Richard Henderson <rth@redhat.com>
10817
10818 * combine.c (nonzero_bits): Re-introduce special case for
10819 sp/fp/ap wrt REGNO_POINTER_ALIGN.
10820
ae4b4a02
AH
108212002-02-05 Aldy Hernandez <aldyh@redhat.com>
10822
c13db5d1
JM
10823 * doc/extend.texi: Warn about unsupported usage of altivec
10824 builtins.
ae4b4a02 10825
c13db5d1
JM
10826 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
10827 (altivec_predicate_*): New.
ae4b4a02 10828
c13db5d1
JM
10829 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
10830 Add C++ version of vec_*() functions.
ae4b4a02 10831
c13db5d1
JM
10832 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
10833 (bdesc_2arg): Remove altivec predicates.
10834 (altivec_expand_builtin): Handle predicates.
10835 (altivec_init_builtins): Handle predicates.
10836 (altivec_expand_predicate_builtin): New.
ae4b4a02 10837
f6bcf44c
JDA
108382002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10839
10840 * pa.c (DO_FRAME_NOTES): Move forward.
10841 (store_reg): Revise handling of frame notes.
10842 (load_reg): Likewise.
10843 (set_reg_plus_d): Likewise.
10844 (hppa_expand_prologue): Likewise.
10845 (hppa_expand_epilogue): Likewise.
b137f9fc 10846
703b0080
JDA
108472002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10848
10849 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
10850
6f9fdf4d
JJ
108512002-02-04 Jakub Jelinek <jakub@redhat.com>
10852
10853 PR c/4475, c++/3780:
10854 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
10855 * c-common.h (SWITCH_TYPE): Define.
10856 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
10857 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
10858 Rename spareness variable to sparseness.
10859 (expand_end_case_type): Renamed from expand_end_case, use orig_type
10860 if non-NULL instead of TREE_TYPE (orig_index).
10861 * tree.h (expand_end_case_type): Renamed from expand_end_case.
10862 (expand_end_case): Define using expand_end_case_type.
10863 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
10864 to expand_end_case_type.
10865 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
10866
79109502
JDA
108672002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10868
10869 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
10870 (BIGGEST_ALIGNMENT): Change to 128.
10871
e62a5987
JDA
108722002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10873
10874 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
10875
219f24a4
JDA
108762002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10877
10878 * pa.md (call_internal_reg_64bit): Remove unused variable.
10879
3cb66fd7
NC
108802002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
10881
10882 * config/arm/arm.h (machine_function): Add uses_anonymous_args
10883 field.
831c4e87 10884 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 10885 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
10886 replace uses with cfun->machine->uses_anonymous_args.
10887 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
10888
10889 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
10890 any geenral register.
b137f9fc 10891
5d5603e2 108922001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
10893
10894 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
10895 the entry block.
10896
563c12b0
RH
108972002-02-04 Richard Henderson <rth@redhat.com>
10898
10899 * combine.c (force_to_mode): Remove STACK_BIAS code.
10900 (nonzero_bits): Likewise. Replace sp/fp special case with
10901 REGNO_POINTER_ALIGN.
10902
10903 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
10904 (HARD_FRAME_POINTER_REGNUM): New.
10905 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
10906 (FIXED_REGS, CALL_USED_REGS): Update.
10907 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
10908 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
10909 (HARD_REGNO_NREGS): Update for SFP.
10910 (STACK_POINTER_OFFSET): Include bias here ...
10911 (FIRST_PARM_OFFSET): ... not here.
10912 (STACK_BIAS): Remove.
10913 (INIT_EXPANDERS): New.
10914 (STARTING_FRAME_OFFSET): Do not include bias.
10915 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
10916 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
10917 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
10918 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
10919 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
10920 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
10921 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
10922 (MUST_SAVE_REGISTER): Likewise.
10923 (sparc_flat_function_prologue): Likewise.
10924 (sparc_flat_function_epilogue): Likewise.
10925 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
10926 (sparc_init_modes): SFP is GENERAL_REGS.
10927 (sparc_builtin_saveregs): SFP does not have bias applied.
10928
14691f8d
RH
109292002-02-04 Richard Henderson <rth@redhat.com>
10930
10931 * config/alpha/alpha.c (current_function_is_thunk): Don't check
10932 current_function_is_thunk.
10933 (alpha_sa_mask): Distinguish between current_function_is_thunk
10934 called from ASM_OUTPUT_MI_THUNK and not.
10935 (alpha_does_function_need_gp): Thunks always need gp.
10936 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
10937 (alpha_output_mi_thunk_osf): New.
10938 * config/alpha/alpha-protos.h: Update.
10939 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
10940
af702de8
RS
109412002-02-04 Richard Sandiford <rsandifo@redhat.com>
10942
10943 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
10944 function types, not when they're taken away.
10945
5b1cacd8
JL
10946Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
10947
10948 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
10949 CODE_LABEL and jump table when replacing a table jump with a
10950 simple jump.
10951
f3e9edff
UW
109522002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10953
10954 * config/s390/s390-protos.h (legitimize_la_operand,
10955 s390_secondary_input_reload_class, s390_plus_operand,
10956 s390_expand_plus_operand): Add prototypes.
10957
10958 config/s390/s390.c (s390_secondary_input_reload_class,
10959 s390_plus_operand, s390_expand_plus_operand): New functions.
10960
10961 (struct s390_address): New member 'pointer'.
10962 (s390_decompose_address): Compute it.
10963 (legitimate_la_operand_p): Use it.
10964 (legitimize_la_operand): New function.
10965 (movti, movdi, movdf splitters): Call it.
10966
10967 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
10968 (PREDICATE_CODES): Add s390_plus_operand.
10969
10970 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
10971 (la_ccclobber): Allow GENERAL_REGS as output operand.
10972
10973 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
10974 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
10975 (*la_64, *la_31, reload_indi, reload_insi): ... these.
10976
3c9a08ec
UW
109772002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10978
10979 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
10980 register names for regular asm () construct.
10981
ac300a45
JJ
109822002-02-04 Jakub Jelinek <jakub@redhat.com>
10983
10984 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
10985 registers.
10986
fa852403
JJ
109872002-02-04 Jakub Jelinek <jakub@redhat.com>
10988
10989 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
10990 pat for recog.
10991
fecaac37
HP
109922002-02-04 Hartmut Penner <hpenner@de.ibm.com>
10993
831c4e87
KC
10994 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
10995 constant pool to be identical by string address and index.
fecaac37 10996
10c45943
AG
109972002-02-04 Anthony Green <green@redhat.com>
10998
10999 * output.h (SECTION_OVERRIDE): Define.
11000 * varasm.c (named_section): Obey SECTION_OVERRIDE.
11001
69474c3c
JT
110022002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
11003
11004 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
11005 by existing arm*-*-netbsd* (a.out) target.
11006 (ns32k-*-netbsdelf*): Likewise.
11007 (sparc-*-netbsdelf*): Likewise.
11008 (vax-*-netbsdelf*): Likewise.
11009
939a46f6 110102002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
11011
11012 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
11013 headers and libobjc headers.
11014
110152002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
11016
11017 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
11018 (_mingw.h): Remove duplicate include.
11019
2fd95d71
JT
110202002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
11021
11022 * config.gcc: Set cpu_type to m68k for 68010, as well.
11023 (m68010-*-netbsdelf*): New...
11024 (m68k*-*-netbsdelf*): ...targets.
11025 * config/m68k/netbsd-elf.h: New file.
11026
0ea6f6a0
KH
110272002-02-02 Kazu Hirata <kazu@hxi.com>
11028
11029 * config/h8300/h8300.c (hand_list): Move inside function_arg.
11030
cbf1b2da
KH
110312002-02-02 Kazu Hirata <kazu@hxi.com>
11032
11033 * config/h8300/h8300.c (h8_push_ops): Move inside
11034 h8300_init_once.
11035 (h8_pop_ops): Likewise.
11036 (h8_move_ops): Likewise.
11037
0869f126
KH
110382002-02-02 Kazu Hirata <kazu@hxi.com>
11039
11040 * config/h8300/h8300.c (os_task): Make it static.
11041 (monitor): Likewise.
11042 (pragma_saveall): Likewise.
11043
90e65b70
AO
110442002-02-02 Alexandre Oliva <aoliva@redhat.com>
11045
11046 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
11047 constant is a valid sign-extension for Pmode.
11048
9cbcd983
KH
110492002-02-02 Kazu Hirata <kazu@hxi.com>
11050
11051 * config/h8300/h8300.c: Fix formatting.
11052
7a27efc4
KH
110532002-02-02 Kazu Hirata <kazu@hxi.com>
11054
11055 * config/h8300/h8300.md: Fix formatting.
11056
54175a44
KH
110572002-02-02 Kazu Hirata <kazu@hxi.com>
11058
11059 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
11060 predicates of operands[1]. Split the patterns for each
11061 processor variant.
11062
eceb1755
KH
110632002-02-02 Kazu Hirata <kazu@hxi.com>
11064
11065 * config/h8300/h8300.md (xor patterns): Tighten the predicates
11066 of operands[1] to register_operand.
11067
0fef3fd0
NB
110682002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
11069
11070 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
11071 * cpphash.c (_cpp_init_hashtable): Similarly.
11072 * cppinit.c (cpp_create_reader): Default the signed_char flag.
11073 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
11074 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
11075 (cpp_handle_option): Handle the new options.
11076 * cpplex.c (cpp_interpret_charconst): Use new flag.
11077 * cpplib.h (struct cpp_options): New member signed_char.
11078 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
11079 (cpp_options): Handle -fsigned-char and -funsigned-char.
11080 (static_specs): Remove signed_char_spec.
11081 (do_spec1): Don't handle %c.
11082 * system.h: Poison SIGNED_CHAR_SPEC.
11083 * tradcif.y (yylex): Use flag_signed_char.
11084 * tradcpp.h (flag_signed_char): New.
11085 * tradcpp.c (flag_signed_char): New.
11086 (main): Handle new command-line options.
11087 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
11088config:
11089 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
11090 * avr/avr.h: Remove old comments.
11091 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
11092 (CC1_SPEC): Pass -fsigned-char if -mic*.
11093 (SIGNED_CHAR_SPEC): Remove.
11094doc:
11095 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
11096
0617ed52
EC
110972002-02-01 Eric Christopher <echristo@redhat.com>
11098
11099 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
11100 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
11101 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
11102 (ASM_OUTPUT_REG_POP): Ditto.
11103
dfd48d76
NB
111042002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
11105
11106 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
11107 patch.
11108
4a23409e
JJ
111092002-02-02 Jakub Jelinek <jakub@redhat.com>
11110
11111 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
11112
d3c52658
JJ
111132002-02-02 Jakub Jelinek <jakub@redhat.com>
11114
11115 PR c/5304:
11116 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
11117 unconditionally.
11118
02c5a3bd
JJ
111192002-02-01 Janis Johnson <janis187@us.ibm.com>
11120
11121 * cfganal.c: Include tm_p.h.
11122 (keep_with_call_p): Fix the test that determines if a register holds
11123 the return value of a call.
11124
3968de80
DD
111252002-02-01 DJ Delorie <dj@redhat.com>
11126
11127 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
11128 we are given conflicting registers, switch to the other one we
11129 had allocated for us.
11130 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
11131 as TImode so we know when the "other" register is available.
11132
1338ea6c
DB
111332002-02-01 David O'Brien <obrien@FreeBSD.org>
11134
11135 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
11136 sparc/sparc_bi.h.
11137
f015be23
JJ
111382002-02-01 Janis Johnson <janis187@us.ibm.com>
11139
11140 * cfganal.c (keep_with_call_p): New function.
11141 (flow_call_edges_add): Prevent splitting a block between a call and
11142 a single-set instruction that should be kept in the same block.
11143
63708ffc
CR
111442002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
11145
11146 * doc/install.texi (avr): Update outdated URL.
11147
5ee4950e
AH
111482002-01-30 Andrew Haley <aph@cambridge.redhat.com>
11149
831c4e87
KC
11150 * config/stormy16/stormy16.md (pushqi): New.
11151 (popqi): New.
11152 (pushhi): New.
11153 (pophi): New.
11154 (movhi): Remove stack operands.
11155 (movqi): Likewise.
11156 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
11157 nonimmediate_nonstack_operand.
11158 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
11159 New.
11160 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
11161 New.
5ee4950e 11162
b88c0704
JM
111632002-01-31 Jason Merrill <jason@redhat.com>
11164
11165 * Makefile.in (c-parse.c): Handle .output file.
11166 * objc/Make-lang.in (objc-parse.c): Likewise.
11167
ac282977
AO
111682002-02-01 Alexandre Oliva <aoliva@redhat.com>
11169
11170 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
11171 the -me[lb] option is given. Don't output the default flag
11172 twice.
11173
bebc7e8b
ZW
111742002-01-31 Zack Weinberg <zack@codesourcery.com>
11175
11176 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
11177 the primary source file; this has not been done yet.
11178 * c-decl.c (c_expand_body): Reset input_filename from
11179 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
11180
5809eb5f
KH
111812002-01-31 Kazu Hirata <kazu@hxi.com>
11182
11183 * rtlanal.c (subreg_regno_offset): Do not use
11184 SUBREG_REGNO_OFFSET.
11185 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
11186 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
11187
8512bbd7
JM
111882002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
11189
11190 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
11191 version rather than GNATS version in --version output.
11192
74cb3cc8
RS
111932002-01-31 Richard Sandiford <rsandifo@redhat.com>
11194
11195 * ifcvt.c (noce_process_if_block): Make a copy of the destination
11196 when copying back from a temporary.
11197
874b5b14
RH
111982002-01-30 Richard Henderson <rth@redhat.com>
11199
11200 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
11201 and new_dest are the same.
11202
e803a64b
RH
112032002-01-30 Richard Henderson <rth@redhat.com>
11204
89cf7be5 11205 PR opt/5076
e803a64b
RH
11206 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
11207 * rtl.c (note_insn_name): Update.
11208 * emit-rtl.c (remove_unnecessary_notes): Kill it.
11209 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
11210 to perform loop rotation.
11211 (expand_exit_loop_top_cond): New.
11212 * tree.h (expand_exit_loop_top_cond): Declare it.
11213 * c-semantics.c (genrtl_while_stmt): Use it.
11214 (genrtl_for_stmt): Likewise.
11215
0b51254d
AO
112162002-01-30 Alexandre Oliva <aoliva@redhat.com>
11217
11218 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
11219 arguments to 64-bit boundaries on 64-bit ABIs.
11220
71cef493
SE
112212002-01-30 Steve Ellcey <sje@cup.hp.com>
11222
11223 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
11224
6169e5fd
JM
112252002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
11226
11227 * c-decl.c (grokdeclarator): Handle type being a typedef for an
11228 invalid type.
11229
86f808dc
DB
112302002-01-30 David O'Brien <obrien@FreeBSD.org>
11231
11232 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
11233 * config/sparc/sparc_bi.h: Remove file.
11234 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
11235
5748ebeb
RH
112362002-01-30 Richard Henderson <rth@redhat.com>
11237
11238 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
11239
20d32cc2
ZW
112402002-01-30 Zack Weinberg <zack@codesourcery.com>
11241
11242 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
11243
b88c0704 112442002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
11245
11246 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
11247 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
11248 (reg_save): Use DW_CFA_offset_extended_sf instead.
11249
11250 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
11251
37060e78
JJ
112522002-01-29 Jakub Jelinek <jakub@redhat.com>
11253
11254 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
11255 in cselib_lookup.
11256
d18dba68
AH
112572002-01-29 Aldy Hernandez <aldyh@redhat.com>
11258
bebc7e8b
ZW
11259 * rs6000.md ("*call_value_local32"): Remove constraints.
11260 ("*call_value_local64"): Same.
11261 ("*call_value_indirect_nonlocal_aix32"): Same.
11262 ("*call_value_nonlocal_aix32"): Same.
11263 ("*call_value_indirect_nonlocal_aix64"): Same.
11264 ("*call_value_nonlocal_aix64"): Same.
11265 ("*call_value_nonlocal_sysv"): Same.
d18dba68 11266
80a8aac6
RH
112672002-01-29 Richard Henderson <rth@redhat.com>
11268
11269 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
11270
12beba6f
RH
112712002-01-29 Richard Henderson <rth@redhat.com>
11272
11273 * expr.c (force_operand): Ignore flag_pic for detecting pic
11274 address loads.
11275 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
11276 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
11277 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
11278 instead of open-coded loop.
11279 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
11280 be fixed when in use.
11281
2583081e
RH
112822002-01-29 Richard Henderson <rth@redhat.com>
11283
11284 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
11285 * sched-rgn.c (propagate_deps): Update them.
11286 * sched-deps.c (sched_analyze_insn): Update them. Flush the
11287 clobbers list when either gets too long.
11288
3b8d200e
JJ
112892002-01-29 Jakub Jelinek <jakub@redhat.com>
11290
11291 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
11292 and INDEX_REGS the same as GENERAL_REGS.
11293 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
11294
2d3115eb
NB
112952002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
11296
bebc7e8b 11297 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 11298
ecbe845e
UW
112992002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
11300
bebc7e8b 11301 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 11302 movstrsix_31): Remove, replace by ...
bebc7e8b 11303 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
11304 movstrsi_long): ... these. New.
11305 (movstrdi, movstrsi): Adapt.
11306
11307 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 11308 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
11309 Remove unnecessary CC clobber.
11310 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
11311 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
11312
11313 (divmoddi4): Don't partially initialize TImode register.
11314
0b32fca5
GK
113152002-01-29 Geoffrey Keating <geoffk@redhat.com>
11316
11317 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
11318
08ef5437
RH
113192002-01-29 Richard Henderson <rth@redhat.com>
11320
11321 * flow.c (print_rtl_and_abort): Remove.
11322 (print_rtl_and_abort_fcn): Remove.
11323 (verify_local_live_at_start): Use dump_bb instead.
11324 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
11325 (verify_wide_reg_1): Return 2 on mode test failure.
11326
8469e54e
NB
113272002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
11328
11329 PR c/3325, c/3326, c/2511, c/3347
11330 * c-decl.c (enum_decl_context): Remove BITFIELD.
11331 (grokdeclarator): Take bitfield width as an input.
11332 Ensure bitfields are given the correct type. Perform
11333 bitfield width validation with build_bitfield_integer_type
11334 rather than waiting for finish_struct.
11335 (grok_typename, grok_typename_in_parm_context, start_decl,
11336 push_parmdecl, grokfield, start_function): Update calls to
11337 grokdeclarator.
11338 (build_bitfield_integer_type): New function.
11339 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 11340 and build_bitfield_integer_type.
8469e54e
NB
11341 * tree.c (build_nonstandard_integer_type): New function.
11342 * tree.h (build_nonstandard_integer_type): New prototype.
11343objc:
11344 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
11345
ffdeea47
JJ
113462002-01-29 Jakub Jelinek <jakub@redhat.com>
11347
11348 PR other/1502:
11349 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
11350 don't ignore unrecognized -W* options.
11351 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
11352 * cpplib.h (cpp_handle_option): Adjust prototype.
11353 * c-decl.c (c_decode_options): Pass 0 as last argument to
11354 cpp_handle_option.
11355
11356 PR c/2896:
11357 * gcc.c (cpp_unique_options): Split from cpp_options.
11358 (cpp_options): Source cpp_unique_options.
11359 (default_compilers): Use cpp_unique_options instead of cpp_options
11360 when used together with cc1_options.
11361 (static_specs): Add cpp_unique_options.
11362 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
11363 when used together with cc1_options.
11364
1a275226
KH
113652002-01-29 Kazu Hirata <kazu@hxi.com>
11366
11367 * config/h8300/h8300-protos.h: Update the prototype of
11368 output_a_shift.
11369 * config/h8300/h8300.c (output_a_shift): Remove an unused
11370 argument 'insn'. Remove redundant code.
11371 * config/h8300/h8300.md: Adust to the new prototype of
11372 output_a_shift.
11373
a11d9dfc
KH
113742002-01-29 Kazu Hirata <kazu@hxi.com>
11375
11376 * config/h8300/h8300-protos.h: Update the prototypes of
11377 emit_a_rotate and expand_a_rotate.
11378 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
11379 first argument to 'enum rtx_code'.
11380 (expand_a_rotate): Likewise.
11381
871f73e3
KH
113822002-01-28 Kazu Hirata <kazu@hxi.com>
11383
11384 * config/h8300/h8300-protos.h: Update the prototype of
11385 output_simode_bld.
11386 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
11387 'log2'.
11388 * config/h8300/h8300.md: Adjust to the new prototype.
11389
5fc4b751
KH
113902002-01-28 Kazu Hirata <kazu@hxi.com>
11391
11392 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
11393 redundant code.
11394
2d67bd7b
JDA
113952002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
11396
11397 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
11398 is a fixed register before returning pic_offset_table_rtx.
11399 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
11400 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
11401
5a852b3e
JM
114022002-01-28 Jason Merrill <jason@redhat.com>
11403
6bb28965 11404 * dwarf2.h: Sync with src version.
5a852b3e 11405
3bca17dd
PK
114062002-01-28 Paul Koning <pkoning@equallogic.com>
11407
11408 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
11409 BT_FN_VOID_PTR_VAR.
11410 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
11411 * doc/extend.texi (__builtin_prefetch): Update documentation:
11412 first argument is now const void ptr.
11413
7dc3f8c0
KH
114142002-01-28 Kazu Hirata <kazu@hxi.com>
11415
11416 * config/h8300/h8300-protos.h: Remove an unused prototype.
11417
e83cb5f0
RZ
114182002-01-28 Roman Zippel <zippel@linux-m68k.org>
11419
11420 * toplev.c (lang_independent_init): Round up identifier size.
11421
5721cd84
RE
114222002-01-28 Richard Earnshaw <rearnsha@arm.com>
11423
11424 * config.gcc: Revert previous change.
11425
d534119e
AP
114262002-01-28 Andris Pavenis <pavenis@latnet.lv>
11427
11428 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
11429
5a721dab
RE
114302002-01-28 Richard Earnshaw <rearnsha@arm.com>
11431
11432 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
11433 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
11434 other non-elf netbsd config frags.
11435 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
11436 collect2 will does that.
11437 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
11438 shared-lib frobbing will work.
11439
da1775d6
KH
114402002-01-28 Kazu Hirata <kazu@hxi.com>
11441
11442 * config/h8300/h8300.h: Fix formatting.
11443 * config/h8300/h8300.md: Likewise.
11444
8f2e963b
LR
114452002-01-28 Loren J. Rittle <ljrittle@acm.org>
11446
11447 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
11448 the old, removed AAA_standards fix.
11449 * fixinc/fixincl.x: Rebuilt.
11450
fdae5767
HPN
114512002-01-28 Hans-Peter Nilsson <hp@axis.com>
11452
11453 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
11454 atexit call in crtbegin, hooked in after call to frame_dummy;
11455 register EH before registering __fini__start.
11456
2a2ecb63
AH
114572002-01-28 Aldy Hernandez <aldyh@redhat.com>
11458
11459 * config/rs6000/altivec.h: Remove spurious semicolons.
11460
8ed43adf
KH
114612002-01-27 Kazu Hirata <kazu@hxi.com>
11462
11463 * config/h8300/h8300.md: Replace dead bit extraction patterns
11464 with ones that work.
11465
917afb0c
RK
11466Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11467
11468 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
11469 if not STRICT_ALIGNMENT.
11470 * rtl.h (MEM_ALIGN): Likewise.
11471
f70a54cb
CR
114722002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
11473
11474 * doc/invoke.texi (-fdump-translation-unit): Revert this
11475 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
11476
d8fd4914
KH
114772002-01-27 Kazu Hirata <kazu@hxi.com>
11478
11479 * config/h8300/h8300.md (define_constants): New.
11480 (anonymous patterns) Use defined constants appropriately.
11481
15e0e275
KH
114822002-01-27 Kazu Hirata <kazu@hxi.com>
11483
11484 * config/h8300/h8300.c (function_arg): Remove redundant code.
11485
37a0f8a5
RH
114862002-01-26 Richard Henderson <rth@redhat.com>
11487
11488 * sched-deps.c (reg_pending_uses_head): New.
11489 (reg_pending_barrier): Rename from reg_pending_sets_all.
11490 (find_insn_list): Don't mark inline.
11491 (find_insn_mem_list): Remove.
11492 (add_dependence_list, add_dependence_list_and_free): New.
11493 (flush_pending_lists): Replace only_write param with separate
11494 for_read and for_write parameters. Update all callers. Use
11495 add_dependence_list_and_free.
11496 (sched_analyze_1): Do not add reg dependencies here; just set
11497 the pending bits. Use add_dependence_list.
11498 (sched_analyze_2): Likewise.
11499 (sched_analyze_insn): Replace schedule_barrier_found with
11500 reg_pending_barrier. Add all dependencies for pending reg
11501 uses, sets, and clobbers.
11502 (sched_analyze): Don't add reg dependencies for calls, just
11503 set pending bits. Use regs_invalidated_by_call. Treat
11504 sched_before_next_call as a normal list, not a fake insn.
11505 (init_deps): No funny init for sched_before_next_call.
11506 (free_deps): Free pending mems lists. Don't zero reg_last.
11507 (init_deps_global): Init reg_pending_uses.
11508 (finish_deps_global): Free it.
11509 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
11510 (find_insn_mem_list): Remove.
11511 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
11512 (propagate_deps): Use them. Zero temp mem lists.
11513
cea3bd3e
RH
115142002-01-26 Richard Henderson <rth@redhat.com>
11515
11516 * Makefile.in (CRTSTUFF_CFLAGS): New.
11517 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
11518 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
11519 crtstuff.c instead of alpha assembly version.
11520 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
11521 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
11522 not FORCE_{INIT,FINI}_SECTION_ALIGN.
11523 (__do_global_dtors_aux): Mark used.
11524 (frame_dummy, __do_global_ctors_aux): Mark used.
11525 (fini_dummy, init_dummy): Remove.
11526
11527 * config/alpha/crtbegin.asm: Remove file.
11528 * config/alpha/crtend.asm: Remove file.
11529 * config/alpha/t-crtbe: Remove file.
11530 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
11531 (LINK_EH_SPEC): New.
11532
11533 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
11534 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
11535 calling constructors.
11536 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
11537
11538 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
11539 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
11540 CRT_END_INIT_DUMMY hack.
11541 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
11542 FORCE_{INIT,FINI}_SECTION_ALIGN.
11543
11544 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
11545 FORCE_{INIT,FINI}_SECTION_ALIGN.
11546
11547 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
11548 invocation sequence.
11549 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
11550
11551 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
11552 (FORCE_CODE_SECTION_ALIGN): New.
11553
60ffa0e5
RH
115542002-01-26 Richard Henderson <rth@redhat.com>
11555
11556 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
11557
61334ebe
RH
115582002-01-26 Richard Henderson <rth@redhat.com>
11559
11560 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
11561 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
11562
1d788fb6
KH
115632002-01-26 Kazu Hirata <kazu@hxi.com>
11564
11565 * config/h8300/h8300.md: Remove bit extraction patterns that
11566 cannot be triggered.
11567 Restrict each bit extraction pattern to a variant on which the
11568 pattern is tested.
11569
87611f88
JM
115702002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
11571
11572 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
11573
cd74ec59
KH
115742002-01-26 Kazu Hirata <kazu@hxi.com>
11575
11576 * config/h8300/h8300.md: Remove bit test patterns that cannot
11577 be triggered.
11578 Restrict each bit test pattern to a variant on which the
11579 pattern is tested.
11580
93051e0f
KG
115812002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11582
11583 * builtins.c (expand_builtin_strncat): Remove redundant check for
11584 INTEGER_CST.
11585
216c995f
DB
115862002-01-25 David O'Brien <obrien@FreeBSD.org>
11587
11588 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
11589 default setting.
11590 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
11591 existing setting.
11592
33c7f925
GK
115932002-01-25 Geoffrey Keating <geoffk@redhat.com>
11594
11595 * dbxout.c (dbxout_init): Use assemble_name rather than just
11596 stripping off the first character.
11597 (dbxout_source_file): Likewise.
11598
6cd444b4
DD
115992002-01-25 DJ Delorie <dj@redhat.com>
11600
11601 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
11602 using rtx_equal_p, not by comparing pointers.
11603
751551d5
SE
116042002-01-25 Steve Ellcey <sje@cup.hp.com>
11605
11606 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
11607 for PIC_OFFSET_TABLE_REGNUM.
11608 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
11609
e564e618
DB
116102002-01-25 David O'Brien <obrien@FreeBSD.org>
11611
11612 * config.gcc (x86_64-*-freebsd*): New target.
11613 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
11614 value.
11615 (i[34567]86-*-freebsd*): Don't include svr4.h.
11616 * config/i386/freebsd64.h: New file.
11617
ff3aaf17
DR
116182002-01-25 Douglas B Rupp <rupp@gnat.com>
11619
4857d29d
DR
11620 * config/alpha/x-vms (version): Make static.
11621
11622 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
11623 in previous checkin.
11624
ff3aaf17
DR
11625 * Makefile.in (install-headers-cp): New target.
11626 * config.gcc (alpha-dec-*vms*): Install headers with
11627 install-headers-cp
11628
48d79c43
JH
11629Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
11630
11631 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
11632 avoid it's copies.
11633
995b5904
RK
11634Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11635
11636 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
11637 of compare_tree_int.
11638 (expand_builtin_strncat): Likewise.
11639 * c-decl.c (finish_struct): Use tree_low_cst.
11640 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
11641 * tree.c (compare_tree_int): Likewise.
11642
75eefe3f
UW
116432002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
11644
11645 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
11646 adjustments even if they are implemented by more than two insns.
11647
5a133afd
JH
11648Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
11649
995b5904 11650 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
11651 * df.h (struct ref): Kill B.
11652 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
11653
11654 * basic-block.h (PROP_EQUAL_NOTES): New flag.
11655 * flow.c (propagate_one_insn): Use it.
11656 (mark_used_regs): Handle NIL.
11657
ead39bdf 116582002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
11659
11660 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
11661 to help folding.
11662
01a2ccd0
DE
116632002-01-25 David Edelsohn <edelsohn@gnu.org>
11664
11665 * rs6000.md (prefetch): Make address V4SI mode so that the address
11666 is restricted to legitimate form for instruction.
11667
fd29f6ea
BW
116682002-01-25 Bob Wilson <bob.wilson@acm.org>
11669
11670 * doc/install.texi (xtensa-*-elf): New target.
11671 (xtensa-*-linux*): New target.
11672 * doc/contrib.texi: Add myself.
11673
55492b32
NC
116742002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
11675
11676 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
11677 purpose register to hold an SImode (or smaller) value.
11678
72c7c913
JJ
116792002-01-25 Jakub Jelinek <jakub@redhat.com>
11680
11681 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
11682 registry only.
11683 * crtstuff.c: Likewise.
11684
c4df4ceb
KH
116852002-01-25 Kazu Hirata <kazu@hxi.com>
11686
11687 * config/h8300/h8300.md (negation patterns): Tighten
11688 predicates to register_operand.
11689
70e531f5
AH
116902002-01-24 Aldy Hernandez <aldyh@redhat.com>
11691
3bca17dd
PK
11692 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
11693 mode, not Pmode.
70e531f5 11694
3bca17dd 11695 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 11696
a4f76ef9
AO
116972002-01-24 Alexandre Oliva <aoliva@redhat.com>
11698
11699 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
11700 modes.
11701
9bf25b09
KH
117022002-01-24 Kazu Hirata <kazu@hxi.com>
11703
11704 * config/h8300/h8300.c (print_operand): Remove support for
11705 operand character 'A'.
11706 * config/h8300/h8300.md (three anonymous patterns): Replace
11707 operand character 'A' with either 'T' or 'S'.
11708
974af6a5
KH
117092002-01-24 Kazu Hirata <kazu@hxi.com>
11710
11711 * config/h8300/h8300.c (print_operand): Remove support for
11712 operand character 'U'.
11713
7a5bb7b8
AP
117142002-01-24 Andris Pavenis <pavenis@latnet.lv>
11715
3bca17dd 11716 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 11717
92a4639e
NC
117182002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
11719
11720 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
11721 values to be assigned to the stack pointer.
11722
467cb2da
HP
117232002-01-14 Hartmut Penner <hpenner@de.ibm.com>
11724
bebc7e8b 11725 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
11726 to const_double needs to be done right for big-endian systems.
11727
3b6cb920
JM
117282002-01-24 Jason Merrill <jason@redhat.com>
11729
b08dd119 11730 PR c++/2432
3b6cb920
JM
11731 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
11732 to can_throw_internal.
11733
f3077311
RH
117342002-01-23 Richard Henderson <rth@redhat.com>
11735
11736 * fold-const.c (fold): Change UINT_MAX test to check vs precision
11737 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
11738
e1d71275
AO
117392002-01-24 Alexandre Oliva <aoliva@redhat.com>
11740
11741 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
11742 (symGOT2reg): Use them, then set as GOT value as unchanging.
11743 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
11744 as a temporary, if possible.
11745 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
11746 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
11747
dc271dbe
KH
117482002-01-23 Kazu Hirata <kazu@hxi.com>
11749
11750 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
11751 accept to accept 0x80 as operands[2].
11752
1a9017f9
AO
117532002-01-24 Alexandre Oliva <aoliva@redhat.com>
11754
11755 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
11756
6932f033
RH
117572002-01-23 Richard Henderson <rth@redhat.com>
11758
11759 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
11760
709619d9
AH
117612002-01-23 Aldy Hernandez <aldyh@redhat.com>
11762
3bca17dd
PK
11763 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
11764 (parmlist_or_identifiers_1): Verify that only a parmlist follows
11765 an attribute.
709619d9 11766
3d709fd3
RH
117672002-01-23 Richard Henderson <rth@redhat.com>
11768
11769 * expr.c (move_by_pieces_1): Extend size before negation.
11770
88a446c0
RH
11771 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
11772 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
11773 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
11774 * config/m68k/t-m68kelf: Likewise.
11775
03984308
BW
117762002-01-23 Bob Wilson <bob.wilson@acm.org>
11777
11778 * config/xtensa/elf.h: New file.
11779 * config/xtensa/lib1funcs.asm: New file.
11780 * config/xtensa/lib2funcs.S: New file.
11781 * config/xtensa/linux.h: New file.
11782 * config/xtensa/t-xtensa: New file.
11783 * config/xtensa/xtensa-config.h: New file.
11784 * config/xtensa/xtensa-protos.h: New file.
11785 * config/xtensa/xtensa.c: New file.
11786 * config/xtensa/xtensa.h: New file.
11787 * config/xtensa/xtensa.md: New file.
11788 * config.gcc (xtensa-*-elf*): New target.
11789 (xtensa-*-linux*): New target.
11790 * cse.c (canon_hash): Compare rtx pointers instead of register
11791 numbers. This is required for the Xtensa port.
11792 * integrate.c (copy_insn_list): Handle case where the static
11793 chain is in memory and the memory address has to be copied to
11794 a register.
11795 * doc/invoke.texi (Option Summary): Add Xtensa options.
11796 (Xtensa Options): New node.
11797 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
11798
c3d5c3fa
ZW
117992002-01-23 Zack Weinberg <zack@codesourcery.com>
11800
a63bea75
ZW
11801 * diagnostic.c (internal_error): Do ICE suppression only
11802 when ENABLE_CHECKING is not defined.
11803
c3d5c3fa
ZW
11804 * c-typeck.c (require_complete_type): Return error_mark_node
11805 if type is error_mark_node.
11806
1398974c
JJ
118072002-01-23 Janis Johnson <janis187@us.ibm.com>
11808
11809 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
11810 -Os and issue a warning.
11811
807633e5
ZW
118122002-01-23 Zack Weinberg <zack@codesourcery.com>
11813
11814 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
11815 current (lack of) need for host configuration by hand.
11816
11817 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
11818 references. Documentation of some target macros moved from
11819 hostconfig.texi to tm.texi.
11820
cf8002d0
WC
118212002-01-23 Will Cohen <wcohen@redhat.com>
11822
11823 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
11824 defined.
11825
d1e76310
KH
118262002-01-23 Kazu Hirata <kazu@hxi.com>
11827
11828 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
11829 operand[3].
11830
b2115575
JM
118312002-01-23 Jason Merrill <jason@redhat.com>
11832
f893c16e
JM
11833 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
11834
b2115575
JM
11835 * function.c (assign_parms): Don't put args of inline functions
11836 into registers when not optimizing.
11837
6bacc7b0
NC
118382002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
11839
11840 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
11841 (prologue_use): New pattern.
11842 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
11843 preference to gen_rtx_USE.
11844 (thumb_expand_prologue): Use gen_prologue_use in preference to
11845 gen_rtx_USE.
11846 (thumb_expand_epilogue): Use gen_prologue_use in preference to
11847 gen_rtx_USE.
11848
a415f7bc
HPN
118492002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
11850
11851 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
11852
5372b3fb
NB
118532002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
11854
11855 PR c/3504
11856 * doc/extend.texi: Correct documentation of __alignof__.
11857
bd571ffc
ZW
118582002-01-22 Zack Weinberg <zack@codesourcery.com>
11859
11860 * params.h: Rename arguments of DEFPARAM so that it will be
11861 recognized as a translation keyword.
11862
333c8841
AH
118632002-01-22 Aldy Hernandez <aldyh@redhat.com>
11864
bd571ffc
ZW
11865 * extend.texi: Document altivec functions.
11866 Fix N-bit adjectives in X86 builtin documentation.
333c8841 11867
38979c65
AO
118682002-01-22 Alexandre Oliva <aoliva@redhat.com>
11869
11870 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
11871 auto_inc_dec values.
11872
7458a9f0
RE
118732002-01-22 Richard Earnshaw <rearnsha@arm.com>
11874
11875 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
11876 after backslash.
11877 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
11878
129bd0c4
AO
118792002-01-22 Alexandre Oliva <aoliva@redhat.com>
11880
11881 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
11882
8b9b74a9
RH
118832002-01-22 Richard Henderson <rth@redhat.com>
11884
11885 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
11886 copy_insn not copy_rtx.
11887
d0c9db30
AM
118882002-01-23 Alan Modra <amodra@bigpond.net.au>
11889
11890 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
11891 "nonzero" as that might add "1" bits. Ensure "constop" is
11892 properly sign extened.
11893 (force_to_mode): Tweak for sign extended constop.
11894
1e7e480e
RH
118952002-01-22 Richard Henderson <rth@redhat.com>
11896
11897 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
11898 for_each_rtx instead of assuming we're already looking at the MEM.
11899 (split_small_symbolic_mem_operand): Likewise.
11900 * config/alpha/alpha.h (PREDICATE_CODES): Update.
11901 * config/alpha/alpha.md (small symbolic memory splitters): Update.
11902
119032002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
11904
11905 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
11906 sequence number for the literal.
11907 (divmoddi_internal_er): Likewise.
11908
b7f2fb96
CR
119092002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
11910
11911 PR java/4972
11912 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
11913 in LIBICONV variable.
11914 * configure: Regenerated.
11915
f66a0046
KW
119162002-01-22 Krister Walfridsson <cato@df.lth.se>
11917
11918 * dependence.c (build_def_use): Remove array_idx.
11919
e3b0efd1
KW
11920 * dwarfout.c (last_filename): Remove.
11921 (output_compile_unit_die): Remove last_filename.
11922
d8086cbb
RS
119232002-01-22 Roger Sayle <roger@eyesopen.com>
11924 Richard Henderson <rth@redhat.com>
11925
11926 PR opt/3640
11927 * fold-const.c (fold): Optimize unsigned comparisons against
11928 UINT_MAX (and similar unsigned constants).
11929
e8d52ba0
JJ
119302002-01-22 Janis Johnson <janis187@us.ibm.com>
11931
d8086cbb 11932 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 11933 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 11934 against the predicate.
11303d15 11935
e8d52ba0
JJ
11936 PR target/5379
11937 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
11938 for the address operand.
11939
cc7b420e
RH
119402002-01-22 Richard Henderson <rth@redhat.com>
11941
11942 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
11943
816e265a
CR
119442002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
11945
11946 PR other/5450
cc7b420e
RH
11947 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
11948 preprocessor flags.
816e265a 11949
7c884404
JT
119502002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
11951
11952 * config.gcc (x86_64-*-netbsd*): New target.
11953 * config/i386/netbsd64.h: New file.
11954
2b672c08
AH
119552002-01-22 Aldy Hernandez <aldyh@redhat.com>
11956
d8086cbb 11957 * regrename.c (kill_value): Fix typo.
2b672c08
AH
11958
119592002-01-22 Aldy Hernandez <aldyh@redhat.com>
11960
d8086cbb 11961 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 11962
d8086cbb 11963 * config/rs6000/rs6000.h: Same.
2b672c08 11964
d8086cbb
RS
11965 * function.c (instantiate_virtual_regs): Remove
11966 STARTING_FRAME_PHASE.
11967 (assign_stack_local_1): Same.
11968 Calculate frame phase.
2b672c08 11969
4b02997f
NC
119702002-01-22 Nick Clifton <nickc@redhat.com>
11971
11972 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
11973 variable declaration to outer scope in order to simplify
11974 future extensions.
11975 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
11976 arm_hard_regno_mode_ok.
11977 * config/arm/arm-protos.h: Add a prototype for
11978 arm_hard_regno_mode_ok.
11979 * config/arm/arm.c (soft_df_operand): Remove now redundant
11980 check for DImode values using IP_REGNUM.
11981 (nonimmediate_soft_df_operand): Remove now redundant check for
11982 DImode values using IP_REGNUM.
11983 (arm_hard_regno_mode_ok): New function. New check: make sure
11984 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
11985
11986 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
11987 note with a USE.
11988 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
11989
8a827ab2
JM
119902002-01-22 Jason Merrill <jason@redhat.com>
11991
11992 * c-semantics.c (genrtl_compound_stmt): Only check nesting
11993 consistency if this COMPOUND_STMT is scoped.
11994
cf403648
KH
119952002-01-22 Kazu Hirata <kazu@hxi.com>
11996
11997 * predict.c: Fix formatting.
11998 * print-tree.c: Likewise.
11999 * protoize.c: Likewise.
12000 * real.h: Likewise.
12001 * rtl.h: Likewise.
12002 * sbitmap.h: Likewise.
12003 * scan.c: Likewise.
12004 * sched-deps.c: Likewise.
12005 * sched-vis.c: Likewise.
12006 * sdbout.c: Likewise.
12007 * sibcall.c: Likewise.
12008 * ssa.c: Likewise.
12009 * ssa-ccp.c: Likewise.
12010 * ssa-dce.c: Likewise.
12011 * stmt.c: Likewise.
12012 * stor-layout.c: Likewise.
12013 * system.h: Likewise.
12014
aea9695c
RK
12015Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12016
a8765ae7
RK
12017 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
12018 if fits in bounds of base type.
12019
aea9695c
RK
12020 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
12021 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
12022 (add_bound_info, default): If can't find a context, make a
12023 SAVE_EXPR.
12024 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
12025
58bf601b
HPN
120262002-01-22 Hans-Peter Nilsson <hp@axis.com>
12027
12028 * c-typeck.c (parser_build_binary_op): If result from
12029 build_binary_op is ERROR_MARK just return error_mark_node without
12030 further processing.
12031
f982f805
JT
120322002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
12033
12034 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
12035 Split a.out-specific bits into...
12036 * config/netbsd-aout.h: ...this.
12037 * config/netbsd-elf.h: New file.
12038 * config/alpha/netbsd-elf.h: Remove.
12039 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
12040 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 12041 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
12042 (ENDFILE_SPEC): Likewise.
12043 (LINK_SPEC): Likewise.
12044 (CPP_SPEC): Likewise.
12045 (ASM_SPEC): Likewise.
12046 (LIB_SPEC): Likewise.
12047 (SWITCH_TAKES_ARG): Likewise.
12048 (TARGET_MEM_FUNCTIONS): Likewise.
12049 (CPP_PREDEFINES): Redefine.
12050 (ASM_FINAL_SPEC): Remove redefinition.
12051 (ASM_COMMENT_START): Redefine.
12052 (FUNCTION_PROFILER): Define.
12053 (TARGET_VERSION): Redefine.
12054 Comment and formatting cleanup.
12055 * config/i386/netbsd.h: Include <netbsd-aout.h>.
12056 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
12057 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
12058 big- or little-endian.
12059 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
12060 * config.gcc (*-*-netbsd*): Add definitions common to all
12061 NetBSD configs.
12062 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
12063 gnu_ld definitions. Add netbsd-elf.h to and remove
12064 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
12065 tmake_file, and don't lose previous tmake_file contents.
12066 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
12067 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
12068 gnu_ld definitions. Add netbsd-elf.h to tm_file.
12069 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
12070 (mipsel-*-netbsd*): Rename this to...
12071 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
12072 mips/little.h to tm_file for mips*el-*.
12073 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
12074 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
12075 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
12076
2e396476
JDA
120772002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
12078
12079 * pa-protos.h (reg_before_reload_operand): New function prototype.
12080 * pa.c (reg_before_reload_operand): New function implementation.
12081 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
12082 contraints to "*m".
12083
3b5708e7
FS
120842002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12085
12086 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
12087
85e79f96
JDA
120882002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
12089
12090 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
12091 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
12092 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
12093 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
12094 (ENDFILE_SPEC): Undefine.
12095 (STARTFILE_SPEC): Redefine for PA.
12096
38abadee
FS
120972002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12098
12099 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
12100
94f1d97c
DJ
121012002-01-21 Daniel Jacobowitz <drow@mvista.com>
12102
12103 * config.gcc: Add entries to supported PowerPC --with-cpu
12104 types.
12105
0333394e
JJ
121062002-01-21 Jakub Jelinek <jakub@redhat.com>
12107
12108 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
12109 true for 64-bit mode only SSE registers in 32-bit mode.
12110
e9d1b155
KH
121112002-01-21 Kazu Hirata <kazu@hxi.com>
12112
12113 * unwind-dw2.c: Fix formatting.
12114 * unwind-dw2-fde.c: Likewise.
12115 * unwind-dw2-fde.h: Likewise.
12116 * unwind-pe.h: Likewise.
12117 * varasm.c: Likewise.
12118 * varray.h: Likewise.
12119
07338cf8
HPN
121202002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
12121
12122 Remove workaround for register stack overwrite bug in mmix.
12123 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
12124 support for TARGET_REG_STACK_FILL_BUG.
12125 * config/mmix/mmix.h: Remove member has_call_without_parameters.
12126 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
12127 Delete.
12128 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
12129 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
12130 -mno-reg-stack-fill-bug-workaround.
12131 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
12132 machine member has_call_without_parameters.
12133 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
12134 -mreg-stack-fill-bug-workaround and
12135 -mno-reg-stack-fill-bug-workaround.
12136 (MMIX Options): Ditto.
12137
7192cbf1
KH
121382002-01-21 Kazu Hirata <kazu@hxi.com>
12139
12140 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
12141 as appropriate.
12142 Remove redundant code.
12143
d1552d7b
JM
121442002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
12145
12146 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
12147 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
12148 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
12149 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
12150 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
12151 out target macro definitions and non-target-specific comments
12152 mostly taken from old versions of the manual.
12153
ed168e45
KH
121542002-01-20 Kazu Hirata <kazu@hxi.com>
12155
12156 * config/h8300/h8300.h: Fix comment formatting.
12157 * config/ia64/aix.h: Likewise.
12158 * config/ia64/ia64-protos.h: Likewise.
12159 * config/ia64/ia64.c: Likewise.
12160 * config/ia64/ia64.h: Likewise.
12161 * config/ia64/ia64intrin.h: Likewise.
12162 * config/ia64/linux.h: Likewise.
12163 * config/ia64/unwind-aix.c: Likewise.
12164 * config/ia64/unwind-ia64.c: Likewise.
12165
005e3e05
KH
121662002-01-20 Kazu Hirata <kazu@hxi.com>
12167
12168 * config/h8300/h8300.c: Revise comments about shift code.
12169
64bead4c
KH
121702002-01-20 Kazu Hirata <kazu@hxi.com>
12171
12172 * config/h8300/h8300.c (function_arg): Update a comment.
12173
ed863595
KH
121742002-01-20 Kazu Hirata <kazu@hxi.com>
12175
12176 * config/h8300/h8300.md: Update the comments at the beginning
12177 of the file.
12178
5904dc87
KH
121792002-01-20 Kazu Hirata <kazu@hxi.com>
12180
12181 * config/i370/i370.c: Fix comment formatting.
12182 * config/i370/i370.h: Likewise.
12183 * config/i370/i370.md: Likewise.
12184 * config/i370/linux.h: Likewise.
12185
9702143f
RK
12186Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12187
cbafacd1
RK
12188 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
12189
9702143f
RK
12190 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
12191 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
12192 in incomplete case.
12193
6b6996b8
GS
121942002-01-20 Graham Stott <grahams@redhat.com>
12195
12196 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
12197
eab854f6
JDA
121982002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
12199
12200 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
12201
5b029315
TR
122022002-01-19 Tom Rix <trix@redhat.com>
12203
12204 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
12205
1d690052
AH
122062002-01-18 Aldy Hernandez <aldyh@redhat.com>
12207
d8086cbb 12208 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 12209
d8086cbb
RS
12210 * function.c (assign_stack_local_1): Adjust x_frame_offset with
12211 STARTING_FRAME_PHASE.
12212 (STARTING_FRAME_PHASE): New.
12213 (instantiate_virtual_regs): Check saneness of
12214 STARTING_FRAME_PHASE.
1d690052 12215
d8086cbb 12216 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 12217
4dd8c093
AO
122182002-01-19 Alexandre Oliva <aoliva@redhat.com>
12219
12220 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
12221
6f2a28d7
CR
122222002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
12223
12224 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
12225 be used for bootstrapping GCC 3.0.
12226
8763a465
KH
122272002-01-18 Kazu Hirata <kazu@hxi.com>
12228
12229 * config/h8300/h8300.md: Fix an insn length.
12230
3ef42a0c
KH
122312002-01-18 Kazu Hirata <kazu@hxi.com>
12232
12233 * bitmap.h: Fix comment formatting.
12234 * combine.c: Likewise.
12235 * cppfiles.c: Likewise.
12236 * c-pragma.h: Likewise.
12237 * c-typeck.c: Likewise.
12238 * df.c: Likewise.
12239 * dwarf2out.c: Likewise.
12240 * function.c: Likewise.
12241 * gcc.c: Likewise.
12242 * genattrtab.c: Likewise.
12243 * gthr-win32.h: Likewise.
12244 * haifa-sched.c: Likewise.
12245 * predict.c: Likewise.
12246 * rtlanal.c: Likewise.
12247 * rtl.h: Likewise.
12248 * unwind-dw2-fde.h: Likewise.
12249 * unwind-pe.h: Likewise.
12250 * vmsdbgout.c: Likewise.
12251
dd4dc3cd
RK
12252Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12253
12254 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
12255 if type_required and passed decl.
12256
5fb4cf24
AH
122572002-01-17 Aldy Hernandez <aldyh@redhat.com>
12258
d8086cbb
RS
12259 * config.gcc (cpu_type): Include altivec.h in powerpc
12260 extra_headers.
12261 Same for darwin.
5fb4cf24 12262
d8086cbb 12263 * config/rs6000/altivec.h: New.
5fb4cf24 12264
2705baf5
DE
122652002-01-17 David Edelsohn <edelsohn@gnu.org>
12266
12267 * doc/install.texi (*-ibm-aix*): Update assembler and exception
12268 handling information.
12269 * doc/trouble.texi (Interoperation): Add libstdc++ information
12270 for AIX.
12271 (Misunderstandings): Add template instantiation and static template
12272 member information for AIX.
12273
dbd680e1
JM
122742002-01-17 Jason Merrill <jason@redhat.com>
12275
821adc5e
JM
12276 * dbxout.c (dbxout_type): Support const and volatile.
12277
dbd680e1
JM
12278 * except.c (add_partial_entry): Remove backwards compatibility code.
12279 (end_protect_partials): Likewise.
12280
d0e82870
JJ
122812002-01-17 Jakub Jelinek <jakub@redhat.com>
12282
12283 * config/ia64/ia64.md (prologue_use): New.
12284 * config/ia64/ia64.c (ia64_expand_prologue): Use
12285 gen_prologue_use instead of gen_rtx_USE.
12286 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
12287 as CODE_FOR_pred_rel_mutex.
12288 (ia64_sched_reorder2): Likewise.
12289
f9f45c65
EC
122902002-01-16 Eric Christopher <echristo@redhat.com>
12291
12292 * config/mips/r3900.h: Reformat.
12293 (SUBTARGET_CPP_SIZE_SPEC): Remove.
12294 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
12295 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
12296 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
12297 * config/mips/t-elf: Remove mips3 multilib.
12298
c66c8b0e
L
122992002-01-16 H.J. Lu <hjl@gnu.org>
12300
12301 * config/mips/linux.h: Include "mips/abi64.h".
12302
5f083b72
L
123032002-01-16 H.J. Lu <hjl@gnu.org>
12304
12305 * config/mips/t-linux: New.
12306
12307 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
12308
12309 * config/mips/linux.h: Don't include "gofast.h".
12310 (INIT_SUBTARGET_OPTABS): Removed.
12311
af3c90a6
KH
123122002-01-16 Kazu Hirata <kazu@hxi.com>
12313
12314 * config/h8300/h8300-protos.h: Replace emit_a_shift with
12315 output_a_shift.
12316 * config/h8300/h8300.c: Likewise.
12317 * config/h8300/h8300.md: Likewise.
12318
a1bf0a16
KH
123192002-01-16 Kazu Hirata <kazu@hxi.com>
12320
12321 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
12322 spaces after an opcode name.
12323 (pushqi1_h8300hs): Likewise.
12324 (pushhi1_h8300hs): Likewise.
12325
88ab0d1c
KH
123262002-01-16 Kazu Hirata <kazu@hxi.com>
12327
12328 * doc/extend.texi: Replace "option" with "attribute"
12329 appropriately.
12330
51c561e3
JJ
123312002-01-16 Jakub Jelinek <jakub@redhat.com>
12332
12333 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
12334 (and:DI () (const_int -8)).
12335 (split_small_symbolic_mem_operand): Split
12336 (mem (and:DI () (const_int -8)).
12337
b8c1a6b8
JJ
123382002-01-16 Jakub Jelinek <jakub@redhat.com>
12339
12340 PR target/5309:
d8086cbb 12341 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
12342 same way as TYPE_IMUL.
12343 (ultrasparc_sched_reorder): Likewise.
12344 * config/sparc/sparc.md (type): Add comment to update
12345 ultrasparc_sched_reorder when making changes.
12346
1e4e4df2
KH
123472002-01-16 Kazu Hirata <kazu@hxi.com>
12348
12349 * doc/invoke.texi: Change the dump file name of block
12350 reordering pass from 28.bbro to 29.bbro.
12351 Mention -dk option.
12352
14d920c0
JH
12353Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
12354
12355 * i386.md (minsf splitter): Fix pasto.
12356
2e99323f
NC
123572002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
12358
12359 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
12360 to frame pointer initialisation instruction.
12361 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
12362 initialisation instruction.
ab8081c1
NC
12363 (soft_df_operand): Do not accept the IP register.
12364 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 12365
c4031a04
JJ
123662002-01-16 Jakub Jelinek <jakub@redhat.com>
12367
12368 PR target/5357:
12369 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
12370 MASK_V8 being both set.
12371
44b8152b
UW
123722002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
12373
12374 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
12375 insn for GOT register; add REG_MAYBE_DEAD notes instead.
12376 config/s390/s390.md (call, call_value): Add GOT register to
12377 CALL_INSN_FUNCTION_USAGE where needed.
12378 (call_exp, call_value_exp): New.
12379
1d6e90ac
NC
123802002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
12381
12382 * config/arm/arm.c: General formatting tidy up.
12383
123842002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
12385
12386 * calls.c (try_to_integrate): Use "(size_t)" intermediate
12387 cast and when casting an integer literal to "rtx" pointer.
12388 (expand_call): Likewise.
12389 * flow.c (try_pre_increment): Likewise.
12390 (find_use_as_address): Likewise.
12391 * integrate.c (expand_iline_function): Likewise.
12392 * regmove.c (try_auto_increment): Likewise.
12393
1d6e90ac 123942002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
12395
12396 * sched-rgn.c (passed): Use sbitmap_free.
12397 (header): Likewise.
12398 (inner): Likewise.
12399 (in_queue): Likewise.
12400 (in_stack): Likewise.
12401
31fce3c4
EC
124022002-01-15 Eric Christopher <echristo@redhat.com>
12403
12404 * flow.c (propagate_one_insn): Change to use fatal_insn.
12405
c99d986a
KH
124062002-01-15 Kazu Hirata <kazu@hxi.com>
12407
12408 * expmed.c (extract_fixed_bit_field): Remove unused code.
12409 * system.h: Poison SLOW_ZERO_EXTEND.
12410 * doc/tm.texi: Remove.
12411 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
12412 * config/arm/arm.h: Likewise.
12413 * config/avr/avr.h: Likewise.
12414 * config/clipper/clipper.h: Likewise.
12415 * config/convex/convex.h: Likewise.
12416 * config/d30v/d30v.h: Likewise.
12417 * config/dsp16xx/dsp16xx.h: Likewise.
12418 * config/elxsi/elxsi.h: Likewise.
12419 * config/fr30/fr30.h: Likewise.
12420 * config/h8300/h8300.h: Likewise.
12421 * config/i370/i370.h: Likewise.
12422 * config/i386/i386.h: Likewise.
12423 * config/m68k/m68k.h: Likewise.
12424 * config/mips/mips.h: Likewise.
12425 * config/ns32k/ns32k.h: Likewise.
12426 * config/pdp11/pdp11.h: Likewise.
12427 * config/pj/pj.h: Likewise.
12428 * config/s390/s390.h: Likewise.
12429 * config/sh/sh.h: Likewise.
12430 * config/stormy16/stormy16.h: Likewise.
12431 * config/v850/v850.h: Likewise.
12432 * config/vax/vax.h: Likewise.
12433 * config/we32k/we32k.h: Likewise.
12434
acfab996
AH
124352002-01-15 Aldy Hernandez <aldyh@redhat.com>
12436
d8086cbb
RS
12437 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
12438 (altivec_lvsl): Change constraint to b.
12439 (altivec_lvsr): Same.
12440 (altivec_lvebx): Same.
12441 (altivec_lvehx): Same.
12442 (altivec_lvewx): Same.
12443 (altivec_lvxl): Same.
12444 (altivec_lvx): Same.
12445 (altivec_stvx): Add parallel.
12446 (altivec_stvxl): Same.
12447 (altivec_stvehx): Same.
12448 (altivec_stvebx): Same.
12449 (altivec_stvebx): Same.
acfab996 12450
5e505bc9
AH
124512002-01-15 Aldy Hernandez <aldyh@redhat.com>
12452
d8086cbb 12453 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 12454
d8086cbb 12455 * config/rs6000/altivec.h: Delete.
5e505bc9 12456
d8086cbb 12457 * config/rs6000/altivec-defs.h: Add.
5e505bc9 12458
5c41fdfb
JDA
124592002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
12460
12461 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
12462 and UMOD modes.
12463
12464 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
12465 less than or equal to eight bytes.
12466
12467 * vax.md (andsi3): Remove constraints and change SET destination
12468 operand type to nonimmediate_operand.
12469 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
12470 when it is a CONST_INT.
12471
de097a2d
JM
124722002-01-15 Jason Merrill <jason@redhat.com>
12473
12474 * c-common.def (FILE_STMT): New code.
12475 * c-common.c (statement_code_p): It's a statement.
12476 * c-common.h (stmt_tree_s): Add x_last_filename.
12477 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
12478 (last_expr_filename): New macro.
12479 * c-semantics.c (begin_stmt_tree): Initialize it.
12480 (add_stmt): If the filename changed, also insert a
12481 FILE_STMT.
12482 (expand_stmt): Handle seeing one.
12483
4a913dd6
EC
124842002-01-15 Eric Christopher <echristo@redhat.com>
12485
12486 * flow.c (propagate_one_insn): Add error message and print out
12487 insn for debugging.
12488
006946e4
JM
124892002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
12490
12491 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
12492 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
12493 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
12494 TRAMPOLINE_ALIGNMENT.
12495 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
12496 to be in bits.
12497 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
12498 PCC_BITFIELD_TYPE_MATTERS.
12499 * config/interix.h (STDC_VALUE): Remove. Use
12500 STDC_0_IN_SYSTEM_HEADERS.
12501 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
12502 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
12503 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
12504
751a1458
CR
125052002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
12506
12507 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
12508 not work on this platform currently.
12509
57771fe8
JM
125102002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
12511
12512 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
12513 readonly_warning in _().
12514
0e83ceb1 125152002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 12516
0e83ceb1 12517 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 12518
8e2e89f7
KH
125192002-01-15 Kazu Hirata <kazu@hxi.com>
12520
0e83ceb1
DR
12521 * config/h8300/h8300.c (print_operand): Remove support for
12522 unused operand characters.
12523
8e2e89f7
KH
12524 * read-rtl.c: Fix formatting.
12525 * real.c: Likewise.
12526 * recog.c: Likewise.
12527 * regclass.c: Likewise.
12528 * regmove.c: Likewise.
12529 * reg-stack.c: Likewise.
12530 * reload1.c: Likewise.
12531 * rtlanal.c: Likewise.
12532
b531087a
KH
125332002-01-15 Kazu Hirata <kazu@hxi.com>
12534
12535 * config/i386/i386.c: Fix formatting.
12536
7c94ce7f
JJ
125372002-01-15 Jakub Jelinek <jakub@redhat.com>
12538
12539 * c-typeck.c (process_init_element): Don't save_expr
12540 COMPOUND_LITERAL_EXPR if just its initializer will be used.
12541
6041bf2f
DE
125422002-01-15 David Edelsohn <edelsohn@gnu.org>
12543
12544 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
12545 emit optional traceback table if optimize_size or TARGET_ELF.
12546 * config/rs6000/rs6000.md (prefetch): New.
12547
8559c8c0
AJ
125482002-01-15 Andreas Jaeger <aj@suse.de>
12549
12550 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
12551
70f122f2
KH
125522002-01-15 Kazu Hirata <kazu@hxi.com>
12553
12554 * mips-tfile.c: Fix formatting.
12555
6a7b4ca6
JH
12556Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
12557
12558 * unroll.c (final_reg_note_copy): Fix previous commit.
12559
e7afe229
KH
125602002-01-14 Kazu Hirata <kazu@hxi.com>
12561
12562 * config/h8300/h8300-protos.h: Remove the prototype for
12563 eq_operator.
12564 * config/h8300/h8300.c (eq_operator): Remove.
12565
7d378549
RH
125662002-01-14 Richard Henderson <rth@redhat.com>
12567
12568 * config/i386/i386.md (prefetch): Tidy.
12569 (prefetch_3dnow): Fix locality operand.
12570
ab093b81
RH
125712002-01-14 Richard Henderson <rth@redhat.com>
12572
12573 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
12574 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
12575
d300f51f
HPN
125762002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
12577
12578 * reload1.c (reload_combine): Pass reg_sum replacement through
12579 copy_rtx in loop performing multiple changes.
12580
655dd289
JJ
125812002-01-14 Jakub Jelinek <jakub@redhat.com>
12582
12583 * except.c (remove_unreachable_regions): New.
12584 (free_eh_status): Clear exception_handler_labels.
12585 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
12586 (find_exception_handler_labels): Don't add the same label more than
12587 once.
12588 (remove_exception_handler_label): Don't die if
12589 find_exception_handler_labels hasn't been called for the current
12590 function yet.
12591
1fba46a7
JH
12592Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
12593
12594 * toplev.c (rest_of_compilation): Rebuild jump labels after
12595 gcse.
12596
0975678f
JM
125972002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
12598
12599 * doc/extend.texi: Move documentation of X86 built-in functions
12600 here.
12601 * doc/invoke.texi: From here.
12602 * doc/sourcebuild.texi: Document location of documentation for
12603 machine built-in functions.
12604
969815c7
CF
126052002-01-13 Christopher Faylor <cgf@redhat.com>
12606
12607 * cppfiles.c (TEST_THRESHOLD): New macro.
12608 (SHOULD_MMAP): Ditto.
12609 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
12610 be used.
12611
494c950b
JH
12612Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
12613
12614 * unroll.c (final_reg_note_copy): Properly handle
12615 REG_LABEL
12616 (unroll_loops): Fix LOOP_CONDITION heuristics.
12617
69a0611f
GK
126182002-01-14 Geoffrey Keating <geoffk@redhat.com>
12619
12620 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
12621 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
12622
b90e45ae
JH
12623Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
12624
12625 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
12626 threaded loop.
12627
8377288b
TR
126282002-01-14 Tom Rix <trix@redhat.com>
12629
12630 * config/rs6000/rs6000.md: Fix typo with sradi.
12631
9f37ccb1
UW
126322002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
12633
12634 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
12635 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
12636 (clrstrdi, clrstrsi): Adapt callers.
12637
12638 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
12639
8559c8c0 12640 (movti splitter): Never use register 0 as base register.
9f37ccb1 12641
6c2d03d0
HP
126422002-01-14 Hartmut Penner <hpenner@de.ibm.com>
12643
8559c8c0
AJ
12644 * combine.c (simplify_shift_const): Always generate new rtx
12645 for shift expression instead of reusing given expression.
6c2d03d0 12646
d3e98208
RK
12647Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12648
12649 * config/alpha/alpha.c (alpha_expand_mov): Don't call
12650 alpha_legitimize_address unless mode is Pmode.
12651
9f339dde
GK
126522002-01-13 Geoffrey Keating <geoffk@redhat.com>
12653
12654 * doc/md.texi (Modifiers): Document the '*' constraint for the
12655 user.
12656
12657 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
12658 * doc/extend.texi (Function Attributes): 'interrupt' is valid
12659 for xstormy16 too.
12660
02a10130
RH
126612002-01-13 Richard Henderson <rth@redhat.com>
12662
12663 * reload.c (find_reloads): Use a hard reg destination as reload reg
12664 for an input reload of the source.
12665
61d47787
GP
126662002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12667
12668 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
12669 more generic.
12670
f0df8029
DR
12671Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
12672
12673 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
12674 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
12675
d2a37256
DR
12676 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
12677
a9e8a5ee
RK
12678Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12679
12680 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
12681
bc06712d
TR
126822002-01-12 Tom Rix <trix@redhat.com>
12683
8559c8c0 12684 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
12685 TARGET_POWERPC64.
12686
7cbe9bb7
RH
126872002-01-12 Richard Henderson <rth@redhat.com>
12688
38b29e64
RH
12689 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
12690
58605ba0
RH
12691 * doc/invoke.texi: Update Alpha options.
12692
7cbe9bb7
RH
12693 * doc/invoke.texi: Update i386 built-in function lists.
12694
9d560860
JH
12695Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
12696
12697 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
12698 referencing outside.
12699
bb93b973
RK
12700Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12701
12702 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
12703 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
12704 offsets, and change line folding.
12705 * optabs.c (expand_binop): Remove warnings.
12706 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 12707
f9f6b7df
GS
127082002-01-12 Graham Stott <grahams@redhat.com>
12709
12710 * attribs.c (handle_deprecated_attribute): constify WHAT.
12711 * diagnostic.c (warn_deprecated_use): Add braces, fixes
12712 dangling else warning and constify WHAT.
12713 * except.h (struct function, struct inline_remap): Move
12714 struct tag forward defs before all prototypes.
12715 (duplicate_eh_regions): Whitespace.
12716
4a692617
NC
127172002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
12718
12719 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
12720 MODE_BASE_REG_CLASS.
12721 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
12722
e37af218
RH
127232002-01-12 Richard Henderson <rth@redhat.com>
12724
12725 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
12726 (ix86_expand_vector_move): New.
12727 (bdesc_2arg): Remove andps, andnps, orps, xorps.
12728 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
12729 Remove old prefetch builtins. Special case the logicals removed above.
12730 (ix86_expand_builtin): Likewise.
12731 (safe_vector_operand): Use V4SFmode, not TImode.
12732 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
12733 (ix86_expand_timode_binop_builtin): New.
12734 * config/i386/i386-protos.h: Update.
12735 * config/i386/i386.h (enum ix86_builtins): Update.
12736 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
12737 Use ix86_expand_vector_move in vector move expanders.
12738 (movti_internal, movti_rex64): Add xorps alternative.
12739 (sse_clrv4sf): Rename and adjust from sse_clrti.
12740 (prefetch): Don't work so hard.
12741 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
12742 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
12743 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
12744
6f1a6c5b
RH
127452002-01-11 Richard Henderson <rth@redhat.com>
12746
12747 * config/i386/mmintrin.h: New file.
12748 * config/i386/xmmintrin.h: New file.
12749 * config.gcc (i?86-*-*): Add extra_headers.
12750 * simplify-rtx.c (simplify_unary_operation): Handle saturating
12751 truncation codes.
12752 (simplify_binary_operation): Handle saturating arithmetic codes.
12753 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
12754 not the lowpart subreg.
12755 (ix86_expand_builtin): Return a TImode dummy register instead of 0
12756 on error.
12757 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
12758
cdb574d3
MH
127592002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12760
12761 * conflict.c (conflict_graph_compute): Free regsets when finished.
12762 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 12763
cf11ac55
HB
127642002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12765
12766 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
12767 every where we allocate a register.
12768
76ac938b
MH
127692002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12770
12771 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
12772 * lcm.c (compute_earliest, compute_farthest): Likewise.
12773
a84b4898
JJ
127742002-01-11 Janis Johnson <janis187@us.ibm.com>
12775
12776 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
12777
aaef1c12
JJ
127782002-01-11 Janis Johnson <janis187@us.ibm.com>
12779
12780 * doc/rtl.texi (Insns): Fix 2 typos.
12781
5d22c1a5
JM
127822002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
12783
12784 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
12785 options. Use @table @gcctabopt for MMIX options. Add index
12786 entries for MMIX options. Start new paragraph with first
12787 heading of the machine-dependent options.
12788
3e92902c
CR
127892002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
12790
12791 PR other/5299
12792 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
12793 * combine.c (force_to_mode): Same.
12794 * reload1.c (clear_reload_reg_in_use): Same.
12795
96ae8197
NC
127962002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
12797
12798 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
12799 and 'subtargets'.
12800
9b780582
AJ
128012002-01-11 Andreas Jaeger <aj@suse.de>,
12802 Brad Lucier <lucier@math.purdue.edu>
12803
12804 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
12805 mcpu.
12806
12300dad
DR
12807Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
12808
12809 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
12810 Protect with IN_LIBGCC.
12811 (LINK_EH_SPEC): Add required trailing space.
12812
27511a9a
NP
12813Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
12814
9b780582 12815 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
12816 under the filename which contains them.
12817 (check_identifier, finish_decl_top_level,
12818 lookup_name_current_level_global, shadow_record_fields): Remove.
12819
4daeab16
AJ
128202002-01-11 Andreas Jaeger <aj@suse.de>
12821
12822 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
12823 march.
12824
40571d67
RH
128252002-01-10 Richard Henderson <rth@redhat.com>
12826
12827 * config/alpha/alpha.c (print_operand): Add 'J'.
12828 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
12829 new operand with the sequence number for the lituse. When splitting
12830 the insns, use gen_movdi_er_high_g and generate a sequence number.
12831 (gen_movdi_er_high_g): Print the sequence number if non-zero.
12832
6525c0e7
AH
128332002-01-10 Aldy Hernandez <aldyh@redhat.com>
12834
d8086cbb
RS
12835 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
12836 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
12837 stvxl.
12838 (altivec_expand_builtin): Same.
12839 (altivec_expand_stv_builtin): New.
12840
12841 * config/rs6000/rs6000.h (rs6000_builtins): Same.
12842
12843 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
12844 ("altivec_lvehx"): New.
12845 ("altivec_lvewx"): New.
12846 ("altivec_lvxl"): New.
12847 ("altivec_lvx"): New.
12848 ("altivec_stvx"): New.
12849 ("altivec_stvebx"): New.
12850 ("altivec_stvehx"): New.
12851 ("altivec_stvewx"): New.
12852 ("altivec_stvxl"): New.
6525c0e7 12853
cda94cbb
RH
128542002-01-10 Richard Henderson <rth@redhat.com>
12855
12856 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
12857 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
12858 care not to delete instructions twice.
12859
df2c9a44
ZW
128602002-01-10 Zack Weinberg <zack@codesourcery.com>
12861
12862 * toplev.c: Don't declare environ (it's not used anywhere).
12863 * configure.in: Don't check for declaration of environ.
12864 * config/i386/xm-mingw32.h: Don't #define environ.
12865 * config.in, configure: Regenerate.
12866
5dd8a9b1
ZW
128672002-01-10 Zack Weinberg <zack@codesourcery.com>
12868
12869 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
12870 * configure: Regenerate.
12871
12872 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
12873 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
12874 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
12875 alpha/xm-vms.h.
12876 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
12877 LIMITS_H_TEST here, not in m68k/x-next.
12878 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
12879 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
12880
12881 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
12882 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
12883 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
12884
12885 * config/i386/x-djgpp: Renamed i386/t-djgpp.
12886 * config/m88k/x-dolph: Renamed m88k/t-dolph.
12887 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
12888 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
12889 replacement of quadlib.asm with quadlib.c.
12890
12891 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
12892 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
12893 config/rs6000/xm-beos.h: Delete file.
12894
12895 * config.gcc: Update to match above changes.
12896
d10dd44c
KH
128972002-01-10 Kazu Hirata <kazu@hxi.com>
12898
12899 * config/h8300/h8300.h: Fix comment typos.
12900 * config/h8300/h8300.md: Likewise.
12901 * config/h8300/lib1funcs.asm: Likewise.
12902
04894c5a
DJ
129032002-01-10 Dale Johannesen <dalej@apple.com>
12904
12905 PR optimization/5269
12906 * unroll.c (precondition_loop_p): Make *increment be the correct
12907 sign when n_iterations known, to avoid confusing caller.
12908
adc9fe67
KH
129092002-01-10 Kazu Hirata <kazu@hxi.com>
12910
12911 * doc/extend.texi (deprecated): Fix a typo.
12912
b446e5a2
JH
12913Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
12914
12915 * basic-block.h (update_br_prob_note): Declare.
12916 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
12917 (try_forward_edges): Care negative frequencies and update note.
12918 (outgoing_edges_match): Tweek conditional merging heuristics.
12919 (try_crossjump_to_edge): use update_br_prob_note.
12920 * cfglayout.c (fixup_reorder_chain): Likewise.
12921 * cfrtl.c (update_br_prob_note): New.
12922 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
12923
12924 * i386.c (ix86_decompose_address): Return -1 if address contains
12925 shift.
12926 (legitimate_address_p): Require ix86_decompose_address to return 1.
12927
12928 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
12929 (cprop_insn): Likewise.
12930
a01da83b
KH
129312002-01-10 Kazu Hirata <kazu@hxi.com>
12932
12933 * toplev.c: Fix formatting.
12934 * tree.c: Likewise.
12935 * tree-dump.c: Likewise.
12936 * unroll.c: Likewise.
12937 * unwind-dw2.c: Likewise.
12938 * unwind-dw2-fde.c: Likewise.
12939 * unwind-dw2-fde-glibc.c: Likewise.
12940 * unwind-sjlj.c: Likewise.
12941
9f85bca7
JM
129422002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
12943
12944 * doc/invoke.texi: Document PDP-11 options.
12945
f48f56b1
KH
129462002-01-10 Kazu Hirata <kazu@hxi.com>
12947
12948 * config/h8300/h8300.h: Fix formatting.
12949
ead39bdf 129502002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
12951
12952 Add __attribute__ ((deprecated)).
12953 * extend.texi: Document __attribute__ ((deprecated)).
12954 * invoke.texi: Document -Wno-deprecated-declarations.
12955 * testsuite/g++.dg/other/deprecated.C: New C++ test.
12956 * testsuite/gcc.dg/deprecated.c: New C test.
12957 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
12958 (c_common_attribute_table): Add "deprecated" entry.
12959 (handle_deprecated_attribute): New function.
12960 * c-decl.c (deprecated_states): New enum.
12961 deprecated_state: State of "deprecated" handling.
12962 (start_decl): Set deprecated_state based on attributes.
12963 (grokdeclarator): Test for deprecated uses, propagate attribute.
12964 * c-typeck.c (build_component_ref): Test for deprecated fields.
12965 (build_external_ref): Test for deprecated primaries.
12966 * diagnostic.c (warn_deprecated_use) New function to issue
12967 warnings about __attribute__ ((depricated)) references.
12968 * flags.h (warn_deprecated_decl): Extern declared for
12969 -W[no-]deprecated-declarations option.
12970 * print-tree.c (print_node): Show deprecated flag status.
12971 * toplev.c (warn_deprecated_decl): Defined.
12972 (W_options): Added "deprecated-declaration".
12973 * toplev.h (warn_deprecated_use): Extern declared.
12974 * tree.h (struct tree_common): Define deprecated_flag.
12975 (TREE_DEPRECATED): New macro to access flag.
12976 * cp/call.c (build_call): Test for deprecated calls.
12977 * cp/class.c (add_implicitly_declared_members): Set global
12978 flag to tell grokdeclarator to not issue deprecated warnings.
12979 * cp/cp-tree.h: Add extern for adding_implicit_members.
12980 * cp/decl.c (deprecated_states): New enum.
12981 (start_decl): Set deprecated_state based on attributes.
12982 (grokdeclarator): Test for deprecated uses, propagate attribute.
12983 * cp/lex.c (do_identifier): Test for deprecated primaries.
12984 * cp/typeck.c (build_component_ref): Test for deprecated fields.
12985
ead39bdf 129862002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
12987
12988 Fix to assign attributes to inline member functions.
12989 * cp/decl.c (start_method): Handle attrlist.
12990
47073a38
KH
129912002-01-10 Kazu Hirata <kazu@hxi.com>
12992
12993 * combine.c (expand_field_assignment): Use subreg_lsb().
12994
d288e53d
DE
129952002-01-10 David Edelsohn <edelsohn@gnu.org>
12996
12997 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
12998 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
12999 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
13000 Recurse for any operand of AND as long as constant is non-zero.
13001
08a02ffa
KH
130022002-01-10 Kazu Hirata <kazu@hxi.com>
13003
13004 * config/h8300/h8300.md: Remove constraints from expanders.
13005
c203e7fe
KH
130062002-01-10 Kazu Hirata <kazu@hxi.com>
13007
13008 * varasm.c: Fix formatting.
13009 * varray.c: Likewise.
13010 * vmsdbgout.c: Likewise.
13011 * xcoffout.c: Likewise.
13012
bcb3bc6d
JH
13013Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
13014
13015 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 13016 update edge probabilities to match.
bcb3bc6d 13017
0a553c7e
JM
130182002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
13019
13020 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
13021 dependencies.
13022 * doc/languages.texi, doc/sourcebuild.texi: New files.
13023 * doc/configfiles.texi: Make a subsubsection. Update.
13024 * doc/configterms.texi: Add @node. Remove warning that this isn't
13025 instructions for building GCC.
13026 * doc/makefile.texi: Make a subsection.
13027 * doc/gccint.texi: Update.
13028
adc7fcb8
JH
13029Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
13030
13031 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
13032
5a4dd0b3
NP
13033Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
13034
13035 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
13036
3987b9db
JH
13037Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
13038
13039 * optabs.c (expand_fix): Look for wider integer modes first.
13040
13041 * i386.md (mov?f): Avoid the fake const double trick for medium
13042 memory model.
13043 (min?f*/max?f*): Prohibit memory operands for i387 variant.
13044 (fop_df_4): Disable for SSE compilation.
13045
ceb15948 130462002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
13047
13048 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 13049 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 13050
e1623399
RH
130512002-01-10 Richard Henderson <rth@redhat.com>
13052
13053 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
13054
c4abb293
RH
130552002-01-10 Richard Henderson <rth@redhat.com>
13056
13057 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
13058 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
13059
d2604ae9
KH
130602002-01-10 Kazu Hirata <kazu@hxi.com>
13061
13062 * combine.c (can_combine_p): Fix a comment typo.
13063
766c7ad1
ZW
130642002-01-09 Zack Weinberg <zack@codesourcery.com>
13065
13066 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
13067 empty list correctly. Change loop index $t to $f for
13068 consistency with rest of Makefile.
13069
95385cbb
AH
130702002-01-08 Aldy Hernandez <aldyh@redhat.com>
13071
13072 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
13073 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
13074
13075 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
13076 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
13077 (altivec_init_builtins): Same.
13078 (altivec_expand_unop_builtin): Return NULL_RTX on error.
13079 (altivec_expand_binop_builtin): Same.
13080 (altivec_expand_ternop_builtin): Same.
13081 (bdesc_dst): New.
13082
13083 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
13084 ("altivec_vctuxs"): Fix typo.
13085 ("altivec_vnmsubfp"): Same.
13086 ("altivec_dssall"): New.
13087 ("altivec_mfvscr"): New.
13088 ("altivec_dss"): New.
13089 ("altivec_lvsl"): New.
13090 ("altivec_lvsr"): New.
13091 ("altivec_dstt"): New.
13092 ("altivec_dstst"): New.
13093 ("altivec_dststt"): New.
13094 ("altivec_dst"): New.
13095
13096 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
13097 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
13098
e4ac76b4
RH
130992002-01-09 Richard Henderson <rth@redhat.com>
13100
13101 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
13102
c893e4a4
HPN
131032002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
13104
13105 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
13106 function.
13107 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
13108 prototype.
7387c700 13109 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 13110
f4f4d0f8
KH
131112002-01-09 Kazu Hirata <kazu@hxi.com>
13112
13113 * read-rtl.c: Fix formatting.
13114 * real.c: Likewise.
13115 * regclass.c: Likewise.
13116 * regrename.c: Likewise.
13117 * reg-stack.c: Likewise.
13118 * reload1.c: Likewise.
13119 * reload.c: Likewise.
13120 * rtl.c: Likewise.
13121
cc863bea
KH
131222002-01-09 Kazu Hirata <kazu@hxi.com>
13123
13124 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
13125 to extract items in the expr_list chain.
13126
7b4dfe3d
RH
131272002-01-09 Richard Henderson <rth@redhat.com>
13128
13129 * config/vax/vax.c (vax_rtx_cost): Never abort.
13130
1d969638
RH
13131 * config/vax/vax.h (REAL_ARITHMETIC): Define.
13132
7d5ab30e
JH
131332002-01-09 Jan Hubicka <jh@suse.cz>
13134
13135 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
13136
9503f3d1
RH
131372002-01-09 Richard Henderson <rth@redhat.com>
13138
13139 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
13140 Unify code from various alternatives.
13141
42bd17b7
RH
131422002-01-09 Richard Henderson <rth@redhat.com>
13143
13144 * regrename.c (copy_value): Ignore the copy if the source register
13145 is present in the value chain with a narrower mode.
13146
bdca3c33
HB
131472002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
13148
cda94cbb
RH
13149 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
13150 for the c4x target. Also improve layout.
bdca3c33 13151
c73a5e94
RH
131522002-01-09 Richard Henderson <rth@redhat.com>
13153
13154 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
13155 * config/m32r/m32r.md (and ior xor splitters): Swap operands
13156 to match insn patterns.
13157
dd0a18c0
RH
131582002-01-09 Richard Henderson <rth@redhat.com>
13159
13160 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
13161 (copyprop_hardreg_forward_1): Likewise.
13162
1fd9ac1e
JDA
131632002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
13164
13165 * pa.md (decrement_and_branch_until_zero): Change predicate for
13166 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
13167
5cb265ec
BM
131682002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
13169
13170 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
13171 gets undefined. For Darwin.
13172
fcd8fa8b
HB
131732002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
13174
13175 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
13176
bd3ab23a
MH
131772002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
13178
13179 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
13180
21e16bd6
RH
131812002-01-08 Richard Henderson <rth@redhat.com>
13182
13183 * regrename.c (copy_value): Ignore overlapping copies.
13184
a5376276
RH
131852002-01-08 Richard Henderson <rth@redhat.com>
13186
13187 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
13188 as needed to avoid shared structure.
13189
18cf8dda
KH
131902002-01-08 Kazu Hirata <kazu@hxi.com>
13191
13192 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
13193 H8/300H and H8/S.
13194
16c484c7
JM
131952002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
13196
13197 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
13198 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
13199 documentation of obsolete macros.
13200 * system.h: Poison these macros.
13201 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
13202 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
13203 config/c4x/c4x.h, config/clipper/clipper.h,
13204 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
13205 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
13206 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
13207 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
13208 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
13209 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
13210 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
13211 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
13212 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
13213 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
13214 config/sparc/sparc.h, config/stormy16/stormy16.h,
13215 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
13216 definitions and commented out definitions of obsolete macros.
13217 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
13218 of MAX_INT_TYPE_SIZE.
13219
14b3e8ef
UW
132202002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
13221
13222 * config/s390/s390.c (s390_preferred_reload_class): Never
13223 return ADDR_REGS if it isn't a subset of the given class.
13224 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
13225 FP_REGS, but all superclasses as well.
13226
13227 * config/s390/s390.c (s390_function_profiler): Fix thinko.
13228
13229 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
13230 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
13231 must not be a const_int.
13232
a693284d
RH
132332002-01-08 Richard Henderson <rth@redhat.com>
13234
13235 * Makefile.in (toplev.o): Depend on options.h.
13236 (gcc.o): Depend on specs.h.
13237
b3ca30df
JJ
132382002-01-08 Jakub Jelinek <jakub@redhat.com>
13239
13240 * expr.c (store_expr): Convert VOIDmode constants back to target's
13241 mode.
13242
24dbb440
GP
132432002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13244
13245 * doc/invoke.texi: Markup gcc as @command. Refer to
13246 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
13247 of http://gcc.gnu.org/thanks.html.
13248
234e114c
DJ
132492002-01-08 Dale Johannesen <dalej@apple.com>
13250
13251 * config/rs6000/rs6000.md: Add missing int register
13252 target case to movdf_low.
13253
0d24f4d1
ZW
132542002-01-08 Zack Weinberg <zack@codesourcery.com>
13255
13256 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
13257 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
13258 (cppinit.o): Depend on except.h.
13259 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
13260 s-specs): New rules.
13261
13262 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
13263 Don't create specs.h/options.h/gencheck.h here. Remove
13264 unnecessary variable settings from last argument of AC_OUTPUT.
13265 * config.in, configure: Regenerate.
13266 * intl.c: Hardcode package name as "gcc".
13267
13268 * cppinit.c: Include except.h.
13269 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
13270 appropriate.
13271 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
13272 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
13273 (!)USING_SJLJ_EXCEPTIONS.
13274 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
13275
ed722f66
JM
132762002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
13277
13278 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
13279 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
13280 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
13281 documentation of obsolete macros.
13282 * system.h: Poison these macros.
13283 * config/d30v/d30v.h, config/ns32k/encore.h,
13284 config/stormy16/stormy16.h: Remove definitions and commented out
13285 definitions of obsolete macros.
13286
31e5e29a
NP
13287Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
13288
13289 * objc/objc-act.c (handle_class_ref): Mark the declaration of
13290 %sobjc_class_ref_%s as used - to prevent unwanted compiler
13291 warnings.
13292
bc1fa59c
UW
132932002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
13294
13295 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
13296 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
13297 to insn adjusting stack/frame pointer.
0d24f4d1 13298 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
13299 accept operands that cause the insn to be non-splittable.
13300
a8086abf
GS
133012002-01-08 Graham Stott <grahams@redhat.com>
13302
13303 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
13304 (C_TYPE_FIELDS_VOLATILE): Likewise.
13305 (C_TYPE_BEING_DEFINED): Likewise.
13306 (C_IS_RESERVED_WORD): Likewise.
13307 (C_TYPE_VARIABLE_SIZE): Likewise.
13308 (C_DECL_VARIABLE_SIZE): Likewise.
13309 (C_MISSING_PROTOTYPE_WARNED): Likewise.
13310 (C_SET_EXP_ORIGINAL_CODE): Likewise.
13311 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
13312 parenthesis.
13313 (C_DECL_ANTICIPATED): Likewise.
13314 (c_build_type_variant): Add parenthesis.
13315
3f595aa1
JM
133162002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
13317
13318 * gcc.c (option_map): Remove --version.
13319 (process_command): Handle -fversion following the GNU Coding
13320 Standards. Partially addresses PR other/704.
13321
5bc5a8f9
GS
133222002-01-08 Graham Stott <grahams@redhat.com>
13323
13324 * combine.c (combine_instructions): Fix typo.
13325
16ec4ebf
GS
133262002-01-08 Graham Stott <grahams@redhat.com>
13327
13328 * debug.h: Use "tree" and "rtx" throughout.
13329
13330 * debug.c: Likewise.
13331
4b69f385
NC
133322002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
13333
13334 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
13335 constant pool, use the pool's version of the symbol instead.
13336
57d1019b
RH
133372002-01-07 Richard Henderson <rth@redhat.com>
13338
13339 * regrename.c (find_oldest_value_reg): Ignore the value chain if
13340 the original register was copied in a mode with a fewer number of
13341 hard registers than the desired mode.
13342 (copyprop_hardreg_forward_1): Likewise.
13343 (debug_value_data): Fix loop test.
13344 * toplev.c (parse_options_and_default_flags): Reenable
13345 -fcprop-registers at -O1.
13346
133472002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 13348
0d24f4d1
ZW
13349 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
13350 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 13351
0d24f4d1
ZW
13352 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
13353 predicates.
fa066a23 13354
0d24f4d1 13355 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 13356
8f949e7e
JDA
133572002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
13358
13359 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
13360 (pa_output_function_prologue): Output local label at the beginning of
13361 the prologue when profiling.
13362 (hppa_profile_hook): Use the local label rather than the function label.
13363 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
13364
c62f2db5
AH
133652002-01-07 Aldy Hernandez <aldyh@redhat.com>
13366
0d24f4d1
ZW
13367 * config/rs6000/rs6000.c (print_operand): Remove extra space.
13368 (altivec_expand_unop_builtin): Fix thinko.
13369 (altivec_expand_binop_builtin): Same.
13370 (altivec_expand_ternop_builtin): Same.
13371 (altivec_expand_builtin): Same.
c62f2db5 13372
b5235ba7
RH
133732002-01-07 Richard Henderson <rth@redhat.com>
13374
13375 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
13376
7d8ac293
JM
133772002-01-07 Jason Merrill <jason@redhat.com>
13378
13379 * unwind-dw2.c (execute_cfa_program): Use < again.
13380
571a03b8
JJ
133812002-01-07 Jakub Jelinek <jakub@redhat.com>
13382
13383 * predict.c (combine_predictions_for_insn): Avoid division by zero.
13384
2e951384
JJ
133852002-01-07 Jakub Jelinek <jakub@redhat.com>
13386
13387 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
13388 Don't allow -1 - x -> ~x simplifications in the first pass.
13389
20e26713
AH
133902002-01-07 Aldy Hernandez <aldyh@redhat.com>
13391
0d24f4d1
ZW
13392 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
13393 arguments.
13394 (altivec_expand_binop_builtin): Same.
13395 (altivec_expand_unop_builtin): Same.
13396 (print_operand): Fix typo.
13397 (bdesc_1arg): Add vupk* variants.
20e26713 13398
0d24f4d1 13399 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 13400
0d24f4d1 13401 * rs6000.md: Add altivec_vupk* variants.
20e26713 13402
4dd57c18
JM
134032002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
13404
13405 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
13406 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
13407 and last update dates.
13408
0341c5d2
JJ
134092002-01-07 Janis Johnson <janis187@us.ibm.com>
13410
13411 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
13412
c7f3e0b0
MM
134132002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
13414
13415 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
13416 * config/avr/avr.h (CPP_SPEC): Likewise.
13417 (LINK_SPEC): Likewise.
13418 (CRT_BINUTILS_SPECS): Likewise.
13419 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
13420 * doc/invoke.texi (AVR Options): Document them.
13421
6ba4d630
JH
13422Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
13423
13424 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
13425 LABEL_NUSES.
13426
6253d571
GS
134272002-01-07 Graham Stott <grahams@redhat.com>
13428
0d24f4d1
ZW
13429 * config/i386/i386.h: Update copyright date.
13430 (HALF_PIC_PTR): Add parenthesis.
13431 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
13432 (CONSTANT_ALIGNMENT): Add parenthesis.
13433 (DATA_ALIGNMENT): Likewise.
13434 (LOCAL_ALIGNMENT): Likewise.
13435 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
13436 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
13437 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
13438 (HARD_REGNO_NREGS): Add paranethesis.
13439 (VALID_SSE_REG_MODE): Whitespace.
13440 (VALID_MMX_REG_MODE): Whitespace.
13441 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
13442 (ix86_hard_regno_mode_ok): Add parenthesis.
13443 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
13444 (RETURN_IN_MEMORY): Whitespace.
13445 (N_REG_CLASSES): Add parenthesis.
13446 (INTEGER_CLASS_P): Add parenthesis and wrap.
13447 (FLOAT_CLASS_P): Likewise.
13448 (SSE_CLASS_P): Likewise.
13449 (MMX_CLASS_P): Likewise.
13450 (MAYBE_INTEGER_CLASS_P): Likewise.
13451 (MAYBE_FLOAT_CLASS_P): Likewise.
13452 (MAYBE_SSE_CLASS_P): Likewise.
13453 (MAYBE_MMX_CLASS_P): Likewise.
13454 (Q_CLASS_P): Likewise.
13455 (GENERAL_REGNO_P): Uppercase macro parameter.
13456 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
13457 (FP_REGNO_P): Likewise.
13458 (ANY_FP_REGNO_P): Uppercase macro parameter.
13459 (SSE_REGNO_P): Likewise.
13460 (SSE_REGNO): Likewise.
13461 (SSE_REG_P): Likewise.
13462 (SSE_FLOAT_MODE_P): Likewise.
13463 (MMX_REGNO_P): Likewise.
13464 (MMX_REG_P):Likewise.
13465 (STACK_REG_P): Likewise.
13466 (NON_STACK_REG_P): Likewise.
13467 (STACK_TOP_P): Likewise.
13468 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
13469 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
13470 (SECONDARY_MEMORY_NEEDED): Likewise.
13471 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
13472 (MD_ASM_CLOBBERS): Whitespace and wrap.
13473 (MUST_PASS_IN_STACK): Whitespace and wrap.
13474 (RETURN_POPS_ARGS): Add parenthesis.
13475 (INIT_CUMULATIVE_ARGS): Likewise.
13476 (FUNCTION_ARG): Likewise.
13477 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
13478 (SETUP_INCOMING_VARARGS): Likewise.
13479 (BUILD_VA_LIST_TYPE): Add parenthesis.
13480 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
13481 parenthsis.
13482 (EXPAND_BUILTIN_VA_ARG): Likewise.
13483 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
13484 (INITIALIZE_TRAMPOLINE): Add parenthesis.
13485 (INITIAL_ELIMINATION_OFFSET): Likewise.
13486 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
13487 (REGNO_OK_FOR_BASE_P): Likewise.
13488 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
13489 (REGNO_OK_FOR_DIREG_P): Likewise.
13490 (REG_OK_FOR_INDEX_P): Whitespace.
13491 (REG_OK_FOR_BASE_P): Whitespace.
13492 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
13493 parenthesis.
13494 (FIND_BASE_TERM): Fix typo.
13495 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
13496 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
13497 (SYMBOLIC_CONST; Whitespace.
13498 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
13499 (ENCODE_SECTION_INFO): Whitespace.
13500 (FINALIZE_PIC): Remove do { ... } while (0).
13501 (PROMOTE_MODE): Wrap in do { ... } while (0).
13502 (CONST_COSTS): Whitespace.
13503 (RTX_COSTS): Add paramethesis, whitespace and wrap.
13504 (REGISTER_MOVE_COST): Add parenthesis.
13505 (MEMORY_MOVE_COST): Likewise.
13506 (EXTRA_CC_MODES): Whitespace.
13507 (SELECT_CC_MODE): Add parenthesis and whitespace.
13508 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
13509 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
13510 (ASM_OUTPUT_LABEL): Add paramethesis.
13511 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
13512 (ASM_OUTPUT_REG_POP): Likewise.
13513 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
13514 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 13515
07933f72
GS
13516 * config/i386/i386.c: Update copyright.
13517 (CHECK_STACK_LIMIT): Add parenthesis.
13518 (AT_BP): Uppercase macro parameter.
13519 (x86_64_int_parameter_registers): Constify.
13520 (x86_64_int_return_registers): Likewise.
13521 (ix86_compare_op0): Use rtx.
13522 (construct_container): Constify INTREG parameter.
13523 (function_arg): Use rtx.
13524
0b4d32c9
GS
13525 * diagnostic.h: Update copyright date.
13526 (output_buffer_state): Add parenthesis.
13527 (output_buffer_format_args): Likewise.
13528
6253d571
GS
13529 * combine.c (combine_instructions): Replace XEXP (links, 0)
13530 with link.
13531
68f3f6f1
L
135322002-01-06 H.J. Lu <hjl@gnu.org>
13533
13534 * cfgcleanup.c (thread_jump): Fix 2 typos.
13535
135362002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 13537
0d24f4d1 13538 * config.gcc: Add support for --enable-altivec.
480f7f3a 13539
13b8c631
CR
135402002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
13541
13542 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
13543
58ad89b1
JJ
135442002-01-06 Jakub Jelinek <jakub@redhat.com>
13545
13546 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
13547 __objc_class_name_*.
13548
e403b4bc
CR
135492002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
13550
13551 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
13552
e41c7831
RH
135532002-01-06 Richard Henderson <rth@redhat.com>
13554
13555 * reorg.c (emit_delay_sequence): Remove death notes, not merely
13556 nop them out. Increment label reference count for REG_LABEL.
13557 (fill_slots_from_thread): Frob label reference count around
13558 delete_related_insns.
13559
3b3b1e32
RH
135602002-01-05 Richard Henderson <rth@redhat.com>
13561
13562 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
13563 jump threading.
13564
c28abdf0
RH
135652002-01-05 Richard Henderson <rth@redhat.com>
13566
13567 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
13568 * integrate.c (output_inline_function): Likewise.
13569 * toplev.c (rest_of_compilation): Do it here instead. Move call
13570 to remove_unnecessary_notes after emitting abstract instance.
13571 Force an emitted nested function to have its parent emited as well.
13572 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
13573 for null.
13574 (rtl_for_decl_location): Do not look at reload data structures
13575 before reload has run.
13576
c4f2c499
KH
135772002-01-05 Kazu Hirata <kazu@hxi.com>
13578
13579 * cse.c: Fix formatting.
13580 * dwarf2asm.c: Likewise.
13581 * dwarf2out.c: Likewise.
13582 * explow.c: Likewise.
13583 * expmed.c: Likewise.
13584 * function.c: Likewise.
13585 * gcov.c: Likewise.
13586 * gencheck.c: Likewise.
13587 * genrecog.c: Likewise.
13588 * ggc-common.c: Likewise.
13589 * ggc-page.c: Likewise.
13590 * global.c: Likewise.
13591
cf0d9408
KH
135922002-01-05 Kazu Hirata <kazu@hxi.com>
13593
13594 * combine.c: Fix formatting.
13595
bedca03a
CR
135962002-01-05 Craig Rodrigues <crodrigu@bbn.com>
13597
13598 PR middle-end/1557
13599 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
13600
0134bf2d
DE
136012002-01-05 David Edelsohn <edelsohn@gnu.org>
13602
13603 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
13604 as 1 for __powerpc64__ as well.
13605
13606 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
13607
13608 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
13609 return it.
13610
9ca88d5a
DB
136112002-01-05 Daniel Berlin <dan@dberlin.org>
13612
13613 * lcm.c: Revert change, due to performance regression it causes on
13614 SPEC because it's slightly more conservative (sigh, I hate
13615 edge-based LCM).
0d24f4d1 13616
1c570418
JH
13617Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
13618
13619 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
13620
d83bb9f7
NB
136212002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
13622
13623 * doc/cppinternals.texi: Update.
13624
3e0f61ac
HPN
136252002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
13626
13627 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
13628 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
13629 negatives.
13630 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
13631 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
13632 kludge for pre-october-14th mmix versions to handle new-found bug
13633 with PUSHJ/PUSHGO and the register stack.
13634 * config/mmix/mmix.h (struct machine_function): Rename member
13635 has_call_value_without_parameters to has_call_without_parameters.
13636 All referers changed.
13637 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
13638 TARGET_MASK_BRANCH_PREDICT): New macros.
13639 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
13640 -mno-reg-stack-fill-bug-workaround.
13641 * config/mmix/mmix.md ("call"): Set struct machine member
13642 has_call_without_parameters.
13643
4deaa2f8
JH
13644Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
13645
13646 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
13647
9f16e871
JH
13648Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
13649
13650 * cfgcleanup.c: Include tm_p.h
13651 (mark_effect): Fix handling of hard register; fix handling of SET
13652
96eb1157
KH
136532002-01-04 Kazu Hirata <kazu@hxi.com>
13654
13655 * config/h8300/h8300.md (anonymous patterns): Check that
13656 operands are registers before using REGNO on them.
13657
48180d68
RM
136582002-01-03 Roland McGrath <roland@frob.com>
13659
13660 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
13661
b0832fe1
JJ
136622002-01-04 Jakub Jelinek <jakub@redhat.com>
13663
13664 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
13665 * c-common.h (genrtl_expr_stmt_value): Likewise.
13666 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
13667 (expand_expr_stmt_value): Add maybe_last argument.
13668 Don't warn about statement with no effect if it is the last statement
13669 in expression statement.
13670 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
13671 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
13672 expand_expr_stmt_value.
13673 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
13674 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
13675 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
13676 as maybe_last to expand_expr_stmt_value.
13677
c1e14513
JL
13678Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
13679
0d24f4d1
ZW
13680 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
13681 be passed in, do not build it.
13682 (c_begin_if_stmt): New function.
13683 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
13684 * c-common.h (c_expand_start_cond): Update prototype.
13685 (c_begin_if_stmt): Prototype new function.
13686 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
13687 * c-parse.in (if_prefix): Use c_begin_if_stmt,
13688 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 13689
b6ec437a
WC
136902002-01-04 William Cohen <wcohen@redhat.com>
13691
13692 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
13693 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
13694 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
13695 * config/pa/som.h (ASM_FILE_START): Likewise.
13696
ead39bdf 136972002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
13698
13699 * lcm.c: Include df.h.
13700 Add available_transfer_function prototype.
13701 (compute_available): Rework to use iterative dataflow framework.
13702 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
13703 with bb_info in df.h
13704 (available_transfer_function): New function.
13705
13706 * Makefile.in (lcm.o): add df.h to dependencies.
13707
551cc6fd
RH
137082002-01-04 Richard Henderson <rth@redhat.com>
13709
13710 * config/alpha/alpha.c (some_operand): Accept HIGH.
13711 (input_operand): Likewise; accept simple references to globals.
13712 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
13713 (alpha_const_double_ok_for_letter_p): Likewise.
13714 (alpha_extra_constraint): Likewise.
13715 (alpha_preferred_reload_class): Likewise. Do not force
13716 symbolic constants to memory.
13717 (alpha_legitimate_address_p): Accept simple references
13718 to small_symbolic_operand.
13719 (alpha_legitimize_address): New arg scratch. Be prepared to be
13720 called when no_new_pseudos. Emit simple symbolic references.
13721 Split integers into low, high, and rest.
13722 (alpha_expand_mov): Use alpha_legitimize_address.
13723 (some_small_symbolic_mem_operand): New.
13724 (split_small_symbolic_mem_operand): New.
13725 * config/alpha/alpha-protos.h: Update.
13726 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
13727 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
13728 (EXTRA_CONSTRAINT): Likewise.
13729 (PREFERRED_RELOAD_CLASS): Likewise.
13730 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
13731 (PREDICATE_CODES): Update.
13732 * config/alpha/alpha.md: New post-reload splitters to convert
13733 simplfied symbolic operands to the form that references $29.
13734 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
13735 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
13736
1eaea054
RH
137372002-01-03 Richard Henderson <rth@redhat.com>
13738
13739 * local-alloc.c (function_invariant_p): Update commentary.
13740
c4cc12b7
L
137412002-01-04 H.J. Lu <hjl@gnu.org>
13742
13743 * toplev.c (rest_of_compilation): Fix a typo when calling
13744 cleanup_cfg.
13745
173bf5be
KH
137462002-01-03 Kazu Hirata <kazu@hxi.com>
13747
13748 * c-common.c: Fix formatting.
13749 * diagnostic.c: Likewise.
13750 * doloop.c: Likewise.
13751 * dwarf2out.c: Likewise.
13752
187462ac
KH
137532002-01-03 Kazu Hirata <kazu@hxi.com>
13754
13755 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
13756 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
13757
5d8ebbd8
NB
137582002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
13759
13760 * cpperror.c: Update comments and copyright.
13761 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
13762 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
13763
518c1311
JDA
137642002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
13765
13766 * collect2.c (main): Use strcmp when testing for "-shared".
13767
d15a58c0
NB
137682002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
13769
13770 * cppmacro.c: Don't include intl.h. Update comments.
13771 (new_number_token): Allocate enough buffer for 64-bit unsigned
13772 integers; update prototype.
13773 * cppmain.c: Update comments.
13774
70f4f91c
WC
137752002-01-03 William Cohen <wcohen@redhat.com>
13776
13777 * function.h (struct function): Add profile.
13778 (current_function_profile): New.
13779 doc/extend.texi: Update documentation.
13780 * final.c (final_start_function): Use current_function_profile
13781 instead of profile_flag.
13782 (profile_after_prologue): Likewise.
13783 * function.c (expand_function_start): Likewise.
13784 (expand_function_start): Likewise.
c4cc12b7 13785 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
13786 (alpha_does_function_need_gp): Likewise.
13787 (alpha_expand_prologue): Likewise.
13788 * config/arm/arm.c (arm_expand_prologue): Likewise.
13789 thumb_expand_prologue: Likewise.
13790 * config/d30v/d30v.c (d30v_stack_info): Likewise.
13791 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
13792 (fr30_expand_prologue): Likewise.
13793 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
13794 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
13795 * config/i386/i386.h (FINALIZE_PIC): Likewise.
13796 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
13797 * config/i960/i960.c (i960_output_function_prologue): Likewise.
13798 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
13799 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
13800 (m32r_expand_prologue): Likewise.
13801 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
13802 (m88k_expand_prologue): Likewise.
13803 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
13804 * config/mips/mips.c (compute_frame_size): Likewise.
13805 (mips_expand_prologue): Likewise.
13806 (mips_can_use_return_insn): Likewise.
13807 * config/pa/elf.h (ASM_FILE_START): Likewise.
13808 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
13809 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
13810 * config/pa/som.h (ASM_FILE_START): Likewise.
13811 * config/romp/romp.c (romp_using_r14): Likewise.
13812 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
13813 (rs6000_stack_info): Likewise.
13814 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 13815 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
13816 * config/v850/v850.c (compute_register_save_size): Likewise.
13817
cb1ac742
JJ
138182002-01-03 Jakub Jelinek <jakub@redhat.com>
13819
13820 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
13821 gen_lowpart_common fails, use gen_lowpart_SUBREG.
13822
61d951df 138232002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 13824
61d951df
TC
13825 * darwin.c (machopic_output_possible_stub_label): Don't generate
13826 stub routines for pseudo-stubs which we've just defined.
13827
505ddab6
KH
138282002-01-03 Kazu Hirata <kazu@hxi.com>
13829
13830 * builtins.c: Fix formatting.
13831 * c-typeck.c: Likewise.
13832 * combine.c: Likewise.
13833 * expr.c: Likewise.
13834 * loop.c: Likewise.
13835
b7e30d8a
AS
138362002-01-03 Andreas Schwab <schwab@suse.de>
13837
13838 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
13839 and return true if _cpp_push_next_buffer pushed a new include
13840 file.
13841 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
13842 _cpp_pop_file_buffer did not push a new file.
13843 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
13844
ff81832f
EC
138452002-01-02 Eric Christopher <echristo@redhat.com>
13846
13847 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
13848 FIND_REG_INC_NOTE call. Update copyright.
13849 * loop.c (canonicalize_condition): Ditto.
13850 * reorg.c (delete_scheduled_jump): Ditto.
13851
8e42ace1
KH
138522002-01-03 Kazu Hirata <kazu@hxi.com>
13853
13854 * gcse.c: Fix formatting.
13855
fb2bf631
GS
138562002-01-03 Graham Stott <grahams@redhat.com>
13857
13858 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
13859 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 13860 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
13861
13862 * system.h: Move forward defs for struct tags rtx_def, union_tree,
13863 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 13864 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
13865
138662002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
13867
13868 * tree.h: Update copyright date.
13869 (IS_EXPR_CODE_CLASS): Add parenthesis.
13870 (TREE_SET_CODE): Add whitespace.
13871 (TREE_CHECK): Add parenthesis.
13872 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
13873 (CST_OR_CONSTRUCTOR_CHECK):
13874 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
13875 (TREE_SYMBOL_REFERENCED): Whitespace.
13876 (INT_CST_LT): Likewise.
13877 (INT_CST_LT_UNSIGNED): Likewise.
13878 (tree_real_cst): Unwrap comment.
13879 (tree_string): Likewise.
13880 (tree_complex): Likewise.
13881 (IDENTIFIER_POINTER): correct cast.
13882 (SAVE_EXPR_CONTEXT): Whitespace.
13883 (EXPR_WFL_FILENAME_NODE): Likewise.
13884 (EXPR_WFL_FILENAME): Remove parenthesis.
13885 (DECL_ORIGIN): Add parenthesis.
13886 (DECL_FROM_INLINE): Use NULL_TREE.
13887 (build_int_2): Whitespace.
13888 (build_type_variant): Add parenthesis.
13889
13890 * gcc/jcf-parse.c: Update copyright date.
13891 (yyparse): Constify resource_filename.
13892
f52eda29
GS
138932002-01-03 Graham Stott <grahams@redhat.com>
13894
13895 * rtl.h: Update copyright date.
13896 (RTL_CHECK1): Wrap long line.
13897 (RTL_CHECK2): Likewise.
13898 (RTL_CHECKC1): Wrap long line and whitespace.
13899 (RTL_CHECKC2): Likewise.
13900 (XWINT): Whitespace.
13901 (XINT): Likewise.
13902 (XSTR): Likewise.
13903 (XEXP): Likewise.
13904 (XVEC): Likewise.
13905 (XMODE): Likewise.
13906 (XBITMAP): Likewise.
13907 (XTREE): Likewise.
13908 (XBBDEF): Likewise.
13909 (XTMPL): Likewise.
13910 (X0WINT): Likewise.
13911 (X0INT):Likewise.
13912 (X0UINT): Likewise.
13913 (X0STR): Likewise.
13914 (X0EXP): Likewise.
13915 (X0VEC): Likewise.
13916 (X0MODE): Likewise.
13917 (X0BITMAP): Likewise.
13918 (X0TREE): Likewise.
13919 (X0BBDEF): Likewise.
13920 (X0ADVFLAGS): Likewise.
13921 (X0CSELIB): Likewise.
13922 (X0MEMATTR): Likewise.
13923 (XCWINT): Likewise.
13924 (XCINT): Likewise.
13925 (XCUINT): Likewise.
13926 (XCSTR): Likewise.
13927 (XCEXP): Likewise.
13928 (XCVEC): Likewise.
13929 (XCMODE): Likewise.
13930 (XCBITMAP): Likewise.
13931 (XCTREE): Likewise.
13932 (XCBBDEF): Likewise.
13933 (XCADVFLAGS): Likewise.
13934 (XCCSELIB): Likewise.
13935 (XC2EXP): Likewise.
13936 (INSN_UID): Likewise.
13937 (PREV_INSN): Likewise.
13938 (PATTERN): Likewise.
13939 (INSN_CODE): Likewise.
13940 (PUT_REG_NOTE_KIND): Likewise.
13941 (CODE_LABEL_NUMBER): Likewise.
13942 (NOTE_SOURCE_FILE): Likewise.
13943 (NOTE_BLOCK): Likewise.
13944 (NOTE_EH_HANDLER): Likewise.
13945 (NOTE_RANGE_INFO): Likewise.
13946 (NOTE_LIVE_INFO): Likewise.
13947 (NOTE_BASIC_BLOCK): Likewise.
13948 (NOTE_EXPECTED_VALUE): Likewise.
13949 (NOTE_LINE_NUMBER): Likewise.
13950 (LABEL_NAME): Likewise.
13951 (LABEL_NUSES): Likewise.
13952 (LABEL_ALTERNATE_NAME): Likewise.
13953 (ADDRESSOF_DECL): Likewise.
13954 (JUMP_LABEL): Likewise.
13955 (LABEL_NEXTREF): Likewise.
13956 (REGNO): Likewise.
13957 (ORIGINAL_REGNO: Likewise.
13958 (HARD_REGISTER_NUM_P): Add parenthesis.
13959 (SUBREG_REG): Whitespace.
13960 (SUBREG_BYTE): Likewise.
13961 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
13962 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
13963 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
13964 (ASM_OPERANDS_INPUT_VEC): Likewise.
13965 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
13966 (ASM_OPERANDS_INPUT): Likewise.
13967 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
13968 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
13969 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
13970 (ASM_OPERANDS_INPUT_MODE): Likewise.
13971 (ASM_OPERANDS_SOURCE_FILE): Likewise.
13972 (ASM_OPERANDS_SOURCE_LINE): Likewise.
13973 (MEM_SET_IN_STRUCT_P): Minor reformat.
13974 (TRAP_CONDITION): Whitespace.
13975 (TRAP_CODE): Likewise.
13976 (COND_EXEC_TEST): Likewise.
13977 (COND_EXEC_CODE): Likewise.
13978 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
13979 (PHI_NODE_P): Add parenthesis.
13980 (plus_constant): Whitespace and add parenthesis.
13981
e03f5d43
KH
139822002-01-03 Kazu Hirata <kazu@hxi.com>
13983
13984 * config/avr/avr.c: Fix comment typos.
13985 * config/c4x/c4x.md: Likewise.
13986 * config/dsp16xx/dsp16xx.h: Likewise.
13987 * config/dsp16xx/dsp16xx.md: Likewise.
13988 * config/i386/i386.md: Likewise.
13989 * config/ia64/ia64.c: Likewise.
13990 * config/m32r/m32r.h: Likewise.
13991 * config/m68hc11/m68hc11.md: Likewise.
13992 * config/mmix/mmix.c: Likewise.
13993 * config/mn10200/mn10200.c: Likewise.
13994 * config/romp/romp.c: Likewise.
13995 * config/sh/sh.c: Likewise.
13996 * config/stormy16/stormy16.c: Likewise.
13997 * config/stormy16/stormy16.h: Likewise.
13998 * config/stormy16/stormy16.md: Likewise.
13999
97e300e9
GS
140002002-01-03 Graham Stott <grahams@redhat.com>
14001
14002 * loop.h: Update copyright date.
0d24f4d1
ZW
14003 (LOOP_MOVABLES): Fix typo.
14004 (LOOP_REGS): Likewise.
14005 (LOOP_IVS): Likewise.
ff81832f 14006
745b26b3
GS
140072002-01-03 Graham Stott <grahams@redhat.com>
14008
14009 * cppinit.c: Update copyright date.
14010 Don't include output.h
14011 * Makefile.in: Update copyright date.
14012 Update dependency.
14013
0a379b7a
CR
140142002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
14015
14016 PR c/5226
14017 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
14018 (-pthread) Add to RS/6000 options.
14019
a8154559
KH
140202002-01-02 Kazu Hirata <kazu@hxi.com>
14021
14022 * except.c: Fix comment typos.
14023 * loop.c: Likewise.
14024 * varasm.c: Likewise.
14025 * doc/tm.texi: Fix a typo.
14026
e6ecc89b
JJ
140272002-01-02 Jakub Jelinek <jakub@redhat.com>
14028
14029 * c-typeck.c (output_init_element): Allow initializing static storage
14030 duration objects with compound literals.
14031
d1094b40
RH
140322002-01-02 Richard Henderson <rth@redhat.com>
14033
14034 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
14035 after abusing it.
14036
0c5d8c82
KG
140372002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14038
5e65297b
KG
14039 * gcc.c (default_compilers): Const-ify.
14040 * mips-tdump.c (stab_names): Likewise.
14041 * mips-tfile.c (map_coff_types, map_coff_storage,
14042 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
14043 pseudo_ops_t, pseudo_ops): Likewise.
14044 * protoize.c (default_include): Likewise
14045
0c5d8c82
KG
14046 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
14047 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
14048 Add array size in declaration.
14049 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
14050 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
14051 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
14052 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
14053 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
14054 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
14055 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
14056 emtens, make_nan): Const-ify.
14057 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
14058 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
14059
817e13c4
JM
140602002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
14061
14062 * config.gcc (ia64-*-*): Set extra_headers.
14063 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
14064 * config/alpha/t-osf: Remove.
14065 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
14066
98095e2b
DE
140672002-01-02 David Edelsohn <edelsohn@gnu.org>
14068
14069 * config/rs6000/t-aix43: Revert previous change.
14070
a4200657
JM
140712002-01-02 Jason Merrill <jason@redhat.com>
14072
14073 * c-decl.c (c_expand_body): Call outlining_inline_function when
14074 emitting an inline function out of line.
14075
54ba1f0d
RH
140762002-01-02 Richard Henderson <rth@redhat.com>
14077
14078 * dwarf2out.c (limbo_die_node): Add created_for member.
14079 (new_die): New argument created_for. Update all callers.
14080 (mark_limbo_die_list): New.
14081 (dwarf2out_init): Register limbo_die_list as a root.
14082 (dwarf2out_finish): Force insert limbo dies into their function
14083 context.
14084
323728aa
NS
140852002-01-02 Nathan Sidwell <nathan@codesourcery.com>
14086
14087 PR c++/5089
14088 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
14089
aefc5826
KH
140902002-01-02 Kazu Hirata <kazu@hxi.com>
14091
14092 * config/h8300/fixunssfsi.c: Update copyright.
14093 Fix comment typos.
14094 Fix formatting.
14095 * config/h8300/h8300.c: Update copyright.
14096 Eliminate warnings.
14097
b1c9bc51
KH
140982002-01-02 Kazu Hirata <kazu@hxi.com>
14099
14100 * config/romp/romp.c: Fix comment formatting.
14101 * config/romp/romp.h: Likewise.
14102 * config/romp/romp.md: Likewise.
14103 * config/s390/s390.c: Likewise.
14104 * config/stormy16/stormy16.c: Likewise.
14105 * config/stormy16/stormy16.h: Likewise.
14106
1574ef13
AO
141072002-01-02 Alexandre Oliva <aoliva@redhat.com>
14108
14109 * c-common.h (genrtl_expr_stmt_value): Declare.
14110 * c-semantics.c (genrtl_goto_stmt): Redirect to...
14111 (genrtl_goto_stmt_value): ... this new function. Pass new
14112 argument down to expand_expr_stmt_value, taking
14113 TREE_ADDRESSABLE into account.
14114 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
14115 STMT_EXPR as addressable, i.e., one whose result we want.
14116 * expr.c (expand_expr): Don't save expression statement value
14117 of labeled_blocks or loop_exprs.
14118 * stmt.c (expand_expr_stmt): Redirect to...
14119 (expand_expr_stmt_value): ... this new function. Use new
14120 argument to tell whether to save expression value.
14121 (expand_end_stmt_expr): Reset last_expr_type and
14122 last_expr_value if we don't have either.
14123 * tree-inline.c (declare_return_variable): Mark its use
14124 statement as addressable.
14125 * tree.h: Document new use of TREE_ADDRESSABLE.
14126 (expand_expr_stmt_value): Declare.
14127
252b88f7
TR
141282002-01-01 Tom Rix <trix@redhat.com>
14129
14130 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
14131 rs6000_emit_allocate_stack.
14132
29f7a208
JM
141332002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
14134
14135 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
14136 ${srcdir}/ginclude/ to every entry in extra_headers.
14137 * configure: Regenerate.
14138 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
14139 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
14140 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
14141 * ginclude/proto.h: Rename to config/convex/proto.h.
14142
2cc2d4bb
RK
14143Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14144
14145 * attribs.c (handle_vector_size_attribute): Use host_integerp
14146 and tree_int_cst; remove warnings.
14147 * caller-save.c (insert_restore): Add cast to get rid of warning.
14148 (insert_save): Likewise.
14149 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
14150 * regmove.c (find_matches): Add temporary var to kill a warning.
14151
f01c9bcd
DR
141522002-01-01 Douglas B Rupp <rupp@gnat.com>
14153
16b61764
DR
14154 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
14155 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
14156 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
14157 (vms-dwarf2eh.o): Add Makefile rule.
14158 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
14159 * config/alpha/vms-dwarf2eh.asm: New file.
14160
f01c9bcd
DR
14161 * gcc.c (delete_if_ordinary): Delete all versions.
14162
91312b81
HPN
141632002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
14164
14165 * config/mmix/mmix.md: Update FIXME to not mention
14166 define_constants.
14167 (MMIX_rJ_REGNUM): New define_constants constant.
14168 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
14169 "*movdicc_real"): Adjust contraints formatting.
14170 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
14171 for branch prediction.
14172 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
14173 output template.
14174 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
14175 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
14176 number. Delete related FIXMEs.
14177 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
14178 from number to MMIX_rJ_REGNUM.
14179 (TARGET_MASK_BRANCH_PREDICT): New.
14180 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
14181 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
14182 value. Add -mbranch-predict and -mno-branch-predict.
14183 (TARGET_VERSION): Drop date.
14184 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
14185 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
14186 for finding out global symbols.
14187 (mmix_asm_output_labelref): Revert condition for global symbol.
14188 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
14189 (mmix_print_operand_punct_valid_p): A '+' is valid.
14190
619acae7 14191See ChangeLog.6 for earlier changes.
This page took 1.688429 seconds and 5 git commands to generate.