]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
rtti.c (emit_tinfo_decl): Call import_export_decl.
[gcc.git] / gcc / ChangeLog
CommitLineData
12a41c22
NB
12002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
2
3 * Makefile.in (c-common.o, cppinit.o): Update.
4 * c-common.c: Include except.h.
5 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
6 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
7 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
8 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
9 CPP_PREDEFINES): Handle here.
10config:
11 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
12 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
13 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
14 TARGET_OS_CPP_BUILTINS.
15 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
16 (CPP_SPEC, EXTRA_SPECS): Update.
17 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
18 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
19 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
20 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
21 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
22doc:
23 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
24 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
25
5692c7bc
ZW
262002-05-12 Zack Weinberg <zack@codesourcery.com>
27
28 * emit-rtl.c (global_rtl): Update comment.
29 (const_double_htab, const_double_htab_hash,
30 const_double_htab_hash, lookup_const_double): New.
31 (const_int_htab_hash, const_int_htab_eq): Remove const
32 qualifiers, which cause tons of warnings with RTL checking on.
33 (gen_rtx_CONST_DOUBLE): Deleted.
34 (const_double_from_real_value): New function - bears some
35 resemblance to the former immed_real_const_1.
36 (immed_double_const): Moved here from varasm.c and
37 simplified.
38 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
39 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
40 (gen_rtx): Use immed_double_const.
41 (init_emit_once): Initialize the const_double_htab. Use
42 REAL_VALUE_FROM_INT where possible. Can now use
43 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
44 * varasm.c (struct varasm_status): Remove x_const_double_chain.
45 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
46 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
47 (init_varasm_status, mark_varasm_status): Don't touch
48 x_const_double_chain.
49
50 * output.h: Delete prototype for clear_const_double_mem.
51 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
52 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
53 const_double_from_real_value, not immed_real_const_1, and use
54 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
55 CONST_DOUBLE_ATOF.
56 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
57 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
58 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
59 (gen_rtx_REG): Second arg is unsigned.
60
61 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
62 (excluded_rtx): New, return true for CONST_DOUBLE.
63 (genmacro): Write nothing for excluded codes.
64 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
65 * expr.c (expand_expr): Likewise.
66 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
67 CONST_DOUBLE_CHAIN.
68 * toplev.c (rest_of_compilation): Don't call
69 clear_const_double_mem.
70
71 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
72 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
73 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
74 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
75 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
76 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
77 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
78 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
79
31397a7b
KG
802002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
81
82 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
83
1b70d38a
TT
842002-05-12 Tom Tromey <tromey@redhat.com>
85
86 * tree.h (copy_node): Don't mention TREE_PERMANENT.
87
9a5834ae
ZW
882002-05-12 Zack Weinberg <zack@codesourcery.com>
89
90 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
91 (scan_comma_elt): New function. Accepts whitespace in comma lists.
92 * gensupport.h: Prototype new routines.
93 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
94 use of printf.
95 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
96 (next_comma_elt): Use scan_comma_elt.
97
98 * config/i386/i386.md: Use new attribute notation to break up
99 long lines in define_attr forms.
100
51286de6
RH
1012002-05-12 Richard Henderson <rth@redhat.com>
102
103 * expr.c (compress_float_constant): New.
104 (emit_move_insn): Use it.
105 (float_extend_from_mem): New.
106 (init_expr_once): Initialize it.
107 * real.c (exact_real_truncate): New.
108
109 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
110 dropped into memory; penalize for size.
111 (RTX_COSTS): FLOAT_EXTEND is free.
112 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
113 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
114
6412341e
RH
1152002-05-12 Richard Henderson <rth@redhat.com>
116
117 * profile.h (profile_info): Add missing extern to declaration.
118 * profile.c (profile_info): Define it.
119
12877f09
JDA
1202002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
121
122 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
123 used for DImode and TImode.
124
387f9e32
NB
1252002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
126
127 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
128 fake a newline.
129
e1a0f69c
ZW
1302002-05-11 Zack Weinberg <zack@codesourcery.com>
131
132 * config/rs6000/rs6000.c (rs6000_default_long_calls,
133 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
134 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
135 (rs6000_override_options): Handle -m(no-)longcall.
136 (init_cumulative_args, output_mi_thunk): Check for both
137 longcall and shortcall attributes on the function.
138 (rs6000_attribute_table): Add "shortcall".
139 (rs6000_handle_longcall_attribute): Update comment.
140 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
141 altivec_expand_ternop_builtin): Add default clauses to switches
142 to silence warnings.
143
144 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
145 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
146 (TARGET_OPTIONS): Add longcall and no-longcall.
147
148 * config/rs6000/rs6000.md (call_nonlocal_sysv,
149 call_value_nonlocal_sysv): Split by alternatives. One pair
150 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
151 the call cookie. The other pair accepts only LR/CTR and has
152 no restriction.
153
154 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
155 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
156 tmake_file.
157 * config/rs6000/rs6000-c.c: New file.
158 * config/rs6000/t-rs6000-c-rule: New file.
159 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
160 Prototype rs6000_pragma_longcall.
161
162 * doc/extend.texi: Document shortcall attribute.
163 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
164
9c64026d
JDA
1652002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
166
167 * reorg.c (dbr_schedule): Remove unnecessary test.
168
6c81a490
JH
169Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
170
171 * i386.md (testsi to testqi spliters): New.
172
173 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
174
175 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
176
177 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
178
179 * basic-block.h: New flag EDGE_CAN_FALLTHRU
180 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
181 that can be made fallthru.
182
183 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
184
185 * cfglayout.c (cleanup_unconditional_jumps): New static function.
186 (cfg_layout_initialize): Use it.
4c476cf3 187
e4447d94
MM
1882002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
189
190 * config/avr/avr.c (avr_mcu_types): Update supported devices.
191 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
192 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
193
3a538a66
KH
1942002-05-11 Kazu Hirata <kazu@cs.umass.edu>
195
196 * dbxout.c: Fix formatting.
197 * dependence.c: Likewise.
198 * df.c: Likewise.
199 * diagnostic.c: Likewise.
200 * doloop.c: Likewise.
201 * dominance.c: Likewise.
202 * doschk.c: Likewise.
203 * dwarf2asm.c: Likewise.
204 * dwarf2out.c: Likewise.
205 * dwarfout.c: Likewise.
206
2292e8fc
RH
2072002-05-10 Richard Henderson <rth@redhat.com>
208
209 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
210 Convert integers constants as needed. Replace "nwords" field with
211 "sizeof_bb".
212 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
213 * function.h: Fix typo in comment.
214 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
215
dbfb1116
RS
2162002-05-10 Roger Sayle <roger@eyesopen.com>
217
218 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
219 into the equivalent (signed char)c > 0.
220
79a497cd
JJ
2212002-05-10 Janis Johnson <janis187@us.ibm.com>
222
223 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
224 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
225 (struct prefetch_info): Fix spelling of member bytes_accessed.
226 (emit_prefetch_instructions): Make dump messages more regular;
227 restructure code to add more dump messages; use new macros for
228 heuristics. (There are no code generation changes in any of this).
229
6c45cb0d
DM
2302002-05-10 David S. Miller <davem@redhat.com>
231
7440af14
DM
232 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
233 (struct rtx_def): Update unchanging flag comment.
234 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
235 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
236 to be handled to INSN too.
237 (dbr_schedule): Likewise.
238 * resource.c (next_insn_no_annul): Likewise.
239
6c45cb0d
DM
240 * cse.c (rtx_cost): Remove multiplication by power of 2 special
241 casing.
242
e4ba88da
RO
2432002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
244
245 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
246 . as N64/N32 libgcc_s.so subdirs.
247
4f4778ee
DM
2482002-05-10 David S. Miller <davem@redhat.com>
249
250 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
251
252 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
253 more accurately.
254 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
255 comment.
256 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
257 * doc/rtl.texi: Document these macros more accurately.
258 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
259 JUMP_INSNs and CALL_INSNs.
260 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
261 or INSN_FROM_TARGET_P if the code is appropriate.
262
1a499b92
MM
2632002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
264
265 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
266 before using SYMBOL_REF_FLAG (addr).
267
268 * config/avr/avr-protos.h (avr_io_address_p): Declare.
269 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
270 Make non-static. Update all callers.
271 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
272 New insns to clear/set/test a single bit in I/O address space.
273
65212b66
KG
2742002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
275
276 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
277
3df89291
NB
2782002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
279
280 * Makefile.in: Update.
281 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
282 builtin_define_std): New.
283 (c_common_init): Register CPP builtins callback.
284 * c-common.h (flag_iso, flag_undef): New.
285 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
286 * c-lex.c: Don't include target.h.
287 (cb_register_builtins): Move to c-common.c.
288 (init_c_lex): Don't register hook here.
289 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
290 (cpp_define, cpp_assert): Remove.
291 * gcc.c (cc1_options): Pass -undef to front end.
292 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
293 (TARGET_INITIALIZER): Update.
294 * target.h (struct cpp_reader): Don't predeclare.
295 (struct gcc_target): Remove cpp builtin hook.
296 * tree.c (default_register_cpp_builtins): Remove.
297doc:
298 * tm.texi: Update.
299
32fa4565
NB
3002002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
301
302 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
303
23357c55
RO
3042002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
305
306 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
307 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
308
5aa26af0
JJ
3092002-05-09 Jakub Jelinek <jakub@redhat.com>
310
311 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
312 * config/sparc/libgcc-sparc-glibc.ver: New file.
313 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
314 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
315
2937267b
JJ
3162002-05-09 Jakub Jelinek <jakub@redhat.com>
317
318 PR target/6429
319 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
320 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
321 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
322 base multilibs.
323 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
324 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
325 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
326 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
327
086c0f96
RH
3282002-05-09 Richard Henderson <rth@redhat.com>
329
330 * config/ia64/ia64.md: Use define_constants for unspec numbers.
331 * config/ia64/ia64.c: Likewise.
332
a8b4881f
RS
3332002-05-09 Richard Sandiford <rsandifo@redhat.com>
334
335 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
336 (save_restore_insns): Likewise.
337 (mips_expand_prologue, mips_expand_epilogue): Update callers.
338 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
339
890d52e8
JL
340Thu May 9 11:50:09 2002 Jeffrey A Law (law@cygnus.com)
341
af2728a4
JL
342 * athlon.md, k6.md, pentium.md, ppro.md): New files.
343 * i386.md: Move scheduling information into new files.
344
890d52e8
JL
345 * i386.md (type attribute): Add "rotate" for rotate insns.
346 (rotate insns): Set type to "rotate".
347 (various attributes and function units): Treat rotate like shift.
348 (pent_pair attribute): Only rotates by one bit position are
349 pairable.
350 (sbb insns): Explicitly set pent_pair attribute on a couple
351 that were missing it.
352
f78ec36a
R
353Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
354
355 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
356 make sure that buffer starts on odd word address.
357 (sh_va_arg): Skip odd fp registers when reading a double precision
358 value.
359
ff431459
NB
3602002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
361
362 * tree.h (preserve_data, object_permanent_p, type_precision):
363 Remove.
364
c3bf3e6e
NB
3652002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
366
367 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
368 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
369doc:
370 * cpp.texi: Update for removal of obsolete features.
371
02263a8a
JH
372Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
373 Jeffrey A Law (law@redhat.com)
374
375 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
376 the DFA interface for Pentium processors.
377 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
378 (attr_pent_pair, ix86_pent_find_pair): Remove.
379 (ix86_sched_reorder_pentium): Remove.
380 (ix86_sched_reorder): Remove reordering for Pentium.
381 * i386.md (Pentium scheduling): Rewrite using DFA description.
382
3e638a90
JH
383Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
384
385 * cfganal.c (can_fallthru): Fix fast path.
386 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
387 with edges to the next block.
388
b7c9bf28
JH
389Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
390 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
391
392 * final.c (end_final): Use C trees to output data structures for profiling.
393
394 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
395 (profile.o): New dependency profile.h
396 (final.o): New dependency profile.h
397 * profile.h: New file. New global structure profile_info.
398 * final.h (count_edges_instrumented_now): Declare.
399 (current_function_cfg_checksum): Declare.
400 (function_list): New structure.
401 (functions_head, functions_tail): New static variables.
402 (end_final): Emits more data, removed some -ax stuff.
403 (final): Stores function names and chcksums.
404 * gcov-io.h (__write_gcov_string): New function.
405 (__read_gcov_string): New function.
406 * gcov.c (read_profile): New function.
407 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 408 da_file.
5692c7bc
ZW
409 (read_files): Removed da_file checking, it's done by read_profile now.
410 * libgcc2.c (bb_function_info): New structure.
411 (bb): New field in structure, removed some -ax stuff.
412 (__bb_exit_func): Changed structure of da_file.
413 * profile.c (count_edges_instrumented_now): New global variable.
414 (current_function_cfg_checksum): New global variable.
415 (max_counter_in_program): New global variable.
416 (get_exec_counts): New function.
417 (compute_checksum): New function.
418 (instrument_edges): Sets count_edges_instrumented_now.
419 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 420 reading da_file.
5692c7bc
ZW
421 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
422 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 423 now.
5692c7bc 424 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 425 now.
5692c7bc 426 * gcov.texi: Updated information about gcov file format.
b7c9bf28 427
786de7eb
KH
4282002-05-09 Kazu Hirata <kazu@cs.umass.edu>
429
430 * sbitmap.c: Fix formatting.
431 * scan.c: Likewise.
432 * scan-decls.c: Likewise.
433 * sched-deps.c: Likewise.
434 * sched-ebb.c: Likewise.
435 * sched-rgn.c: Likewise.
436 * sched-vis.c: Likewise.
437 * sdbout.c: Likewise.
438 * sibcall.c: Likewise.
439 * simplify-rtx.c: Likewise.
440 * ssa.c: Likewise.
441 * ssa-ccp.c: Likewise.
442 * ssa-dce.c: Likewise.
443 * stmt.c: Likewise.
444 * stor-layout.c: Likewise.
445 * stringpool.c: Likewise.
446
b7764693
DM
4472002-05-09 David S. Miller <davem@redhat.com>
448
449 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
450
4e7d5d27
DM
4512002-05-07 David S. Miller <davem@redhat.com>
452
453 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
454 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
455 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
456 library implementation clobbers the output before the inputs
457 are fully consumed, use stack temporary for the output.
458
f979570e
JT
4592002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
460
461 * config/netbsd.h (CPP_SPEC): Remove.
462 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
463 * config/i386/netbsd.h (CPP_SPEC): Define.
464 * config/ns32k/netbsd.h (CPP_SPEC): Define.
465 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
466 * config/sparc/netbsd.h (CPP_SPEC): Define.
467 * config/vax/netbsd.h (CPP_SPEC): Define.
468
a6a2274a
KH
4692002-05-08 Kazu Hirata <kazu@cs.umass.edu>
470
471 * read-rtl.c: Fix formatting.
472 * real.c: Likewise.
473 * recog.c: Likewise.
474 * regclass.c: Likewise.
475 * regmove.c: Likewise.
476 * reg-stack.c: Likewise.
477 * reload1.c: Likewise.
478 * reload.c: Likewise.
479 * resource.c: Likewise.
480 * rtlanal.c: Likewise.
481 * rtl.c: Likewise.
482 * rtl-error.c: Likewise.
483
461b48d5
JDA
4842002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
485
486 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
487 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
488
95d075ff
BS
4892002-05-08 Bernd Schmidt <bernds@redhat.com>
490
491 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
492 use __SSE2__ macro instead.
493 * config/i386/xmmintrin.h: Likewise.
494
2d4cc6a7
JJ
4952002-05-08 Janis Johnson <janis187@us.ibm.com>
496
497 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
498 and use it in all invocations of these macros. Clean up comments.
499 * rtl.c (rtl_check_failed_flag): Add an argument for the name
500 of the flag access macro whose check failed.
501 * doc/rtl.texi (Flags): Document additional flag uses.
502
3f8ffc7c
RS
5032002-05-08 Robert Spier <rspier@pobox.com>
504 Neil Booth <neil@daikokuya.demon.co.uk>
505
506 PR preprocessor/6521
507 * cppfiles.c (handle_missing_header): Don't do anything
508 different for <> includes.
509doc:
510 * cppopts.texi: Update documentation for -MG.
511
b9e2d17b
NB
5122002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
513
514 * cpplex.c (cpp_interpret_charconst): Truncate as well as
515 sign-extend.
516doc:
517 * cpp.texi: Clarify multichar charconst valuation.
518
8d8269fa
MM
5192002-05-08 Mark Mitchell <mark@codesourcery.com>
520
521 * doc/invoke.texi: Document -mwindiss option.
522
29b91443
JM
5232002-05-08 Jason Merrill <jason@redhat.com>
524
525 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
526
527 * dwarf2out.c (gen_type_die): Abort on broken recursion.
528
529 PR c++/6381
530 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
531 REAL_CST.
532
6c76b950
NC
5332002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
534
535 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
536 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 537 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
538 multilibs for the Thumb.
539
f90bf7ca
MM
5402002-05-08 Mark Mitchell <mark@codesourcery.com>
541
542 PR c/6569.
543 * varasm.c (mark_weak): New function.
544 (merge_weak): Use it. Do not call declare_weak.
545 (declare_weak): Use merge_weak.
546
1e150f2c
JH
547Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
548
549 * cse.c (dead_libcall_p): Update counts.
550 (delete_trivially_dead_insns): Update call of dead_libcall_p.
551
969d70ca
JH
552Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
553
554 * cfglayout.c (function_tail_eff_head): Rename to ...
555 (function_footer): ... this one.
556 (unlink_insn_chain): New functions.
557 (label_for_bb): Only call block_label and emit debug message.
558 (record_effective_endpoints): Actually unlink the headers and footers.
559 (fixup_reorder_cahin): Re-insert the unlinked sequences.
560 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
561 * cfglayout.h (struct reorder_block_def): New fields footer/header;
562 remove eff_head/eff_end.
563 * rtl.h (set_first_insn): Declare.
564 * emit-rtl.c (set_first_insn): New function.
565
566 * cfglayout.c (fixup_reorder_chain): Dump duplicated
567 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
568 cfg_layout_duplicate_bb): New global function.
569 (duplicate_insn_chain): New static function.
570 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
571 cfg_layout_duplicate_bb): Declare.
572 (struct reorder_block_def): Add "original" field.
573 * emit-rtl.c (emit_copy_of_insn_after): New function.
574 * rtl.h (emit_copy_of_insn_after): Declare.
575
576 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
577 (fixup_reorder_chain): properly handle edges to exit block.
578
579Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
580 Jan Hubicka <jh@suse.cz>
581
582 * basic-block.h (note_prediction_to_br_prob): declare.
583 * c-semantics.c: Inlucde predit.h
584 (expand_stmt): predict GOTO_STMT as not taken.
585 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
586 (cleanup_cfg): Do not free tail_recursion_list.
587 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
588 (flow_delete_block): Kill predictions past end of basic block.
589 * output.h (delete_unreachable_blocks): Declare.
590 * predict.c (predicted_by_p, process_note_predictions,
591 process_note_prediction, last_block_p): New function.
592 (estimate_probability): Bypass loop on PRED_CONTINUE;
593 do not handle noreturn heuristics; kill PRED_RETURN; add
594 PRED_EARLY_RETURN.
595 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
596 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
597 * predict.h (IS_TAKEN): New constant.
598 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
599 * rtl.c (NOTE_INSN_PREDICTION): New.
600 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
601 New macro.
602 (insn_note): add NOTE_INSN_PREDICTION.
603 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
604 CFG; free tail_recursion_label_list.
605 * stmt.c: Include predict.h;
606 (return_prediction): New.
607 (expand_value_return): Use it.
608 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
609
41f8d041
RS
6102002-05-08 Richard Sandiford <rsandifo@redhat.com>
611
612 * config/mips/mips.md: Name the unspecs with define_constant.
613 (*HILO_delay): Rename to 'hilo_delay' (no star).
614 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
615 (reload_outdi, reload_outsi): Likewise.
616
9cabb1d8
KH
6172002-05-07 Kazu Hirata <kazu@cs.umass.edu>
618
619 * toplev.c: Fix formatting.
620
4c76f856
JJ
6212002-05-07 Janis Johnson <janis187@us.ibm.com>
622
623 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
624 * configure.in (ac_rtlflag_checking): New.
625 * doc/install.texi (--enable-checking): Document RTL flag checking.
626
44a147ad
NB
6272002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
628
629 * c-common.c (c_common_init): Set options->unsigned_wchar.
630 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
631 group target dependencies.
632 (init_builtins, cpp_handle_option): Update.
633 * cpplex.c (cpp_interpret_charconst): Update.
634 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
635 signed_char to unsigned_char, group target dependencies.
636 * defaults.h (WCHAR_UNSIGNED): Remove.
637 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
638config:
639 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
640 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
641 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
642 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
643 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
644doc:
645 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
646
cace4f93
MM
6472002-05-07 Mark Mitchell <mark@codesourcery.com>
648
649 * fixinc/inclhack.def (windiss_math1): New fix.
650 (windiss_math2): Likewise.
651 (windiss_valist): Likewise.
652 * fixinc/fixincl.x: Regenerated.
653
e2ff6cee
AJ
6542002-05-07 Andreas Jaeger <aj@suse.de>
655
656 * genautomata.c (output_internal_min_issue_delay_func): Add
657 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
658 (output_internal_trans_func): Likewise.
659
bdad4be5
JL
660Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
661
662 * pa.c (hppa_profile_hook): Use force_reg to get the address
663 of the profile hook into an appropriate pseudo register.
664
a1ffecd9
MM
6652002-05-07 Mark Mitchell <mark@codesourcery.com>
666
667 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
668 (LINK_START_SPEC): Handle it.
669 (LINK_OS_SPEC): Likewise.
670 (CPP_SPEC): Likewise.
671 (STARTFILE_SPEC): Likewise.
672 (LIB_SPEC): Likewise.
673 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
674 all platforms.
675 (CRTSAVRES_DEFAULT_SPEC): New macro.
676 (LIB_WINDISS_SPEC): New macro.
677 (CPP_OS_WINDISS_SPEC): Likewise.
678 (STARTFILE_WINDISS_SPEC): Likewise.
679 (ENDFILE_WINDISS_SPEC): Likewise.
680 (LINK_START_WINDISS_SPEC): Likewise.
681 (LINK_OS_WINDISS_SPEC): Likewise.
682 * config/rs6000/windiss.h: New file.
e2ff6cee 683
df966bff
AH
6842002-05-07 Aldy Hernandez <aldyh@redhat.com>
685
a5c76ee6 686 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 687
db84f1bd
DM
6882002-05-06 David S. Miller <davem@redhat.com>
689
690 * config/sparc/sparc.md (shift insns): Do not mask off
691 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
692 take care of it.
693
818c0c94
RH
6942002-05-06 Richard Henderson <rth@redhat.com>
695
696 PR c++/6212
697 * expr.c (highest_pow2_factor_for_type): New.
698 (expand_assignment): Use it.
699
61e0b50f
AH
7002002-05-06 Aldy Hernandez <aldyh@redhat.com>
701
818c0c94
RH
702 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
703 unspec_volatile.
704 ("altivec_mfvscr"): Same.
61e0b50f 705
5a63e069
JJ
7062002-05-06 Janis Johnson <janis187@us.ibm.com>
707
708 * rtl.h (struct rtx_def): Update comments.
709 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
710 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
711 RTL_FLAG_CHECK macros with list of expected RTL codes.
712 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
713 (rtl_check_failed_flag): New.
714 * reload1.c (reload): Use REG macro before changing rtx to MEM.
715 (reload_cse_noop_set_p): Check rtx code before using access macro.
716 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
717 before using access macro.
718
4afe3952
JJ
7192002-05-06 Janis Johnson <janis187@us.ibm.com>
720
721 * doc/rtl.texi (Flags): Update to reflect current usage.
722
1f77b5da
RS
7232002-05-06 Roger Sayle <roger@eyesopen.com>
724
725 PR opt/3995
726 * fold-const.c (sign_bit_p): New function.
727 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 728 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
729 Reapply fold when converting (A & C) == C into (A & C) != 0.
730 (fold_binary_op_with_conditional_arg): Fix typo in comment.
731
a5a49440
NB
7322002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
733
734 * c-common.c (warn_multichar): New.
735 (c_common_init): Set CPP's warn_multichar.
736 * c-common.h (warn_multichar): New.
737 * c-decl.c (warn_multichar): Remove.
738 * c-lex.c (lex_charconst): Update.
739 * c-tree.h (warn_multichar): Remove.
740 * cppexp.c (eval_token): Sign-extend charconst value.
741 * cppinit.c (cpp_create_reader): Set warn_multichar.
742 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
743 each character. Update prototype. Sign-extend the result.
744 * cpplib.h: Fix conditions.
745 (struct cpp_options): Add new warning flag.
746 (cpp_interpret_charconst): Update prototype.
747doc:
748 * cpp.texi: Update documentation.
749
83e0be55
VM
7502002-05-06 Vladimir Makarov <vmakarov@redhat.com>
751
752 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
753 Fix typo in usage of allof instead of unit.
754
688ec718
RH
7552002-05-06 Richard Henderson <rth@redhat.com>
756
757 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
758 and any jump or call for IN.
759
f6536266
BS
7602002-05-06 Bernd Schmidt <bernds@redhat.com>
761
e2ff6cee 762 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
763 -msse2.
764 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 765
0316d49b
RS
7662002-05-06 Roger Sayle <roger@eyesopen.com>
767
768 * fold-const.c (lshift-double): Cast the high word to an unsigned
769 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
770 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
771 avoid compiler warning. (fold): Remove redundant code from
772 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
773
5d50fab3
JL
7742002-05-06 Jeff Law <law@redhat.com>
775
776 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
777 * pa.c (pa_adjust_cost): Remove all true dependency cost
778 adjustments. Also remove support for non-DFA scheduling.
779 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
780 to adjust true dependency costs. Update various comments.
781 (7100lc, 7200, 7300 scheduling): Simplify by combining the
782 FP ALU & MPY units into a single unit.
783
a17a104c
CM
7842002-05-06 Catherine Moore <clm@redhat.com>
785
786 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 787 to count all of the registers that will be saved.
a17a104c 788
7799175f
JH
789Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
790
791 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
792
0ac941a0
DM
7932002-05-06 David S. Miller <davem@redhat.com>
794
795 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
796 allow result to overlap input operands in memory.
797
95ff5d3f
NB
7982002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
799
800doc:
801 * cpp.texi: Update multichar charconst docs.
802
639e8b0c
NB
8032002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
804
805 * cpplex.c (cpp_interpret_charconst): Sign-extend each
806 character. Don't ignore excess characters. Treat
807 multicharacter character constants as signed.
808 (cpp_parse_escape): Clarify diagnostic.
809
84ea5bc1
JJ
8102002-05-05 Jakub Jelinek <jakub@redhat.com>
811
812 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
813 use add instead of shift.
814 (ashldi3_sp64): Likewise.
815 (ashlsi3_const1, ashldi3_const1): Remove.
816 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
817 * config/sparc/sparc.c (const1_operand): New.
818
40cd22f2
JT
8192002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
820
821 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
822
cac01076
JJ
8232002-05-05 Jakub Jelinek <jakub@redhat.com>
824
825 PR target/6561
826 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
827
98791e3a
RH
8282002-05-05 Richard Henderson <rth@redhat.com>
829
830 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
831 memory latency adjustments.
832 (alpha_variable_issue): Remove.
833 (alpha_use_dfa_pipeline_interface): New.
834 (alpha_multipass_dfa_lookahead): New.
835 * config/alpha/alpha.md: Remove define_function_unit scheduling;
836 include new dfa scheduling.
837 (attr type): Add none.
838 (blockage): Use it.
839 * config/alpha/ev4.md: New.
840 * config/alpha/ev5.md: New.
841 * config/alpha/ev6.md: New.
842
309527ce
DM
8432002-05-05 David S. Miller <davem@redhat.com>
844
845 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
846
68252e27
KH
8472002-05-05 Kazu Hirata <kazu@cs.umass.edu>
848
849 * cse.c: Fix formatting.
850 * emit-rtl.c: Likewise.
851
30cc9d00
VM
8522002-05-05 Vladimir Makarov <vmakarov@redhat.com>
853
854 * genautomata.c (initiate_states): Add additional guard to
855 initialize `units_array'.
856
deb09eff
VM
8572002-05-05 Vladimir Makarov <vmakarov@redhat.com>
858
859 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
860 process_unit_to_form_the_same_automaton_unit_lists,
861 form_the_same_automaton_unit_lists
862 check_unit_distributions_to_automata): New prototypes and
863 functions.
864 (check_automata): Rename it into `check_automata_insn_issues'.
865 (unit_decl): New fields `the_same_automaton_unit' and
866 `the_same_automaton_message_reported_p'.
867 (unit_decl_t): New typedef.
868 (the_same_automaton_lists): New gloval variable.
869 (unit_regexp, unit_set_el, units_array, units_cmp,
870 output_get_cpu_unit_code_func): Use the typedef.
871 (evaluate_max_reserv_cycles): Increment
872 `description->max_insn_reserv_cycles'.
873 (initiate_states): Don't increment `max_cycles_num'.
874 (transform_insn_regexps): Move code around transformation of
875 regexps from `generate'.
876 (generate): Remove call of `transform_insn_regexps'.
877 (expand_automata): Call `transform_insn_regexps' and
878 `check_unit_distributions_to_automata'. Check errors before
879 `generate'.
880
881 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
882 automaton `ultrasparc3_1'.
e2ff6cee 883
2443d4e1
NB
8842002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
885
886 * c-common.c (c_common_init): Set up CPP arithmetic.
887 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
888 something reasonable for the host.
889 (sanity_checks): Add checks.
890 (cpp_read_main_file): Call sanity_checks() from here...
891 (cpp_post_options): ... not here.
892 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
893 * cpplib.h (struct cpp_options): New member int_precision.
894
791a949f
FS
8952002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
896
897 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
898
091fb516
DM
8992002-05-04 David S. Miller <davem@redhat.com>
900
f60ebeb7
DM
901 * config/sparc/linux.h, config/sparc/linux64.h
902 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
903
214c6394
DM
904 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
905 more RTX codes.
906 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
907
091fb516
DM
908 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
909 of SETs.
910
f2fdc802
TJ
9112002-05-05 Tim Josling <tej@melbpc.org.au>
912
e2ff6cee 913 * treelang; New directory for new sample language treelang.
f2fdc802 914
3d90d290
NB
9152002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
916
917 * Makefile.in (c-lex.o): Update.
918 * c-lex.c: Include target.h.
919 (cb_register_builtins): New.
920 (init_c_lex): Set builtins callback.
921 * c-lex.h (cpp_define, cpp_assert): New prototypes.
922 * cppinit.c (init_builtins): Use callback, including for
923 GXX_WEAK.
924 * cpplib.h (struct cpp_callbacks): New member.
925 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
926 (TARGET_INITIALIZER): Update.
927 * target.h (struct gcc_target): New hook.
928 * tree.c (default_register_cpp_builtins): New.
929 * tree.h (default_register_cpp_builtins): New.
930doc:
931 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
932
625458d0
NB
9332002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
934
935 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
936 (cpp_post_options): Move sanity checks to...
937 (sanity_checks): New.
938 * cpplex.c (maybe_read_ucs): Fix prototype.
939 (parse_string, cpp_parse_escape): Cast for %c format specifier.
940 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
941 if necessary.
942
916b60b7
BS
9432002-05-04 Bernd Schmidt <bernds@redhat.com>
944
945 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
946 builtins. Use V2DI patterns instead of TI for logical operations.
947 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
948 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
949 (ix86_expand_builtins): Change the pattern used for movntdq.
950 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
951 sse2_nandv2di3): New patterns.
952 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
953 on operands.
954 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
955 (cvtdq2pd): Correct mode on operand 1.
956 (sse2_umulsidi3): Describe without unspec.
957 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
958 machine modes.
959 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
960 (ashlv2di3): Likewise, from sse2_ashlv2di3.
961 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
962 ashlv4si3, ashlv2di3): Use SImode for shift count.
963 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
964 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
965 New patterns.
966 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
967 New typedefs.
968 (__m128i, __m128d): New macros.
969 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
970 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
971 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
972 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
973 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 974 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
975 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
976 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 977 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
978 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
979 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
980 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
981 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
982 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
983 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
984 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
985 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
986 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
987 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
988 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
989 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
990 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
991 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
992 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
993 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
994 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
995 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
996 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
997 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
998 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
999 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
1000 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
1001 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
1002 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
1003 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
1004 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
1005 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
1006 functions.
e2ff6cee 1007 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
1008 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
1009
c26fbbca
KH
10102002-05-04 Kazu Hirata <kazu@cs.umass.edu>
1011
1012 * dwarf2out.c: Fix formatting.
1013 * varasm.c: Likewise.
1014
0387639b
DE
10152002-05-04 David Edelsohn <edelsohn@gnu.org>
1016
1017 PR c/6543
1018 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
1019 clobber and use result as temporary value.
1020
8a28dbcc
JH
1021Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
1022
1023 * expr.c (force_operand): Use expand_simple_* to handle more
1024 cases.
1025
4268e8bb
NB
10262002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
1027
1028 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
1029 and sign-extension.
1030 (lex_charconst): Update for change in prototype of
1031 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
1032 appropriately.
1033 * cpphash.h (BITS_PER_CPPCHAR_T): New.
1034 * cppinit.c (cpp_create_reader): Initialize them for no
1035 change in semantics.
1036 (cpp_post_options): Add sanity checks.
1037 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
1038 and truncation issues. Calculate in type cppchar_t.
1039 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
1040 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
1041 run-time dependent precision correctly. Return whether the
1042 result is signed or not.
1043 * cpplib.c (dequote_string): Use cppchar_t; update.
1044 * cpplib.h (cppchar_signed_t): New.
1045 struct cpp_options): New precision members.
1046 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 1047 * cppexp.c (eval_token): Update.
4268e8bb 1048
af54350e
DM
10492002-05-03 David S. Miller <davem@redhat.com>
1050
2ce04b6b
DM
1051 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
1052 * config/sparc/sparc.c (sparc_rtx_costs): New function
1053 implementing RTX_COSTS and CONST_COSTS.
1054 * config/sparc/sparc.h (CONST_COSTS): Delete.
1055 (RTX_COSTS_CASES): Define.
1056 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
1057 the work.
1058
a1d9bd0c
DM
1059 * config/sparc/sparc.md (DFA schedulers): Split out...
1060 * config/sparc/cypress.md, config/sparc/hypersparc.md,
1061 config/sparc/sparclet.md, config/sparc/supersparc.md,
1062 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
1063
e87bb82e
DM
1064 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
1065 checks on it, always defined for Sparc.
1066
af54350e
DM
1067 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
1068 Tweak, and add more detailed comments.
1069
935bfb44
ZW
10702002-05-03 Zack Weinberg <zack@codesourcery.com>
1071
1072 * Re-apply patch accidentally reverted with
1073 DFA scheduler merge: remove all rules and variables to slurp
1074 source files out of libiberty and rebuild them with HOST_CC.
1075 ($(HOST_PREFIX_1)varray.o): New rule.
1076 (genattrtab rule): Word wrap.
1077
fa7a0712
JT
10782002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
1079
1080 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
1081 (CPP_SUBTARGET_SPEC): Define.
1082 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
1083 cpp_subtarget specs.
1084 (CPP_SPEC): Redefine to include %(cpp_subtarget).
1085
14c93978
DM
10862002-05-03 David S. Miller <davem@redhat.com>
1087
1088 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
1089 * target.h (struct gcc_target): Delete cycle_display member.
1090
14d118d6
DM
1091 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
1092 (rtx_needs_barrier): Delete reference to cycle_display unspec.
1093 (ia64_sched_reorder2): Mention need for cycle display handling
1094 once such notes exist.
935bfb44 1095
b3ae1ccd
RH
10962002-05-03 Richard Henderson <rth@redhat.com>
1097
1098 * real.c (etoasc): Strip most trailing zeros for clarity.
1099 * sched-vis.c: Include real.h.
1100 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
1101 * Makefile.in (sched-vis.o): Add real.h.
1102
8f39865a
DM
11032002-05-03 David S. Miller <davem@redhat.com>
1104
1105 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
1106 no longer needed.
1107
b44140e7
AH
11082002-05-03 Aldy Hernandez <aldyh@redhat.com>
1109
935bfb44
ZW
1110 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
1111 when we get an out of range literal.
1112 (altivec_expand_ternop_builtin): Same.
1113 (altivec_expand_unop_builtin): Same.
1114 (altivec_expand_builtin): Same, for dss.
1115 (altivec_expand_builtin): Use trees instead of rtl when
1116 determining literal argument validity.
b44140e7 1117
aaaed752
DM
11182002-05-03 David S. Miller <davem@redhat.com>
1119
1120 Delete cycle display scheduling hook.
1121 * config/ia64/ia64.c (ia64_cycle_display,
1122 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
1123 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
1124 and use emit_insn_before instead of ia64_emit_insn_before.
1125 * config/ia64/ia64.md (unspec usage): Delete cycle display.
1126 (cycle_display): Delete insn pattern.
1127 * config/sparc/sparc.md (unspec usage): Delete cycle display.
1128 (cycle_display): Delete insn pattern.
1129 * config/sparc/sparc.c (sparc_cycle_display,
1130 TARGET_SCHED_CYCLE_DISPLAY): Delete.
1131 * doc/md.texi (cycle_display): Don't mention.
1132 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 1133
b37c2614
RH
11342002-05-03 Richard Henderson <rth@redhat.com>
1135
1136 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
1137 * recog.h: Declare them.
1138
1139 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
1140 * config/sparc/sparc.md: Use store_data_bypass_p instead.
1141 * config/sparc/sparc-protos.h: Update.
935bfb44 1142
e1c1132e
JT
11432002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
1144
1145 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
1146 -D__arch64__. Add -D_LP64.
1147 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
1148 from sparc.h.
1149 (CPP_ARCH64_SPEC): Likewise.
1150 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
1151 (NO_BUILTIN_SIZE_TYPE): Undef.
1152
0b2fb0d7
VM
11532002-05-03 Vladimir Makarov <vmakarov@redhat.com>
1154
1155 * genautomata.c (min_issue_delay_pass_states): Change return type
1156 in the prototype.
1157 (min_issue_delay_pass_states): Change the algorithm.
1158 (min_issue_delay): Set up min_insn_issue_delay for the state.
1159 (output_min_issue_delay_table): Interchange the nested loops and
1160 and initiate min_insn_issue_delay for states.
935bfb44 1161
3d4ce12a
JH
1162Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
1163
1164 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
1165 jump is simplejump.
1166
1167Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
1168
1169 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
1170 sequence.
1171
b5482208
RH
11722002-05-03 Richard Henderson <rth@redhat.com>
1173
1174 PR opt/6534
1175 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
1176 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
1177 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
1178 code before JUMP, not EARLIEST.
1179
5a3085c5
JM
11802002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
1181
1182 * c-format.c (check_format_info_main): Don't check for presence of
1183 parameter for * width until after operand number has been read,
1184 and only check for it if format parameters are available.
1185 Fixes PR c/6547.
1186
40039424
JT
11872002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
1188
1189 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
1190 (LINK_SPEC): Undef before defining.
1191
8157303b
JJ
11922002-05-03 Jakub Jelinek <jakub@redhat.com>
1193
1194 PR preprocessor/6489
1195 * tradcpp.c (fixup_newlines): New.
1196 (main, finclude): Use it.
1197
66319f5c
RS
11982002-05-03 Richard Sandiford <rsandifo@redhat.com>
1199
1200 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
1201 * config/mips/mips.c (mips_unique_section): Strip encoding from
1202 decl name.
1203
ce8076ad
JJ
12042002-05-03 Jakub Jelinek <jakub@redhat.com>
1205
1206 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
1207 mode.
1208
975c6e4e
RO
12092002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1210
1211 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
1212 (Specific): Removed buildstats references.
1213 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
1214 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
1215 Accomodate Solaris versions beyond 8.
1216 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
1217 (Specific, *-*-solaris2.8): Removed, obsolete.
1218
d70e94ec
JJ
12192002-05-03 Jakub Jelinek <jakub@redhat.com>
1220
1221 PR target/6542
1222 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
1223 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
1224 fill leaf_reg_remap with identity.
1225 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
1226
6b148bd9
KH
12272002-05-03 Kazu Hirata <kazu@cs.umass.edu>
1228
1229 * config/h8300/crti.asm: Remove trailing spaces.
1230 * config/h8300/h8300.c: Likewise.
1231 * config/h8300/lib1funcs.asm: Likewise.
1232
609688f3
JM
12332002-05-02 Jason Merrill <jason@redhat.com>
1234
1235 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
1236 * c-decl.c (c_init_decl_processing): Use it.
1237 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
1238 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
1239 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
1240
3b03c671
KH
12412002-05-03 Kazu Hirata <kazu@cs.umass.edu>
1242
1243 * regrename.c: Fix formatting.
1244 * tree.c: Likewise.
1245
3b4961bd
JH
1246Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
1247
1248 * i386.md (attribute memory): Handle compares properly.
1249
19cba4a0
JH
1250Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
1251
3b4961bd 1252 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
1253 to none.
1254
797a6ac1
KH
12552002-05-02 Kazu Hirata <kazu@cs.umass.edu>
1256
1257 * function.c: Fix formatting.
1258
6d0de005
JH
12592002-05-02 Jan Hubicka <jh@suse.cz>
1260
1261 * haifa-sched.c (schedule_insn): Print table of instructions and
1262 reservations.
1263 (sched_block): Do not print ready list at verbosity level 1.
1264 * sched-vis.c (print_insn): Make global.
1265 * sched-ebb.c (ebb_print_insn): Rename from...
1266 (print_insn): ... this one.
1267 * sched-int.h (print_insn): Declare
1268
0bfb9a69
RH
12692002-05-02 Richard Henderson <rth@redhat.com>
1270
1271 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
1272 emitted by cycle_display.
1273
6b976d99
LR
12742002-05-02 Loren J. Rittle <ljrittle@acm.org>
1275
1276 * doc/install.texi (*-*-freebsd*): Update to latest status.
1277
0a295052
JJ
12782002-05-02 Jakub Jelinek <jakub@redhat.com>
1279
1280 PR target/6540
1281 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
1282 * config/float-sparc.h: Assume 128-bit long double if
1283 __LONG_DOUBLE_128__ is defined.
1284
842d5d6c
VM
12852002-05-02 Vladimir Makarov <vmakarov@redhat.com>
1286
1287 * genattrtab.c (write_function_unit_info): Add a dummy element
1288 when num_units == 0.
1289
3d7a6309
HB
12902002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1291
1292 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
1293 TYPE_MODE (double_type_node) instead of DFmode.
1294
1b6763cf
JH
1295Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
1296
1297 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
1298 jumps post reload.
1299 * toplev.c (rest_of_compilation): Revert Richard's patch.
1300
b303008e
JDA
13012001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
1302
1303 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
1304
6ed7412a
CM
13052002-05-02 Catherine Moore <clm@redhat.com>
1306
1307 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
1308
e0a2f705
KH
13092002-05-02 Kazu Hirata <kazu@hxi.com>
1310
b32d6163 1311 * combine.c: Fix comment typos.
e0a2f705
KH
1312 * expr.c: Likewise.
1313 * genautomata.c: Likewise.
1314 * stmt.c: Likewise.
1315 * tree.h: Likewise.
1316
38e23049
JM
13172002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
1318
1319 * doc/install.texi: State GNAT version requirements.
1320
40f4a97d
NC
13212002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
1322
1323 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
1324 of the frame pointer or arg pointer register which strict register
1325 checking is not enabled.
1326
0d6d6892
AH
13272002-05-02 Aldy Hernandez <aldyh@redhat.com>
1328
b5482208 1329 * gcc.dg/altivec-8.c: New.
0d6d6892 1330
b5482208
RH
1331 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
1332 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 1333
abaa8559
BK
13342002-05-01 Bruce Korb <bkorb@gnu.org>
1335
1336 * fixinc/check.tpl(set-writable): make sure the function exists first
1337 * fixinc/inclhack.def(alpha_assert): fix test_text
1338 * fixinc/tests/base/assert.h: add in missing result
1339
ecab2143
JL
13402002-05-01 Jeff Law <law@redhat.com>
1341
1342 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
1343 'T' constraint.
1344
ea619b46
JB
13452002-05-01 Joel Brobecker <brobecker@gnat.com>
1346
1347 * dbxout.c (dbxout_type): Emit size information for range types,
1348 as well, but only when using GDB extensions.
1349
c72931a6
RH
13502002-05-01 Richard Henderson <rth@redhat.com>
1351
1352 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
1353 target-independent gnu binutils date test.
1354
2150ad33
RH
13552002-05-01 Richard Henderson <rth@redhat.com>
1356
1357 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
1358 info before expunging the block.
1359
1651cc96
JJ
13602002-05-01 Jakub Jelinek <jakub@redhat.com>
1361
1362 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
1363 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
1364 -M -or -MM is in effect.
1365
8998d5bf
ZW
13662002-05-01 Zack Weinberg <zack@codesourcery.com>
1367
1368 * config.gcc: Correct test of --enable-obsolete. Obsolete all
1369 A29k configurations.
1370 * doc/install.texi: Update to match.
1371
a81eed10
FS
13722002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1373
1374 PR bootstrap/6514
1375 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
1376 for duplicates. Always loop over whole list.
1377
8d53318f
RK
1378Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1379
1380 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
1381
4109b118
JS
13822002-05-01 Joel Sherrill <joel@OARcorp.com>
1383
1384 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
1385 support routines.
1386
c4a9c570
JS
13872002-05-01 Joel Sherrill <joel@OARcorp.com>
1388
1389 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
1390
ea112fc4
DE
13912002-05-01 David Edelsohn <edelsohn@gnu.org>
1392
1393 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
1394 (nabs_nopower): Same.
1395 (floatdisf2): New pattern.
1396 (absdi2): Convert to define_insn_and_split.
1397 (nabsdi2): Same.
1398 (trunctfsf2): Same.
1399 (floatditf2): Same.
1400 (floatsitf2): Same.
1401 (fix_trunctfdi2): Same.
1402 (fix_trunctfsi2): Same.
1403
dda78254
JM
14042002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
1405
1406 * doc/install.texi: Update Texinfo version requirement
1407 documentation.
1408
26aeede4
JJ
14092002-05-01 Jakub Jelinek <jakub@redhat.com>
1410
1411 PR target/6512, PR target/5628
1412 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
1413 when memory is not aligned.
1414 (movdf_insn_v9only_vis): Likewise.
1415 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
1416 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
1417 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
1418
9b7bc465
AH
14192002-05-01 Aldy Hernandez <aldyh@redhat.com>
1420
8998d5bf 1421 * gcc.dg/altivec-7.c: New.
9b7bc465 1422
8998d5bf 1423 * config/rs6000/altivec.h: Cleanup.
9b7bc465 1424
08b57fb3
AH
14252002-04-30 Aldy Hernandez <aldyh@redhat.com>
1426
8998d5bf
ZW
1427 * doc/invoke.texi (Option Summary): Add -mvrsave=.
1428 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 1429
8998d5bf
ZW
1430 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
1431 (rs6000_altivec_vrsave_string): Same.
1432 (rs6000_override_options): Call rs6000_parse_vrsave_option.
1433 (rs6000_parse_vrsave_option): New.
1434 (rs6000_stack_info): Only generate vrsave instructions when
1435 TARGET_ALTIVEC_VRSAVE.
08b57fb3 1436
8998d5bf
ZW
1437 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
1438 (rs6000_altivec_vrsave_string): Define extern.
1439 (rs6000_altivec_vrsave): Same.
1440 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 1441
8e8c38cd
RH
14422002-04-30 Richard Henderson <rth@redhat.com>
1443
1444 PR opt/6516
1445 * toplev.c (rest_of_compilation): Don't run cross-jump before
1446 bb-reorder.
1447
4be9e9cb
TR
14482002-04-30 Tom Rix <trix@redhat.com>
1449
8998d5bf 1450 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
1451 check which_alternative.
1452
1eeeb6a4
KH
14532002-04-30 Kazu Hirata <kazu@hxi.com>
1454
1455 * cpplex.c: Fix comment formatting.
1456 * function.c: Likewise.
1457 * integrate.c: Likewise.
1458 * regrename.c: Likewise.
1459 * sibcall.c: Likewise.
1460 * simplify-rtx.c: Likewise.
1461 * tree-inline.c: Likewise.
1462
ed9d6ff9
JDA
14632002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
1464
1465 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
1466 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
1467 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
1468 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
1469 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
1470 * pa/x-ada: New file. Define ADA_CFLAGS.
1471
1f2641b6
HPN
14722002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
1473
1474 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
1475 from MMIX_LAST_REGISTER_FILE_REGNUM.
1476 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
1477 (struct machine_function): New member highest_saved_stack_register
1478 previously static variable in mmix.c.
1479 (MACHINE_DEPENDENT_REORG): Define.
1480 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
1481 (MMIX_OUTPUT_REGNO): New.
1482 (mmix_target_asm_function_prologue): Move calculation of last used
1483 saved-stack-register into...
1484 (mmix_machine_dependent_reorg): New function. Update to also handle
1485 !TARGET_ABI_GNU.
1486 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
1487 register names, simplify somewhat by new variable regno.
1488 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
1489 register.
1490 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
1491 emitting register names.
1492 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
1493 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
1494 Remove fixed FIXME.
1495 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
1496 Declare.
1497
1498 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
1499
73985940
RH
15002002-04-30 Richard Henderson <rth@redhat.com>
1501
1502 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
1503 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
1504 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
1505 emit_tfmode_cvt): New.
1506 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
1507 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
1508 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
1509 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
1510 * config/sparc/sparc-protos.h: Update.
1511
2b46bc67
JJ
15122002-04-30 Janis Johnson <janis187@us.ibm.com>
1513
1514 * install.texi (Final install): Add to the list of info to include
1515 in a report of a successful bootstrap, and add link to 3.1 list.
1516
3d34cd91
JH
1517Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
1518
1519 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
1520 (mode): Add vector modes
1521 (i387): Kill attribute.
1522 (unit): New attribute.
1523 (length_immediate): Grok new types.
1524 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
1525 (modrm): Use "unit".
1526 (memory): Handle MMX/SSE properly.
1527 (scheduling descriptions): Kill uses of fop1.
1528 (sse, mmx, fp patterns): Set type and mode properly.
1529
3193c415
JL
1530Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@cygnus.com)
1531
30482eb0
JL
1532 * pa.c (override_options): Default to PA8000 scheduling.
1533 * doc/invoke.texi (HP-PA options): Mention newly added 7300
1534 scheduling parameter.
1535
3193c415
JL
1536 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
1537 handling of double precision multiplies.
1538
1539 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
1540 fpdiv and fpsqrt instructions.
1541 (7200 & 7300 scheduling): Fix typo in handling of
1542 store-load and store-store penalties.
1543
c0a34cb7
GP
15442002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1545
1546 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
1547 mips. Add two missing commas.
1548
8bce0628
PC
15492002-04-30 Paolo Carlini <pcarlini@unitus.it>
1550
1551 * doc/contrib.texi (Contributors): Update Paolo Carlini's
1552 and Benjamin Kosnik's entries.
1553
84643cbf
DM
15542002-04-29 David S. Miller <davem@redhat.com>
1555
1556 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
1557 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
1558 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
1559 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
1560
da6886f6
FS
15612002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1562
1563 * combine.c (find_split_point): Use gen_int_mode.
1564
fae15c93
VM
15652002-04-29 Vladimir Makarov <vmakarov@redhat.com>
1566
1567 Merging code from dfa-branch:
8998d5bf 1568
fae15c93
VM
1569 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
1570
1571 * genautomata.c (output_reserv_sets): Fix typo.
1572
1573 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
1574
1575 * genautomata.c (output_reserv_sets): Remove
1576 next_cycle_output_flag.
1577
1578 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
1579
8998d5bf
ZW
1580 * sched-rgn.c (init_ready_list): Make the DFA code handle
1581 USE/CLOBBER insns in the same way as the traditional
1582 scheduler.
1583 (new_ready): Similarly..
fae15c93
VM
1584
1585 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
1586
1587 * haifa-sched.c (schedule_block): Change the DFA state only after
1588 issuing insn.
1589
1590 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
1591
1592 * pa.c (hppa_use_dfa_pipeline_interface): New function.
1593 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
1594 (override_options): Add PA7300 scheduling support.
1595 (pa_adjust_cost): Update various comments. Properly
1596 handle anti and output dependencies when using the
1597 DFA scheduler.
1598 (pa_issue_rate): Add PA7300 scheduling support.
1599 (pa_can_combine_p): Call extract_insn before calling
1600 constrain_operands (taken from mainline tree).
1601 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
1602 * pa.md (cpu attr): Add 7300. Rewrite pipeline
1603 descriptions using DFA descriptions. Add PA7300
1604 scheduling support.
1605
1606 2002-03-30 David S. Miller <davem@redhat.com>
1607
1608 Add UltraSPARC-III DFA scheduling support.
1609 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
1610 Update FP conditional move on register insn patterns to use it, as
1611 appropriate.
1612 (define_attr cpu): Add ultrasparc3.
1613 (define_attr us3load_type): New, update integer load patterns to
1614 set it, as appropriate.
1615 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
1616 (rest): Add UltraSPARC3 scheduling description.
1617 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
1618 (PROCESSOR_ULTRASPARC3): New.
1619 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
1620 ({ASM,CPP}_CPU_SPEC): Likewise.
1621 (REGISTER_MOVE_COST): Likewise.
1622 (RTX_COSTS): Likewise.
1623 * config/sparc/sparc.c (sparc_override_options,
1624 sparc_initialize_trampoline, sparc64_initialize_trampoline,
1625 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
1626 sparc_issue_rate): Likewise.
1627 * config/sparc/sol2.h: Likewise.
1628 * config/sparc/sol2-sld-64.h: Likewise.
1629 * config/sparc/linux64.h: Likewise.
8998d5bf 1630
fae15c93
VM
1631 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
1632
1633 * doc/md.texi: Add comments about usage the latency time for the
1634 different dependencies and about case when two or more conditions
1635 in different define_insn_reservations returns TRUE for an insn.
1636
1637 * doc/md.texi: Add reference for automaton based pipeline
1638 description.
8998d5bf 1639
fae15c93
VM
1640 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
1641
1642 * doc/passes.texi: Add missed information about genattrtab.
1643
1644 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
1645
1646 * genautomata.c (output_automata_list_transition_code): Check
1647 automata_list on NULL.
1648
1649 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
1650
1651 * genautomata.c (output_insn_code_cases,
1652 output_automata_list_min_issue_delay_code,
1653 output_automata_list_transition_code,
1654 output_automata_list_state_alts_code): Comment the functions.
1655
1656 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
1657
1658 * genautomata.c (automata_list_el_t): New typedef.
1659 (get_free_automata_list_el,free_automata_list_el,
1660 free_automata_list, automata_list_hash, automata_list_eq_p,
1661 initiate_automata_lists, automata_list_start, automata_list_add,
1662 automata_list_finish, finish_automata_lists,
1663 output_insn_code_cases, output_automata_list_min_issue_delay_code,
1664 output_automata_list_transition_code,
1665 output_automata_list_state_alts_code, add_automaton_state,
1666 form_important_insn_automata_lists): New functions and prototypes.
1667 (insn_reserv_decl): Add members important_automata_list and
1668 processed_p.
1669 (ainsn): Add members important_p.
1670 (automata_list_el): New structure.
1671 (first_free_automata_list_el, current_automata_list,
1672 automata_list_table): New global variables.
1673 (create_ainsns): Initiate member important_p.
1674 (output_internal_min_issue_delay_func): Generate the switch and
1675 call output_insn_code_cases.
1676 (output_internal_trans_func, output_internal_state_alts_func):
1677 Ditto.
1678 (generate): Call initiate_automata_lists.
1679 (automaton_states): New global variable.
1680 (expand_automata): Call form_important_insn_automata_lists.
1681 (write_automata): Call finish_automata_lists.
8998d5bf 1682
fae15c93
VM
1683 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
1684
1685 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 1686 cpu units in the sets belong the same automaton.
fae15c93
VM
1687
1688 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
1689 about that cpu units in the sets belong the same automaton.
1690
1691 * doc/md.texi: Ditto.
8998d5bf 1692
2799d721
VM
1693 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
1694 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 1695
fae15c93
VM
1696 * config/sh/sh.c (sh_use_dfa_interface): New function.
1697
1698 (sh_issue_rate): New Function.
1699 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
1700 TARGET_SCHED_ISSUE_RATE: define.
1701
1702 * config/sh/sh.md: Add DFA based pipeline description for SH4.
1703
8998d5bf
ZW
1704 (define_attr insn_class): New attribute used for DFA
1705 scheduling.
fae15c93
VM
1706 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
1707 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
1708 cmpeqdi_t): Likewise.
1709
1710 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 1711 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
1712 ex_group.
1713 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 1714
fae15c93
VM
1715 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
1716
1717 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
1718 break.
1719
1720 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
1721
1722 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
1723 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
1724 necessary.
1725 (output_dfa_start_func): Initiate new variable insn_codes_length,
1726 (write_automata): Output definition of the new variable.
8998d5bf 1727
fae15c93
VM
1728 2001-10-02 David S. Miller <davem@redhat.com>
1729
1730 * haifa-sched.c (advance_one_cycle): New function.
1731 (schedule_block): Use it.
1732 (queue_to_ready): Use it, and also make sure to advance the DFA
1733 state on all stall cycles, not just those where insn_queue links
1734 are found.
1735
1736 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
1737
1738 * haifa-sched.c (max_issue): Remove last_p argument. Only return
1739 non-zero if the highest-priority instruction could be scheduled.
1740 (choose_ready): Remove last argument from max_issue call.
1741
1742 2001-09-28 David S. Miller <davem@redhat.com>
1743
1744 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
1745 ultrasparc and 3 for other multi-issue sparcs.
1746
1747 2001-09-27 David S. Miller <davem@redhat.com>
1748
1749 * config/sparc/sparc.md (cycle_display): New pattern.
1750 * config/sparc/sparc.c (sparc_cycle_display): New.
1751 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
1752
1753 2001-09-25 David S. Miller <davem@redhat.com>
1754
1755 Convert all of Sparc scheduling to DFA
1756 * config/sparc/sparc.md: Kill all define_function_unit
1757 directives and replace with DFA equivalent.
1758 * config/sparc/sparc.c (ultrasparc_adjust_cost,
1759 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
1760 ultra_fpmode_conflict_exists, ultra_find_type,
1761 ultra_build_types_avail, ultra_flush_pipeline,
1762 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
1763 ultrasparc_variable_issue, ultrasparc_sched_init,
1764 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
1765 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
1766 ultra_cur_hist, ultra_cycles_elapsed): Kill.
1767 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
1768 ultrasparc_store_bypass_p): New.
1769 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
1770 Declare.
1771
1772 2001-09-24 David S. Miller <davem@redhat.com>
1773
1774 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
1775 ready->vec[foo] not ready[foo].
1776
1777 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
1778
1779 * doc/md.texi: Correct examples for define_insn_reservations
1780 `mult' and `div'.
1781
1782 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
1783
1784 * genautomata.c (create_automata): Print message about creation of
1785 each automaton.
1786 (generate): Remove printing meease about creation of
1787 automata.
1788
1789 2001-09-05 David S. Miller <davem@redhat.com>
1790
1791 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
1792 * config/sparc/linux64.h: Likewise.
1793
1794 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
1795
1796 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
1797 schedule_block, sched_init, sched_finish): Add missed calls of
1798 use_dfa_pipeline_interface.
1799
1800 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
1801 Ditto.
1802
1803 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 1804
fae15c93
VM
1805 2001-08-27 Richard Henderson <rth@redhat.com>
1806
1807 * genattr.c (main): Emit state_t even when not doing scheduling.
1808
1809 2001-08-27 Richard Henderson <rth@redhat.com>
1810
1811 * genautomata.c (expand_automata): Always create a description.
1812
1813 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
1814
8998d5bf 1815 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
1816 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
1817 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
1818 RTL constructions.
1819
1820 * genattr.c (main): New variable num_insn_reservations. Increase
1821 it if there is DEFINE_INSN_RESERVATION. Output automaton based
1822 pipeline hazard recognizer interface.
1823
1824 * genattrtab.h: New file.
1825
1826 * genattrtab.c: Include genattrtab.h.
1827 (attr_printf, check_attr_test, make_internal_attr,
1828 make_numeric_value): Move protypes into genattrtab.h. Define them
1829 as external.
1830 (num_dfa_decls): New global variable.
1831 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
1832 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
1833 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
1834 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
1835
1836 * genautomata.c: New file.
1837
1838 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
1839
8998d5bf 1840 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
1841 automaton pipeline interface.
1842 (haifa_insn_data): Add comments for members blockage and units.
1843
1844 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1845 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1846 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
1847 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
1848 TARGET_SCHED_DFA_POST_CYCLE_INSN,
1849 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1850 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
1851 macros.
1852 (TARGET_SCHED): Use the new macros.
1853
1854 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
1855 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
1856 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
1857 dfa_bubble): New members in gcc_target.sched.
1858
8998d5bf 1859 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
1860 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
1861 (insn_queue): Redefine it as pointer to array.
1862 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
1863 INSN_QUEUE_SIZE.
1864 (max_insn_queue_index_macro_value): New variable.
1865 (curr_state, dfa_state_size, ready_try): New varaibles for
1866 automaton interface.
1867 (ready_element, ready_remove, max_issue): New function prototypes
1868 for automaton interface.
1869 (choose_ready): New function prototype.
1870 (insn_unit, blockage_range): Add comments.
1871 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
1872 FUNCTION_UNITS_SIZE == 0.
1873 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
1874 actual_hazard, potential_hazard): Add comments.
1875 (insn_cost): Use cost -1 as undefined value. Remove
1876 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
1877 pipeline interface.
1878 (ready_element, ready_remove): New functions for automaton
1879 interface.
1880 (schedule_insn): Add new code for automaton pipeline interface.
1881 (queue_to_ready): Add new code for automaton pipeline interface.
1882 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
1883 (debug_ready_list): Print newline when the queue is empty.
1884 (max_issue): New function for automaton pipeline interface.
1885 (choose_ready): New function.
1886 (schedule_block): Add new code for automaton pipeline interface.
1887 Print ready list before scheduling each insn.
1888 (sched_init): Add new code for automaton pipeline interface.
1889 Initiate insn cost by -1.
1890 (sched_finish): Free the current automaton state and finalize
1891 automaton pipeline interface.
1892
1893 * sched-rgn.c: Include target.h.
1894 (init_ready_list, new_ready, debug_dependencies): Add new code for
1895 automaton pipeline interface.
1896
1897 * sched-vis.c: Include target.h.
1898 (get_visual_tbl_length): Add code for automaton interface.
1899 (target_units, print_block_visualization): Add comments.
1900
8998d5bf 1901 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
1902 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
1903 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
1904 (getruntime.o, genautomata.o): New entries.
1905 (genattrtab.o): Add new dependency file genattrtab.h.
1906 (genattrtab): Add new dependencies. Link it with `libm.a'.
1907 (getruntime.o, hashtab.o): New entries for canadian cross.
1908
1909 * doc/md.texi: Description of automaton based model.
1910
1911 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
1912 Add comments.
1913 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1914 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
1915 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1916 TARGET_SCHED_DFA_POST_CYCLE_INSN,
1917 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
1918 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1919 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
1920 hook descriptions.
1921 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
1922 MAX_DFA_ISSUE_RATE): New macro descriptions.
1923
1924 * doc/contrib.texi: Add dfa based scheduler contribution.
1925
1926 * doc/gcc.texi: Add more information about genattrtab.
1927
a2ff290c
RK
1928Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1929
1930 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
1931 adjust_address_nv call.
1932
f97903cc
JJ
19332002-04-29 Janis Johnson <janis187@us.ibm.com>
1934
1935 * doc/install.texi (Testing): Provide additional information, and
1936 a stronger encouragement, for running the testsuites.
1937
f41a6bf1
DD
19382002-04-29 DJ Delorie <dj@redhat.com>
1939
1940 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
1941 given in upper case.
1942
d8af0868
RO
19432002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1944
1945 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
1946 Solaris 2 <widec.h> if missing.
1947 * fixinc/fixincl.x: Regenerate.
1948 * fixinc/tests/base/widec.h: New file.
1949
1034407f
NC
19502002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
1951
1952 * toplev.c (f_options): Add "profile" switch so that
1953 -fno-profile can be used to disable -p.
1954
fbe5eb6d
BS
19552002-04-29 Bernd Schmidt <bernds@redhat.com>
1956
1957 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
1958 UV2DImode.
1959 * tree.c (build_common_tree_nodes_2): Likewise.
1960 * tree.h (enum tree_index): Likewise.
1961 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
1962
1963 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
1964 entries.
1965 (init_mmx_sse_builtins): Initialize SSE2 builtins.
1966 (ix86_expand_builtin): Add support for SSE2 builtins.
1967 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
1968 (VALID_SSE_REG_MODE): Use it.
1969 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
1970 (enum ix86_builtins): Add SSE2 builtins.
1971 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
1972 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
1973 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
1974 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
1975 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
1976 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
1977 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
1978 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
1979 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
1980 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
1981 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
1982 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
1983 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
1984 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
1985 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
1986 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
1987 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
1988 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
1989 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
1990 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
1991 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
1992 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
1993 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
1994 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
1995 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
1996 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
1997 lfence_insn): New patterns.
1998 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
1999 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
2000
44aefada
JH
2001Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
2002
2003 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
2004
d5482cdc
GP
20052002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2006
2007 * doc/contrib.texi (Contributors): Add Paolo Carlini and
2008 Janis Johnson.
2009 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
2010 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
2011 and CPU instead of cpu.
2012
2c4b77f3
JH
2013Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
2014
2015 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
2016 variables.
2017 (lang_independent_options): Add -fif-conversion, -fif-conversion2
2018 (rest_of_compilation): Do if conversion only when asked for.
2019 (parse_options_and_default_flags): Set new variables to 1 for -O1
2020 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
2021
3de72741
JH
2022Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
2023
2024 * i386.c (dbx64_register_map): Fix typo.
2025
8aa18a7d
JH
2026Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
2027
2028 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
2029 real_one_half, real_bb_freq_max): New static variables.
2030 (debug_profile_bbauxs): Kill.
2031 (process_note_predictions): Kill unused variable.
2032 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
2033 volatile double.
2034 (propagate_freq): Use REAL_ARITHMETICS.
2035 (estimate_bb_frequencies): Likevise; init new static variables.
2036 * Makefile.in (predict.o): Add dependency on real.h
2037
1bbad4c6
DM
20382002-04-28 David S. Miller <davem@redhat.com>
2039
2040 PR target/6500
2041 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
2042 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
2043 several {reads,writes} instead.
2044 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
2045 Define.
2046
3ef3f384
DM
20472002-04-27 David S. Miller <davem@redhat.com>
2048
2049 PR target/6494
2050 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
2051 of the stack bias.
2052
2053 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
2054 including signal.h and sys/ucontext.h, not needed.
2055
ec493bcb
HPN
20562002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
2057
2058 * varasm.c (output_constant_def): Correct test for not calling
2059 ENCODE_SECTION_INFO for INTEGER_CST.
2060
60284a59
NB
20612002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
2062
2063 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
2064 keep most cases as function eval_token.
2065 (eval_token): New function.
2066 (_cpp_parse_expr): Read token here for improved diagnostics.
2067 Don't use op_as_text. Detect bad ':' here.
2068 (reduce): Don't detect bad ':' here.
2069 (op_as_text): Remove.
2070 * cpphash.h (_cpp_test_assertion): Change prototype.
2071 * cpplib.c (_cpp_test_assertion): Change prototype.
2072
349a4b40
RH
20732002-04-28 Richard Henderson <rth@redhat.com>
2074
2075 PR c/5154
8998d5bf 2076 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
2077 (ggc_mark_rtx_children): New.
2078
7a03f82f
JJ
20792002-04-28 Jakub Jelinek <jakub@redhat.com>
2080
2081 PR target/6496
2082 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
2083 after call peepholes for UltraSPARC.
2084 (call + jump 64-bit peepholes): Remove.
2085
80103f96
FS
20862002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2087
2088 PR c/6497
2089 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
2090 result as temporary value.
2091
06990986
JJ
20922002-04-28 Jakub Jelinek <jakub@redhat.com>
2093
2094 PR c++/6396
2095 * toplev.c (rest_of_compilation): Only run regrename and copy
2096 propagation if optimizing.
2097
a20fd5ac
JJ
20982002-04-28 Jakub Jelinek <jakub@redhat.com>
2099
2100 PR optimization/6475
2101 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
2102 register of REGNO_DECL (i).
2103 * Makefile.in (reload1.o): Add $(TREE_H).
2104
87ed109f
NB
21052002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
2106
2107 * cppexp.c (lex): Update to use state.skip_eval.
2108 (struct op): Remove prio and flags members.
2109 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
2110 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
2111 (LEFT_ASSOC): New macro.
2112 (optab): New table of operator priorities and flags.
2113 (SHIFT): Update.
2114 (_cpp_parse_expr): Clean up logic. Return bool. Use a
2115 malloc-ed parser stack.
2116 (reduce): New; reduce the operator stack.
2117 (_cpp_expand_op_stack): Expand the operator stack as necessary.
2118 * cpphash.h (struct op): Predeclare.
2119 (struct cpp_reader): New members op_stack, op_limit.
2120 (struct lexer_state): New member skip_eval.
2121 (_cpp_parse_expr): Update.
2122 (_cpp_expand_op_stack): New.
2123 * cpplib.c (do_if): Update.
2124 * cppinit.c (cpp_create_reader): Create op stack.
2125 (cpp_destroy): And destroy it.
2126 * cpplib.h (CPP_LAST_CPP_OP): Correct.
2127 (TTYPE_TABLE): Correct.
2128
45806a3f
FS
21292002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2130
2131 PR c/6343
2132 * c-decl.c (duplicate_decls): Call merge_weak.
2133 * c-pragma.c (apply_pragma_weak): Warn about misuse.
2134 * output.h (merge_weak): Prototype merge_weak.
2135 * varasm.c (merge_weak): New function.
2136 (declare_weak): Make sure we don't give an error on VAR_DECLs.
2137 Mark RTL with SYMBOL_REF_WEAK.
2138
a6227154
KG
21392002-04-27 Kurt Garloff <garloff@suse.de>
2140
2141 * tree-inline.c (inlinable_function_p): Improve heuristics
2142 by using a smoother function to cut down allowable inlinable size.
2143 * param.def: Add parameters max-inline-insns-single,
2144 max-inline-slope, min-inline-insns that determine the exact
2145 shape of the above function.
2146 * param.h: Likewise.
2147
94a50397
RH
21482002-04-26 Richard Henderson <rth@redhat.com>
2149
2150 * c-parse.in (malloced_yyss, malloced_yyvs): New.
2151 (yyoverflow): Re-add. Set them.
2152 (free_parser_stacks): New.
2153 * c-common.h: Declare it.
2154 * c-lex.c (c_common_parse_file): Call it.
2155
9c0a0632
RH
21562002-04-26 Richard Henderson <rth@redhat.com>
2157
2158 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
2159 for fallthru search.
2160
b875d2ee
EC
21612002-04-26 Eric Christopher <echristo@redhat.com>
2162
2163 PR optimization/3700
2164 * config/mips/mips.c (mips_issue_rate): Define. New function.
2165 (TARGET_SCHED_ISSUE_RATE): Use.
2166
1db828df
DM
21672002-04-25 David S. Miller <davem@redhat.com>
2168
2169 PR target/6422
2170 * reorg.c (optimize_skip): Do not allow exception causing
2171 instructions to be considered for delay slots.
2172 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
2173 (relax_delay_slots): Do not try to consider exception causing
2174 instructions as redundant.
2175
ae5d234e
RH
21762002-04-26 Richard Henderson <rth@redhat.com>
2177
2178 PR c/5225
2179 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
2180
7d793e9b
MM
21812002-04-26 Mark Mitchell <mark@codesourcery.com>
2182
2183 PR bootstrap/6445
2184 * config/i386/i386.md (untyped_call): Return the value in a float
2185 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
2186 TARGET_80387.
2187
b13ab42c
AO
21882002-04-26 Alexandre Oliva <aoliva@redhat.com>
2189
2190 * tree.c (tree_int_cst_lt): Compare constants whose types differ
2191 in unsigned-ness correctly.
2192
5e56f909
JDA
21932002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
2194
2195 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
2196 portable runtime model.
2197
bde3c0c0
RH
21982002-04-26 Richard Henderson <rth@redhat.com>
2199
a6227154 2200 * c-parse.in (yyoverflow): Revert.
bde3c0c0 2201
5276df18
DE
22022002-04-26 David Edelsohn <edelsohn@gnu.org>
2203 Richard Henderson <rth@redhat.com>
2204
2205 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
2206 result as temporary value.
2207
b84a3874
RH
22082002-04-26 Richard Henderson <rth@redhat.com>
2209
2210 PR c/3581
2211 * c-common.c (fix_string_type): Split out of ...
2212 (combine_strings): ... here. Take a varray, not a tree list.
2213 (c_expand_builtin_printf): Use fix_string_type.
2214 * c-common.h: Update decls.
2215 * c-parse.in (string): Remove. Update all uses to use STRING
2216 instead, and not call combine_strings.
2217 (yylexstring): New.
2218 (_yylex): Use it.
2219 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
2220 (build_asm_stmt): Likewise.
2221 * objc/objc-act.c (my_build_string): Use fix_string_type.
2222 (build_objc_string_object): Build varray for combine_strings.
2223
d8ae8cd4
BT
22242002-04-26 Bo Thorsen <bo@suse.co.uk>
2225
2226 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
2227 x86-64.
2228
f8b954fc
NB
22292002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
2230
2231 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
2232 (HAVE_NO_R_OPERAND): Remove.
2233 (HAVE_VALUE): Remove.
2234 (op_to_prio): Update.
2235 (UNARY): Don't alter flags.
2236 (_cpp_parse_expr): want_value used to indicate whether
2237 a number or unary operator is expected next. Distinguish
2238 unary and binary +/-.
2239 (op_as_text): Update for unary operators.
2240
6052bef0
RH
22412002-04-25 Richard Henderson <rth@redhat.com>
2242
2243 PR c/2161
2244 * c-parse.in (yyoverflow): New.
2245
5c5b2283
RH
22462002-04-25 Richard Henderson <rth@redhat.com>
2247
2248 PR c/2098
2249 * c-common.c (shorten_compare): Simplfy conditions leading to
2250 the generation of a warning.
2251
28ce94d4
RH
22522002-04-25 Richard Henderson <rth@redhat.com>
2253
2254 PR c/2035
2255 * expmed.c (extract_bit_field): Fall through to generic code rather
2256 than aborting on subreg special case.
2257
6bfd0c63
DM
22582002-04-25 David S. Miller <davem@redhat.com>
2259
2260 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
2261 for DECL being NULL.
2262
7a430e3b
SC
22632002-04-25 Steve Christiansen <smc@us.ibm.com>
2264
2265 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
2266
45c42d7d
EB
22672002-04-25 Eric Botcazou <ebotcazou@multimania.com>
2268
2269 * c-decl.c (grokdeclarator): Remove outdated ??? note
2270 on invalid declaration of flexible array members.
2271
eb7715a4
RH
22722002-04-25 Richard Henderson <rth@redhat.com>
2273
2274 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
2275
cf5ee720
UW
22762002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
2277
2278 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
2279 needed by the compiler, even if they are used as global regs.
2280
d604bca3
MH
22812002-04-25 Matt Hiller <hiller@redhat.com>
2282
2283 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
2284 functions.
2285 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
2286 of the corresponding functions.
2287 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
2288 New prototypes.
b875d2ee 2289
d604bca3
MH
22902002-04-25 Matt Hiller <hiller@redhat.com>
2291
2292 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
2293
2294 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
2295 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
2296 registers, adjust comment accordingly.
2297 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
2298 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
2299 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
2300 for coprocessor registers.
2301 (ADDITIONAL_REGISTER_NAMES): Include
2302 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 2303
d604bca3
MH
2304 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
2305 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
2306 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
2307 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
2308 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
2309
2310 (mips_char_to_class): Adjust comment to include coprocessor
2311 constraint letters.
2312
2313 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
2314 New functions.
2315 (mips_reg_names, mips_regno_to_class): Include coprocessor
2316 information.
2317 (mips_sw_reg_names): Ditto, make non-static.
2318 (mips_move_1word): Handle moves to and from coprocessor registers.
2319 (mips_move_2words): Handle moves to and from coprocessor
2320 registers.
2321 (mips_class_max_nregs, mips_register_move_cost): Handle
2322 coprocessor register classes.
2323 (override_options): Initialize mips_char_to_class and
2324 mips_hard_regno_mode_ok properly for coprocessor registers.
2325
2326 * config/mips/mips.md (movdi_internal, movdi_internal2,
2327 movsi_internal1, movsi_internal2): Add constraint-sets for
2328 coprocessor registers.
2329 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
2330 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
2331 isn't mips.
2332 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
2333 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
2334 isn't mips.
2335 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
2336 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
2337 isn't mips.
2338 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
2339 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
2340 isn't mips.
b875d2ee 2341
d604bca3
MH
2342 * doc/tm.texi: Document feature.
2343
b9a26d09
NB
23442002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
2345
2346 * integrate.c (function_attribute_inlinable_p): Simplify.
2347 Check the table pointer is not NULL.
2348
ab5973b7
SB
23492002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
2350
2351 * doc/c-tree.texi: Fix typo in introduction.
2352
ff45c01e
NB
23532002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
2354
2355 * c-common.h (c_common_parse_file): Update.
2356 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
2357 * c-lex.c (YYDEBUG): Get from c-lex.h.
2358 (c_common_parse_file): Update.
2359 * c-lex.h (YYDEBUG, yydebug): New.
2360 * c-parse.in (YYDEBUG): Get from c-lex.h.
2361 (c_set_yydebug): Remove.
2362 * c-tree.h (c_set_yydebug): Remove.
2363 * langhooks-def.h (lhd_do_nothing_i): New.
2364 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
2365 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
2366 * langhooks.c (lhd_do_nothing_i): New.
2367 (lhd_set_yydebug): Remove.
2368 * langhooks.h (struct lang_hooks): Update.
2369 * toplev.c (set_yydebug): New.
2370 (compile_file): Update call to parse_file hook.
2371 (decode_d_option): Update.
2372objc:
2373 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
2374
fcae219a
R
2375Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
2376
2377 * loop.c (load_mems): Don't change the interface of called functions.
2378
2379 * calls.c (expand_call): Take current_function_pretend_args_size
2380 into account when setting argblock for sibcalls.
2381
d0fea45a
MH
23822002-04-24 Matt Hiller <hiller@redhat.com>
2383
2384 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
2385 * c-lex.c: Ditto.
2386
2387 * cpplex.c (skip_line_comment): Process comment one multibyte
2388 character at a time rather than one char at a time, if
2389 appropriate.
2390 (parse_string): Process string one multibyte character at a time
2391 rather than one char at a time, if appropriate.
2392 * c-lex.c (lex_string): Lex and copy multibyte strings
2393 appropriately.
2394 * cpplib.h (cppchar_t): Change to unsigned.
2395
2d1b5436
RH
23962002-04-24 Richard Henderson <rth@redhat.com>
2397
2398 PR c/3467
2399 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
2400 for c99.
2401
5e039e6b
R
2402Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
2403
2404 * sh.c (sh_va_arg): If argument was passed by reference,
2405 dereference the pointer.
309d8365
R
2406
2407 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
2408
2409 * sh.md (divsi3_i4_media): Use match_operand for input values
2410 rather than hard registers.
2411 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
2412 unnecessarily through hard registers. Keep copies of pseudo
2413 registers outside of the libcall sequence.
2414
2415 * sh.md (casesi_shift_media): Add modes.
b700634a
R
2416
2417 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
2418 values in memory.
2419
349ae713
NB
24202002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
2421
2422 * attribs.c (c_common_attribute_table): Move table and handlers
2423 to c-common.c.
2424 (format_attribute_table, lang_attribute_table,
2425 lang_attribute_common): Remove.
2426 (init_attributes): Replace NULL pointers with pointers to the
2427 empty table.
2428 (handle_packed_attribute, handle_nocommon_attribute,
2429 handle_common_attribute, handle_noreturn_attribute,
2430 handle_noinline_attribute, handle_always_inline_attribute,
2431 handle_used_attribute, handle_unused_attribute,
2432 handle_const_attribute, handle_transparent_union_attribute,
2433 handle_constructor_attribute, handle_destructor_attribute,
2434 handle_mode_attribute, handle_section_attribute,
2435 handle_aligned_attribute, handle_weak_attribute,
2436 handle_alias_attribute, handle_visibility_attribute,
2437 handle_no_instrument_function_attribute, handle_malloc_attribute,
2438 handle_no_limit_stack_attribute, handle_pure_attribute,
2439 handle_deprecated_attribute, handle_vector_size_attribute,
2440 vector_size_helper): Move to c-common.c.
2441 * c-common.c (c_common_attribute_table,
2442 handle_packed_attribute, handle_nocommon_attribute,
2443 handle_common_attribute, handle_noreturn_attribute,
2444 handle_noinline_attribute, handle_always_inline_attribute,
2445 handle_used_attribute, handle_unused_attribute,
2446 handle_const_attribute, handle_transparent_union_attribute,
2447 handle_constructor_attribute, handle_destructor_attribute,
2448 handle_mode_attribute, handle_section_attribute,
2449 handle_aligned_attribute, handle_weak_attribute,
2450 handle_alias_attribute, handle_visibility_attribute,
2451 handle_no_instrument_function_attribute, handle_malloc_attribute,
2452 handle_no_limit_stack_attribute, handle_pure_attribute,
2453 handle_deprecated_attribute, handle_vector_size_attribute,
2454 vector_size_helper): Move from attribs.c.
2455 * c-common.h (c_common_attribute_table,
2456 c_common_format_attribute_table): New.
2457 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
2458 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
2459 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
2460 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
2461 (LANG_HOOKS_INITIALIZER): Update.
2462 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
2463 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
2464 * target.h: Update comment.
2465 * tree.c (default_target_attribute_table): Remove.
2466 * tree.h (default_target_attribute_table, format_attribute_table,
2467 lang_attribute_table, lang_attribute_common): Remove.
2468objc:
2469 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
2470 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
2471
84f0ace0
JM
24722002-04-24 Jason Merrill <jason@redhat.com>
2473
2474 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
2475 * dwarf2out.c (dwarf_attr_name): Support it.
2476 (gen_array_type_die): Emit it.
2477 (lookup_type_die): No special handling for VECTOR_TYPE.
2478 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
2479
120eaf28
RH
24802002-04-24 Richard Henderson <rth@redhat.com>
2481
2482 * config/mips/mips.md (movdi_usd): Renumber.
2483
e732178c
DM
24842002-04-24 David S. Miller <davem@redhat.com>
2485
2486 PR target/6420
2487 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
2488 32-bit Sparc and current_function_returns_struct is true.
2489
e879eb2f
JH
2490Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
2491
2492 * loop.c (canonicalize_condition): Use gen_int_mode.
2493
4287a893
AH
24942002-04-24 Aldy Hernandez <aldyh@redhat.com>
2495
2496 * config/rs6000/altivec.h: Cleanup file. Add non individual
2497 variants.
2498 (vec_vaddubm): New.
2499 (vec_vadduhm): New.
2500 (vec_vadduwm): New.
2501 (vec_vaddfp): New.
2502 (vec_vaddcuw): New.
2503 (vec_vaddubs): New.
2504 (vec_vaddsbs): New.
2505 (vec_vadduhs): New.
2506 (vec_vadduws): New.
2507 (vec_vaddsws): New.
2508 (vec_vand): New.
2509 (vec_vandc): New.
2510 (vec_vavgub): New.
2511 (vec_vavgsb): New.
2512 (vec_vavguh): New.
2513 (vec_vavgsh): New.
2514 (vec_vavguw): New.
2515 (vec_vavgsw): New.
2516 (vec_vrfip): New.
2517 (vec_vcmpbfp): New.
2518 (vec_vcmpequb): New.
2519 (vec_vcmpequh): New.
2520 (vec_vcmpequw): New.
2521 (vec_vcmpeqfp): New.
2522 (vec_vcmpgefp): New.
2523 (vec_vcmpgtub): New.
2524 (vec_vcmpgtsb): New.
2525 (vec_vcmpgtuh): New.
2526 (vec_vcmpgtsh): New.
2527 (vec_vcmpgtuw): New.
2528 (vec_vcmpgtsw): New.
2529 (vec_vcmpgtfp): New.
2530 (vec_vcmpgefp): New.
2531 (vec_vcfux): New.
2532 (vec_vcfsx): New.
2533 (vec_vctsxs): New.
2534 (vec_vctuxs): New.
2535 (vec_vexptefp): New.
2536 (vec_vrfim): New.
2537 (vec_lvx): New.
2538 (vec_lvebx): New.
2539 (vec_lvehx): New.
2540 (vec_lde): Add vector float variant.
2541 (vec_lvewx): New.
2542 (vec_lvxl): New.
2543 (vec_vlogefp): New.
2544 (vec_vmaddfp): New.
2545 (vec_vmhaddshs): New.
2546 (vec_vmaxub): New.
2547 (vec_vmaxsb): New.
2548 (vec_vmaxuh): New.
2549 (vec_vmaxsh): New.
2550 (vec_vmaxuw): New.
2551 (vec_vmaxsw): New.
2552 (vec_vmaxsw): New.
2553 (vec_vmaxfp): New.
2554 (vec_vmrghb): New.
2555 (vec_vmrghh): New.
2556 (vec_vmrghw): New.
2557 (vec_vmrglb): New.
2558 (vec_vmrglh): New.
2559 (vec_vmrglw): New.
2560 (vec_vminub): New.
2561 (vec_vminsb): New.
2562 (vec_vminuh): New.
2563 (vec_vminsh): New.
2564 (vec_vminuw): New.
2565 (vec_vminsw): New.
2566 (vec_vminfp): New.
2567 (vec_vmladduhm): New.
2568 (vec_vmhraddshs): New.
2569 (vec_msumubm): New.
2570 (vec_vmsummbm): New.
2571 (vec_vmsumuhm): New.
2572 (vec_vmsumshm): New.
2573 (vec_vmsumuhs): New.
2574 (vec_vmsumshs): New.
2575 (vec_vmuleub): New.
2576 (vec_vmulesb): New.
2577 (vec_vmuleuh): New.
2578 (vec_vmulesh): New.
2579 (vec_vmuloub): New.
2580 (vec_mulosb): New.
2581 (vec_vmulouh): New.
2582 (vec_vmulosh): New.
2583 (vec_vnmsubfp): New.
2584 (vec_vnor): New.
2585 (vec_vor): New.
2586 (vec_vpkuhum): New.
2587 (vec_vpkuwum): New.
2588 (vec_vpkpx): New.
2589 (vec_vpkuhus): New.
2590 (vec_vpkshss): New.
2591 (vec_vpkuwus): New.
2592 (vec_vpkswss): New.
2593 (vec_vpkshus): New.
2594 (vec_vpkswus): New.
2595 (vec_vperm): New.
2596 (vec_vrefp): New.
2597 (vec_vrlb): New.
2598 (vec_vrlh): New.
2599 (vec_vrlw): New.
2600 (vec_vrfin): New.
2601 (vec_vrsqrtefp): New.
2602 (vec_vsel): New.
2603 (vec_vslb): New.
2604 (vec_vslh): New.
2605 (vec_vslw): New.
2606 (vec_vsldoi): New.
2607 (vec_vsl): New.
2608 (vec_vslo): New.
2609 (vec_vspltb): New.
2610 (vec_vsplth): New.
2611 (vec_vspltw): New.
2612 (vec_vspltisb): New.
2613 (vec_vspltish): New.
2614 (vec_vspltisw): New.
2615 (vec_vsrb): New.
2616 (vec_vsrh): New.
2617 (vec_vsrw): New.
2618 (vec_vsrab): New.
2619 (vec_vsrah): New.
2620 (vec_vsraw): New.
2621 (vec_vsr): New.
2622 (vec_vsro): New.
2623 (vec_stvx): New.
2624 (vec_stvebx): New.
2625 (vec_stvehx): New.
2626 (vec_stvewx): New.
2627 (vec_stvxl): New.
2628 (vec_vsububm): New.
2629 (vec_vsubuhm): New.
2630 (vec_vsubuwm): New.
2631 (vec_vsubfp): New.
2632 (vec_vsubcuw): New.
2633 (vec_vsububs): New.
2634 (vec_vsubsbs): New.
2635 (vec_vsubuhs): New.
2636 (vec_vsubshs): New.
2637 (vec_vsubuws): New.
2638 (vec_vsubsws): New.
2639 (vec_vsum4ubs): New.
2640 (vec_vsum4sbs): New.
2641 (vec_vsum4shs): New.
2642 (vec_vsum2sws): New.
2643 (vec_vsumsws): New.
2644 (vec_vrfiz): New.
2645 (vec_vupkhsb): New.
2646 (vec_vupkhpx): New.
2647 (vec_vupkhsh): New.
2648 (vec_vupklsb): New.
2649 (vec_vupklpx): New.
2650 (vec_vupklsh): New.
2651 (vec_vxor): New.
2652
cff27795
EB
26532002-04-23 Eric Botcazou <ebotcazou@multimania.com>
2654
2655 PR c/5430
2656 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
2657 added literals from substracted literals.
2658 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
2659 (fold) [associate]: Preserve MINUS_EXPR if needed.
2660
952bca84
ZW
26612002-04-23 Zack Weinberg <zack@codesourcery.com>
2662
2663 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
2664 are obsoleted.
2665
50cb2154
TT
26662002-04-23 Tom Tromey <tromey@redhat.com>
2667
2668 * gcc.c: Added --resource. For PR java/6314.
2669
271f61fb
DB
26702002-04-23 David O'Brien <obrien@FreeBSD.org>
2671
9566d1e9 2672 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
2673 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
2674 these libraries.
2675
bdabbc80
DB
26762002-04-23 David O'Brien <obrien@FreeBSD.org>
2677
2678 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
2679
74411039
JH
2680Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
2681
2682 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
2683 workaround.
2684 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
2685 (ix86_expand_clrstr): Fix typo.
2686 * loop.c (gen_load_of_final_value): New.
2687 (loop_givs_rescan, strength_reduce, check_dbra_loop):
2688 Use it.
2689
1a887f86
RS
26902002-04-23 Roger Sayle <roger@eyesopen.com>
2691
2692 * builtins.c (builtin_memset_gen_str): New function.
2693 (expand_builtin_memset): Optimize the case of constant length, but
2694 unknown value.
2695
8d3441e0
AH
26962002-04-23 Aldy Hernandez <aldyh@redhat.com>
2697
cff27795
EB
2698 * config/rs6000/altivec.h (vec_step): Remove extraneous
2699 parentheses.
2700 (vec_ctu): Cast return.
8d3441e0 2701
f6f315fe
AM
27022002-04-23 Alan Modra <amodra@bigpond.net.au>
2703
2704 PR target/6413
2705 * function.h: (struct function): Add profile_label_no field.
2706 (current_function_profile_label_no): Define.
2707 * function.c: (profile_label_no): New static var.
2708 (expand_function_start): Increment it, and copy to
2709 current_function_profile_label_no.
2710 * output.h (profile_label_no): Delete.
2711 * final.c (profile_label_no): Delete.
2712 (profile_function): Use current_function_profile_label_no.
2713 (final_end_function): Don't increment profile_label_no here.
2714 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
2715 profile_label_no with current_function_profile_label_no.
2716 * config/pa/pa.c (current_function_number): Delete.
2717 (pa_output_function_prologue): Don't output profile label here.
2718 (hppa_profile_hook): Use label_no param rather than
2719 current_function_number.
2720 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
2721 * config/pa/pa.h: .. here.
2722 (FUNCTION_PROFILER): Output profile label here.
2723
d239cdc0
EC
27242002-04-22 Eric Christopher <echristo@redhat.com>
2725
2726 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
2727 patch of 2002-04-09 due to binutils issues.
2728 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
2729
04428ad4
AH
27302002-04-22 Aldy Hernandez <aldyh@redhat.com>
2731
cff27795
EB
2732 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
2733 constraint to 'o' for m=r and r=m alternatives.
2734 ("*movv8hi_internal1"): Same.
2735 ("*movv16qi_internal1"): Same.
2736 ("*movv4sf_internal1"): Same.
04428ad4 2737
2adc7f12
JJ
27382002-04-22 Janis Johnson <janis187@us.ibm.com>
2739
2740 * rtl.h (RTX_FLAG): New macro.
2741 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
2742 * final.c (alter_subreg): Use macro to access rtx flag.
2743 * integrate.c (copy_rtx_and_substitute): Use new access macro.
2744 * print-rtl.c (print_rtx): Use new access macro.
2745
2746 * cse.c (insert): Check rtx code before accessing flag.
2747
2748 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
2749 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
2750 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
2751 convert_const_symbol_ref, make_canonical, make_alternative_compare,
2752 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
2753 simplify_test_exp, optimize_attrs, simplify_by_exploding,
2754 find_and_mark_used_attributes, unmark_used_attributes,
2755 add_values_to_cover, simplify_with_current_value,
2756 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
2757 copy_rtx_unchanging, main): Use new access macros.
2758
b7c89afe
TR
27592002-04-22 Tom Rix <trix@redhat.com>
2760
2761 * expmed.c (init_expmed): Generate shifted constant once.
2762
9340544b
ZW
27632002-04-22 Zack Weinberg <zack@codesourcery.com>
2764
2765 * c-lex.c (lex_charconst): Call convert to get constant in
2766 proper type; don't just smash the type field.
2767 Fixes PR c/6300.
2768
2769 * config.gcc: Add list of obsolete configurations. Disallow
2770 building these without --enable-obsolete.
2771 * doc/install.texi: Document --enable-obsolete and obsoletion
2772 policy. Mention obsoletion of individual targets in
2773 appropriate places.
2774
f942d7a5
RH
27752002-04-22 Richard Henderson <rth@redhat.com>
2776
2777 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
2778
27792002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
2780
2781 PR f/6138.
2782 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
2783 (walk_fixup_memory_subreg): Likewise.
2784 (fixup_var_refs_insn): Adjust accordingly.
2785 (fixup_var_refs_1): Likewise.
2786
232b0b45
UW
27872002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
2788
2789 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
2790 LIBPATH_ARCH64_SPEC): Define.
2791 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
2792 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
2793 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
2794 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
2795
1b61552b
JS
27962002-04-22 Joel Sherrill <joel@OARcorp.com>
2797
2798 * gthr-rtems.h: Correct prototypes to remove warnings.
2799
0fe854a7
RH
28002002-04-22 Richard Henderson <rth@redhat.com>
2801
2802 PR c/6344
2803 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
2804
2805 * gcse.c (free_insn_expr_list_list): New.
2806 (clear_modify_mem_tables): Use it. Fix bit set usage.
2807 (canon_list_insert): Use EXPR_LISTs for expressions.
2808 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
2809
af0d16cd
NB
28102002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
2811
2812 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
2813 file change and include code to _cpp_pop_buffer.
2814 * cpphash.h (struct pending_option): Predeclare.
2815 (struct cpp_reader): New member next_include_file.
2816 (_cpp_pop_file_buffer): Update.
2817 (_cpp_push_next_buffer): Update, rename.
2818 * cppinit.c (cpp_destroy): Free include chain and pending here.
2819 (cpp_finish_options): Simplify.
2820 (_cpp_push_next_buffer): Rename and clean up.
2821 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
2822 Clarify.
2823 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
2824
0d918572
AH
28252002-04-22 Aldy Hernandez <aldyh@redhat.com>
2826
0fe854a7
RH
2827 * config/rs6000/altivec.h (vec_xor): Add variant for both args
2828 being vector signed int.
2829 (vec_andc): Same.
2830 (vec_xor): Add variant for both args being vector signed char.
2831 Remove redundant variant.
2832 (vec_andc): Same.
0d918572 2833
77e2c290
DM
28342002-04-21 David S. Miller <davem@redhat.com>
2835
2836 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
2837 compare mode in output RTL.
2838
ee2ca2a2
DE
28392002-04-22 David Edelsohn <edelsohn@gnu.org>
2840
2841 * config/rs6000/rs6000.c (rs6000_override_options): Correct
2842 style and formatting of previous patch.
2843
894bdff6
AM
28442002-04-22 Alan Modra <amodra@bigpond.net.au>
2845
2846 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
2847 flag_pic for ABI_AIX.
2848
562a5c27
NB
28492002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
2850
2851 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
2852 * cppfiles.c (read_include_file): Similarly.
2853 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
2854 uxstrdup ustrchr, ufputs): Similarly.
2855 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
2856 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
2857 cpp_ideq, parse_identifier, parse_number): Similarly.
2858 * cpplib.c (struct directive, dequote_string, D, run_directive,
2859 cpp_push_buffer): Similarly.
2860 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
2861 _cpp_create_definition, check_trad_stringification,
2862 cpp_macro_definition): Similarly.
2863
9ac3b1be
NB
28642002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
2865
2866 * cppmacro.c (funlike_invocation_p): Don't step back
2867 over CPP_EOF.
2868
9dda4cc8
DE
28692002-04-21 David Edelsohn <edelsohn@gnu.org>
2870
2871 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
2872 labelno.
2873
20764052
JM
28742002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
2875
2876 * doc/invoke.texi: Remove Chill references.
2877 * doc/gcc.texi: Update last modified date.
2878
26b29884
KH
28792002-04-20 Kazu Hirata <kazu@hxi.com>
2880
2881 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
2882 push and pop. Replace add.l with add.w.
2883
59184677
TM
28842002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2885
2886 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
2887 multiply instructions for H8/300H case.
2888
b1113e0a
TM
28892002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2890
2891 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
2892 Bum three instructions from each routine.
2893
b03e38e1
NB
28942002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
2895
2896 * Makefile.in: Update.
2897 * decl.c (push_c_function_context, pop_c_function_context,
2898 mark_c_function_context): Rename for consistency.
2899 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
2900 * c-tree.h (push_c_function_context, pop_c_function_context,
2901 mark_c_function_context): Rename for consistency.
2902 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
2903 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
2904 * function.c (init_lang_status, save_lang_status,
2905 restore_lang_status, mark_lang_status, free_lang_status):
2906 Move to langhooks.h.
2907 (push_function_context_to, pop_function_context_from,
2908 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
2909 Update.
2910 * function.h (init_lang_status, save_lang_status,
2911 restore_lang_status, mark_lang_status, free_lang_status):
2912 Move to langhooks.h.
2913 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
2914 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
2915 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
2916 LANG_HOOKS_FUNCTION_INITIALIZER): New.
2917 (LANG_HOOKS_INITIALIZER): Update.
2918 (lhd_do_nothing_f): New.
2919 * langhooks.h (struct lang_hooks_for_functions): New.
2920 (struct lang_hooks): New hooks.
2921 * langhooks.c (lhd_do_nothing_f): New.
2922objc:
2923 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
2924 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
2925
db430d26
DM
29262002-04-19 David S. Miller <davem@redhat.com>
2927
2928 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
2929 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
2930
0f2a3457
JJ
29312002-04-19 Jakub Jelinek <jakub@redhat.com>
2932
2933 PR optimization/3756
2934 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
2935 x = ((int) y < 0) ? cst1 : cst2.
2936
ce5e43d0
JJ
29372002-04-19 Jakub Jelinek <jakub@redhat.com>
2938
2939 PR c/6358
2940 * function.c: Reapply patch for c/6358.
2941 (expand_function_end): Copy decl_rtl's mode, not
2942 current_function_return_rtx mode.
2943
29442002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
2945
2946 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
2947 targets.
2948
40e7f8ea
TT
29492002-04-19 Tom Tromey <tromey@redhat.com>
2950
2951 * doc/install.texi (Specific): Update status of Solaris 2.8.
2952 For PR libgcj/6158.
2953
62a12b27
AS
29542002-04-19 Andreas Schwab <schwab@suse.de>
2955
2956 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
2957 (PUT_REAL): Restore old definition.
2958
1405141b
DN
29592002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
2960 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2961
2962 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
2963 binutils 2.11.2 and higher generate smaller binaries than Sun's
2964 native tools.
2965
303a3927
MM
29662002-04-19 Mark Mitchell <mark@codesourcery.com>
2967
2968 PR c++/6352
2969 * toplev.c (rest_of_compilation): Do not defer functions for which
2970 TREE_SYMBOL_REFERENCED has already been set.
2971
de80110b
JH
2972Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
2973
2974 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
2975 alternative.
2976
ab393bf1
NB
29772002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
2978
2979 * builtins.c: Include langhooks.h.
2980 (lang_type_promotes_to): Remove.
2981 (expand_builtin_va_arg): Use new hook.
2982 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
2983 (simple_type_promotes_to): Move to c-typeck.c.
2984 * c-common.h (simple_type_promotes_to): Remove.
2985 * c-decl.c (duplicate_decls, grokdeclarator): Update.
2986 * c-format.c: Include langhooks.h.
2987 (check_format_types): Update.
2988 * c-tree.h (c_type_promotes_to): New.
2989 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
2990 (type_lists_compatible_p): Update.
2991 * langhooks-def.h (lhd_type_promotes_to): New.
2992 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
2993 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
2994 * langhooks.c (lhd_type_promotes_to): New.
2995 * langhooks.h (struct lang_hooks_for_types): New hook.
2996 * tree.h (lang_type_promotes_to): Remove.
2997objc:
2998 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
2999
0cd3301b
RH
30002002-04-18 Richard Henderson <rth@redhat.com>
3001
58533fa2 3002 * function.c: Revert patch for c/6358.
0cd3301b
RH
3003
30042002-04-18 Richard Henderson <rth@redhat.com>
3005
58533fa2
RH
3006 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
3007 blocks. Handle multiple references to the TRAP block. Handle
3008 non-adjacent THEN and OTHER blocks.
0cd3301b 3009
58533fa2
RH
30102002-04-18 Richard Henderson <rth@redhat.com>
3011
3012 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
3013 crash with no type for by-mode libcalls.
3014
3015 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 3016
57174693
BW
30172002-04-18 Bob Wilson <bob.wilson@acm.org>
3018
3019 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
3020 __xtensa_nonlocal_goto): Use a syscall instructions to flush
3021 the register windows.
3022
46468cd9
ZW
30232002-04-18 Zack Weinberg <zack@codesourcery.com>
3024
3025 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
3026 appropriate. Document need for extended precision even when
3027 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
3028 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
3029 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
3030 instead of relying on later syntax error when REAL_WIDTH > 5.
3031 * real.c: Define NE based only on whether or not we have a
3032 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
3033 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
3034 define GET_REAL and PUT_REAL as simple memcpy operations; no
3035 need to byteswap or round.
3036 Use #error instead of #ifdef-ing out the entire file, for
3037 prompt error detection.
3038
3039 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
3040
2f82dbf8
DM
30412002-04-18 David S. Miller <davem@redhat.com>
3042
3043 * config/sparc/sparc.h (BRANCH_COST): Define.
3044
3045 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
3046 does it.
3047
566576e7
HPN
30482002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
3049
3050 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
3051 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
3052 propagate_block calls after relaxation loop using new variable
3053 stabilized_prop_flags.
3054
51dcde6f
RH
30552002-04-18 Richard Henderson <rth@redhat.com>
3056
3057 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
3058 (ia64_va_arg): Expect variable sized types by reference.
3059 * config/ia64/ia64-protos.h: Update.
46468cd9 3060 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
3061 ia64_function_arg_pass_by_reference.
3062
26406018
RH
30632002-04-18 Richard Henderson <rth@redhat.com>
3064
46468cd9
ZW
3065 * ifcvt.c: Include except.h.
3066 (block_has_only_trap): Break out from find_cond_trap.
3067 (find_cond_trap): Use it. Always delete the trap block.
3068 (merge_if_block): Allow then block null. Be less simplistic about
3069 what insns can end a block.
3070 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 3071
26406018
RH
3072 * config/ia64/ia64.md (trap, conditional_trap): New.
3073
a3acf46d
JJ
30742002-04-18 Jakub Jelinek <jakub@redhat.com>
3075
3076 PR c/6358
3077 * function.c (assign_parms): Assign hard current_function_return_rtx
3078 register here...
3079 (expand_function_end): ...not here.
3080
7a228918
NB
30812002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
3082
3083 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
3084 * c-tree.h (c_incomplete_type_error): New.
3085 * c-typeck.c (require_complete_type, build_component_ref): Update.
3086 (incomplete_type_error): Rename.
3087 * langhooks-def.h (lhd_incomplete_type_error): New.
3088 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
3089 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
3090 * langhooks.c (lhd_incomplete_type_error): New.
3091 * langhooks.h (struct lang_hooks_for_types): New hook.
3092 * tree.c (size_in_bytes): Use new hook.
3093 * tree.h (incomplete_type_error): Remove.
3094objc:
3095 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
3096
f18664c1
ZW
30972002-04-18 Zack Weinberg <zack@codesourcery.com>
3098
3099 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
3100 TARGET_FLOAT_FORMAT blocks.
3101
8ecab453
GP
31022002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3103
3104 * doc/install.texi (Downloading the source): Do not mention Chill
3105 any longer, but mention Ada.
3106 (Configuration): Do not mention Chill any longer.
3107
528d8489
HPN
31082002-04-18 Hans-Peter Nilsson <hp@axis.com>
3109
3110 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
3111
91da27c5
JH
3112Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
3113
3114 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
3115 in last patch.
3116
a32db605
JJ
31172002-04-18 Jakub Jelinek <jakub@redhat.com>
3118
3119 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
3120 instead of unsigned_type.
3121
5a28d8cc
JH
3122Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
3123
3124 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
3125 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
3126 later.
3127
3d980b9f
BS
31282002-04-18 Bernd Schmidt <bernds@redhat.com>
3129
3130 * attribs.c (vector_type_node_list): New static variable.
3131 (handle_vector_size_attribute): Use it to avoid generating a
3132 new type node each time we are called.
3133
2e676d78
BS
3134 * combine.c (subst): Avoid trying to make a vector mode subreg of
3135 an integer constant.
3136 (gen_lowpart_for_combine): Likewise.
46468cd9 3137
58c2956c
RS
31382002-04-18 Roger Sayle <roger@eyesopen.com>
3139 Jakub Jelinek <jakub@redhat.com>
3140
3141 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
3142 for integer constant c (if x has unsigned type or sign bit is not
3143 set in c). This folds the zero/sign extension into the bit-wise and
3144 operation.
3145
692efa8e
JJ
31462002-04-18 Jakub Jelinek <jakub@redhat.com>
3147
3148 PR middle-end/6205
3149 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
3150 otherwise xorps.
3151
1372d4ce
NY
31522002-04-17 NIIBE Yutaka <gniibe@m17n.org>
3153
3154 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
3155
169ce44d
NC
31562002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
3157
3158 * gcc.c (read_specs): Detect and fail if an attempt is made to
3159 rename a spec string to an already existing string.
3160
b30d2115
UW
31612002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
3162
3163 * config/s390/s390.c (legitimize_pic_address): Do not generate
3164 illegal address constant without CONST.
3165
d6964c30
KG
31662002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3167
3168 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
3169 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3170
7c82a1ed
UW
31712002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
3172
3173 PR optimization/6305
3174 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
3175 to make sure previous reloads are taken into account. Generate
3176 better code if one operand is an in-range immediate constant.
3177
58db9d1a
AH
31782002-04-16 Andrew Haley <aph@cambridge.redhat.com>
3179
3180 * doc/install.texi (Building): libgcj requires GNU make.
3181
2a732575
JJ
31822002-04-17 Jakub Jelinek <jakub@redhat.com>
3183
3184 PR bootstrap/6315
3185 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
3186 even if hard quad and register is not floating.
3187 (movtf reg<-mem split): Disallow splitting if hard quad and
3188 register is floating.
3189 (movtf mem<-reg split): Likewise.
3190 * config/sparc/sparc.c (fp_register_operand): New predicate.
3191 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
3192
75a65e46
ZW
31932002-04-17 Zack Weinberg <zack@codesourcery.com>
3194
3195 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
3196 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
3197 (unprotoize.o): Ditto. Build from protoize.c. Define
3198 UNPROTOIZE on command line.
3199 * protoize.c: Include cppdefault.h. Delete include_defaults.
3200 (in_system_include_dir): Use cpp_include_defaults (defined in
3201 cppdefault.o).
3202 * unprotoize.c: Delete file.
3203
650f0e97
AH
32042002-04-17 Aldy Hernandez <aldyh@redhat.com>
3205
46468cd9
ZW
3206 * config/rs6000/altivec.h (vec_ld): Add array variants.
3207 (vec_lde): Same.
3208 (vec_ldl): Same.
650f0e97 3209
71a0ab0c 32102002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 3211 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 3212
46468cd9
ZW
3213 * config/rs6000/altivec.h: Define __ALTIVEC__.
3214 (bool): New.
3215 (__pixel): New.
3216 (pixel): New.
3217 (vec_cfux): New.
3218 (vec_vmaddfp): New.
3219 (vec_vsldoi): New.
3220 Add parentheses to all macro arguments.
71a0ab0c 3221
ff2c46ac
RH
32222002-04-16 Richard Henderson <rth@redhat.com>
3223
3224 PR c++/6320
3225 * except.c (remove_eh_handler): Insert inner regions at beginning
3226 of sibling chain. Refactor expressions.
3227
f1ba94dd
RH
32282002-04-16 Richard Henderson <rth@redhat.com>
3229
f0871dfe
RH
3230 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
3231 * config/sparc/sol2-gas-bi.h: New file.
3232 * config.gcc (sparc*-solaris): Add it as needed.
3233 * configure.in (AS_SPARC64_FLAG): Remove check.
3234 * config.in, configure: Regenerate.
3235
3236 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
3237
32382002-04-16 Richard Henderson <rth@redhat.com>
3239
3240 * config/mips/mips.c (override_options): Don't override N32 for
3241 a 64-bit ISA.
409d3c60 3242
f1ba94dd
RH
3243 PR 6202
3244 * config/mips/mips.md (can_delay): Split out of existing define_delays.
3245 (HILO_delay): Set can_delay false.
3246
178c3eff
DJ
32472002-04-16 Dale Johannesen <dalej@apple.com>
3248
3249 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
3250 instruction addresses.
3251 (rs6000_output_function_epilogue): Likewise.
3252
7d6f6369
PC
32532002-04-16 Paolo Carlini <pcarlini@unitus.it>
3254
3255 * c-parse.in (poplevel, compstmt_start,
3256 compstmt_primary_start): Add ending ';', in accordance
3257 with POSIX.
3258
8947df0c
RH
32592002-04-16 Richard Henderson <rth@redhat.com>
3260
3261 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
3262 Adjust tm_file order to get TARGET_DEFAULT set properly.
3263 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
3264 * doc/install.texi (sparc-solaris): Update.
3265
3148ad6d
DJ
32662002-04-16 Dale Johannesen <dalej@apple.com>
3267
3268 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
3269 comparison operands do not match each other or if modes of
3270 conditions do not match result.
3271
014cb9b6 32722002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 3273
014cb9b6
HP
3274 PR target/6305
3275 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 3276 multiword register.
562a69be 3277
014cb9b6 32782002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 3279
8947df0c 3280 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 3281
a9772b60
JJ
32822002-04-16 Jakub Jelinek <jakub@redhat.com>
3283
3284 PR middle-end/6279
3285 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
3286
3287 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
3288
861829ed
RH
32892002-04-15 Richard Henderson <rth@redhat.com>
3290
3291 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
3292 call_really_used_regs too.
3293
bcf2fe9c
RH
32942002-04-15 Richard Henderson <rth@redhat.com>
3295
3296 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
3297
629111c7
DM
32982002-04-15 David S. Miller <davem@redhat.com>
3299
3300 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
3301 as being CLOBBERed.
3302
98ef3137
JJ
33032002-04-16 Jakub Jelinek <jakub@redhat.com>
3304
3305 PR c/6290
3306 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
3307 CONST_VECTOR is { 0, ... 0 }.
3308
0aa911c5
LR
33092002-04-15 Loren J. Rittle <ljrittle@acm.org>
3310
3311 * doc/install.texi (Installing GCC: Configuration): Clarify
3312 the only supported ways to configure gcc.
3313
83248d49 33142002-04-15 Roland McGrath <roland@frob.com>
46468cd9 3315
83248d49
RM
3316 * config.gcc (alpha*-*-gnu*): New target configuration.
3317 * config/alpha/gnu.h: New file for it.
3318 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
3319
b2123dc0
MM
33202002-04-16 Mark Mitchell <mark@codesourcery.com>
3321
3322 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
3323 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
3324 * tree.h (expand_start_stmt_expr): Update prototype.
3325 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
3326 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
3327 on the STMT_EXPR created for the inline function.
46468cd9 3328
8fe2d853
RH
33292002-04-15 Richard Henderson <rth@redhat.com>
3330
3331 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
3332 config/i386/linux-aout.h, config/i386/linux-oldld.h,
3333 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
3334 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
3335 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
3336 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
3337 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
3338 Define __gnu_linux__, not gnu_linux.
3339 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
3340
07cdae91
MM
33412002-04-15 Mark Mitchell <mark@codesourcery.com>
3342
3343 Remove Chill front end.
3344 * gcc.c (default_compilers): Remove Chill entries.
3345 * ch: Remove directory.
3346 * doc/frontends.texi: Remove information about Chill.
3347 * doc/sourcebuild.texi: Likewise.
3348 * doc/standards.texi: Likewise.
3349
41823c5e
DR
33502002-04-15 Douglas B Rupp <rupp@gnat.com>
3351
3352 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
3353 (LONGLONG_STANDALONE): Define.
3354
eb29ddb6
DM
33552002-04-15 David S. Miller <davem@redhat.com>
3356
3357 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
3358 Call emit_library_call with LCT_NORMAL.
3359 (sparc_initialize_trampoline): Use LCT_foo instead of
3360 magic constant in emit_library_call invocations.
3361 (sparc64_initialize_trampoline): Likewise.
3362 (sparc_profile_hook): Likewise.
3363 * config/sparc/sparc.md: Likewise.
3364
3365 * config/sparc/sparc.c (sparc_extra_constraint_check):
3366 Fix type of argument 'c'.
3367 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
3368 Likewise.
3369
bd6bec6b
GDR
33702002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
3371
3372 * diagnostic.h (output_buffer_state): Redefine.
3373 (output_format_decoder): New macro.
3374 (output_prefixing_rule): Likewise.
3375 (output_line_cutoff): Likewise.
3376 (diagnostic_format_decoder): Adjust.
3377 (diagnostic_prefixing_rule): Likewise.
3378 (diagnostic_line_cutoff): Likewise.
3379 (diagnostic_state): Likewise.
3380 (diagnostic_kind_count): Likewise.
3381 (diagnostic_buffer): Now a macro.
3382
3383 * diagnostic.c (diagnostic_buffer): Remove definition.
3384 (output_is_line_wrapping): Adjust.
3385 (set_real_maximum_length): Likewise.
3386 (output_set_maximum_length): Likewise.
3387 (init_output_buffer): Likewise.
3388 (lhd_print_error_function): Likewise.
3389 (output_do_verbatim): Likewise.
3390
ebef4e8c
NB
33912002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
3392
3393 * cpperror.c (print_location): Don't print include chain
3394 if line == 0.
3395 (cpp_begin_message): Update to use DL_ macros.
3396 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
3397 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
3398 cpp_notice, cpp_notice_from_errno): Remove.
3399 (cpp_error, cpp_error_with_line): Update to take a diagnostic
3400 level.
3401 (cpp_errno): New.
3402 * cppexp.c (CPP_ICE): Remove.
3403 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
3404 lex, integer_overflow, _cpp_parse_expr): Update.
3405 * cppfiles.c (read_include_file, find_include_file,
3406 handle_missing_header, _cpp_read_file, remap_filename): Update.
3407 * cpphash.h (enum error_type): Remove.
3408 (_cpp_begin_message): Update.
3409 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
3410 cpp_handle_option, cpp_post_options): Update.
3411 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
3412 skip_whitespace, parse_identifier, parse_slow, parse_string,
3413 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
3414 cpp_interpret_charconst): Update.
3415 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
3416 lex_macro_node, do_undef, glue_header_name, parse_include,
3417 do_include_common, read_flag, do_line, do_linemarker, do_ident,
3418 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
3419 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
3420 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
3421 _cpp_pop_buffer, do_diagnostic): Update.
3422 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
3423 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
3424 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
3425 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
3426 cpp_notice, cpp_notice_from_errno): Remove.
3427 (cpp_error, cpp_error_with_line): Update to take a diagnostic
3428 level.
3429 (cpp_errno): New.
3430 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
3431 collect_args, enter_macro_context, save_parameter, parse_params,
3432 _cpp_create_definition, check_trad_stringification,
3433 cpp_macro_definition): Update.
3434 * cppmain.c (cpp_preprocess_file): Update.
3435 * fix-header.c (read_scan_file): Update.
3436
c19a3859
AS
34372002-04-14 Andreas Schwab <schwab@suse.de>
3438
3439 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
3440
10fdbed6
JD
34412002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3442
3443 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
3444
77660a9a
MM
34452002-04-13 Mark Mitchell <mark@codesourcery.com>
3446
3447 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
3448 not gnu_hurd.
3449
e0ff1ded
HPN
34502002-04-13 Hans-Peter Nilsson <hp@axis.com>
3451
3452 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
3453
2341c7ea
JS
34542002-04-13 Joel Sherrill <joel@OARcorp.com>
3455
3456 * config/sparc/t-elf: Enable v8 multilibs. Impacts
3457 sparc-elf and sparc-rtems targets.
3458
d29350c0
MM
34592002-04-13 Mark Mitchell <mark@codesourcery.com>
3460
3461 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
3462 defined, and __gnu_hurd__ wherever __GNU__ is defined.
3463 * arm/linux-elf.h: Likewise.
3464 * cris/aout.h: Likewise.
3465 * cris/linux.h: Likewise.
3466 * i370/linux.h: Likewise.
3467 * i386/gnu.h: Likewise.
3468 * i386/linux-aout.h: Likewise.
3469 * i386/linux-oldld.h: Likewise.
3470 * i386/linux.h: Likewise.
3471 * i386/linux64.h: Likewise.
3472 * ia64/linux.h: Likewise.
3473 * m68k/linux-aout.h: Likewise.
3474 * m68k/linux.h: Likewise.
3475 * mips/linux.h: Likewise.
3476 * pa/pa-linux.h: Likewise.
3477 * pj/linux.h: Likewise.
3478 * rs6000/sysv4.h: Likewise.
3479 * s390/linux.h: Likewise.
3480 * sh/linux.h: Likewise.
3481 * sparc/linux-aout.h: Likewise.
3482 * sparc/linux.h: Likewise.
3483 * sparc/linux64.h: Likewise.
3484 * xtensa/linux.h: Likewise.
3485
fc552851
RS
34862002-04-13 Richard Sandiford <rsandifo@redhat.com>
3487
3488 * stmt.c (check_unique_operand_names): Expect operand names to
3489 be strings rather than identifiers. Use simple_cst_equal to
3490 compare them.
3491 (resolve_operand_name_1): Make same identifier to string change here.
3492 * c-parse.in (asm_operand): Convert a named operand into a string.
3493 * cp/parse.y (asm_operand): Likewise.
3494
1d405c5e
AS
34952002-04-13 Andreas Schwab <schwab@suse.de>
3496
3497 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
3498
c740732f
MM
34992002-04-12 Mark Mitchell <mark@codesourcery.com>
3500
3501 Revert these changes:
3502
3503 2002-04-06 Mark Mitchell <mark@codesourcery.com>
3504
3505 PR c++/5571
3506 * stor-layout.c (layout_decl): Reset the RTL for the decl.
3507
3fc602a0
RH
35082002-04-12 Richard Henderson <rth@redhat.com>
3509
3510 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
3511 (sparc*-*-solaris): Clean up header files.
3512 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
3513 and plan on generating 64-bit code.
3514 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
3515 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
3516 * config/sparc/sol2-sld-64.h: Rename ...
3517 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
3518 for AS_SPARC64_FLAG not defined.
3519 * config/sparc/sol2-gld-bi.h: New.
3520 * config/sparc/sol2-sld.h: Remove.
3521 * config/sparc/sol26-sld.h: New.
3522 * config/sparc/sol2.h: Tidy comments.
3523 * doc/install.texi: Document sparc-solaris configury changes.
3524
2f15e255
RH
35252002-04-12 Richard Henderson <rth@redhat.com>
3526
3527 * recog.c (offsettable_address_p): Match the logic in adjust_address.
3528
3529 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
3530 in 64-bit mode only. Use only for 32-bit or MEDLOW.
3531
cc8475cb
RO
35322002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3533
3534 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
3535
6f133a4a
JL
3536Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
3537
ef1b8858 3538 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
3539 constrain_operands.
3540
1329e600
DR
35412002-04-12 Douglas B Rupp <rupp@gnat.com>
3542
3543 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
3544 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
3545 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 3546 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
3547 * config/i386/t-interix (USER_H): Remove.
3548
0339d239
DD
35492002-04-12 DJ Delorie <dj@redhat.com>
3550
3551 * integrate.c (compare_blocks): Make comparisons safe for when
3552 sizeof(int) < sizeof(char *).
3553 (find_block): Likewise.
3554
cc4d5fec
JH
35552002-04-12 Jan Hubicka <jh@suse.cz>
3556 David Edelsohn <edelsohn@gnu.org>
3557
3558 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
3559 registers.
3560 (symbol_ref_operand): New.
3561 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
3562 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
3563
93215a1b
AS
35642002-04-12 Andreas Schwab <schwab@suse.de>
3565
3566 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
3567 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
3568 overrides the definition in config/svr4.h.
46468cd9 3569
1d80248e
EN
35702002-04-12 Eric Norum <eric.norum@usask.ca>
3571
3572 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
3573 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
3574 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
3575 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
3576 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
3577 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
3578 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
3579 definitions to config/rtems.h and make the targets more similar.
3580
fa1591cb
RK
3581Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3582
fa06ab5c
RK
3583 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
3584 POINTERS_EXTEND_UNSIGNED.
3585 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
3586 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
3587
fa1591cb
RK
3588 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
3589 not specified.
3590
12e85a0e
R
3591Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
3592
3593 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
3594 depends on TARGET_SHMEDIA, not TARGET_SH5.
3595
1ab3e58a
HPN
35962002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
3597
3598 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
3599 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
3600
18778292
R
3601Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
3602
3603 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
3604 no r0 clobber.
3605
9002507c
AS
36062002-04-12 Andreas Schwab <schwab@suse.de>
3607
3608 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
3609
9be40833
RH
36102002-04-12 Richard Henderson <rth@redhat.com>
3611
3612 PR bootstrap/4191
3613 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
3614
3615 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
3616 modes spanning multiple hard regs.
46468cd9 3617
9be40833
RH
3618 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
3619
3d9268b6
JDA
36202002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3621
3622 * pa.c (pa_output_function_prologue): Don't accumulate the total
3623 number of code bytes when using TARGET_64BIT, or gas, SOM and not
3624 the portable runtime.
3625 (output_deferred_plabels): Handle 64bit plabels.
3626 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
3627 generating pic code using the GAS assembler for object formats that
3628 are not SOM (ie., ELF32 and ELF64).
3629 (output_millicode_call): Check attribute type if attribute length is 28.
3630 Likewise use $PIC_pcrel$0. Only call get_attr_length and
3631 dbr_sequence_length once.
3632 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
3633 dbr_sequence_length once.
3634 * pa.h (TARGET_SOM): Define if not defined.
3635 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
3636 with GAS and not SOM.
3637 (jump, call_internal_reg, call_value_internal_reg): Likewise.
3638 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
3639
d360fd18
DB
36402002-04-11 David O'Brien <obrien@FreeBSD.org>
3641
3642 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
3643 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
3644 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
3645 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
3646 elfos.h and dbxelf.h values are fine now.
3647 * config/i386/freebsd.h, config/alpha/freebsd.h
3648 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
3649
5b8fcab6
DB
36502002-04-11 David O'Brien <obrien@FreeBSD.org>
3651
3652 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
3653 or set Acpu or Amachine. Reformat.
3654 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
3655 define.
3656 (LINK_SPEC): Do not need to undef.
3657 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
3658 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
3659 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
3660 define.
3661 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
3662 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
3663 (LINK_SPEC): Do not need to undef.
3664 (DONT_USE_BUILTIN_SETJMP): Do not define.
3665 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
3666 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
3667 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
3668 Remove trailing spaces.
3669 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
3670 __ELF__, or set Acpu or Amachine. Reformat.
3671 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
3672 define.
3673
fee42cc1
DB
36742002-04-11 David O'Brien <obrien@FreeBSD.org>
3675
3676 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
3677 all other *-*-freebsd* targets.
3678
77a403e4
RH
36792002-04-11 Richard Henderson <rth@redhat.com>
3680
3681 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
3682
cf0005c6
DB
36832002-04-11 David O'Brien <obrien@FreeBSD.org>
3684
3685 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
3686 Include {cpu}/{cpu}.h thru tm_file.
3687 (alpha*-*-linux*ecoff): Remove target.
3688 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
3689 (LINK_SPEC): Remove, is not OS independent.
3690 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
3691 (LINK_SPEC): Do not need to #undef any longer.
3692 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
3693 any longer.
3694 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
3695 __ELF__.
3696 (LINK_SPEC): Moved here from alpha/elf.h.
3697 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
3698 SUB_CPP_PREDEFINES.
3699 * config/alpha/linux-ecoff.h: Remove.
3700 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
3701 (CPP_SPEC): Define _POSIX_SOURCE as needed.
3702 (CPP_SUBTARGET_SPEC): Do not define.
3703 (LINK_SPEC): Do not need to #undef any longer.
3704 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
3705 * config/alpha/vms.h: Likewise.
3706
9be40833 37072002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
3708
3709 * doc/extend.texi: Remove old claim that typedefs cannot have
3710 an alignment attribute.
3711
010f87c4
JJ
37122002-04-11 Jakub Jelinek <jakub@redhat.com>
3713
3714 PR optimization/6177
3715 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
3716 bitpos is 0 and bitsize CONCAT size.
3717
578fc63d
JJ
37182002-04-11 Jakub Jelinek <jakub@redhat.com>
3719
3720 PR c/6223
3721 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
3722
bf9b85ce
DB
37232002-04-10 David O'Brien <obrien@FreeBSD.org>
3724
3725 * config/alpha/freebsd.h: Minor reformatting.
3726 (CPP_SPEC): Define ELF and add cpp_subtarget.
3727 (ASM_SPEC): No longer needed.
3728
7425707d
RH
37292002-04-11 Richard Henderson <rth@redhat.com>
3730
3731 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
3732 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
3733 (dimode mem/zero splitter): New.
3734
1a05e874
HPN
37352002-04-11 Hans-Peter Nilsson <hp@axis.com>
3736
3737 * config/cris/cris.c (cris_override_options): Tweak error message
3738 for PIC not implemented.
3739
3740 * config/cris/cris.h: Tweak comments related to parameter-passing.
3741
3742 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
3743
6f3d0447
RH
37442002-04-10 Richard Henderson <rth@redhat.com>
3745
3746 * except.c (add_ehl_entry): Allow duplicates after landing pad
3747 creation.
3748
174bf2b1
DE
37492002-04-10 David Edelsohn <edelsohn@gnu.org>
3750
3751 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
3752
03f10472
TM
37532002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
3754
3755 * c-decl.c (c_init_decl_processing): Move generation of
3756 decls for g77_integer_type_node and friends from here ...
3757 * c-common.c (c_common_nodes_and_builtins): ... to here.
3758
2f460a0a
UW
37592002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
3760
3761 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
3762 is only used as frame pointer when frame_pointer_needed is true.
3763
0be5cf85
RE
37642002-04-10 Richard Earnshaw <rearnsha@arm.com>
3765
3766 PR target/817
3767 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
3768 for the fact that the pool entry uses two words.
3769 (movdf_hard_insn): Similarly. Also, ADR instruction can span
3770 1k bytes.
3771 (movdf_soft_insn): Similarly.
3772 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
3773 for the fact that the pool entry uses three words.
3774
bf6d4777
RS
37752002-04-10 Richard Sandiford <rsandifo@redhat.com>
3776
3777 * config/mips/mips.c (mips_va_arg): When using the struct version
3778 of the EABI va_list, allow arguments in the register save area to
3779 take up less room than a stack argument.
3780
c2e9dc85
RH
37812002-04-10 Richard Henderson <rth@redhat.com>
3782
3783 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
3784 if EXPAND_INITIALIZER.
3785
bc8e8e97
RH
37862002-04-09 Richard Henderson <rth@redhat.com>
3787
3788 * config/alpha/alpha.md (movdi_er_maybe_g): New.
3789 * config/alpha/alpha.c (alpha_expand_mov): Use it.
3790
a6a063b8
AM
37912002-04-10 Alan Modra <amodra@bigpond.net.au>
3792
3793 PR optimization/6233
3794 * rtlanal.c (pure_call_p): New function.
3795 * rtl.h (pure_call_p): Declare.
3796 * loop.c (prescan_loop): Use it to set has_nonconst_call.
3797 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
3798
7b2e1077
EC
37992002-04-09 Eric Christopher <echristo@redhat.com>
3800
3801 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
3802 information to .comm directive.
3803
d8a50944
RH
38042002-04-09 Richard Henderson <rth@redhat.com>
3805
3806 PR c/5078
3807 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
3808
6a58eee9
RH
38092002-04-09 Richard Henderson <rth@redhat.com>
3810
3811 * basic-block.h (flow_delete_block_noexpunge): Declare.
3812 (expunge_block_nocompact): Declare.
3813 * cfg.c (expunge_block_nocompact): Split out from ...
3814 (expunge_block): ... here.
3815 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
3816 (flow_delete_block_noexpunge): Split out from ...
3817 (flow_delete_block): ... here.
3818 * cfgcleanup.c (delete_unreachable_blocks): Compact while
3819 removing dead blocks.
3820 * except.c (exception_handler_labels): Remove.
3821 (exception_handler_label_map): New.
3822 (struct eh_region): Add aka member.
3823 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
3824 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
3825 (for_each_eh_label, for_each_eh_label_1): New.
3826 (init_eh): Register exception_handler_label_map.
3827 (free_eh_status): Use free_region.
3828 (find_exception_handler_labels): Use the map, not the list.
3829 (remove_exception_handler_label): Likewise.
3830 (maybe_remove_eh_handler): Likewise.
3831 (remove_eh_handler): Use the region aka bitmap.
3832 * except.h (exception_handler_labels): Remove.
3833 (for_each_eh_label): Declare.
3834 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
3835 * loop.c (invalidate_loops_containing_label): New.
3836 (find_and_verify_loops): Use it. Use for_each_eh_label.
3837 * sched-rgn.c (is_cfg_nonregular): Use
3838 current_function_has_exception_handlers.
3839
b47374fa
RH
38402002-04-09 Richard Henderson <rth@redhat.com>
3841
3842 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
3843 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
3844 Do not return changed status.
3845 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
3846 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
3847 New functions that do return changed status.
3848 * sbitmap.h: Update decls.
3849 * gcse.c, lcm.c: Use _cg functions as needed.
3850
1951818c
R
3851Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
3852
3853 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
3854 (sh64-*-elf*, sh-*-rtemself*): Likewise.
3855 * config/sh/embed_bb.c: New file.
3856 * config/sh/embed-elf.h: New file.
3857 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
3858 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
3859 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
3860 __PTRDIFF_TYPE__ .
3861 (SUBTARGET_CPP_PTR_SPEC): Don't define.
3862 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
3863 Add subtarget_asm_endian_spec.
3864 (ASM_SPEC): Use subtarget_asm_endian_spec.
3865 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
3866 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
3867 (WCHAR_UNSIGNED): Define.
3868 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
3869 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
3870 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
3871 Fix value.
3872 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
3873 (sh_adjust_cost): Likewise.
3874 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
3875 __PTRDIFF_TYPE__ .
3876 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
3877 (WCHAR_TYPE_SIZE): Likewise.
3878 (ASM_SPEC): Use subtarget_asm_endian_spec.
3879 (SH_ELF_WCHAR_TYPE): #undef/ #define.
3880 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
3881 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
3882 (MAX_WCHAR_TYPE_SIZE): Don't #define .
3883 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
3884 (USER_LABEL_PREFIX): Don't #undef /#define .
3885 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
3886 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
3887 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
3888 (ASM_SPEC): Likewise.
3889 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
3890 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
3891 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
3892 (LIB2FUNCS_EXTRA): Define.
3893 * t-sh64 (LIB2FUNCS_EXTRA): Define.
3894 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
3895 (LIB1ASMFUNCS_CACHE): Define.
3896 (LIB2FUNCS_EXTRA): Redefine empty.
3897
34295799
RH
38982002-04-08 Richard Henderson <rth@redhat.com>
3899
3900 * reorg.c (get_branch_condition): Use reversed_comparison_code.
3901
e8766a39
SC
39022002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3903
3904 * config/m68hc11/larith.asm (__map_data_section): Fix condition
3905 and optimize for size.
3906 (__do_global_ctors): Fix pointer comparison.
3907 (__do_global_dtors): Likewise.
3908
f451b552
DM
39092002-04-09 David S. Miller <davem@redhat.com>
3910
3911 * config/sparc/sparc.c (sparc_extra_constraint_check): New
3912 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
3913 allow reloading pseudos.
3914 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
3915 * config/sparc/sparc-protos.h: Declare it.
3916
3917 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
3918 unsigned comparison warning.
3919 (output_restore_regs): Mark leaf_function as unused.
3920
1ce7f3c2
RK
3921Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3922
3923 * expr.c (is_aligning_offset): New function.
3924 (expand_expr, case COMPONENT_EXPR): Call it.
3925
7a31a340
DM
39262002-04-08 David S. Miller <davem@redhat.com>
3927
3928 PR target/6082
3929 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
3930
3931 Make init_priority work on Sparc when using GNU ld.
3932 * config/sparc/linux.h, config/sparc/linux64.h,
3933 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
3934 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
3935 * config/sparc/sol2-gld.h: New file to do the same.
3936 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
3937 sparc/sol2-gld.h to tm_file.
3938
3939 PR optimization/4328
3940 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
3941 * doc/md.texi: Document it.
3942 * config/sparc/sparc.md (movdi_insn_sp64_novis,
3943 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
3944 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
3945 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
3946 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
3947
11579f33
AJ
39482002-04-08 Andreas Jaeger <aj@suse.de>
3949
3950 * stmt.c (expand_asm_operands): Revert last patch from Richard
3951 Henderson.
3952
b57215d9
GP
39532002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3954
3955 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
3956 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
3957
39582002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3959
3960 * doc/contrib.texi (Contributors): Add David O'Brien.
3961
534d0cc0
AM
39622002-04-08 Alan Modra <amodra@bigpond.net.au>
3963
3964 * configure.in (auto-build.h): Use target_alias and build_alias
3965 when running configure.
3966 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
3967 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
3968 * configure: Regenerate.
3969
19fe522a
DM
39702002-04-07 David S. Miller <davem@redhat.com>
3971
3972 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
3973
bf2d0b8e
JDA
39742002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
3975
3976 PR 5933
3977 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
3978 generating 32-bit pic code.
3979
477cdac7
JT
39802002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
3981
3982 * cppinit.c (cpp_create_reader): Initialize
3983 discard_comments_in_macro_exp.
3984 (COMMAND_LINE_OPTIONS): Add "-CC" option.
3985 (cpp_handle_option): Handle "-CC" option.
3986 * cpplex.c (save_comment): If saving a C++ comment in
3987 a directive, convert it to a C comment.
3988 (_cpp_lex_direct): Pass second comment start character to
3989 save_comment to indicate comment type.
3990 * cpplib.c (_cpp_handle_directive): If processing
3991 a "#define" directive and discard_comments_in_macro_exp
3992 is false, re-enable saving of comments.
3993 (lex_macro_node): If discard_comments_in_macro_exp is false,
3994 discard any comments before the macro identifier.
3995 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
3996 member.
3997 * cppmacro.c (cpp_get_token): If expanding a macro while
3998 processing a directive, discard any comments we might encounter.
3999 (parse_params): If discard_comments_in_macro_exp is false,
4000 ignore comments in the macro parameter list.
4001 * gcc.c (cpp_unique_options): Add "-CC" option.
4002 (option_map): Map "--comments-in-macros" to "-CC".
4003 * doc/cppopts.texi: Document "-CC" option.
4004 * f/lang-specs.h: Add "-CC" option.
4005 * testsuite/gcc.dg/cpp/maccom1.c: New test.
4006 * testsuite/gcc.dg/cpp/maccom2.c: New test.
4007 * testsuite/gcc.dg/cpp/maccom3.c: New test.
4008 * testsuite/gcc.dg/cpp/maccom4.c: New test.
4009 * testsuite/gcc.dg/cpp/maccom5.c: New test.
4010 * testsuite/gcc.dg/cpp/maccom6.c: New test.
4011
f1526122
JDA
40122002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
4013
4014 PR middle-end/6180
4015 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
4016
b1896e61
MM
40172002-04-06 Mark Mitchell <mark@codesourcery.com>
4018
0154eaa8
MM
4019 PR c++/5571
4020 * stor-layout.c (layout_decl): Reset the RTL for the decl.
4021
b1896e61
MM
4022 PR opt/5120
4023 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
4024 RTX_UNCHANGING_P for the functions arguments when a tail call
4025 is made.
4026
b0148884
JM
40272002-04-06 Jason Merrill <jason@redhat.com>
4028
4029 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
4030 (parse_options_and_default_flags): Set them appropriately.
4031 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
4032
392fc5b0
HPN
40332002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
4034
4035 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
4036 here.
4037
4038 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
4039 semicolon.
4040
4041 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
4042 types come in by-reference. Fix typo in comment.
4043
2d69e3cb
DM
40442002-04-05 David S. Miller <davem@redhat.com>
4045
4046 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
4047 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
4048 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
4049 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
4050
40512002-04-05 David S. Miller <davem@redhat.com>
4052
4053 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
4054 are not going to emit return instructions, emit at least a nop
4055 for the sake of sane backtraces.
4056
5f9fb0e3
RH
40572002-04-05 Richard Henderson <rth@redhat.com>
4058
4059 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
4060
49f37a0d
JJ
40612002-04-05 Jakub Jeilnek <jakub@redhat.com>
4062
4063 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
4064
974a3101
AO
40652002-04-05 Alexandre Oliva <aoliva@redhat.com>
4066
4067 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
4068 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
4069 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
4070
2e04a694
AS
40712002-04-05 Andreas Schwab <schwab@suse.de>
4072
a40179bd 4073 * c-convert.c: Include c-common.h.
2e04a694
AS
4074 * Makefile.in (c-convert.o): Updated.
4075
1f785b7c
JJ
40762002-04-05 Jakub Jelinek <jakub@redhat.com>
4077
4078 * mklibgcc.in: Use separate libgcc.map for each multilib.
4079 * Makefile.in (distclean): Don't remove libgcc.map here.
4080
4d2fb38b
JJ
40812002-04-05 Jakub Jelinek <jakub@redhat.com>
4082
4083 * Makefile.in (s-mlib): Handle --disable-multilib by separate
4084 genmultilib invocation.
4085
bb63e5a0
RS
40862002-04-04 Richard Sandiford <rsandifo@redhat.com>
4087
4088 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
4089 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
4090 to num_gprs for symmetry.
4091 * config/mips/mips.c: Adjust accordingly.
4092
8ab80eaa
NB
40932002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
4094
4095 * c-common.c (truthvalue_conversion): Rename, update.
4096 * c-common.h (c_common_truthvalue_conversion): New.
4097 * c-convert.c (convert): Update.
4098 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
4099 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
4100 * c-typeck.c (build_binary_op, build_unary_op,
4101 build_conditional_expr): Update.
4102 * fold-const.c (constant_boolean_node, fold): Use langhook.
4103 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
4104 * langhooks.h (struct lang_hooks): New hook.
4105 * stmt.c (expand_decl_cleanup): Use langhook.
4106 * tree.h (truthvalue_conversion): Remove.
4107objc:
4108 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
4109
a2e9374a
AM
41102002-04-05 Alan Modra <amodra@bigpond.net.au>
4111
4112 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
4113 Add rules to make null object file.
4114
64d08263
JB
41152002-04-04 Jim Blandy <jimb@redhat.com>
4116
4117 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
4118 macro formal parameter names.
4119
aa7634dd
DM
41202002-04-04 David S. Miller <davem@redhat.com>
4121
4122 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
4123
ecc114f7
RH
41242002-04-04 Richard Henderson <rth@redhat.com>
4125
4126 PR middle-end/5099
4127 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
4128 Support copies into and out of memory. Don't accept allows_reg
4129 and allows_mem as gospel.
4130
c4484b8f
RH
41312002-04-04 Richard Henderson <rth@redhat.com>
4132
4133 PR opt/6165
4134 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
4135 (write_dependence_p): Likewise.
4136
39002160
RH
41372002-04-04 Richard Henderson <rth@redhat.com>
4138
4139 * predict.c (estimate_bb_frequencies): Do frequency calculation
4140 with a volatile temporary.
4141
f53ebe71
UW
41422002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
4143
4144 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
4145
15e0ecab
JJ
41462002-04-04 Jakub Jelinek <jakub@redhat.com>
4147
4148 PR c++/6119
4149 * final.c (final_start_function): Don't bump profile_label_no here...
4150 (final_end_function): ...but here.
4151
ffd386b0
JJ
41522002-04-04 Jakub Jelinek <jakub@redhat.com>
4153
4154 * config/sparc/sparc.md (pic): New attribute.
4155 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
4156 into stack slots.
4157 (split after do_builtin_setjmp_setup): New.
4158
8b156b3e
JJ
41592002-04-04 Jakub Jelinek <jakub@redhat.com>
4160
4161 PR fortran/6106
4162 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
4163 change.
4164
014c0998
JJ
41652002-04-04 Jakub Jelinek <jakub@redhat.com>
4166
4167 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
4168 UNITS_PER_WORD for zero sized aggregates.
4169
4d8611d9
DM
41702002-04-03 David S. Miller <davem@redhat.com>
4171
4172 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
4173 one-character spec for this, just use %(link_gcc_c_sequence).
4174
b03ad99d
DM
41752002-04-03 David S. Miller <davem@redhat.com>
4176
4177 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
4178 handling.
4179
823fbbce
JDA
41802002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
4181
4182 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
4183 (DWARF_FRAME_RETURN_COLUMN): Move.
4184 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4185 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
4186 * pa.c (except.h, predict.h): Include.
4187 (FRP): Delete.
4188 (store_reg_modify, set_reg_plus_d): Revise prototypes.
4189 (output_ascii): Add cast.
4190 (store_reg_modify): Revise to add frame notes.
4191 (set_reg_plus_d): Likewise.
4192 (compute_frame_size): Include space for eh data registers in frame if
4193 the current function calls eh_return.
4194 (hppa_expand_prologue): Ensure register %r2 is saved if the current
4195 function calls eh_return. Save eh data registers if the current
4196 function calls eh_return. Fix code to add frame notes. Emit
4197 blockage to prevent insns with frame notes being scheduled in the
4198 delay slot of calls.
4199 (hppa_expand_epilogue): Restore eh data registers and do final stack
4200 adjustment if the current function calls eh_return. Don't add frame
4201 notes.
4202 (output_call): Revise for change in length of call insn. Don't do
4203 return pointer adjustment for an unconditional jump in the delay slot
4204 of a call when using frame notes.
4205 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
4206 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
4207 (ARG_POINTER_CFA_OFFSET): Define.
4208 * pa.md (return_external_pic): New pattern.
4209 (prologue): Correct formatting. Use return_external_pic if current
4210 function calls eh_return.
4211 (call_internal_symref, call_value_internal_symref,
4212 sibcall_internal_symref, sibcall_value_internal_symref): Change default
4213 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
4214 respectively.
4215 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
4216
4217 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
4218 list of targets to check using "nop" insn.
4219 * configure: Rebuilt.
4220
4078e224
AM
42212002-04-04 Alan Modra <amodra@bigpond.net.au>
4222
4223 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
4224
bbd7687d
DM
42252002-04-03 David S. Miller <davem@redhat.com>
4226
4227 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
4228 library sequence passed to the linker.
4229 (LINK_COMMAND_SPEC): Use it.
4230 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
4231 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
4232 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
4233
659e5a7a
JM
42342002-04-03 Jason Merrill <jason@redhat.com>
4235
4236 * except.c (struct eh_status): Remove protect_list.
4237 (begin_protect_partials, end_protect_partials): Remove.
4238 (add_partial_entry): Remove.
4239 * except.h: Remove prototypes.
4240
4241 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
4242 expand_decl_cleanup_eh.
4243
4244 PR c++/5636
4245 * tree.h (CLEANUP_EH_ONLY): New macro.
4246 * stmt.c (expand_decl_cleanup_eh): New fn.
4247 (expand_cleanups): Check CLEANUP_EH_ONLY.
4248 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
4249 Use expand_decl_cleanup_eh.
4250 (expand_stmt): Adjust.
4251 * c-common.h: Adjust prototype.
4252
053d3344
HPN
42532002-04-04 Hans-Peter Nilsson <hp@axis.com>
4254
4255 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
4256 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
4257 (cris_target_asm_function_epilogue): Ditto.
4258 (cris_initial_frame_pointer_offset): Ditto.
4259 (cris_simple_epilogue): Ditto.
4260 (cris_expand_builtin_va_arg): Variable-size types come in
4261 by-reference.
4262
61ab5260
DM
42632002-04-03 David S. Miller <davem@redhat.com>
4264
4265 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
4266 little-endian.
4267 (set_fast_math): Correct 'fsr' type.
4268
ef4f94ac
RH
42692002-04-03 Richard Henderson <rth@redhat.com>
4270
36c2272c 4271 PR opt/3569
ef4f94ac
RH
4272 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
4273 * toplev.c (check_global_declarations): Use it.
4274 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
4275 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
4276 (LANG_HOOKS_DECLS): Add it.
4277 * langhooks.c (lhd_warn_unused_global_decl): New.
4278 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
4279 * c-objc-common.c (c_warn_unused_global_decl): New.
4280 * c-tree.h (c_warn_unused_global_decl): Declare.
4281 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
4282
599bba86
NB
42832002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
4284
4285 * langhooks-def.h (lhd_set_decl_assembler_name,
4286 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
4287 (LANG_HOOKS_INITIALIZER): Update.
4288 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
4289 * langhooks.h (struct lang_hooks): New hook.
4290 * tree.c (set_decl_assembler_name): Move to langhooks.c.
4291 (lang_set_decl_assembler_name): Remove.
4292 (init_obstacks): Don't set hook.
4293 (decl_assembler_name): New function.
4294 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
4295 (decl_assembler_name): New.
4296 (lang_set_decl_assembler_name): Remove.
4297
cf7b8b0d
JJ
42982002-04-03 Jakub Jelinek <jakub@redhat.com>
4299
4300 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
4301 works properly with .hidden symbols.
4302 * configure: Rebuilt.
4303 * config.in: Rebuilt.
4304 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
4305 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
4306 properly with .hidden symbols.
4307
faf6db38
JJ
43082002-04-03 Jakub Jelinek <jakub@redhat.com>
4309
4310 PR middle-end/6102
4311 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
4312 USE argument.
4313
68c17f30
RH
43142002-04-03 Richard Henderson <rth@redhat.com>
4315
4316 PR opt/4120
4317 * sched-rgn.c (sets_likely_spilled): New.
4318 (sets_likely_spilled_1): New.
4319 (add_branch_dependences): Use it.
4320
6584b4aa
RH
43212002-04-02 Richard Henderson <rth@redhat.com>
4322
4323 PR opt/4311
4324 * loop.h (LOOP_FIRST_PASS): New.
4325 * loop.c (strength_reduce): Mind it when deciding to unroll.
4326 * toplev.c (rest_of_compilation): Set it.
4327
0acf409f
DM
43282002-04-02 David S. Miller <davem@redhat.com>
4329
4330 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
4331 mems_ok_for_ldd_peep when the order of the loads being examined
4332 is reversed.
4333 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
4334 existing comment to increase comprehension of this situation.
4335
85654444
ZW
43362002-04-02 Zack Weinberg <zack@codesourcery.com>
4337
4338 * config/sh/sh.md: Don't use union real_extract.
4339
543828ca
RH
43402002-04-02 Richard Henderson <rth@redhat.com>
4341
4342 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
4343
39ed301b
DB
43442002-04-02 David O'Brien <obrien@FreeBSD.org>
4345
4346 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
4347 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
4348 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
4349 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
4350 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
4351 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
4352 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
4353 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
4354 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
4355 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
4356 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
4357 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
4358 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
4359 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
4360 Include as many configury headers via tm_file as possible. This
4361 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
4362 * config/openbsd-oldgas.h: New file.
4363 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
4364 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
4365 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
4366 config/i386/i386-coff.h, config/i386/i386-interix.h,
4367 config/i386/iscdbx.h, config/i386/linux-aout.h,
4368 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
4369 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
4370 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
4371 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
4372 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
4373 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
4374 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
4375 config/i386/vxi386.h: Do not directly include configury headers.
4376 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
4377 Directly include configury headers that are no longer automatically
4378 included by the above headers.
4379 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
4380 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
4381 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
4382 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
4383 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
4384 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
4385 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
4386 (TARGET_VERSION): Define.
4387 * config/i386/beos-elf.h, config/i386/freebsd.h,
4388 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
4389 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
4390 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
4391 config/i386/sco5.h, config/i386/sysv4.h
4392 (TARGET_VERSION): Do not need to protect.
4393 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
4394 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
4395 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
4396 config/i386/i386-interix.h, config/i386/linux-aout.h,
4397 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
4398 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
4399 (YES_UNDERSCORES): Do not define - not needed.
4400 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
4401 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
4402 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
4403 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
4404 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
4405 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
4406 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
4407 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
4408
9432c136
EB
44092002-04-02 Eric Botcazou <ebotcazou@multimania.com>
4410 Richard Henderson <rth@redhat.com>
4411
4412 PR c/5484
4413 * function.c (assign_temp): Accept either type or decl argument.
4414 Detect variables whose size is too large to fit into an integer.
4415 * stmt.c (expand_decl): Pass the decl, not the type.
4416
058b1275
DB
44172002-04-02 David O'Brien <obrien@FreeBSD.org>
4418
4419 * protoize.c: Match include directory usage with cppdefault.c.
4420
5add6d1a 44212002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 4422 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
4423
4424 * combine.c (simplify_comparison): Avoid narrowing a comparison
4425 with a paradoxical subreg when doing so would drop signficant bits.
4426
1e533e4b
SE
44272002-04-02 Steve Ellcey <sje@cup.hp.com>
4428
4429 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
4430 if POINTERS_EXTEND_UNSIGNED is defined.
4431
7a145e92
RH
44322002-04-02 Richard Henderson <rth@redhat.com>
4433
4434 PR opt/3967
4435 * local-alloc.c (contains_replace_regs): LO_SUM may contain
4436 replace regs.
4437
3a079822
RH
44382002-04-02 Richard Henderson <rth@redhat.com>
4439
4440 * doc/standards.texi: Document required freestanding libc entry points.
4441
c94ccb87
AM
44422002-04-02 Alan Modra <amodra@bigpond.net.au>
4443
4444 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
4445 associated splitter. Remove MQ constraint.
4446 (ctrdi_internal4): Correct CCmode clobber.
4447
fe660a1a
JDA
44482002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
4449
4450 * milli64.S ($$dyncall): New function.
4451 * t-linux (LIB1ASMFUNCS): Revise module list.
4452 (LIB1ASMSRC): Use pa/milli64.S.
4453
eadc0202
RH
44542002-04-02 Richard Henderson <rth@redhat.com>
4455
4456 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
4457 rename solaris_sys_varargs_h.
4458
a1471322
RK
4459Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4460
4461 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
4462 the same mode as its component.
4463
c8b94768
RH
44642002-04-02 Richard Henderson <rth@redhat.com>
4465
4466 PR opt/190
4467 * final.c (this_is_asm_operands): Export.
4468 * output.h (this_is_asm_operands): Declare.
4469 * config/i386/i386.c (print_operand): Error odd asm operands.
4470
161eb4fc
RH
44712002-04-02 Richard Henderson <rth@redhat.com>
4472
4473 PR opt/420
4474 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
4475
b88a94c6
RH
44762002-04-01 Richard Henderson <rth@redhat.com>
4477
4478 PR target/1538
4479 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
4480 * fixinc/fixincl.x: Rebuild.
4481
72e32876
RH
44822002-04-01 Richard Henderson <rth@redhat.com>
4483
4484 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
4485 (atomic_alloc, atomic_free): New.
4486 (SIZE, MASK_FOR, PTR_IN): New.
4487 (emergency_reg_state, emergency_reg_state_free): New.
4488 (emergency_labeled_state, emergency_labeled_state_free): New.
4489 (reg_state_alloced, labeled_state_alloced): New.
4490 (alloc_reg_state, free_reg_state): New.
4491 (alloc_label_state, free_label_state, free_label_states): New.
4492 (push, pop, dup_state_stack, free_state_stack): Use them.
4493 (desc_label_state): Likewise.
4494 (uw_frame_state_for): Free label states and state stack.
4495 (uw_update_reg_address): Eliminate warnings.
4496
84d76074
VM
44972002-04-01 Vladimir Makarov <vmakarov@redhat.com>
4498
4499 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 4500 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 4501
dffd7eb6
NB
45022002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
4503
4504 * c-decl.c (grokdeclarator): Update.
4505 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
4506 * c-tree.h (c_mark_addressable): New.
4507 * c-typeck.c (default_function_array_conversion, build_unary_op,
4508 build_array_ref, convert_for_assignment): Update.
4509 (mark_addressable): Rename.
4510 * calls.c (try_to_integrate, expand_call): Use langhook.
4511 * expr.c (expand_expr): Use langhook.
4512 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
4513 * langhooks.h (struct lang_hooks): New hook.
4514 * stmt.c (expand_asm_operands): Use langhook.
4515 * tree.h (mark_addressable): Remove.
4516objc:
4517 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
4518
544ef5b5
BW
45192002-04-01 Bob Wilson <bob.wilson@acm.org>
4520
9be40833
RH
4521 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
4522 in previous change.
544ef5b5 4523
bcf88f9b
BW
45242002-04-01 Bob Wilson <bob.wilson@acm.org>
4525
4526 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
4527 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
4528
ceef8ce4
NB
45292002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
4530
4531 * c-common.c (unsigned_conversion_warning, convert_and_check,
4532 unsigned_type, signed_type, shorten_compare,
4533 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
4534 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
4535 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
4536 New.
4537 * c-decl.c (grokdeclarator): Update.
4538 * c-format.c (check_format_types): Update.
4539 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
4540 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
4541 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
4542 * convert.c (convert_to_integer): Use new hooks.
4543 * expmed.c (make_tree): Use new hooks.
4544 * expr.c (store_expr): Use new hooks.
4545 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
4546 all_ones_mask_p, unextend, fold): Use new hooks.
4547 * langhooks.h (struct lang_hooks_for_types): New hooks.
4548 * tree.h (signed_or_unsigned_type, signed_type,
4549 unsigned_type): Remove.
4550objc:
4551 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
4552 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
4553
1d9ad0e0
RH
45542002-03-31 Richard Henderson <rth@redhat.com>
4555
4556 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
4557 (desc_frgr_mem): Fix reference to f16-f31.
4558
d544bc39
KG
45592002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4560
4561 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
4562 RTVEC_ELT): Const-ify.
d8750784
KG
4563 * varray.h (VARRAY_CHECK): Const-ify.
4564 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
4565 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 4566
b18101c7
NB
45672002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
4568
4569 * diagnostic.c: Include langhooks-def.h.
4570 * Makefile.in (diagnostic.o): Update.
4571
48a7a235
NB
45722002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
4573
4574 * c-common.c (c_unsafe_for_reeval): Rename.
4575 * c-common.h (c_unsafe_for_reeval): Rename.
4576 * c-decl.c (finish_incomplete_decl): Rename.
4577 (c_init_decl_processing): Don't set langhook.
4578 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
4579 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
4580 * c-objc-common.c (c_objc_common_init): Don't set langhook.
4581 * c-tree.h (finish_incomplete_decl): Rename.
4582 * langhooks-def.h (lhd_unsafe_for_reeval): New.
4583 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
4584 (LANG_HOOKS_INITIALIZER): Update.
4585 * langhooks.c (lhd_unsafe_For_reeval): New.
4586 * langhooks.h (struct langhooks): New hooks.
4587 * toplev.c (incomplete_decl_finalize_hook): Remove.
4588 (wrapup_global_declarations): Update.
4589 * tree.c (lang_unsafe_for_reeval): Remove.
4590 (unsafe_for_reeval): Update.
4591 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
4592 Remove.
4593objc:
4594 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
4595 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
4596
7cb32822
NB
45972002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
4598
4599 * diagnostic.c (print_error_function): Remove.
4600 (default_print_error_function): Rename.
4601 (report_error_function): Update.
4602 * diagnostic.h (print_error_function): Remove.
4603 (default_print_error_function): Remove.
4604 * langhooks-def.h (struct diagnostic_context): Predeclare.
4605 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
4606 (LANG_HOOKS_INITIALIZER): Update.
4607 * langhooks.h (struct diagnostic context): Predeclare.
4608 (struct lang_hooks): New hook.
4609
1db02437
FS
46102002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4611
4612 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
4613 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
4614 !flag_pic.
4615 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
4616 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
4617 of PIC_OFFSET_TABLE_REGNUM thruout.
4618 * config/rs6000/rs6000.md: Likewise.
4619 * config/rs6000/darwin.h: Likewise.
4620
3bf1e984
RK
4621Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4622
4623 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
4624 unsigned HOST_WIDE_INT, not unsigned int.
4625
0864c526
JJ
46262002-03-31 Jakub Jelinek <jakub@redhat.com>
4627
4628 PR middle-end/6096, middle-end/6098, middle-end/6099
4629 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
4630 CODE_LABELs.
4631 (fill_slots_from_thread): Likewise.
4632
105b2084
JJ
46332002-03-31 Jakub Jelinek <jakub@redhat.com>
4634
4635 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
4636 floating fields in float regs.
4637 (function_arg_record_value_2): Likewise.
4638
db08fddf
HPN
46392002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
4640
4641 * config/mmix/mmix.md (define_constants): Remove misleading
4642 FIXME. Add MMIX_fp_rO_OFFSET.
4643 ("nonlocal_goto_receiver"): Don't have stack-frame address of
4644 saved rO as part of the pattern. Remove FIXME.
4645 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
4646 here, at output-time.
4647
4f31cce8
JJ
46482002-03-31 Jakub Jelinek <jakub@redhat.com>
4649
4650 PR middle-end/6100
4651 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
4652 REG_BR_PRED.
4653 (output_v9branch): Likewise.
4654
ba2b7435
AO
46552002-03-31 Alexandre Oliva <aoliva@redhat.com>
4656
4657 * gcc.c: Revert previous patch for now.
4658 * config/i386/djgpp.h: Likewise.
4659
aa66aa5f 46602002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
4661
4662 * config/mmix/crti.asm (_init): Register _fini with atexit.
4663 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
4664
41ba8a20
RH
46652002-03-31 Richard Henderson <rth@redhat.com>
4666
4667 PR target/3997
4668 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
4669 (ASM_OUTPUT_DEF_FROM_DECLS): New.
4670
adc186ef
RH
46712002-03-31 Richard Henderson <rth@redhat.com>
4672
4673 * libgcc2.c (__bb_exit_func): Make static.
4674
9be40833 4675 * config/alpha/alpha.md (trap): New.
a7648399 4676
9602f5a0
RH
46772002-03-31 Richard Henderson <rth@redhat.com>
4678
4679 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
4680 promoted argument types; build trap.
4681 (expand_builtin_trap): New.
4682 (expand_builtin): Use it.
4683 * stmt.c (expand_nl_goto_receivers): Likewise.
4684 * expr.h (expand_builtin_trap): Declare.
4685 * libfuncs.h (LTI_abort, abort_libfunc): New.
4686 * optabs.c (init_optabs): Init abort_libfunc.
4687
1a0a7539
AO
46882002-03-31 Alexandre Oliva <aoliva@redhat.com>
4689
4690 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
4691 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 4692 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
4693 shared_name in the second copy.
4694 (init_spec): Test for duplicate
4695 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
4696
b5de1a27
DM
46972002-03-30 David S. Miller <davem@redhat.com>
4698
4699 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
4700 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
4701
78414d74 47022002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 4703 Richard Henderson <rth@redhat.com>
78414d74 4704
9be40833
RH
4705 * regmove.c (combine_stack_adjustments_for_block): Avoid
4706 emitting a stack adjustment of zero bytes. Let delete_insn
4707 update bb->head.
78414d74 4708
33074e5f
RH
47092002-03-30 Richard Henderson <rth@redhat.com>
4710
4711 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
4712 (sparc_emitting_epilogue): New.
4713 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
4714 * config/sparc/sparc-protos.h: Update.
4715 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
4716 (TARGET_SWITCHES): Update.
4717 * config/sparc/sparc.md (return): Remove.
4718 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
4719 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
4720 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
4721 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
4722 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
4723 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
4724 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
4725 Remove MASK_EPILOGUE.
4726 * doc/invoke.texi: Update.
4727
606cc056
DB
47282002-03-30 Daniel Berlin <dan@dberlin.org>
4729
4730 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
4731 CPP will start the file for us.
7b2e1077 4732
bdbe5b8d
RH
47332002-03-30 Richard Henderson <rth@redhat.com>
4734
4735 PR target/5446
4736 * config/ia64/ia64.c (group_barrier_needed_p): Special case
4737 prologue_allocate_stack.
4738 (ia64_single_set): Use insn codes for recognition of special
4739 cases, not rtl matching.
4740 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
4741
4ab95d82
JH
4742Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
4743
4744 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
4745
89a8b315
RH
47462002-03-30 Richard Henderson <rth@redhat.com>
4747
4748 PR target/6032
4749 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
4750 or -fomit-frame-pointer with profiling.
4751 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4752 (FUNCTION_PROFILER): Do nothing.
4753 (PROFILE_HOOK): New.
4754 * config/sparc/sparc.c (sparc_override_options): Don't check
4755 code models for profiling.
4756 (sparc_function_profiler): Remove.
4757 (sparc_profile_hook): New.
4758 * config/sparc/sparc-protos.h: Update.
4759
30984c57
JJ
47602002-03-30 Jakub Jelinek <jakub@redhat.com>
4761
4762 PR optimization/6086
4763 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
4764 of SUBREG of volatile MEM or because the MEM was mode dependent,
4765 return CLOBBER instead of unmodified SUBREG.
4766
1540f9eb
JH
4767Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
4768
89a8b315
RH
4769 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
4770 when not optimizing.
1540f9eb
JH
4771
4772 * toplev.c (rest_of_compilation): Cann mark_constant_function
4773 only when optimizing.
4774
89a8b315
RH
4775 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
4776 are NULL.
1540f9eb
JH
4777
4778 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
4779 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
4780 (try_optimize_cfg): clear all AUX fields.
4781
4782 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
4783 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
4784 (ix86_address_cost): Be prepared for SUBREGed registers.
4785 (legitimate_address_p): Accept SUBREGed registers.
4786
70d95bac
RH
47872002-03-29 Richard Henderson <rth@redhat.com>
4788
4789 PR target/5672
4790 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
4791
d3294cd9
FS
47922002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4793
4794 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
4795 for aggregate and TFmode types.
4796
a106c875
HPN
47972002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
4798
4799 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
4800
7d7a5d6f
RH
48012002-03-29 Richard Henderson <rth@redhat.com>
4802
6e2d670b 4803 PR target/5886
7d7a5d6f
RH
4804 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
4805 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
4806
30c99a84
RH
48072002-03-29 Richard Henderson <rth@redhat.com>
4808
6e2d670b 4809 PR target/6041
30c99a84
RH
4810 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
4811 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
4812 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
4813 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
4814 conditional.
4815 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
4816
02a566dc
DJ
48172002-03-29 Dale Johannesen <dalej@apple.com>
4818
4819 * loop.c (combine_movables): Do allow combination of pseudos.
4820
bc3a44db
LR
48212002-03-29 Loren J. Rittle <ljrittle@acm.org>
4822
4823 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
4824 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
4825 No functional change except ...
4826 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
4827 * doc/install.texi (*-*-freebsd*): Document port configuration.
4828
b0c48229
NB
48292002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
4830
4831 * Makefile.in (convert.o, calls.o, expmed.o): Update.
4832 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
4833 Use new hooks.
4834 * builtin-types.def (BT_PTRMODE): Update.
4835 * c-common.c (type_for_size): Rename c_common_type_for_size.
4836 (type_for_mode): Similarly.
4837 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
4838 Use new hook.
4839 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
4840 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
4841 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
4842 Redefine.
4843 * c-typeck.c (common_type, comptypes, default_conversion):
4844 Use new hooks.
4845 * calls.c: Include langhooks.h.
4846 (emit_library_call_value_1): Use new hooks. Avoid redundant
4847 calls.
4848 * convert.c: Include langhooks.h
4849 (convert_to_pointer, convert_to_integer): Use new hooks.
4850 * except.c (init_eh): Similarly.
4851 * expmed.c: Include langhooks.h.
4852 (expand_mult_add): Use new hooks.
4853 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
4854 try_casesi): Similarly.
4855 * fold-const.c (optimize_bit_field_compare, make_range,
4856 decode_field_reference, fold_truthop, fold): Similarly.
4857 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
4858 put_var_into_stack): Similarly.
4859 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
4860 LANG_HOOKS_TYPE_FOR_SIZE): New.
4861 (LANG_HOOKS_TYPES_INITIALIZER): Update.
4862 * langhooks.h (lang_hooks_for_types): New hooks.
4863 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
4864 * tree.c (get_unwidened, get_narrower): Similarly.
4865 * tree.h (type_for_mode, type_for_size): Remove.
4866 * varasm.c (force_const_mem): Use new hooks.
4867 * utils2.c (nonbinary_modular_operation): Update.
4868objc:
4869 * objc-act.c (handle_impent): Update.
4870 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
4871 Redefine.
4872
e206a74f
SE
48732002-03-29 Steve Ellcey <sje@cup.hp.com>
4874
4875 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
4876 * config/ia64/ia64.c (basereg_operand): New.
4877 * config/ia64/ia64-protos.h (basereg_operand): Declare.
4878 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
4879
7d9b6378
HPN
48802002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
4881
4882 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
4883 unwind information when frame_pointer_needed.
4884 (mmix_assemble_integer): Tweak wording in comment.
4885
f1e639b1
NB
48862002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
4887
4888 * Makefile.in (except.o): Update.
4889 * except.c: Include langhooks.h.
4890 (init_eh): Use langhook.
4891 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
4892 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
4893 (LANG_HOOKS_INITIALIZER): Update.
4894 * langhooks.h (lang_hooks_for_types): New.
4895 (struct lang_hooks): Add it.
4896 * tree.c (make_lang_type_fn, make_lang_type): Remove.
4897 * tree.h (make_lang_type_fn, make_lang_type): Remove.
4898config:
4899 * alpha/alpha.c: Include langhooks.h.
4900 (alpha_build_va_list): Use langhook.
4901 * d30v/d30v.c: Include langhooks.h.
4902 (d30v_build_va_list): Use langhook.
4903 * i386/i386.c: Include langhooks.h.
4904 (ix86_build_va_list): Use langhook.
4905 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
4906 * s390/s390.c: Include langhooks.h.
4907 (s390_build_va_list): Use langhook.
4908 * stormy16/stormy16.c: Include langhooks.h.
4909 (stormy16_build_va_list): Use langhook.
4910
f17f9332
JJ
49112002-03-29 Jakub Jelinek <jakub@redhat.com>
4912
4913 PR c++/5964
4914 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
4915 attributes.
4916 (length): Compute variable length for branches/calls/jumps here.
4917 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
4918 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
4919 define branch_type attribute.
4920 (divsi3_sp32): Maximum length is 6 not 7.
4921 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
4922 call_address_untyped_struct_value_sp32,
4923 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
4924 * config/sparc/sparc.c (empty_delay_slot): New function.
4925 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
4926 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
4927
0a0440c9
JJ
49282002-03-29 Jakub Jelinek <jakub@redhat.com>
4929
4930 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
4931 nonzero_bits if not needed.
4932 (nonzero_bits) [XOR]: Likewise.
4933 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
4934 reg_last_set_mode and mode are both MODE_INT, but not equal.
4935 (record_value_for_reg): Compute reg_last_set_nonzero_bits
4936 in nonzero_bits_mode for MODE_INT modes.
4937
c9045f47
RH
49382002-03-28 Richard Henderson <rth@redhat.com>
4939
4940 PR target/5715
4941 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
4942 to GAS. Correct drift between alternatives.
4943
f8ed1958
RH
49442002-03-28 Richard Henderson <rth@redhat.com>
4945
4946 PR target/6087
4947 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
4948
54e20385
LR
49492002-03-28 Alexandre Oliva <aoliva@redhat.com>
4950
4951 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
4952 emulation to the linker.
4953
49542002-03-28 Loren J. Rittle <ljrittle@acm.org>
4955
4956 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
4957 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
4958
8bc52806
JL
4959Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
4960
4961 * combine.c (simplify_and_const_int): Make sure to apply mask
4962 when force_to_mode returns a constant integer. PR3311.
4963
279dccc5
JDA
49642002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
4965
4966 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
4967
62aaa62c
GP
49682002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4969
4970 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
4971 and Objective-C Dialect Options.
4972
b8de5050
RH
49732002-03-28 Richard Henderson <rth@redhat.com>
4974
4975 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
4976 comparison should be done vs !=0 not >0 return code. Tidy cases.
4977
619708cc
RH
49782002-03-28 Richard Henderson <rth@redhat.com>
4979
4980 * c-decl.c (finish_function): New arg can_defer_p. Pass it
4981 on to c_expand_body.
4982 * c-tree.h (finish_function): Update decl.
4983 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
4984
b1d874d7
JH
4985Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
4986
4987 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
4988
f5eb5fd0
JH
4989Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
4990
4991 * rtlanal.c: Include flags.h
4992 (may_trap_p): Do not mark FP operations if trapping
4993 if !flag_trapping_math
4994 * Makefile.in (rtlanal.o): Add dependency on flag.h
4995 * ifcvt.c (noce_operand_ok): Avoid the lameness.
4996
81b4c798
ZW
49972002-03-27 Zack Weinberg <zack@codesourcery.com>
4998
4999 * mips.md: Use dconst1, not 1.0, as first argument of
5000 REAL_VALUE_LDEXP. Don't use union real_extract.
5001
55a2ea2a
AM
50022002-03-28 Alan Modra <amodra@bigpond.net.au>
5003
5004 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
5005 rather than $target. Heed program_prefix and
5006 program_transform_name. Search for gas in cross-compiler case too.
5007 "test -x" rather than "test -f".
5008 (gcc_cv_ld): Likewise.
5009 (gcc_cv_nm): Heed program_prefix and program_transform_name.
5010 (gcc_cv_objdump): Likewise.
5011 * configure: Regenerate.
5012
7ffb4fd2
NB
50132002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
5014
5015 * Makefile.in (attribs.o): Update.
5016 * attribs.c: Include langhooks.h.
5017 (decl_attributes): Use langhook.
5018 * c-decl.c (insert_default_attributes): Rename.
5019 * c-tree.h (c_insert_default_attributes): New.
5020 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
5021 (LANG_HOOKS_INITIALIZER): Update.
5022 * langhooks.h (struct lang_hooks): New hook.
5023 * tree.h (insert_default_attributes): Remove.
5024objc:
5025 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
5026
e4dbaed5
AS
50272002-03-27 Andreas Schwab <schwab@suse.de>
5028
5029 * config/i386/i386.c (classify_argument): Also check for
5030 QUAL_UNION_TYPE.
5031
18b467f1
RO
50322002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5033
5034 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
5035 any more.
5036
d337d653
JH
5037Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
5038
5039 * i960.md (ret): Set PC.
5040 (nonlocal_goto): Fix expander.
5041 * builtins.c (epxand_builin_longjmp): Check that we've emitted
5042 some jump or call.
5043
218aa620
JH
5044Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
5045
5046 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
5047 of libcall regions.
5048
e27a4eaf
ZD
5049Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5050
5051 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
5052 assigning to BLOCK_FOR_INSN directly.
5053
8a12f34c
JH
5054Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
5055
5056 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
5057
c9d892a8
NB
50582002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
5059
5060 * c-common.c (c_expand_expr): Fix prototype.
5061 * c-common.h (c_expand_expr): Always declare, update.
5062 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
5063 * c-objc-common.c (c_objc_common_init): No global hook.
5064 * expr.c (expand_expr): Use langhook.
5065 * expr.h (enum expand_modifier): Conditionally declare.
5066 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
5067 (LANG_HOOKS_INITIALIZER): Update.
5068 * langhooks.c (lhd_expand_expr): New.
5069 * langhooks.h (struct lang_hooks): New hook.
5070 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
5071 (lang_independent_init): Don't default hook.
5072objc:
5073 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
5074
6dad5a56
RH
50752002-03-27 Richard Henderson <rth@redhat.com>
5076
5077 PR target/6054
5078 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
5079 TARGET_CONST_GP. Simplify conditions.
5080
59f96879
RH
50812002-03-27 Richard Henderson <rth@redhat.com>
5082
5083 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
5084 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
5085 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
5086
f3f1190d
DS
50872002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
5088
5089 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
5090 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
5091 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
5092 Remove unnecessary masks.
5093 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
5094 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
5095 -mwindows, -mdll switches and their negations.
5096
31c816cf
NB
50972002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
5098
5099 * gcc-common.c (lang_mark_false_label_stack): Remove.
5100 * ggc.h (lang_mark_false_label_stack): Similarly.
5101
7b2e1077 51022002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
5103
5104 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
5105
5106 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
5107 or __rtems_ is defined.
5108
1ef9531b
RH
51092002-03-26 Richard Henderson <rth@redhat.com>
5110
5111 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
5112 if a non-trivial load was emitted.
5113 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
5114 in high+extra+low case.
5115
300d4093
RH
51162002-03-26 Richard Henderson <rth@redhat.com>
5117
5118 * config.gcc (sparc*-solaris): Use float_format=sparc.
5119
b3689904
RH
51202002-03-26 Richard Henderson <rth@redhat.com>
5121
5122 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
5123 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
5124 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
5125 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
5126 (WINT_TYPE_SIZE): Fix at 32.
5127
1eefb6c1
RH
51282002-03-26 Richard Henderson <rth@redhat.com>
5129
5130 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
5131 until after eh landing pad generation.
5132 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
5133 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
5134
361ea006
RH
51352002-03-26 Richard Henderson <rth@redhat.com>
5136
5137 * expr.h (ADD_PARM_SIZE): One more convert for INC.
5138
1de38a88
PE
51392002-03-26 Phil Edwards <pme@gcc.gnu.org>
5140
5141 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
5142 and warning switches.
5143 (cc1_options): Likewise.
5144
d7e60e95 51452002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 5146
d7e60e95
HB
5147 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
5148 Restore more of the signal context. Set no_reg_stack_frame.
5149 * config/ia64/unwind-ia64.c (unw_state_record):
5150 Add no_reg_stack_frame, comments.
5151 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
5152 (uw_update_context): Adjust bsp when unwinding from leaf,
5153 but not signal frame.
5154
7032923b
DE
51552002-03-26 David Edelsohn <edelsohn@gnu.org>
5156
5157 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
5158
8be56275
BW
51592002-03-26 Bob Wilson <bob.wilson@acm.org>
5160
5161 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
5162
56fbb855
RE
51632002-03-26 Richard Earnshaw <rearnsha@arm.com>
5164
5165 PR target/5621
5166 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
5167 "Add a pool_range attribute", which was lost during the ARM/Thumb
5168 merge.
5169
3437320b
BW
51702002-03-26 Bob Wilson <bob.wilson@acm.org>
5171
5172 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
5173 a register into the MAC16 accumulator.
5174
173028e5
AC
51752002-03-26 Andrew Cagney <ac131313@redhat.com>
5176
5177 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
5178 (Warning Options): Document -Wswitch-enum.
5179 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
5180 -Wswitch.
5181 (warn_switch_enum): Define variables.
5182 * flags.h (warn_switch_enum): Declare variables.
5183 * stmt.c (expand_end_case_type): When warn_switch_enum /
5184 -Wswitch-enum, perform switch checks.
5185 Fix PR c/5044.
7b2e1077 5186
e14365a7
RE
51872002-03-26 Richard Earnshaw <rearnsha@arm.com>
5188
5189 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
5190 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
5191 (reload_muladdsi_compare0_scratch): Delete.
5192
46fc709d
LR
51932002-03-26 Loren J. Rittle <ljrittle@acm.org>
5194
5195 * doc/install.texi (*-*-freebsd*): Update.
5196
f36dea3c
RH
51972002-03-26 Richard Henderson <rth@redhat.com>
5198
8e5fe23f
RH
5199 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
5200 (SUB_PARM_SIZE): Cast DEC to ssizetype.
5201
5202 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
5203 types from the normal argument frame.
5204
f36dea3c
RH
5205 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
5206 variable sized objects by reference.
5207 (sparc_va_arg): Receive them by reference too.
5208
1447dc69
HP
52092002-03-26 Hartmut Penner <hpenner@de.ibm.com>
5210
5211 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 5212 code to not restoring global registers.
1447dc69 5213
4f0ade92
NB
52142002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
5215
5216 * Makefile.in (ggc-common.o): Update.
5217 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
5218 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
5219 * c-tree.h (c_mark_tree): New.
5220 * ggc-common.c: Include langhooks.h.
5221 (gcc_mark_trees): Use new langhook.
5222 * ggc-callbacks.c: Delete file.
5223 * ggc.h (lang_mark_tree): Remove.
5224 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
5225 (LANG_HOOKS_INITIALIZER): Update.
5226 * langhooks.h (struct lang_hooks): New hook.
5227objc:
5228 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
5229
caba570b
ZW
52302002-03-25 Zack Weinberg <zack@codesourcery.com>
5231
5232 * doc/cpp.texi: Exclude entire Top node from printed manual.
5233 Move option index after directive index. Insert page breaks
5234 before GFDL and concept index. Index environment variables
5235 with command line options.
5236 * doc/cppenv.texi: Use @vtable for environment variable list.
5237 Add paragraph explaining semantics of empty elements in path
5238 variables. Exclude a cross-reference to Fishkill from the
5239 manpage. Remove an unnecessary cross-reference of the entry
5240 right above the referer. Don't use @anchor in text that goes
5241 into manpage.
5242 * doc/cppopts.texi: Cross-reference the environment variables
5243 section, not the specific environment variable, for consistency.
5244
6b2e80b7
RH
52452002-03-25 Richard Henderson <rth@redhat.com>
5246
5247 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
5248 anywhere in the block. Don't refer to insns that have been
5249 removed from the chain. Iterate backward through the new insns.
5250 Don't refer to edges that have been removed.
5251
67e469d7
AM
52522002-03-26 Alan Modra <amodra@bigpond.net.au>
5253
5254 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
5255 test for overflow of constant.
5256
f2356393
RE
52572002-03-25 Richard Earnshaw <rearnsha@arm.com>
5258
5259 PR target/2623
5260 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
5261 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
5262 these patterns on arm_archv4.
5263
355426ab
DS
52642002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
5265
5266 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
5267 int".
5268
15e5ad76
ZW
52692002-03-25 Zack Weinberg <zack@codesourcery.com>
5270
5271 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
5272 float_handled, float_handler, float_signal, set_float_handler,
5273 and do_float_handler. Set handler for SIGFPE to crash_signal.
5274 * toplev.h: Don't prototype do_float_handler.
5275
5276 * c-lex.c: Fold parse_float into lex_number. Make warning
5277 about portability of hex float constants more informative, and
5278 don't issue it on top of a syntax error.
5279 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
5280 their callers.
5281 * real.h: Define REAL_VALUE_ABS here...
5282 * simplify-rtx.c: ... not here. Fold check_fold_consts,
5283 simplify_unary_real, simplify_binary_real, and
5284 simplify_binary_is2orm1 into their callers.
5285 * tree.c: Fold build_real_from_int_cst_1 into caller.
5286
5287 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
5288
5289 * tsystem.h: Include float.h here...
5290 * libgcc2.c: ... not here.
5291
56ae9405
NC
52922002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
5293
5294 Fixes for: PR bootstrap/3591, target/5676
5295 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
5296 defined. Do not disable exceptions or rtti.
5297 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
5298 mcore.h. Disable exceptions and rtti, since they are not
5299 supported by EPOC.
5300
c88770e9
NB
53012002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
5302
5303 * c-decl.c (maybe_build_cleanup): Remove.
5304 * expr.c (expand_expr): Use langhook.
5305 * langhooks-def.h (lhd_return_null_tree,
5306 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
5307 (LANGHOOKS_INITIALIZER): Update.
5308 * langhooks.c (lhd_return_null_tree): New.
5309 * langhooks.h (struct lang_hooks): New hook.
5310 * tree-inline.c (initialize_inlined_parameters): Use langhook.
5311 * tree.h (maybe_build_cleanup): Remove.
5312
2ed1f154
JJ
53132002-03-25 Jakub Jelinek <jakub@redhat.com>
5314
5315 * regrename.c (build_def_use): Move recog_memoized
5316 before extract_insn.
5317
6ddae612
JJ
53182002-03-25 Jakub Jelinek <jakub@redhat.com>
5319
5320 PR target/6043
5321 * expr.c (emit_group_store): Handle storing into CONCAT.
5322
ea475b23
JJ
53232002-03-25 Jakub Jelinek <jakub@redhat.com>
5324
5325 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
5326 corresponding MATCH_DUP.
5327
e7d482b9
RH
53282002-03-24 Richard Henderson <rth@redhat.com>
5329
cd39fc13
RH
5330 * unroll.c (unroll_loop): Zero label_map.
5331
e7d482b9
RH
5332 * gcse.c: Include except.h.
5333 * Makefile.in (gcse.o): Update.
5334
1bd6476f
RH
53352002-03-24 Richard Henderson <rth@redhat.com>
5336
5337 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
5338 Do resolve_unique_section before shared data clause.
5339
2e6c150a
RH
53402002-03-24 Richard Henderson <rth@redhat.com>
5341
5342 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
5343
b29afcf8
RH
53442002-03-24 Richard Henderson <rth@redhat.com>
5345
15e5ad76 5346 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
5347 generated in the middle of a block. Do global life update if
5348 zapped EH edges.
5349
05ed1296
RH
53502002-03-24 Richard Henderson <rth@redhat.com>
5351
5352 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
5353
3ddbb8a9
NB
53542002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
5355
5356 preprocessor/3951
15e5ad76 5357 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
5358 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
5359 (init_dependency_output): Don't make no_output decision here.
5360
740b77b6
AC
53612002-03-24 Andrew Cagney <ac131313@redhat.com>
5362
5363 * stmt.c (check_for_full_enumeration_handling): Remove tests of
5364 warn_switch. Update description.
5365 (expand_end_case_type): Call check_for_full_enumeration_handling
5366 when warn_switch.
5367
7590cfd0
SC
53682002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5369
5370 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
5371 (m68hc11_split_move): Call it to see if the source and destination
5372 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 5373 source an offsetable memory operand and generate an add.
7590cfd0 5374
2e3d3481
SC
53752002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5376
5377 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
5378 register for operand 2.
5379 ("*subsi3_zero_extendqi"): Likewise.
5380 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
5381 bits so that it is compatible with a pop.
5382 ("*andhi3_gen"): Likewise.
5383 ("xorhi3"): Likewise.
5384
2784528c
NB
53852002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
5386
5387 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
5388 -pedantic here...
5389 (cpp_post_options): ... not here.
5390
aaf93206
NB
53912002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
5392 Aldy Hernandez <aldyh@redhat.com>
5393
5394 Removal of separate preprocessor cpp0.
5395
5396 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
5397 cpp0, install-common): Update.
5398 * c-common.c (flag_preprocess_only): New.
5399 (c_common_init): Preprocess for -E.
5400 * c-common.h (flag_preprocess_only): New.
5401 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
5402 * c-objc-common.c (c_init_decl_processing): Exit quickly
5403 for NULL return from c_common_init.
5404 * cpplib.h (cpp_preprocess_file): New.
5405 * cppmain.c (main, general_init, pfile, progname): Remove.
5406 (do_preprocessing): Rename cpp_preprocess_file, don't call
5407 cpp_finish. Don't close stdout here.
5408 (setup_callbacks): Update prototype.
5409 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
5410 Update.
5411 * tradcpp.c (main): Ignore -quiet.
5412objc:
5413 * lang-specs.h (default_compilers): Preprocess with cc1obj.
5414
c6e6f5c1
RH
54152002-03-24 Richard Henderson <rth@redhat.com>
5416
5417 PR optimization/5742
5418 * machmode.def: Add inner mode field to complex modes.
5419 * config/mips/mips.c (mips_function_value): Always define. Add
5420 new argument to handle libcalls.
5421 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
5422 (FUNCTION_VALUE): Likewise.
5423 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
5424 * config/mips/mips-protos.h: Update.
5425
d88e57d1
RH
54262002-03-23 Richard Henderson <rth@redhat.com>
5427
5428 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
5429 * config/sparc/sparc-protos.h: Update.
5430 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
5431
6dfaf9ba
RH
54322002-03-23 Richard Henderson <rth@redhat.com>
5433
5434 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
5435 _start or _init begins the text segment.
5436
0c769cf8
DE
54372002-03-23 David Edelsohn <edelsohn@gnu.org>
5438
5439 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
5440 not HOST_WIDEST_INT.
5441 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
5442
64e92a26
RE
54432002-03-23 Richard Earnshaw <rearnsha@arm.com>
5444
5445 PR java/5489
5446 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
5447 operand argument to output_return_instruction.
15e5ad76 5448 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
5449 const_true_rtx then just return.
5450 (arm_print_operand, case 'D'): If the operand is const_true_rtx
5451 then abort.
5452
d6961341
AC
54532002-03-23 Andrew Cagney <ac131313@redhat.com>
5454
5455 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
5456 (Warning Options): Document -Wswitch-default.
5457 * toplev.c (W_options): Add -Wswitch-default. Update comment on
5458 -Wswitch.
5459 (warn_switch_default): Define variable.
5460 (warn_switch): Update comment.
5461 * flags.h (warn_switch_default): Declare variable.
5462 (warn_switch): Update comment.
5463 * stmt.c (expand_end_case): Check for and, when
5464 warn_switch_no_default, warn of a missing default case.
15e5ad76 5465
d4c5ac1f
AM
54662002-03-23 Alan Modra <amodra@bigpond.net.au>
5467
bbaa9790
AM
5468 * real.h (N): Special case 128 bit doubles.
5469
d4c5ac1f
AM
5470 * combine.c (simplify_comparison): When widening modes, ignore
5471 sign extension on CONST_INTs.
5472
84bf8c2c
BW
54732002-03-22 Bob Wilson <bob.wilson@acm.org>
5474
5475 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
5476 passed to adjust_address. Fix comment formatting.
5477
5478
b216cd4a
ZW
54792002-03-22 Zack Weinberg <zack@codesourcery.com>
5480
5481 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
5482 Always make REAL_VALUE_TYPE a struct containing an array of
5483 HOST_WIDE_INT, not a double. Tidy up the code deciding how
5484 big it is. Don't declare or use union real_extract.
5485
5486 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
5487 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
5488 (print_operand), config/arm/arm.c (output_move_double),
5489 config/arm/arm.md (consttable_4, consttable_8),
5490 config/romp/romp.c (output_fpops), config/s390/s390.h
5491 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
5492 (xtensa_output_literal): Don't use union real_extract.
5493
5494 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
5495 (sfmode_constant_to_ulong), config/ns32k/merlin.h
5496 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
5497 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
5498 (PRINT_OPERAND): Don't use local version of union
5499 real_extract.
5500
5501 * config/convex/convex.c (check_float_value), config/vax/vax.c
5502 (vax_float_literal), config/m88k/m88k.md (divdf3),
5503 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
5504 config/pdp11/pdp11.c (output_move_quad): Don't do host
5505 arithmetic on target floating point quantities.
5506
5507 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
5508 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
5509
5510 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
5511 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
5512
5513 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
5514 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
5515 INFINITY.
5516 * print-rtl.c (print_rtx): Disable code which needs
5517 floating-point emulator.
5518 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
5519 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
5520 depending on HOST_FLOAT_FORMAT to be defined properly.
5521
5522 * config/1750a/1750a.c (get_double, float_label): Delete.
5523 (print_operand): Delete huge commented-out chunk. Use
5524 REAL_VALUE_TO_DECIMAL.
5525 * config/1750a/1750a-protos.h: Delete prototypes of deleted
5526 functions.
5527 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
5528 IEEE_FLOAT_FORMAT.
5529 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
5530 Use REAL_VALUE_TO_DECIMAL as ELF version does.
5531 * config/m88k/m88k.c (real_power_of_2_operand,
5532 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
5533 real_extract out of the union; run the input through
5534 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
5535 from that into the union.
5536 * config/pdp11/pdp11.c (output_move_double): Rearrange
5537 parentheses to make automatic indenter happy.
5538
5539 * doc/tm.texi (Cross-compilation): Rename node to "Floating
5540 Point" and rewrite to describe current situation. Also adjust
5541 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
5542 match code.
5543 * doc/rtl.texi: Adjust cross reference.
5544
a8cacfd2
BW
55452002-03-22 Bob Wilson <bob.wilson@acm.org>
5546
5547 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
5548 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
5549 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
5550 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
5551 prevent use of sp as a reload register.
5552 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
5553 non_acc_reg_operand.
5554 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
5555 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
5556 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
5557 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
5558
d4e6133f
NB
55592002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
5560
b216cd4a
ZW
5561 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
5562 * cpplex.c (unterminated): Delete.
5563 (parse_string): No string literal may extend over multiple
5564 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
5565 * cppmain.c (scan_translation_unit): Strings are single-line.
5566
b216cd4a 5567 * doc/cpp.texi: Update to match.
d4e6133f 5568
65e6c005
JJ
55692002-03-22 Jakub Jelinek <jakub@redhat.com>
5570
5571 PR optimization/5854
5572 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
5573 Shut up warnings.
5574 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
5575 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
5576 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
5577 const0 if scratch register was not allocated.
5578 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
5579 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
5580 with GEN_INT (...).
5581 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
5582 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
5583 with GEN_INT (...) everywhere. Remove constraints in define_split
5584 patterns.
5585 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
5586 require scratch register for setting 0 into regs/non-pushable memory.
5587
7f48c9e1
AO
55882002-03-22 Alexandre Oliva <aoliva@redhat.com>
5589
5590 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
5591 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
5592
909de5da
PE
55932002-03-22 Phil Edwards <pme@gcc.gnu.org>
5594
5595 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
5596 * cppinit.c (cpp_create_reader): On by default.
5597 (cpp_handle_option): Handle -W[no-]endif-labels.
5598 (cpp_post_options): Also enable if -pedantic.
5599 * cpplib.c (do_else): Use it.
5600 (do_endif): Likewise.
5601 * doc/cppopts.texi: Document new option.
5602 * doc/invoke.texi: Document new option.
5603
d8bf17f9
LB
56042002-03-22 Lars Brinkhoff <lars@nocrew.org>
5605
5606 * config/i386/i386.c, config/i386/i386.md: Change all occurences
5607 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
5608
70e0ccd0
AO
56092002-03-22 Alexandre Oliva <aoliva@redhat.com>
5610
5611 * flow.c (calculate_global_regs_live): Clear aux fields of
5612 ENTRY and EXIT.
5613
68882f0f
JJ
56142002-03-22 Jakub Jelinek <jakub@redhat.com>
5615
5616 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
5617 REG or MEM subregs, pass rtx * instead of rtx to it.
5618 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
5619 rtx * instead of rtx to alter_subreg.
5620 * config/m32r/m32r.c (gen_split_move_double): Likewise.
5621 * config/pj/pj.c (pj_output_rval): Likewise.
5622
648fe28b
RH
56232002-03-22 Richard Henderson <rth@redhat.com>
5624
5625 PR target/3177
5626 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
5627 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
5628 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
5629 (ia64_expand_prologue): Look at int_regs, not words, for number
5630 of incomming int regs.
5631
e8dcd824
AM
56322002-03-22 Andrew MacLeod <amacleod@redhat.com>
5633
5634 * expr.c (expand_expr): A RESULT_DECL is part of a call.
5635
96327cdc
JH
5636Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
5637
5638 * toplev.c (flag_loop_optimize, flag_crossjumping):
5639 New static variables.
5640 (rest_of_compilation): Conditionalize crossjumping and
5641 loop optimizer.
5642 (parse_options_and_default_flags): Default loop_optimize and
5643 crossjumping.
5644 (lang_independent_options): Add -fcrossjumping and -floop-optimize
5645 * invoke.texi (crossjumping, loop-optimize): Document.
5646
bc185257
RS
56472002-03-22 Richard Sandiford <rsandifo@redhat.com>
5648
5649 * real.c (eiisneg): Move outside #ifdef NANS.
5650
0a2ed1f1
JH
5651Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
5652
5653 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
5654 frequencies match; avoid match on different loop depths.
5655 (try_crossjump_to_bb): Kill tests that no longer brings time
5656 savings.
5657 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
5658 updating code.
5659 (split_edge): Likewise.
5660
5661 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
5662 variable.
5663
5664 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
5665 * cfgrtl.c: Include insn-config.h
5666 (split_block) Dirtify block in presence of conditional execution
5667
4d72536e
RS
56682002-03-22 Richard Sandiford <rsandifo@redhat.com>
5669
5670 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
5671 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
5672 (function_arg): Constify CUMULATIVE_ARGS.
5673 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
5674 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
5675 (UNITS_PER_DOUBLE): New macro.
5676 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
5677 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
5678 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
5679 fp_regs and stack_words.
5680 (EABI_FLOAT_VARARGS_P): New macro.
5681 * config/mips/mips.c (struct mips_arg_info): New.
5682 (mips_arg_info): New function.
5683 (function_arg_advance): Use it. Add adjustment instructions here
5684 rather than in function_arg.
5685 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
5686 for VOIDmode at the beginning of the function.
5687 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
5688 (function_arg_pass_by_reference): Likewise.
5689 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
5690 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
5691 (mips_va_start): Likewise. Use the new stack_words field of
5692 CUMULATIVE_ARGS to set up overflow area. Reformat.
5693 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
5694 doubles and other types, aligning the overflow pointer for non-doubles
5695 too. Remove some code duplication. Replace hard-coded constants.
5696
e6f884cd
RS
56972002-03-22 Richard Sandiford <rsandifo@redhat.com>
5698
5699 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
5700 (CLASS_UNITS): Undefine.
5701 (CLASS_MAX_NREGS): Use FP_INC.
5702 * config/mips/mips.c (compute_frame_size): Likewise.
5703 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
5704
10cf9bde
NB
57052002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
5706
5707 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
5708 prototype, and handle lexing numbers and identifiers.
5709 (parse_identifier): Update to new form of parse_slow.
5710 (parse_number): Fast path only, use parse_slow otherwise.
5711 (_cpp_lex_direct): Update calls to parse_number.
5712
fbc2782e
DD
57132002-03-21 DJ Delorie <dj@redhat.com>
5714
5715 * bb-reorder.c (make_reorder_chain_1): Protect against
5716 when redundant edges are omitted.
5717 * predict.c (dump_prediction): Likewise.
5718
fba39eaf
RH
57192002-03-21 Richard Henderson <rth@redhat.com>
5720
5721 PR target/5996
5722 * fixinc/inclhack.def (solaris_stdio_tag): New.
5723 * fixinc/fixincl.x: Regenerate.
5724
eba80994
EB
57252002-03-21 Eric Botcazou <ebotcazou@multimania.com>
5726
5727 PR c/5597
5728 * c-typeck.c (process_init_element): Flag non-static
5729 initialization of a flexible array member as illegal.
5730
2a78758b
AM
57312002-03-22 Alan Modra <amodra@bigpond.net.au>
5732
5733 * config/rs6000/t-linux64: New.
5734 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
5735 t-ppccomm. Use t-rs6000 and t-linux64.
5736 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
5737 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
5738 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
5739 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 5740
2cb921f4
AH
57412002-03-21 Aldy Hernandez <aldyh@redhat.com>
5742
eba80994
EB
5743 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
5744 flag_really_no_inline instead of optimize == 0.
2cb921f4 5745
eba80994 5746 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 5747
eba80994 5748 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 5749
eba80994 5750 * flags.h (flag_really_no_inline): New.
2cb921f4 5751
659e5a7a 5752 * c-common.c (c_common_post_options): Initialize
eba80994 5753 flag_really_no_inline.
2cb921f4 5754
eba80994 5755 * toplev.c (flag_really_no_inline): New.
2cb921f4 5756
239b8b9d
JJ
57572002-03-21 Jakub Jelinek <jakub@redhat.com>
5758
5759 * config/avr/avr.md (length): Fix length computation for
5760 conditional branches.
5761
43577e6b
NB
57622002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
5763
5764 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
5765 sdbout.o, profile.o): Update.
5766 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
5767 langhook.
5768 * c-common.h (gettags): Move here from tree.h.
5769 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
5770 insert_block, getdecls, kept_level_p, global_bindings_p): New.
5771 * dbxout.c (dbxout_init): Use getdecls langhook.
5772 * expr.c (expand_expr): Use insert_block langhook.
5773 * fold-const.c: Include langhooks.h.
5774 (fold_range_test, fold_binary_op_with_conditional_arg,
5775 fold): Use global_bindings_p langhook.
5776 * integrate.c (expand_inline_function): Use insert_block langhook.
5777 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
5778 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
5779 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
5780 LANG_HOOKS_GETDECLS): New.
5781 (LANG_HOOKS_INITIALIZER): Update.
5782 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
5783 langhook.
5784 * langhooks.h (struct lang_hooks_for_decls): New.
5785 (struct lang_hooks): Update.
5786 * profile.c: Include langhooks.h.
5787 (output_func_start_profiler): Use new langhooks.
5788 * sdbout.c: Include langhooks.h.
5789 (sdbout_init, sdbout_finish): Use getdecls langhook.
5790 * stmt.c: Include langhooks.h.
5791 (expand_fixup, fixup_gotos): Use new langhooks.
5792 * stor-layout.c: Include langhooks.h.
5793 (variable_size): Use global_bindings_p langhook.
5794 * toplev.c (compile_file): Use getdecls langhook.
5795 * tree-inline.c (remap_block): Use insert_block langhook.
5796 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
5797 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
5798
5b19b10c
RH
57992002-03-21 Richard Henderson <rth@redhat.com>
5800
5801 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
5802 constants in .data when -fpic.
5803
e05af335
GP
58042002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5805
5806 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
5807 where appropriate.
5808
60ffc997
TT
58092002-03-21 Tom Tromey <tromey@redhat.com>
5810
5811 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
5812
75897075
RK
5813Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5814
a73afd69 5815 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 5816
75897075
RK
5817 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
5818
312687cf
EB
58192002-03-21 Eric Botcazou <ebotcazou@multimania.com>
5820 Richard Henderson <rth@redhat.com>
5821
5822 PR c/5354
5823 * c-common.c (c_expand_expr): Preserve result of a statement
5824 expression if needed.
5825
f0e1f482
JJ
58262002-03-21 Jakub Jelinek <jakub@redhat.com>
5827
5828 PR bootstrap/4195
5829 * genrecog.c (maybe_both_true_mode): Remove.
5830 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
5831 * machmode.def (Pmode): Likewise.
5832
c14b9960
JW
5833Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
5834
5835 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
5836 (nonlocal_mentioned_p_1): New function.
5837 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
5838 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
5839 (mark_constant_function): Recognize pure functions.
5840 * rtl.h (global_reg_mentioned_p): New prototype.
5841 * rtlanal.c (global_reg_mentioned_p,
5842 global_reg_mentioned_p_1): New function.
5843
aaa4d130
RO
58442002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5845
5846 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
5847 UNIX assert.h.
5848 * fixinc/fixincl.x: Regenerate.
5849
e5c4bd1b
JM
58502002-03-20 Jason Merrill <jason@redhat.com>
5851
5852 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
5853
852b81bb
MM
58542002-03-20 Michael Meissner <meissner@redhat.com>
5855
5856 * doc/invoke.texi (Optimize Options): Document that -O2 sets
5857 -fstrict-aliasing.
5858
86d8c251
BW
58592002-03-20 Bob Wilson <bob.wilson@acm.org>
5860
5861 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
5862 ".literal_position" directive before the constant pool.
5863
0a39c350
GP
58642002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5865
5866 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
5867 Add Craig Rodrigues.
5868 Add Brad Lucier to testers.
5869
71a83373
JJ
58702002-03-20 Jakub Jelinek <jakub@redhat.com>
5871
5872 PR target/4792
5873 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
5874 to if_then_else.
5875 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
5876 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
5877 instead of insn_extract.
5878
a29b099d
JJ
58792002-03-20 Jakub Jelinek <jakub@redhat.com>
5880
5881 PR bootstrap/4192
71a83373 5882 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
5883
5884 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
5885 stmt if some case has been output.
5886
048b1c95
JJ
58872002-03-20 Jakub Jelinek <jakub@redhat.com>
5888
5889 PR c/5972
5890 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
5891 movsfcc_1, movdfcc_1): Add %O2.
5892 * config/i386/i386.c (print_operand): Handle %ON.
5893 Print . before float condition codes in Sun as cmov syntax.
5894 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
5895 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
5896 no longer true.
5897
f4864588
PB
58982002-03-20 Philip Blundell <pb@nexus.co.uk>
5899
5900 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
5901 return instruction if PC was popped.
5902
3a307de4
BW
59032002-03-20 Bob Wilson <bob.wilson@acm.org>
5904
5905 * config/xtensa/xtensa.md: Remove unused type attributes.
5906 (adddi_carry, subddi_carry): Change type attribute to "multi".
5907
048b1c95 59082002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
5909
5910 PR optimization/5999, middle-end/5731
5911 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
5912 multiplications by reciprocals.
5913
7afff7cf
NB
59142002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
5915
5916 * Makefile.in: Update.
5917 * c-common.c: Include langhooks.h.
5918 (inline_forbidden_p): Use new hook.
5919 * diagnostic.c: Include langhooks.h.
5920 (format_with_decl, announce_function,
5921 default_print_error_function): Use new hook.
5922 * dwarf2out.c (dwarf2_name): Use new hook.
5923 * function.c: Include langhooks.h.
5924 (init_function_start): Use new hook.
5925 * langhooks-def.h (lhd_decl_printable_name): New.
5926 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
5927 (LANGHOOKS_INITIALIZER): Update.
5928 * langhooks.c (lhd_decl_printable_name): New.
5929 * langhooks.h (struct lang_hooks): New hook.
5930 * toplev.c (decl_name, decl_printable_name): Remove.
5931 (open_dump_file): Use new hook.
5932 (process_options): Remove old hook.
5933 * tree.h (decl_printable_name): Remove.
5934objc:
5935 * objc-act.c (objc_init): Remove old hook.
5936 (objc_printable_name): Export.
5937 * objc-act.h (objc_printable_name): New.
5938 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
5939
f78ce0b7
JB
59402002-03-19 Jim Blandy <jimb@redhat.com>
5941
5942 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
5943 the start_source_file debug hook, not the current line number.
5944
15b5aef3
RH
59452002-03-19 Richard Henderson <rth@redhat.com>
5946
5947 * flow.c (EH_USES): Provide default.
5948 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
5949 * doc/tm.texi (EH_USES): New.
5950
5951 * config/ia64/ia64.c (ia64_eh_uses): New.
5952 * config/ia64/ia64-protos.h: Update.
5953 * config/ia64/ia64.h (EH_USES): New.
5954
02a7a3fd
RH
59552002-03-19 Richard Henderson <rth@redhat.com>
5956
5957 * varasm.c (output_constant_def): Fix stupid typo.
5958
93f82d60
RH
59592002-03-19 Richard Henderson <rth@redhat.com>
5960
2842be05 5961 PR 5879
93f82d60
RH
5962 * except.c (current_function_has_exception_handlers): New.
5963 * except.h: Declare it.
5964 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
5965 Combine tests that disable all sibcalls for the function.
5966
ed4fbfa0
OH
59672002-03-19 Olivier Hainque <hainque@act-europe.fr>
5968
5969 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
5970 for INTEGER_CST.
5971
ebf0e888
RH
59722002-03-19 Richard Henderson <rth@redhat.com>
5973
1e82682b 5974 PR 5977, 5991
ebf0e888
RH
5975 * config/ia64/ia64.c: Revert 2002-03-01 patch.
5976 * config/ia64/ia64.h (INIT_EXPANDERS): New.
5977
e37b38d7
JB
59782002-03-19 Jim Blandy <jimb@redhat.com>
5979
5980 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
5981 name, even if the replacement list contains no tokens, as required
5982 by Dwarf.
5983
2a4ea326
JM
59842002-03-19 Jason Merrill <jason@redhat.com>
5985
f9d09ae5
JM
5986 * varasm.c (globalize_decl): Get the name from the RTL, not
5987 DECL_ASSEMBLER_NAME.
5988
2a4ea326
JM
5989 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
5990
99b96edb
BW
59912002-03-19 Bob Wilson <bob.wilson@acm.org>
5992
5993 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
5994 subdi_carry): Define.
5995
3774b567
DE
59962002-03-19 David Edelsohn <edelsohn@gnu.org>
5997
5998 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
5999 about -fpic/-fPIC if extra_warnings set.
6000
21ef78aa
DE
60012002-03-19 David Edelsohn <edelsohn@gnu.org>
6002
6003 * expr.c (expand_expr): Sign-extend CONST_INT generated from
6004 TREE_STRING_POINTER.
0c2fdcdf 6005 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 6006
91d4b3fd
RK
6007Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6008
6009 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
6010 in favor of SP if FRAME_POINTER_REQUIRED is false.
6011
2496c7bd
LB
60122002-03-19 Lars Brinkhoff <lars@nocrew.org>
6013
6014 * emit-rtl.c (gen_int_mode): New function.
6015 * rtl.h: Prototype for it.
6016 * combine.c (make_extraction, simplify_comparison), expmed.c
6017 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
6018 (convert_modes, store_field), optabs.c (expand_fix),
6019 simplify-rtx.c (neg_const_int, simplify_unary_real),
6020
6021 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
6022 Use it instead of GEN_INT (trunc_int_for_mode (...)).
6023
f735a153
JJ
60242002-03-19 Jakub Jelinek <jakub@redhat.com>
6025
6026 PR c/5656
6027 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6028 convert_parm_for_inlining.
6029 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
6030 Define.
6031 * langhooks-def.h: Likewise.
6032 * objc/objc-lang.c: Likewise.
6033 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
6034 function.
6035 * tree-inline.c (initialize_inlined_parameters):
6036 Call convert_parm_for_inlining lang hook if needed.
6037 * c-typeck.c (c_convert_parm_for_inlining): New function.
6038 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
6039
1929c971
MM
60402002-03-18 Mark Mitchell <mark@codesourcery.com>
6041
b216cd4a 6042 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
6043 can be destroyed after expanding the argument.
6044 (expand_call): Likewise.
6045
c79ca0ac
EC
60462002-03-15 Eric Christopher <echristo@redhat.com>
6047
6048 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
6049 Fix register preference on last change.
6050 * config/mips/mips.c (mips_return_in_memory): New function.
6051 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
6052 * config/mips/mips-protos.h: Declare.
6053 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
6054 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
6055
07e2e444
AO
60562002-03-18 Alexandre Oliva <aoliva@redhat.com>
6057
1bfbbbcf
AO
6058 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
6059 a register too.
6060 (anddi3, iorsi3): Likewise.
6061
c066429e
AO
6062 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
6063 use %gprel for symbols that are going to be placed in linkonce
6064 sections.
6065
07e2e444
AO
6066 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
6067 RETURN_ADDRESS_POINTER_REGNUM to $ra.
6068 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
6069 not needed. Disregard leaf_function_p().
6070 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
6071 mips16 frame pointer.
6072 * config/mips/mips.md (store ra): Only to small SP offsets.
6073 2001-08-22 Graham Stott <grahams@redhat.com>
6074 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
6075 return a REG rtx for the return address register.
6076
eb8e00ea
BW
60772002-03-18 Bob Wilson <bob.wilson@acm.org>
6078
6079 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
6080 constant-pool addresses as "mode-dependent".
6081 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
6082
cbb92744
JJ
60832002-03-18 Jakub Jelinek <jakub@redhat.com>
6084
6085 PR target/5740
6086 * expr.c (emit_group_load): Use extract_bit_field if
6087 needed for CONCAT arguments.
6088
657d9449
RE
60892002-03-18 Richard Earnshaw <rearnsha@arm.com>
6090
91f3a802 6091 PR target/4863
657d9449
RE
6092 * arm.md (tablejump): Make this a define_expand. For PIC add the
6093 offset to the base of the table.
6094 (thumb_tablejump): Matcher for Thumb tablejump insn.
6095 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
6096 as the difference of two labels.
6097 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6098 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
6099 tables in the code.
6100 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
6101 * arm.c (get_jump_table_size): If the table is not in the text
6102 section, return zero.
c79ca0ac 6103
5d5603e2
BS
61042002-03-18 Bernd Schmidt <bernds@redhat.com>
6105
6106 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
6107 of gen_rtx_SUBREG.
6108 (arm_reload_out_hi): Use gen_lowpart instead of
6109 gen_rtx_SUBREG to access QImode components.
6110 * config/arm/arm.md: Disable zero_extend split for QImode
6111 subregs in BIG_ENDIAN mode.
6112 (storehi_bigend): Match use of least significant byte.
6113 (storeinthi): Remove extraneous SUBREG.
66c17b64 6114 Add missing construction of operands[2].
5d5603e2
BS
6115 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
6116 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
6117 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
6118
df15fbc7
AH
61192002-03-18 Aldy Hernandez <aldyh@redhat.com>
6120
2496c7bd
LB
6121 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
6122 any_operand.
df15fbc7 6123
b83b7fa3
RH
61242002-03-17 Richard Henderson <rth@redhat.com>
6125
6126 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
6127 explicitly.
6128
6f7c00fe
HPN
61292002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
6130
6131 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
6132 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
6133
155038f2
KG
61342002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6135
720d42fa
KG
6136 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
6137
155038f2
KG
6138 * predict.c (estimate_bb_frequencies): Delete unused variables.
6139
e6542f4e
RH
61402002-03-17 Richard Henderson <rth@redhat.com>
6141
6142 * config/ia64/ia64.c (ia64_attribute_table): Move before
6143 targetm definition. Make static.
6144
52dabb6c
NB
61452002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
6146
6147 * c-common.h (yyparse, c_common_parse_file): New.
6148 * c-lang.c: Include c-common.h.
6149 (LANG_HOOKS_PARSE_FILE): Redefine.
6150 * c-lex.c: Include c-common.h.
6151 (yyparse): Rename c_common_parse_file. Call yyparse.
6152 * c-parse.in (yyparse): Remove macro.
6153 * c-tree.h (yyparse_1): Remove.
6154 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
6155 (LANG_HOOKS_INITIALIZER): Update.
6156 * langhooks.h (struct lang_hoooks): New hook parse_file.
6157 * toplev.c (compile_file): Use parse_file hook.
6158 * tree.h (yyparse): Remove.
e6542f4e 6159 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 6160
b5ffe606
HPN
61612002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
6162
ba82f58b
HPN
6163 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
6164 float_truncate, not fix.
6165 ("*truncdfsf2_real"): Ditto.
6166 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
6167
b5ffe606
HPN
6168 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
6169
c8d1b2b7
AO
61702002-03-16 Alexandre Oliva <aoliva@redhat.com>
6171
cfb773f9
AO
6172 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
6173 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
6174 where appropriate. Make the second reference to
6175 leaf_function_p a function call, as intended. Reindented.
6176
4dffef52
AO
6177 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
6178 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
6179
4f5bd6d7
AO
6180 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
6181 add register to non-constant into sp.
6182
c8d1b2b7
AO
6183 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
6184 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
6185 (mips16_gp_pseudo_rtx): Lose.
6186 (INIT_EXPANDERS): Deleted.
6187 * config/mips/mips.c (mips_init_machine_status): New.
6188 (mips_free_machine_status): New.
6189 (mips_mark_machine_status): New.
6190 (override_options): Set them.
6191 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
6192 (struct machine_function): ... new. Replaced all references.
6193 (mips_add_gc_roots): Don't mark them.
6194 (embedded_pic_fnaddr_reg): New, extracted from...
6195 (embedded_pic_offset): ... here.
6196 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
6197 (movsi): Likewise.
6198
b3124fac
NB
61992002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
6200
6201 * cppinit.c: Revert -MD removal.
6202
121449b6
SC
62032002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6204
6205 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
6206 soft registers by default for 68HC12.
6207 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
6208 when compiling with -fomit-frame-pointer.
6209 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
6210 (expand_epilogue): Likewise.
6211 (m68hc11_gen_rotate): Use exg when rotating by 8.
6212
840e2ff1
SC
62132002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6214
6215 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
6216 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
6217 (splits): Remove unused add splits.
6218 ("*addhi3_68hc12"): Tune constraints.
6219 ("addhi_sp"): Try to use X instead of Y in all cases and if the
6220 constant fits in 8-bits and D is dead use abx/aby instructions.
6221 ("*addhi3"): Remove extern declaration of ix_reg.
6222 ("*subsi3"): Optimize and provide new split.
6223 ("subhi3"): Cleanup.
6224 ("*subhi3_sp"): Avoid saving X if we know it is dead.
6225 (arith splits): For 68hc12 save the address register on the stack
6226 and do the arithmetic operation with a pop.
6227
3c9a5efe
SC
62282002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6229
6230 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
6231 allocating QImode in address registers.
6232 ("*movqi_m68hc11"): Likewise.
6233
e41f3392
JH
6234Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
6235
6236 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
6237
576786b0
NB
62382002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
6239
6240 * cppinit.c (print_help): Display -MD and -MMD.
6241 Don't display usage string. Update assertion syntax and
6242 typo.
6243 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
6244 (cpp_handle_option): Update.
6245
1ac458d4
CD
62462002-03-15 Chris Demetriou <cgd@broadcom.com>
6247
6248 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
6249 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
6250 and define it so that regardless of target CPU size,
6251 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
6252 of "int" rather than "long."
6253
1fcd592b
RH
62542002-03-15 Richard Henderson <rth@redhat.com>
6255
6256 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
6257 size as a tree.
6258
a0df6910
SC
62592002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6260
6261 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
6262 ("tstqi" split): Avoid using memory for tstqi on address register.
6263 (splits): Remove constraints.
6264 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
6265 ("cmpdf", "cmpsf"): Remove since not used.
6266 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
6267 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
6268
015a2e59
SC
62692002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6270
6271 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
6272 ("neghi2"): Tighten constraints.
6273 ("one_cmplsi2"): Optimize and simplify split.
6274 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
6275
cd28557c
SC
62762002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6277
6278 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
6279 and split of AND operation to clear the upper bits.
6280 ("*logicalsi3_zextqi"): Likewise.
6281 ("*logicallhi3_zexthi_ashift8"): Likewise.
6282 ("*logicalsi3_silshr16"): Likewise.
6283 ("logicalsi3_silshl16"): Likewise.
6284 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
6285
932657df
SC
62862002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6287
6288 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
6289 (m68hc11_indirect_p): New function.
6290 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
6291 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
6292 TARGET_M6812.
6293 (asm_print_register): Likewise.
6294 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
6295 (m68hc11_indirect_p): Declare.
6296 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
6297 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
6298 (TARGET_SWITCHES): New option -mrelax.
6299 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
6300 destination.
6301 ("iorsi3", "xorsi3"): Likewise.
6302 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
6303 ("*andhi3_mem"): New to handle destination in memory with bclr
6304 and a scratch register.
6305 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
6306 ("*andhi3_const"): New when operand2 is constant.
6307 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
6308 ("*andhi3_gen"): Cleanup of the old "andhi3".
6309 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
6310 ("xorqi3"): Update constraints.
6311
fdffea1a
SC
63122002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6313
6314 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
6315 for reg_equiv_memory_loc when the operand is a register that does
6316 not get a hard register (stack location).
6317 (tst_operand): After reload, accept all memory operand.
6318 (symbolic_memory_operand): Fix detection of symbolic references.
6319 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
6320 accept symbols and any constant.
6321
6272bc68
SC
63222002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6323
6324 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
6325 note on the insn that sets the soft frame register.
6326 (must_parenthesize): ix and iy are also reserved names.
6327 (print_operand_address): One more place where parenthesis are required
6328 to avoid confusion with register names.
6329 (m68hc11_gen_movhi): Allow push of stack pointer.
6330 (m68hc11_check_z_replacement): Fix handling of parallel with a
6331 clobber.
6332 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
6333 the replacement register is.
6334 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
6335 and D8_REGS classes.
6336 (MODES_TIEABLE_P): All modes are tieable except QImode.
6337
1d2d9def
SC
63382002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6339
6340 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
6341 (___subdi3): Likewise.
6342 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
6343 (__map_data_section): Optimize 68hc11 case.
6344
a0ccf503
SC
63452002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6346
6347 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
6348 than a shift to avoid adding a register with itself.
6349 (m68hc11_memory_move_cost): Take into account NO_REGS.
6350 (m68hc11_register_move_cost): Update and use memory move cost
6351 for soft registers.
6352 (m68hc11_address_cost): Make cost of valid offset not 0 so that
6353 it gives more opportunities to cse to optimize.
6354 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
6355 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
6356
6e4ae815
MM
63572002-03-15 Mark Mitchell <mark@codesourcery.com>
6358
6359 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
6360 * c-common.def (CLEANUP_STMT): New tree node.
6361 * c-common.h (CLEANUP_DECL): New macro.
6362 (CLEANUP_EXPR): Likewise.
6363 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
6364 * expr.c (expand_expr): Tidy.
6365 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
6366 * tree-inline.c (initialize_inlined_parameters): Clean up
6367 new local variables.
6368
a42519be
JJ
63692002-03-15 Jakub Jelinek <jakub@redhat.com>
6370
6371 PR bootstrap/4128
6372 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
6373 before movrXX only, use reg_overlap_mentioned_p.
6374 Only special case NE if just one insn can be generated.
6375
15409448
JM
63762002-03-15 Jason Merrill <jason@redhat.com>
6377
6378 * varasm.c (assemble_variable): Call resolve_unique_section before
6379 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
6380 of error_mark_node.
6381
3a4edb44
RE
63822002-03-15 Richard Earnshaw <rearnsha@arm.com>
6383
6384 PR target/5170
6385 * arm.md (split pattern for thumb shiftable immediates): Add comment
6386 explaining non-obvious test.
6387
32defa36
RE
63882002-03-15 Richard Earnshaw <rearnsha@arm.com>
6389
6390 PR target/5712
6391 * arm.md (movaddr, movaddr_insn): Delete.
6392
5cc90635
JM
63932002-03-15 Jason Merrill <jason@redhat.com>
6394
6395 * toplev.c (wrapup_global_declarations): Clarify variable handling.
6396 -fkeep-static-consts doesn't apply to comdats.
6397
ecb0eece
RH
63982002-03-14 Richard Henderson <rth@redhat.com>
6399
6400 * c-decl.c: Include c-pragma.h.
6401 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
6402 (finish_function): Tidy.
6403 * c-pragma.c: Include c-common.h.
6404 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
6405 (handle_pragma_weak): Use them.
6406 (init_pragma): Register pending_weaks.
6407 * c-pragma.h (maybe_apply_pragma_weak): Declare.
6408 * print-tree.c (print_node): Print DECL_WEAK.
6409 * varasm.c (mark_weak_decls): Remove.
6410 (remove_from_pending_weak_list): Remove.
6411 (add_weak): Remove.
6412 (asm_emit_uninitialised): Call globalize_decl for weak commons.
6413 (weak_decls): Make a tree_list.
6414 (declare_weak): Cons weak_decls directly.
6415 (globalize_decl): Remove weak_decls elements directly.
6416 (weak_finish): Simplify weak_decls walk. Don't weaken unused
6417 symbols. Don't pretend to handle aliases.
6418 (init_varasm_once): Update weak_decls registry.
6419 * Makefile.in: Update dependencies.
6420
98d2b17e
RH
64212002-03-14 Richard Henderson <rth@redhat.com>
6422
6423 PR target/5312
6424 * config/ia64/ia64.c: Include tm_p.h last.
6425 (gen_nop_type): Remove duplicate definition.
6426 (cycle_end_fill_slots): Set sched_data for second L slot.
6427 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
6428 (nop_cycles_until): Fix typos.
6429
f2f4927e
JJ
64302002-03-15 Jakub Jelinek <jakub@redhat.com>
6431
6432 PR optimization/5891
6433 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
6434
5025a549
DM
64352002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
6436
6437 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
6438 descriptors correctly.
6439
03e9dbc9
MM
64402002-03-14 Michael Meissner <meissner@redhat.com>
6441
6442 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
6443 100, allowing MAX_UNROLLED_INSNS to be overridden.
6444
6445 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
6446 --param.
6447
6448 * unroll.c (params.h): Include.
6449 (MAX_UNROLLED_INSNS): Delete, now in params.h.
6450
6451 * doc/invoke.texi (--param max-unroll-insns): Document.
6452
6453 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
6454
12249385
RE
64552002-03-14 Richard Earnshaw <rearnsha@arm.com>
6456
6457 * arm.md: Fix warnings about constraints in peepholes and splits.
6458
f0cce04a
ZW
64592002-03-14 Zack Weinberg <zack@codesourcery.com>
6460
6461 * cpphash.h (struct lexer_state): Remove line_extension member.
6462 * cpplib.c (dequote_string, do_linemarker): New functions.
6463 (linemarker_dir): New data object.
6464 (DIRECTIVE_TABLE): No longer need to interpret #line in
6465 preprocessed source. Delete obsolete comment about return
6466 values of handlers.
6467 (end_directive, directive_diagnostics, _cpp_handle_directive):
6468 Don't muck with line_extension.
6469 (directive_diagnostics): No need to issue warnings for
6470 linemarkers here.
6471 (_cpp_handle_directive): Issue warnings for linemarkers here,
6472 when appropriate. Dispatch linemarkers to do_linemarker, not
6473 do_line.
6474 (do_line): Code to handle linemarkers split out to do_linemarker.
6475 Convert escape sequences in filename argument, both places.
6476
6477 * cppmacro.c (quote_string): Rename cpp_quote_string and
6478 export. All callers changed.
6479 * cpplib.h (cpp_quote_string): Prototype.
6480 * cppmain.c (print_line): Call cpp_quote_string on to_file
6481 before printing it.
6482
6483 * doc/cpp.texi: Document that escapes are now interpreted in
6484 #line and in linemarkers, and that non-printing characters are
6485 converted to octal escapes when linemarkers are generated.
6486
6487Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
6488
6489 * emit-rtl.c (try_split): Use delete_insns.
6490 * recog.c (split_all_insns): Fix terminating condition.
6491
c882c7ac
RE
64922002-03-14 Richard Earnshaw <rearnsha@arm.com>
6493 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
6494
6495 PR target/5828
6496 * arm.c (arm_output_epilogue): Fix floating-point register save
6497 adjustment when using a frame pointer.
6498
3f26edaa
RS
64992002-03-14 Richard Sandiford <rsandifo@redhat.com>
6500
6501 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
6502 * config/mips/mips.c (compute_frame_size): Retrofit them here.
6503 (save_restore_insns, mips_expand_epilogue): And here.
6504 (build_mips16_call_stub): And here.
6505 (mips_function_value): Use the new macros to decide whether a single
6506 or complex float can be returned in floating-point registers. Return
6507 a parallel rtx in the complex case.
6508
1e3881c2
JH
6509Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
6510
6511 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
6512 call after liveness analysis.
6513
6514 * recog.c (split_insn): Use delete_insn_and_edges.
6515
6516 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
6517 instructions to have branch prediction notes.
6518 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
6519
200ef634
GK
65202002-03-14 Geoffrey Keating <geoffk@redhat.com>
6521
6522 * configure.in: Don't pass -Wno-long-long to a ADA compiler
6523 that doesn't support it.
6524 * configure: Regenerate.
6525
0b82d204
JJ
65262002-03-13 Jakub Jelinek <jakub@redhat.com>
6527
6528 PR target/5626
6529 * config/sparc/sparc.md (normal_branch, inverted_branch,
6530 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
6531 inverted_fp_branch): Adjust calls to output_cbranch.
6532 Set length attribute.
6533 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
6534 output_v9branch. Set length attribute.
6535 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
6536 predicates.
6537 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
6538 (output_cbranch): Likewise. Handle far branches.
6539 (output_v9branch): Handle far branches.
6540 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
6541 Adjust prototypes.
6542 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
6543 noov_compare64_op predicates.
6544
7a8de19b
JM
65452002-03-13 Jason Merrill <jason@redhat.com>
6546
6547 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
6548 into the function and constify it.
6549 * gthr-dce.h, gthr-solaris.h: Likewise.
6550
2a55fd42
DE
65512002-03-13 David Edelsohn <edelsohn@gnu.org>
6552
6553 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
6554 * config/rs6000/rs6000.c (rs6000_va_arg): Use
6555 std_expand_builtin_va_arg if not ABI_V4.
6556
19c5b1cf
JM
65572002-03-13 Jason Merrill <jason@redhat.com>
6558
6559 * varasm.c (globalize_decl): New fn.
6560 (assemble_start_function): Use it.
6561 (asm_emit_uninitialized): Use it.
6562 (assemble_alias): Use it.
6563 (assemble_variable): Use it.
6564
2a15f5e1
HPN
65652002-03-13 Hans-Peter Nilsson <hp@axis.com>
6566
6567 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 6568 2002-03-12 internal visibility change.
2a15f5e1
HPN
6569 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
6570 visibility into SYMBOL_REF_FLAG.
6571
c0a3eeac
UW
65722002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
6573
6574 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
6575 VOIDmode operand. Add compile-time optimization for constant results.
6576
a1652cee
JM
65772002-03-12 Jason Merrill <jason@redhat.com>
6578
6579 * c-typeck.c (convert_for_assignment): Don't allow conversions
6580 between pointers and references. Only allow lvalues to convert to
6581 reference.
6582
c52a375d
HP
65832002-03-13 Hartmut Penner <hpenner@de.ibm.com>
6584
f0cce04a
ZW
6585 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
6586 before prologue, to avoid scheduling problems.
c52a375d 6587
e387e99b
JJ
65882002-03-13 Jakub Jelinek <jakub@redhat.com>
6589
6590 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
6591 (ELIMINABLE_REGS): Add sfp->sp.
6592 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
6593
65942002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
6595
6596 PR optimization/5892
6597 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
6598
4061c1a3
JJ
65992002-03-13 Jakub Jelinek <jakub@redhat.com>
6600
6601 * loop.c (basic_induction_var): Don't call convert_modes if mode
6602 classes are different.
6603
5b43fed1
RH
66042002-03-12 Richard Henderson <rth@redhat.com>
6605
9f53e965
RH
6606 PR optimization/5901
6607 * function.c (reposition_prologue_and_epilogue_notes): Position
6608 the markers after/before the last/first insn not deleted.
6609
66102002-03-12 Richard Henderson <rth@redhat.com>
6611
6612 PR optimization/5878
5b43fed1
RH
6613 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
6614 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
6615 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
6616
6617 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
6618 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
6619 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
6620
6621 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
6622 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
6623 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
6624 also. Don't set it if not flag_pic.
6625 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
6626 to be INVALID_REGNUM when not used.
6627
4e9bb42b
AH
66282002-03-13 Aldy Hernandez <aldyh@redhat.com>
6629
5b43fed1
RH
6630 * expmed.c (store_bit_field): Reset alias set for memory.
6631 (extract_bit_field): Same.
4e9bb42b 6632
2f9834e8
KG
66332002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6634
6635 * c-common.c (c_tree_code_type, c_tree_code_length,
6636 c_tree_code_name, add_c_tree_codes): Delete.
6637 * c-common.h (add_c_tree_codes): Delete.
6638 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
6639 Define.
6640 * c-objc-common.c (c_objc_common_init): Don't call
6641 add_c_tree_codes, instead set lang_unsafe_for_reeval.
6642 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
6643 objc_tree_code_name, add_objc_tree_codes): Delete.
6644 (objc_init): Don't call add_objc_tree_codes.
6645 * objc/objc-lang.c (tree_code_type, tree_code_length,
6646 tree_code_name): Define.
6647 * toplev.c (lang_independent_init): Don't set
6648 tree_code_length[IDENTIFIER_NODE].
6649 * tree.c (tree_code_type, tree_code_length, tree_code_name):
6650 Delete definitions, moved to language front-ends.
6651 * tree.def (IDENTIFIER_NODE): Hardwire the length.
6652 * tree.h (tree_code_type, tree_code_length, tree_code_name):
6653 Const-ify.
6654 (tree_code_length): Change type to unsigned char.
6655
36ad2436
RH
66562002-03-12 Richard Henderson <rth@redhat.com>
6657
6658 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
6659 internal visibility change.
6660
0ae02efa
BW
66612002-03-12 Bob Wilson <bob.wilson@acm.org>
6662
6663 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
6664 validize_mem() instead of change_address to avoid clobbering
6665 memory attributes.
6666
35bb2bee
NB
66672002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
6668
6669 * c-lex.h (position_after_whitespace): Remove.
6670
62ae2529
JJ
66712002-03-12 Jakub Jelinek <jakub@redhat.com>
6672
6673 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
6674 (lex_string): Use unsigned char pointers.
6675
6a45951f
UW
66762002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
6677
6678 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
6679 is not a valid memory_operand.
6680
e2fb85da
BW
66812002-03-12 Bob Wilson <bob.wilson@acm.org>
6682
6683 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
6684 * config/xtensa/lib1funcs.asm: Fix copyright to include
6685 special case for libgcc files.
6686 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
6687 (__divsi3): Likewise.
6688 (__umodsi3): Likewise.
6689 (__modsi3): Likewise.
6690 * config/xtensa/lib2funcs.S: Fix copyright to include
6691 special case for libgcc files.
6692
5b8619f8
TR
66932002-03-12 Tom Rix <trix@redhat.com>
6694
6695 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 6696 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
6697 (ignore_library): Same.
6698
089c8f97
BW
66992002-03-12 Bob Wilson <bob.wilson@acm.org>
6700
6701 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
6702
958c70ff
BW
67032002-03-12 Bob Wilson <bob.wilson@acm.org>
6704
6705 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
6706 to function_section before writing out the constant pool.
6707
a65c591c
DE
67082002-03-12 David Edelsohn <edelsohn@gnu.org>
6709
6710 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
6711 zero_constant.
6712 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
6713
67142002-03-12 Alan Modra <amodra@bigpond.net.au>
6715
6716 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
6717 (adddi3): Likewise.
6718 (movdf): Likewise.
6719 (movdi): Likewise.
6720 (cmpsi splitter): Likewise.
6721 (modsi3): Fail if <= 0.
6722 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
6723 redundant test when HOST_BITS_PER_WIDE_INT != 32.
6724 (reg_or_sub_cint64_operand): Likewise.
6725 (num_insns_constant_wide): Optimize sign extension.
6726 (rs6000_legitimize_address): Likewise.
6727
17720332
AM
67282002-03-12 Andrew MacLeod <amacleod@redhat.com>
6729
6730 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
6731 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
6732
cd49f073
AM
67332002-03-12 Andrew MacLeod <amacleod@redhat.com>
6734
6735 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
6736 address calculation.
6737
6a4e49c1
UW
67382002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
6739
6740 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
6741 scratch register to DImode / TImode.
6742 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
6743 register used does not overlap the target.
6744
54b6670a
KG
67452002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6746
6747 * Makefile.in (debug.o): Depend on debug.h.
6748 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
6749 * debug.c (do_nothing_debug_hooks): Likewise.
6750 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
6751 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
6752 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
6753 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
6754 * dwarfout.c (dwarf_debug_hooks): Likewise.
6755 * integrate.c (output_inline_function): Likewise.
6756 * objc/objc-act.c (synth_module_prologue): Likewise.
6757 * sdbout.c (sdb_debug_hooks): Likewise.
6758 * toplev.c (debug_hooks): Likewise.
6759 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
6760
2465bf76
KG
67612002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6762
6763 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
6764 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
6765 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
6766 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
6767 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
6768 * defaults.h (POINTER_SIZE): Define.
6769 * doc/tm.texi (POINTER_SIZE): Document default.
6770
53f3e9ca
KG
67712002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6772
6773 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
6774
44d3eb5b
RH
67752002-03-11 Richard Henderson <rth@redhat.com>
6776
6777 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
6778 if rebuild_label_notes_after_reload.
6779
4a085d2e
HPN
67802002-03-12 Hans-Peter Nilsson <hp@axis.com>
6781
6782 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
6783 emit pic register load if "internal" visibility.
6784 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
6785 (cris_expand_builtin_va_arg): Do all computations on trees.
6786
bc204393
RH
67872002-03-11 Richard Henderson <rth@redhat.com>
6788
6789 * rtlanal.c: Include recog.h.
6790 (keep_with_call_p): Fix thinko.
6791 * Makefile.in (rtlanal.o): Update dependencies.
6792
6b8b9d7b
CM
67932002-03-11 Chris Meyer <cmeyer@gatan.com>
6794
6795 * genflags.c (gen_insn): Use IS_VSPACE.
6796 * genoutput.c (output_insn_data): Likewise.
6797 (process_template): Likewise.
6798
6c40858f
RH
67992002-03-11 Richard Henderson <rth@redhat.com>
6800
6801 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
6802
40adaa27
NB
68032002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
6804
6805 * Makefile.in: Update.
6c40858f 6806 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 6807 Update documentation.
6c40858f
RH
6808 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
6809 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 6810
049b03f4
ZW
68112002-03-11 Zack Weinberg <zack@codesourcery.com>
6812
6813 * Makefile.in: Give texi2pod its input file as a command line
6814 argument, not on stdin.
6815
61eece67
DN
68162002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
6817 Daniel Berlin <dan@dberlin.org>
6818
6819 C++ alias analysis improvement.
f0cce04a 6820 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
6821 classes too.
6822
a65c591c
DE
68232002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
6824
ff080aba
UW
6825 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
6826
1682dbb1
DR
68272002-03-11 Douglas B Rupp <rupp@gnat.com>
6828
fa2d765a
DR
6829 * toplev.c (vms_fopen): Remove, not needed.
6830
6f1fd286
DR
6831 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
6832
b230e057
DR
6833 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
6834
cb9a8e97
DR
6835 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
6836 for FP, already done later.
6837
1682dbb1
DR
6838 * toplev.c (debug_args): Add entry for VMS_DEBUG.
6839 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
6840
3fcaac1d
RS
68412002-03-11 Richard Sandiford <rsandifo@redhat.com>
6842
6843 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
6844 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
6845 LARGEST_EXPONENT_IS_NORMAL for the given mode.
6846 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
6847 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
6848 (ediv, emul, eldexp, esqrt): Likewise.
6849 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
6850 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
6851 (saturate): New function.
6852 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
6853 (make_nan): Use a saturation value instead of a NaN if
6854 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
6855 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
6856 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
6857 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
6858 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
6859 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
6860 !ROUND_TOWARDS_ZERO.
6861 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
6862 (ROUND_TOWARDS_ZERO): Document.
6863
d25558be
AJ
68642002-03-11 Andreas Jaeger <aj@suse.de>
6865
6866 * cfg.c (dump_flow_info): Remove unused variable.
6867
c71f9ae7
HPN
68682002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
6869
6870 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
6871 computations on trees.
6872
561c9153
RH
68732002-03-10 Richard Henderson <rth@redhat.com>
6874
932b4e3e 6875 PR 5693:
561c9153
RH
6876 * reload.c (copy_replacements_1): New.
6877 (copy_replacements): Use it to recurse through the rtx.
6878
26b738be
RH
68792002-03-10 Richard Henderson <rth@redhat.com>
6880
6881 * loop.c (strength_reduce): Compute number of iterations as
6882 unsigned HOST_WIDE_INT.
6883
8d8a083e
RH
68842002-03-10 Richard Henderson <rth@redhat.com>
6885
6886 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
6887 to move away from the end of the block.
6888
32810ba3
NB
68892002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
6890
6891 PR preprocessor/5899
6892 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 6893
2b03d201
KG
68942002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6895
f90c544c
KG
6896 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
6897
2b03d201
KG
6898 * attribs.c (decl_attributes): Fix signed/unsigned warning.
6899
3ec1b4cb
HPN
69002002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
6901
6902 * config/mmix/mmix.c: Improve comments.
6903 (mmix_target_asm_function_prologue): Drop variable
6904 empty_stack_frame. Don't allocate unused slot above fp.
6905 (mmix_target_asm_function_epilogue): Mirror prologue changes.
6906 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
6907 brace in first column.
6908 (enum reg_class): Ditto.
6909 (FIRST_PARM_OFFSET): Now 0.
6910 (USER_LABEL_PREFIX): Remove #if 0:d definition.
6911
27e486c5
KG
69122002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6913
6914 * combine.c (make_extraction): Fix error in last change.
6915
0139adca
KG
69162002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6917
6918 * c4x.c (c4x_fp_reglist): Const-ify.
6919 * cris.c (cris_print_operand): Likewise.
6920 * i386.c (ix86_va_arg): Likewise.
6921 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
6922 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
6923 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
6924 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
6925 * mcore.h (regno_reg_class): Likewise.
6926 * mips.c (gen_int_relational): Likewise.
6927 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
6928 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 6929 * pdp11.c (move_costs): Likewise.
0139adca
KG
6930 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
6931 * s390.c (s390_branch_condition_mnemonic, regclass_map):
6932 Likewise.
6933 * s390.h (regclass_map): Likewise.
6934 * sh.c (shift_amounts): Likewise.
a4334c36 6935 * sh.md (rotlsi3): Likewise.
0139adca 6936
889b90a1
GK
69372002-03-09 Geoffrey Keating <geoffk@redhat.com>
6938
6939 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
6940 (ne0+5): Use new clobber to generate proper shift pattern.
6941 Patch by Michael Matz <matz@kde.org>.
6942
2877e0ae
AS
69432002-03-09 Andreas Schwab <schwab@suse.de>
6944
6945 * gcc.c (validate_all_switches): Also handle `%W{...}'.
6946
79b51cd7
GK
69472002-03-09 Geoffrey Keating <geoffk@redhat.com>
6948
6949 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
6950
e0f1be5c
JJ
69512002-03-09 Jakub Jelinek <jakub@redhat.com>
6952
6953 PR middle-end/5877
6954 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
6955 even for non-representable constants.
6956
0a7ec763
RK
6957Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6958
93fe8e92
RK
6959 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
6960 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
6961 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
6962 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
6963 (pop_function_context): Compute MAY_SHARE parameter for
6964 fixup_var_refs.
6965 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
6966 (gen_mem_addressof): Call fixup_var_refs with new parm.
6967
0a7ec763
RK
6968 * combine.c (make_extraction): Don't make extension of CONST_INT.
6969
a85cd407
AO
69702002-03-09 Alexandre Oliva <aoliva@redhat.com>
6971
9445b814
AO
6972 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
6973 in o32 and o64 ABIs.
6974 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
6975 but getting fixed-size structs passed in registers regardless of
6976 padding in o32 and o64 ABIs.
6977
a85cd407
AO
6978 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
6979 offset before loading address of argument passed by transparent
6980 reference.
6981
c51fbe40
JDA
69822002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
6983
6984 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
6985
918e70dd
AO
69862002-03-09 Alexandre Oliva <aoliva@redhat.com>
6987
6988 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
6989 marker such that registers after it are saved.
6990
3070dd00
KG
69912002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6992
6993 * sparc.c (arith_4096_operand): Fix error in last change.
6994
e25d11b0
AO
69952002-03-08 Alexandre Oliva <aoliva@redhat.com>
6996
6997 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
6998 defaults for MEABI.
6999
41daaf0e
AH
70002002-03-08 Aldy Hernandez <aldyh@redhat.com>
7001
5b43fed1
RH
7002 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
7003 vectors.
41daaf0e 7004
fa139b00
AH
70052002-03-08 Aldy Hernandez <aldyh@redhat.com>
7006
5b43fed1 7007 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 7008
c51d95ec
JH
7009Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
7010
7011 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
7012 removed; fix return value.
7013 * combine.c (combine_instructions): Dirtify blocks where we failed to
7014 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
7015 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
7016
3b25fbfe
KG
70172002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7018
7019 * gcse.c (insert_insn_end_bb): Fix typo in last change.
7020
189ae0f4
JH
7021Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
7022
7023 * recog.c (peephole2_optimize): Re-distribute EH edges.
7024
24965e7a
NB
70252002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
7026
7027 * expr.c (expand_expr): Use unsave lang hook.
7028 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
7029 (LANG_HOOKS_INITIALIZER): Update.
7030 * langhooks.h (struct lang_hooks): New hook unsave.
7031 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
7032 (unsave_expr_1): Remove unused lang_unsave_expr_now.
7033 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
7034 (unsave_expr_now): Remove.
7035 * tree.h (unsave_expr_now, lang_unsave,
7036 lang_unsave_expr_now): Remove.
7037 (lhd_unsave): New.
7038
1e4e95d6
AJ
70392002-03-08 Andreas Jaeger <aj@suse.de>
7040
7041 * flow.c (propagate_block_delete_insn): Remove unused variable.
7042
054ef905
KH
70432002-03-08 Kazu Hirata <kazu@hxi.com>
7044
7045 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
7046 insn length for memory load/store.
7047
5304400d 70482002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 7049
5304400d
CR
7050 * doc/install.texi (--with-libiconv-prefix): Document.
7051
81034129
MB
70522002-03-08 Michael Y. Brukman <myb2@cornell.edu>
7053
7054 * doc/sourcebuild.texi: Fix typo.
7055
71db7d03
JJ
70562002-03-08 Jakub Jelinek <jakub@redhat.com>
7057
7058 PR c/3711
7059 * builtins.c (std_expand_builtin_va_arg): Do all computations on
7060 trees.
7061
127c1ba5
RK
7062Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7063
7064 * rtl.c (copy_most_rtx): Move from here ...
7065 * emit-rtl.c (copy_most_rtx): ... to here.
7066
8a13c092
AO
70672002-03-08 Alexandre Oliva <aoliva@redhat.com>
7068
5faae4f7
AO
7069 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
7070 SUBTARGET_CPP_SIZE_SPEC.
7071 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
7072
8a13c092
AO
7073 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
7074
4ec59de2
MH
70752002-03-07 Matt Hiller <hiller@redhat.com>
7076
7077 * gensupport.c (first_dir_md_include): Renamed from include;
7078 change all references.
7079 (last_dir_md_include): Renamed from last_include; change all
7080 references.
7081 (init_md_reader): Unconditionally initialize base_dir whether or
7082 not filename is a relative path.
7083
12f61e77
AO
70842002-03-07 Alexandre Oliva <aoliva@redhat.com>
7085
95356058
AO
7086 * config/fp-bit.c (_unord_f2): Compile it in even if
7087 US_SOFTWARE_GOFAST is enabled.
7088
12f61e77
AO
7089 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
7090 NULL_RTX. Set all HFmode operations as NULL_RTX.
7091 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
7092 NULL_RTX, try reversing the comparison and the operands.
7093
6d7a1c4c
UW
70942002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
7095
7096 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
7097 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
7098 and MATCH_OP_DUP.
7099
66d54344
JH
7100Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
7101
7102 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
7103
068473ec
JH
7104Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
7105
7106 * basic-block.h (fixup_abnormal_edges): Declare.
7107 * reload1.c (fixup_abnormal_edges): New function.
7108 * reg-stack.c (convert_regs): Use it.
7109
7110 * gcse.c (insert_insn_end_bb): Handle trapping insns.
7111
7112 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
7113
71925bc0
RS
71142002-03-07 Richard Sandiford <rsandifo@redhat.com>
7115
7116 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
7117 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
7118 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
7119 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
7120 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
7121 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
7122 unless x and y could be infinite.
7123 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
7124 Check that the common type of both arguments is a real, even for
7125 targets without unordered comparisons. Allow an integer argument
7126 to be compared against a real.
7127 (expand_tree_builtin): Use expand_unordered_cmp.
7128 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
7129 * cse.c (fold_rtx): Likewise. Fix indentation.
7130 * fold-const.c (fold_real_zero_addition_p): New.
7131 (fold): Use it, and the new HONOR_... macros.
7132 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
7133 * jump.c (reversed_comparison_code_parts): After searching for
7134 the true comparison mode, use HONOR_NANS to decide whether it
7135 can be safely reversed.
7136 (reverse_condition_maybe_unordered): Remove IEEE check.
7137 * simplify-rtx.c (simplify_binary_operation): Use the new macros
7138 to decide which simplifications are valid. Allow the following
7139 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
7140 and (a - -b) to (a + b).
7141 (simplify_relational_operation): Use HONOR_NANS.
7142 * doc/tm.texi: Document the MODE_HAS_... macros.
7143
145d3bf2
RE
71442002-03-07 Richard Earnshaw <rearnsha@arm.com>
7145
7146 * combine.c (simplify_comparison): If simplifying a logical shift
7147 right and compare with constant, force the comparison to unsigned.
7148
76a773f3
AH
71492002-03-07 Aldy Hernandez <aldyh@redhat.com>
7150
5b43fed1 7151 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 7152
5b43fed1
RH
7153 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
7154 -mabi=no-altivec
7155 (alt_reg_names): Remove % for vrsave.
76a773f3 7156
ab55f58c
RH
71572002-03-06 Richard Henderson <rth@redhat.com>
7158
5ddec02e 7159 PR optimization/5844
ab55f58c
RH
7160 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
7161 if used indicates we've already emitted one copy of an operand.
7162 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
7163 (gen_split): Supply a non-null used.
7164
e16e3291
UW
71652002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
7166
5b43fed1 7167 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 7168
1e4e95d6 7169 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
7170 but simply fail if the expression is too complex to simplify.
7171 (simplify_gen_binary): Handle simplify_plus_minus failures.
7172
2ca6672b
JH
7173Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
7174
7175 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
7176 consistently call delete_trivially_dead_insns after CSE and GCSE;
7177 fix DFI_life dumping; do jump threading after liveness; do crossjumping
7178 after liveness2; update comment in last crossjumping.
7179 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
7180
31d0dd4f
JL
7181Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
7182
d094b0b3
JL
7183 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
7184 after completing fast dead code elimination.
7185
31d0dd4f
JL
7186 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
7187 COMPARE operator.
1e4e95d6 7188
f2b958b1
PE
71892002-03-06 Phil Edwards <pme@gcc.gnu.org>
7190
7191 * version.c: Fix misplaced leading blanks on first line.
7192
a2877a09
JH
7193Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
7194
7195 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
7196
fe477d8b
JH
7197Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
7198
7199 * cfgcleanup.c (mentions_nonequal_regs): New function.
7200 (thread_jump): Use it.
7201 * toplev.c (rest_of_compilation): Run jump threading after
7202 liveness.
7203
2041cde4
JJ
72042002-03-06 Jakub Jelinek <jakub@redhat.com>
7205
7206 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
7207 patch.
7208
82d68d46
JH
7209Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
7210
7211 * predict.c (estimate_bb_frequencies): Do not reload the
7212 frequencies from notes.
7213
3dec4024
JH
7214Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
7215
7216 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
7217 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
7218
7219 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
7220 delete_noop_moves): Return indeger.
7221 * flow.c (ndead): New variable.
7222 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
7223 BB argument; update callers.
7224 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
7225 (life_analysis): Do not call purge_all_dead_edges.
7226 (update_life_info): Return number of deleted insns; print statistics.
7227 (update_life_info_in_dirty_blocks): likewise.
7228 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
7229 return number of insns deleted.
7230
7231 * cse.c: Include timevar.h
7232 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
7233 iterate until stabilizes; print statistics; return number of killed
7234 insns.
7235 * Makefile.in: (cse.o): Add timevar.h dependency
7236 * rtl.h (delete_trivially_dead_insns): New.
7237 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
7238 * toplev.c (rest_of_compilation): Update callers.
7239
7240 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
7241 (try_optimize_cfg): Do not update liveness.
7242 (cleanup-cfg): Loop until try_optimize_cfg and dead code
7243 removal stabilizes; use delete_trivially_dead_insns.
7244
7245 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
7246
c7544dd8
ZW
72472002-03-05 Zack Weinberg <zack@codesourcery.com>
7248
7249 * cppmain.c (setup_callbacks): Disable #pragma and #ident
7250 callbacks when processing assembly language.
7251
50b424a9
JDA
72522002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7253
7254 * pa.h (ASM_FILE_END): Define.
7255 * som.h (ASM_FILE_END): Delete.
7256
7257 * pa.c (function_arg): Don't pass floats in general registers in
7258 indirect calls if TARGET_ELF32.
7259
6185f217
RH
72602002-03-05 Richard Henderson <rth@redhat.com>
7261
7262 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
7263
3020a4b2
DS
72642002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
7265
7266 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
7267
65649daa
JJ
72682002-03-05 Jakub Jelinek <jakub@redhat.com>
7269
7270 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
7271 -r command line. Don't hide any symbols if not building
7272 shared libgcc.
7273
5a1a3e5e
JH
7274Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
7275
7276 * cfg.c (dump_flow_info): Warn about profile mismatches.
7277 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
7278 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
7279
170c56da
JJ
72802002-03-05 Jakub Jelinek <jakub@redhat.com>
7281
7282 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
7283 wide volatile memory by parts.
7284
6d051694
JJ
72852002-03-05 Jakub Jelinek <jakub@redhat.com>
7286
7287 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
7288 is NULL.
7289
28bcfd4d
RH
72902002-03-05 Richard Henderson <rth@redhat.com>
7291
5b43fed1 7292 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 7293
75227a33
GK
72942002-03-04 Geoffrey Keating <geoffk@redhat.com>
7295
7296 * toplev.c (documented_lang_options): Document more
7297 language-specific options.
7298 * doc/invoke.texi (Warning Options): Correct documentation for
7299 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
7300 * c-decl.c (c_decode_option): Use a table to handle warning options.
7301
4f1aac42
HPN
73022002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
7303
7304 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
7305 parameter to mmix_encode_section_info.
7306 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
7307 relocatably. Always produce ELF, not mmo if linking relocatably.
7308 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
7309 first is non-zero, don't add symbol prefix.
7310 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
7311 prototype accordingly.
7312
12345543
KW
73132002-03-04 Krister Walfridsson <cato@df.lth.se>
7314
7315 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
7316
8e97db8f
JM
73172002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
7318
7319 * configure.in: Increase required makeinfo version to 4.1.
7320 * configure: Regenerate.
7321
06487868
GK
73222002-03-04 Geoffrey Keating <geoffk@redhat.com>
7323
7324 * .cvsignore: Remove *.info* and genrtl*; these files are generated
7325 elsewhere now.
7326
cff42170
JM
73272002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
7328
7329 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
7330 * doc/invoke.texi: Fix @math uses.
7331
974a7f56
JH
7332Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
7333
7334 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
7335 removal
7336
3b7d0e98
AH
73372002-03-03 Aldy Hernandez <aldyh@redhat.com>
7338
5b43fed1
RH
7339 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
7340 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 7341
5b43fed1 7342 * config/rs6000/t-ppcendian: New.
3b7d0e98 7343
65f2f288
HB
73442002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7345
7346 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
7347 nonimmediate_src_operand and nonimmediate_lsrc_operand to
7348 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
7349
8ce0a8a5
RH
73502002-03-03 Richard Henderson <rth@redhat.com>
7351
7352 * toplev.c (rest_of_decl_compilation): Revert last two changes.
7353
ba31d94e
ZW
73542002-03-03 Zack Weinberg <zack@codesourcery.com>
7355
7356 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
7357 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
7358 tree.c, config/m68k/m68k.c:
7359 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
7360 REAL_ARITHMETIC blocks unconditional. Delete some further
7361 #ifdef blocks predicated on REAL_ARITHMETIC.
7362 * flags.h, toplev.c: Delete remaining references to
7363 flag_pretend_float.
7364
7365 * doc/invoke.texi: Remove documentation of -fpretend-float.
7366 * doc/tm.texi: Describe the various REAL_* macros as provided by
7367 real.h, not by the target configuration files.
7368
7369 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
7370 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
7371 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
7372 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
7373 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
7374 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
7375 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
7376 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
7377 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
7378 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
7379 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
7380 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
7381 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
7382 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
7383 config/xtensa/xtensa.h:
7384 Do not define, undefine, or mention in comments any of
7385 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
7386 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
7387 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
7388 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
7389 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
7390 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
7391 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
7392 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
7393 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
7394
9a571cfd
KG
73952002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7396
e81dd381
KG
7397 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
7398 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
7399 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
7400 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
7401 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
7402 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
7403 Delete.
7404 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 7405 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 7406
9a571cfd
KG
7407 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
7408 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
7409 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
7410
ca7558fc
KG
74112002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7412
7413 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
7414 lieu of explicit sizeof/sizeof.
7415 * i386.c (override_options, ix86_init_mmx_sse_builtins,
7416 ix86_expand_builtin): Likewise.
7417 * mips.c (mips_add_gc_roots): Likewise.
7418 * mmix.c (mmix_output_condition): Likewise.
7419 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
7420 altivec_init_builtins): Likewise.
7421 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
7422 * cppexp.c (Nsuff, parse_number): Likewise.
7423 * cppinit.c (builtin_array_end): Likewise.
7424 * gcc.c (n_default_compilers, process_command): Likewise.
7425 * genpreds.c (output_predicate_decls): Likewise.
7426 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
7427 * lcm.c (N_ENTITIES): Likewise.
7428 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 7429
41c78c88
RH
74302002-03-03 Richard Henderson <rth@redhat.com>
7431
7432 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
7433 for types or labels.
7434
9e9b71e6
RH
74352002-03-03 Richard Henderson <rth@redhat.com>
7436
7437 * c-decl.c (start_decl): Initialized variables are not common.
7438
c26a6db8
PB
74392002-03-02 Per Bothner <per@bothner.com>
7440
7441 * gcc.c (option_map): Suport new --bootclasspath option.
7442 --CLASSPATH is now just an alias for --classpath.
7443
9e8aab55
RH
74442002-03-02 Richard Henderson <rth@redhat.com>
7445
7446 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
7447 load if "internal" visibility.
7448 * doc/extend.texi: Document visibility meanings.
7449
b3bbd220
RH
74502002-03-02 Richard Henderson <rth@redhat.com>
7451
7452 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
7453 to functions as well.
7454
b14707c3
RH
74552002-03-02 Richard Henderson <rth@redhat.com>
7456
7457 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
7458 (handle_visibility_attribute): Don't call assemble_visibility.
7459 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
7460 without asmspec. Invoke assemble_alias when needed.
7461 * varasm.c (maybe_assemble_visibility): New.
7462 (assemble_start_function, assemble_variable, assemble_alias): Use it.
7463
b2003250
RH
74642002-03-02 Richard Henderson <rth@redhat.com>
7465
7466 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
7467 invoke ENCODE_SECTION_INFO with first call flag.
7468
7469 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
7470 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 7471 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
7472 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
7473 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
7474 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
7475 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
7476 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
7477 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
7478 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
7479 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
7480 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
7481 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
7482 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
7483 config/mcore/mcore-protos.h, config/mcore/mcore.c,
7484 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
7485 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 7486 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
7487 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
7488 config/sh/sh.h, config/sparc/sparc.h,
7489 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
7490 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
7491 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
7492 FIRST argument. As needed, examine it and do nothing.
7493
ba31d94e 7494 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
7495 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
7496 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
7497
7498 * config/arm/t-pe (pe.o): Add dependencies.
7499
5c60f03d
KG
75002002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7501
7502 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
7503 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
7504 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
7505 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
7506 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
7507 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
7508 * defaults.h (BITS_PER_UNIT): Define.
7509 * doc/tm.texi (BITS_PER_UNIT): Document default value.
7510
86855e8c
KH
75112002-03-02 Kazu Hirata <kazu@hxi.com>
7512
7513 * config/h8300/h8300-protos.h: Add a prototype for
7514 compute_a_shift_length.
7515 * config/h8300/h8300.c (h8300_asm_insn_count): New.
7516 (compute_a_shift_length): Likewise.
7517 (h8300_adjust_insn_length): Do not adjust insn length of shift
7518 insns.
7519 * config/h8300/h8300.md (anonymous shift patterns): Use
7520 compute_a_shift_length.
7521
f6041ed8
RK
7522Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7523
35aa3c1c
RK
7524 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
7525 trunc_int_for_mode.
7526
f6041ed8
RK
7527 * emit-rtl.c (offset_address): Call update_temp_slot_address.
7528
27b41650
KG
75292002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7530
7531 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
7532 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
7533 * flags.h (flag_zero_initialized_in_bss): Declare.
7534 * toplev.c (flag_zero_initialized_in_bss): New flag.
7535 (lang_independent_options): Add flag_zero_initialized_in_bss.
7536 * tree.c (initializer_zerop): New function.
7537 * tree.h (initializer_zerop): Declare.
7538 * varasm.c (assemble_variable): If we can emit bss, put zero
7539 initializers in the bss section.
7540
ca734b39
AM
75412002-03-02 Alan Modra <amodra@bigpond.net.au>
7542
7543 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
7544 like more than one symbol per .weak directive.
7545
49b72306
RH
75462002-03-01 Richard Henderson <rth@redhat.com>
7547
7548 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
7549 adjust argument_pointer by pretend_args_size.
7550 (ia64_va_start): Adjust va_start address by -pretend_args_size.
7551
fbf0fe41
KH
75522002-03-01 Kazu Hirata <kazu@hxi.com>
7553
7554 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
7555
0010687d
JH
7556Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
7557
7558 * toplev.c (rest_of_compilation): Delete dead jumptables before
7559 loop.
7560 * flow.c (delete_dead_jumptables): Make global.
7561 * rtl.h (delete_dead_jumptables): Declare.
7562
9429c84c
DE
75632002-03-01 David Edelsohn <edelsohn@gnu.org>
7564
7565 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
7566 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 7567 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 7568
f0b6f9a6
KH
75692002-03-01 Kazu Hirata <kazu@hxi.com>
7570
7571 * config/h8300/h8300-protos.h: Fix formatting.
7572 * config/h8300/h8300.c: Likewise.
7573 * config/h8300/h8300.h: Likewise.
7574
bc8db8a1
KH
75752002-03-01 Kazu Hirata <kazu@hxi.com>
7576
7577 * config/h8300/h8300.c (print_operand): Support 16-bit
7578 constant addresses.
7579 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
7580
32b069d3
RH
75812002-02-28 Richard Henderson <rth@redhat.com>
7582
7583 * expmed.c (store_bit_field): Prevent generation of CONCATs;
7584 pun complex values as integers; use gen_lowpart instead of
7585 gen_rtx_SUBREG.
7586 (extract_bit_field): Likewise.
7587
79c4e63f
AM
75882002-03-01 Alan Modra <amodra@bigpond.net.au>
7589 David Edelsohn <edelsohn@gnu.org>
7590
7591 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
7592 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
7593 (SUPPORTS_WEAK): Likewise.
7594 * output.h (add_weak): Add tree param.
7595 * varasm.c (add_weak): Likewise. Save decl.
7596 (struct weak_syms): Add decl field.
7597 (mark_weak_decls): New function.
7598 (init_varasm_once): ggc_add_root mark_weak_decls.
7599 (assemble_start_function): Use ASM_WEAKEN_DECL.
7600 (assemble_variable): Likewise.
7601 (assemble_alias): Likewise.
7602 (declare_weak): Pass decl to add_weak.
7603 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
7604 (remove_from_pending_weak_list): Declare and define for
7605 ASM_WEAKEN_DECL.
7606 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
7607 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
7608 * defaults.h (SUPPORTS_WEAK): Likewise.
7609 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
7610 .weak for code sym. Do emit .size for descriptor sym.
7611 (ASM_DECLARE_FUNCTION_SIZE): Define.
7612 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
7613 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
7614 .lglobl unless TARGET_XCOFF. Formatting fixes.
7615 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
7616 .weak for code sym.
7617 (HANDLE_PRAGMA_WEAK): Remove.
7618 (ASM_WEAKEN_LABEL): Remove.
7619 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
7620
6f30f1f1
JM
76212002-03-01 Jason Merrill <jason@redhat.com>
7622
7623 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
7624 (TARGET_EXPR_CLEANUP): New macro.
7625
7879b81e
SE
76262002-02-28 Steve Ellcey <sje@cup.hp.com>
7627
7628 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
7629 to take ptr_extend into account as third type of extension.
7630 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
7631 fields used by SUBREG_PROMOTED_UNSIGNED_P.
7632 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
7633 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
7634 * calls.c (precompute_arguments): Use new macro.
7635 (expand_call): Ditto.
7636 * combine.c (nonzero_bits): Ditto.
7637 (record_promoted_value): Ditto.
7638 * expr.c (store_expr): Ditto.
7639 (expand_expr): Ditto.
7640 * function.c (assign_parms): Ditto.
7641
42d579d8
AO
76422002-02-28 Alexandre Oliva <aoliva@redhat.com>
7643
7644 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
7645 override -shared and -shared-libgcc.
7646
e0054185
DB
76472002-02-28 David O'Brien <obrien@FreeBSD.org>
7648
7649 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
7650 of "ultrasparc".
7651 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
7652 to be broken.
7653
abda4f1c
RH
76542002-02-28 Richard Henderson <rth@redhat.com>
7655
7656 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
7657 4 cycle latency from MM producers.
7658 (ia64_internal_sched_reorder): Likewise with pipeline flush.
7659
c0f08649
JJ
76602002-02-28 Jakub Jelinek <jakub@redhat.com>
7661
7662 * mklibgcc.in: Don't use GNU make extension.
7663
f79f2651
NB
76642002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
7665
7666 * c-parse.in (STATIC): New terminal.
7667 (scspec): New non-terminal. Update productions accordingly.
7668 (program): Remove bogus ifc / end ifc.
7669 (array_declarator): Simplify production using STATIC.
7670
001e3fee
JM
76712002-02-28 Jim Meyering <meyering@lucent.com>
7672
7673 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
7674 \a still means TARGET_BELL.
7675
89076bb3
RH
76762002-02-28 Richard Henderson <rth@redhat.com>
7677
7678 * haifa-sched.c (sched_emit_insn): New.
7679 (schedule_block): Use last_scheduled_insn to track last insn.
7680 * sched-int.h (sched_emit_insn): Prototype.
7681 * config/ia64/ia64.c (last_issued): Remove.
7682 (ia64_variable_issue): Don't set it.
7683 (nop_cycles_until): Use sched_emit_insn.
7684
e3aaacf4
AM
76852002-02-28 Andrew MacLeod <amacleod@redhat.com>
7686
7687 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
7688 extended constants.
7689
7f473594
KH
76902002-02-28 Kazu Hirata <kazu@hxi.com>
7691
7692 * config/h8300/h8300.c: Fix formatting.
7693 * config/h8300/h8300.h: Likewise.
7694
b96c434c
MM
76952002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
7696
7697 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
7698 which may overwrite the high byte of the frame pointer.
7699
9b420a6a
BT
77002002-02-28 Bo Thorsen <bo@suse.de>
7701
7702 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
7703 (STARTFILE_SPEC): Add 64 bit files.
7704 (ENDFILE_SPEC): Likewise.
7705
6f30f1f1 77062002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
7707
7708 * c-decl.c (finish_function): Only warn about missing return
7709 statement with -Wreturn-type.
7710
70da1d03
JH
7711Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
7712
7713 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
7714
7715 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
7716 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
7717
38c1593d
JH
7718Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
7719
7720 * basic-block.h (BB_REACHABLE): Renumber.
7721 (BB_DIRTY, BB_NEW): New flags.
7722 (clear_bb_flags): Declare.
7723 (update_life_info_in_dirty_blocks): Declare.
7724 * cfg.c (clear_bb_flags): New function.
7725 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
7726 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
7727 reorder_insns, emit_insn_after): Mark block as dirty.
7728 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
7729 (update_life_info_in_dirty_blocks): New function.
7730 * recog.c (apply_change_group): Dirtify block.
7731
7732 * cse.c (cse_insn): Reorder emitting of jump insn to keep
7733 cfg consistent.
7734 * gcse.c (delete_null_pointer_checks): Likewise.
7735
7736 * toplev.c (dump_file_index): Move cse2 after bp,
7737 add DFI_null
7738 (dump_file_info): Similary.
7739 (rest_of_compilation): Avoid most of CFG rebuilds;
7740 do first if converision after null pointer checks, do cse2
7741 after branch prediction; avoid full liveness rebuild after
7742 initializing subregs.
7743 * invoke.texi (-d options): Document -du, renumber.
7744
7745 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
7746 (notice_new_block): Do not set BB_UPDATE_LIFE.
7747 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
7748 merge_blocks_move_successor_nojumps, merge_blocks,
7749 try_crossjump_to_edge): Likewise.
7750 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
7751 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
7752 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
7753 (merge_of_block): Do not use life_data_ok.
7754 (find_if_case_1): Do not use SET_UPDATE_LIFE.
7755 (if_convert): Use BB_DIRTY mechanizm to update life.
7756 * lcm.c (optimize_mode_switching): Update
7757 update_life_info_in_dirty_blocks
7758
63e1b1c4
NB
77592002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
7760
7761 * Makefile.in (integrate.o): Update.
7762 * c-decl.c (copy_lang_decl): Rename.
7763 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
7764 * integrate.c: Include langhooks.h.
7765 (copy_decl_for_inlining): Update to use langhook.
7766 * langhooks-def.h (lhd_do_nothing_t,
7767 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
7768 (LANG_HOOKS_INITIALIZER): Update.
7769 * langhooks.c (lhd_do_nothing_t): New.
7770 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
7771 * tree.h (copy_lang_decl): Remove.
7772objc:
7773 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
7774
f472fa29
AM
77752002-02-27 Andrew MacLeod <amacleod@redhat.com>
7776
ba31d94e 7777 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
7778 POST_DEC, and POST_MODIFY.
7779
273cf2e4
ZW
77802002-02-27 Zack Weinberg <zack@codesourcery.com>
7781
7782 * c-typeck.c (digest_init): Remove unused parameter; all
7783 callers changed.
7784
4e07d762
GK
77852002-02-27 Geoffrey Keating <geoffk@redhat.com>
7786
7787 * expmed.c (expand_shift): Correctly test for low part of a
7788 subreg.
7789
6bc627b3
UW
77902002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
7791
7792 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
7793 insn UIDs with insn addresses.
7794
f458d1d5
ZW
77952002-02-27 Zack Weinberg <zack@codesourcery.com>
7796
7797 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
7798 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
7799 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
7800 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
7801 gcc.c, toplev.c: Delete code implementing -traditional mode.
7802
7803 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
7804 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
7805 Document removal of -traditional mode for compilation, and
7806 remove documentation only relevant to that mode.
7807
7808 * config/nextstep.h, config/ptx4.h, config/svr4.h,
7809 config/convex/convex.h, config/d30v/d30v.h,
7810 config/i386/dgux.h, config/i386/osf1elf.h,
7811 config/i386/osfelf.h, config/i386/osfrose.h,
7812 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
7813 config/m68k/hp310.h, config/m88k/dgux.h,
7814 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
7815 config/m88k/m88k.h, config/m88k/openbsd.h,
7816 config/mips/abi64.h, config/mips/osfrose.h,
7817 config/mips/svr4-5.h, config/mips/svr4-t.h,
7818 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
7819 config/stormy16/stormy16.h: Remove all references to
7820 -traditional from target specs. Delete all mention of the
7821 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
7822 delete a couple of commented-out definitions of
7823 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
7824 to -traditional.
7825
7826 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
7827 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
7828
e0b3a8ff
ZW
78292002-02-27 Zack Weinberg <zack@codesourcery.com>
7830
7831 * mklibgcc.in: Don't use \n in a line subject to
7832 interpretation by echo.
7833
5c6a85b7
GS
78342002-02-27 Graham Stott <grahams@redhat.com>
7835
72b05af1
GS
7836 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
7837 Constify NAME.
7838
7d104885
GS
7839 * loop.c (prescan_loop): Handle PARALLEL.
7840
8ed805d2
GS
7841 * unroll.c (loop_iterations): Return 0 if the add_val for
7842 a BIV is REG.
7843
fd478a0a
GS
7844 * final.c (output_operand_lossage): Constify PFX_STR.
7845
5c6a85b7
GS
7846 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
7847
cd98ad03
JH
7848Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
7849
7850 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
7851 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
7852
639ae55b
JH
7853Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
7854
7855 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
7856
e808ec9c
NB
78572002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
7858
7859 * cpplex.c (_cpp_lex_token): Handle directives in macro
7860 arguments.
7861 * cpplib.c (_cpp_handle_directive): Save and restore state
7862 if parsing macro args when entering a directive.
7863 * cppmacro.c (collect_args): No need to handle directives
7864 in macro arguments.
7865 (enter_macro_context, replace_args): Use the original macro
7866 definition in case it was redefined whilst collecting arguments.
7867doc:
7868 * cpp.texi: Update.
7869
f585a356
DE
78702002-02-26 David Edelsohn <edelsohn@gnu.org>
7871
7872 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
7873 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
7874 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
7875 method on AIX.
7876 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
7877 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
7878 (load_toc_v4_PIC_2): Same.
7879
78802002-02-26 Alan Modra <amodra@bigpond.net.au>
7881
7882 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
7883
d699058e
RH
78842002-02-26 Richard Henderson <rth@redhat.com>
7885
7886 * config/alpha/alpha.md (ashldi_se): Re-enable.
7887
eadccfbb
RH
78882002-02-26 Richard Henderson <rth@redhat.com>
7889
7890 * config/alpha/alpha.c (alpha_encode_section_info): Examine
7891 MODULE_LOCAL_P; improve commentary.
7892
7080ada1
ZW
78932002-02-26 Zack Weinberg <zack@codesourcery.com>
7894
7895 * doc/cpp.texi: Clarify documentation of relationship between
7896 #line and #include.
7897
b42cff6b
KH
78982002-02-26 Kazu Hirata <kazu@hxi.com>
7899
7900 * config/h8300/h8300-protos.h: Update the prototype for
7901 compute_logical_op_length. Add the prototype for
7902 compute_logical_op_cc.
7903 * config/h8300/h8300.c (compute_logical_op_length): Figure out
7904 code from operands.
7905 (compute_logical_op_cc): New.
7906 * config/h8300/h8300.md: Combine all the logical op patterns
7907 in HImode and SImode. Use compute_logical_op_cc.
7908
831c4e87
KC
79092002-02-26 Kelley Cook <kelleycook@comcast.net>
7910
7911 * config/i386/i386.c (print_operand): Don't append ATT-style
7912 length suffixs to x87 opcodes when in Intel mode.
7913
ff88fe10
RS
79142002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
7915
7916 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
7917 (init_emit_once): Update calls.
7918 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
7919 (init_syntax_once): Prototype.
7920
d4108589
JDA
79212002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7922
7923 * pa-linux.h (LIB_SPEC): Update definition.
7924 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
7925
e013f3c7
RH
79262002-02-26 Richard Henderson <rth@redhat.com>
7927
7928 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
7929 if we emitted a stop bit.
7930
9e944a16
JJ
79312002-02-26 Jakub Jelinek <jakub@redhat.com>
7932
7933 * configure.in (libgcc_visibility): Substitute.
7934 * configure: Rebuilt.
7935 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
7936 defined symbols .hidden.
7937
47bd70b5
JJ
79382002-02-26 Jakub Jelinek <jakub@redhat.com>
7939
7940 * attribs.c (c_common_attribute_table): Add visibility.
7941 (handle_visibility_attribute): New function.
7942 * varasm.c (assemble_visibility): New function.
7943 * output.h (assemble_visibility): Add prototype.
7944 * tree.h (MODULE_LOCAL_P): Define.
7945 * crtstuff.c (__dso_handle): Use visibility attribute.
7946 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
7947 for MODULE_LOCAL_P symbols too.
7948 * config/ia64/ia64.c (ia64_encode_section_info): Handle
7949 MODULE_LOCAL_P symbols the same way as local symbols.
7950 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
7951 into .sdata/.sbss by the user.
7952 * doc/extend.texi (Function Attributes): Document visibility
7953 attribute.
7954
6d73371a
JJ
79552002-02-26 Jakub Jelinek <jakub@redhat.com>
7956
7957 PR debug/5770
7958 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
7959 STRING_CST initializer spanning the whole variable without
7960 embedded zeros.
7961 If expand_expr returned MEM, don't use it.
7962
06e224f7
AO
79632002-02-26 Alexandre Oliva <aoliva@redhat.com>
7964
7965 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
7966 generate a die for the lexical block.
7967
40367e2d
KH
79682002-02-26 Kazu Hirata <kazu@hxi.com>
7969
7970 * config/h8300/h8300-protos.h: Add a prototype for
7971 compute_logical_op_length.
7972 * config/h8300/h8300.c (compute_logical_op_length): New.
7973 * config/h8300/h8300.md (anonymous logical patterns): Use
7974 compute_logical_op_length for length.
7975
0e98f924
AH
79762002-02-26 Aldy Hernandez <aldyh@redhat.com>
7977
831c4e87
KC
7978 * dwarf2out.c (modified_type_die): Do not call type_main_variant
7979 for vectors.
7980 (gen_type_die): Same.
0e98f924 7981
831c4e87 7982 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 7983
a50cfd52
DE
79842002-02-26 Daniel Egger <degger@fhm.edu>
7985
831c4e87
KC
7986 * config/rs6000/rs6000.md: Swap define_insn attributes to
7987 fix incorrect generation of merge high instructions instead
7988 of merge low.
a50cfd52 7989
b7997284
AH
79902002-02-26 Aldy Hernandez <aldyh@redhat.com>
7991
831c4e87
KC
7992 * c-typeck.c (really_start_incremental_init): Use
7993 bitsize_zero_node for vectors.
b7997284 7994
376aec5d
AH
79952002-02-26 Aldy Hernandez <aldyh@redhat.com>
7996
831c4e87
KC
7997 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
7998 ("*set_vrsave_internal"): Same.
376aec5d 7999
3b40e71b
RH
80002002-02-25 Richard Henderson <rth@redhat.com>
8001
8002 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
8003 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
8004
232b8f52
JJ
80052002-02-25 Jakub Jelinek <jakub@redhat.com>
8006
8007 PR target/5755
8008 * config/i386/i386.c (ix86_return_pops_args): Only pop
8009 fake structure return argument if it was passed on the stack.
8010
67282790
JM
80112002-02-25 Jason Merrill <jason@redhat.com>
8012
8013 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
8014 RESULT_DECL.
8015
5c181756
AO
80162002-02-25 Alexandre Oliva <aoliva@redhat.com>
8017
8018 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
8019 link with shared_name only.
8020 * doc/invoke.texi (Link Options): Document new behavior.
8021
6786d201
AH
80222002-02-25 Aldy Hernandez <aldyh@redhat.com>
8023
831c4e87 8024 * c-typeck.c (push_init_level): Handle vectors.
6786d201 8025
7d6040e8
AO
80262002-02-25 Alexandre Oliva <aoliva@redhat.com>
8027
8028 * config/sparc/sparc.c (const64_high_operand): Zero-extend
8029 operands of SPARC_SETHI_P.
8030 (input_operand): Likewise.
8031 (sparc_emit_set_const32): Likewise.
8032 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
8033 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
8034 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
8035 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
8036 (movdi_insn_sp64_vis): Likewise.
8037 (movdi split, movdf split): Use SETHI32.
8038 * doc/md.texi: Document SPARC constraints L, M and N.
8039
b188f760
AH
80402002-02-25 Aldy Hernandez <aldyh@redhat.com>
8041
831c4e87
KC
8042 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
8043 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 8044
831c4e87
KC
8045 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
8046 gen_get_vrsave_internal.
b188f760 8047
8041889f
RK
8048Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8049
8050 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
8051
a47ed310
NB
80522002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
8053
8054 * cpplex.c (cpp_interpret_charconst): Get signedness or
8055 otherwise of wide character constants correct.
8056 * cppexp.c (lex): Get signedness of wide charconsts correct.
8057
cb8f73be
RK
8058Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8059
8060 * optabs.c (widen_operand): Only call convert_modes for
8061 promoted SUBREG if signedness matches.
8062 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
8063
2450e0b8
NB
80642002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
8065
8066 * cpplib.c (glue_header_name): Use local buffer to build up
8067 header name.
8068
70b6aaed
NB
80692002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
8070
8071 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
8072
6be580c7
KH
80732002-02-23 Kazu Hirata <kazu@hxi.com>
8074
8075 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
8076 H8/300[HS] separately.
8077 * config/h8300/h8300.md: Remove the early clobber constraint
8078 from bit field patterns.
8079
35dad9f1
KH
80802002-02-23 Kazu Hirata <kazu@hxi.com>
8081
8082 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
8083 register_operand.
8084 (mulhisi3): Likewise.
8085 (umulqisi3): Likewise.
8086 (umulhisi3): Likewise.
8087
ab8e2228
NB
80882002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
8089
8090 * cppinit.c (output_deps): Correct test for stdout output.
8091 (init_dependency_output): Cure warning.
8092
ac6f8a15
RK
8093Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8094
8095 * expr.c (store_expr): When converting expression to promoted
8096 equivalent type, allow using SUBREG_REG of TARGET as the target
8097 of the expansion of EXP.
8098 * loop.c (basic_induction_var, case SUBREG): Always look inside.
8099 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
8100 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
8101 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
8102 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
8103
f282ffb3
JM
81042002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
8105
8106 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
8107 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
8108 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
8109
44c5edc0
JJ
81102002-02-23 Jakub Jelinek <jakub@redhat.com>
8111
8112 PR optimization/5747
8113 * loop.c (scan_loop): Update reg info if move_movables created new
8114 pseudos.
8115
f98e43c0
DE
81162002-02-23 David Edelsohn <edelsohn@gnu.org>
8117
8118 * gcc.c (init_gcc_spec): Revert last change.
8119
e72247f4
DE
81202002-02-23 David Edelsohn <edelsohn@gnu.org>
8121
8122 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
8123 gpc_reg_operand constraint.
8124
81252002-02-23 Alan Modra <amodra@bigpond.net.au>
8126
8127 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
8128 Simplify comparison of `low'.
8129 (add_operand): Fix formatting.
8130 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 8131 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
8132 (rs6000_stack_info): Remove redundant test setting push_p.
8133 (output_toc): Fix formatting.
8134 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
8135 cc_reg_not_cr0_operand constraint.
8136 (booldi3, boolcdi3 splitters): Same.
8137
a5c30531
AH
81382002-02-23 Aldy Hernandez <aldyh@redhat.com>
8139
831c4e87 8140 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 8141
43710f9f
DE
81422002-02-22 David Edelsohn <edelsohn@gnu.org>
8143
8144 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
8145 gcc invoked with -shared-libgcc.
8146
3256b817
JJ
81472002-02-22 Jakub Jelinek <jakub@redhat.com>
8148
8149 PR c++/5748
8150 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
8151 decl if any of elements was TREE_USED.
8152
9e0625a3
AO
81532002-02-22 Alexandre Oliva <aoliva@redhat.com>
8154
8155 * config/sparc/sol2.h: Don't include sys/mman.h.
8156 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
8157 (arith_4096_operand): Don't throw high bits away.
8158 (const64_operand): Take sign extension of CONST_INTs into account.
8159 (const64_high_operand, sparc_emit_set_const32): Likewise.
8160 (GEN_HIGHINT64): Likewise.
8161 (sparc_emit_set_const64_quick1): Likewise.
8162 (const64_is_2insns): Likewise.
8163 (print_operand): Use trunc_int_for_mode for sign extension.
8164 * config/sparc/sparc.h (SMALL_INT32): Likewise.
8165 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
8166 chars. Assume CONST_INT is already properly sign-extended.
8167 (movdi split): Sign-extend each SImode part.
8168 (andsi3 split): Don't mask high bits off, so that result
8169 remains properly sign-extend.
8170 (iorsi3 split): Likewise.
8171 (xorsi3 split): Likewise.
8172
54fec3d5
RS
81732002-02-22 Richard Sandiford <rsandifo@redhat.com>
8174
8175 * fold-const.c (fold): Fix typo in comments.
8176
667ada9b
DN
81772002-02-21 Diego Novillo <dnovillo@redhat.com>
8178
8179 * Makefile.in (langhooks.o): Update dependencies.
8180
29ac78d5
DN
81812002-02-21 Diego Novillo <dnovillo@redhat.com>
8182
8183 * langhooks.c: Include flags.h.
8184
6aa77e6c
AH
81852002-02-21 Aldy Hernandez <aldyh@redhat.com>
8186
8187 * testsuite/gcc.dg/attr-alwaysinline.c: New.
8188
8189 * c-common.c (c_common_post_options): Set inline trees by
8190 default.
8191
8192 * doc/extend.texi (Function Attributes): Document always_inline
8193 attribute.
8194 Update documentation about inlining when not optimizing.
8195
8196 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
8197
8198 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
8199 unless DECL_ALWAYS_INLINE.
8200
8201 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
8202 unless DECL_ALWAYS_INLINE.
8203 (c_disregard_inline_limits): Disregard if always_inline set.
8204
8205 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
8206 Disregard if always_inline set.
8207 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
8208 unless DECL_ALWAYS_INLINE.
8209
8210 * attribs.c (handle_always_inline_attribute): New.
8211 (c_common_attribute_table): Add always_inline.
8212
8213 * config/rs6000/altivec.h: Add prototypes for builtins
8214 requiring the always_inline attribute.
8215
c410d49e
EC
82162002-02-21 Eric Christopher <echristo@redhat.com>
8217
8218 * expmed.c (store_bit_field): Try to simplify the subreg
8219 before generating a new one when when the mode size of
8220 value is less than maxmode.
8221
e3c8ea67
RH
82222002-02-21 Richard Henderson <rth@redhat.com>
8223
8224 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
8225 than gen_rtx_PLUS to form the sum.
8226 * explow.c (force_reg): Rearrange to not allocate new pseudo
8227 when force_operand returns a register.
8228 * expr.c (expand_assignment): Allow offset_rtx expansion to
8229 return a sum. Do not force addresses into registers.
8230 (expand_expr): Likewise.
8231 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
8232 to canonicalize arithmetic that didn't simpify.
8233 (simplify_plus_minus): New argument force; update
8234 all callers. Don't split CONST unless we can do something with it,
8235 and wouldn't lose the constness of the operands.
8236
8237 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
8238 that we generated earlier.
8239
c1a046e5
TT
82402002-02-21 Tom Tromey <tromey@redhat.com>
8241
8242 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8243 (output_line_info): Use constant `1', with a long explanatory
8244 comment.
8245 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
8246
31fbaad4
R
8247Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
8248
8249 * jump.c (redirect_jump): If old label has no UID, don't try to
8250 delete it.
8251
a7f52356
R
8252Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
8253
8254 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
8255 If input is constant, do shifts at compile time.
8256
924fcc4e
JM
82572002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
8258
8259 * doc/extend.texi: Fix some more overfull hboxes.
8260
e5a20888
JJ
82612002-02-21 Jakub Jelinek <jakub@redhat.com>
8262
8263 PR optimization/4994
8264 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
8265 register moves.
8266
82672002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
8268
8269 PR c++/4574
8270 * expr.h (expand_and): Add mode argument.
8271 * expmed.c (expand_and): Add mode argument.
8272 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
8273 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
8274 * except.c (expand_builtin_extract_return_addr): Likewise.
8275 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
8276 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
8277 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
8278 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
8279 * config/c4x/c4x.md: Use GEN_INT (x) instead of
8280 gen_rtx (CONST_INT, VOIDmode, x).
8281
7133e992
JJ
82822002-02-21 Jakub Jelinek <jakub@redhat.com>
8283
8284 PR c/4697:
8285 * stmt.c (warn_if_unused_value): Move side effects test once more.
8286
e2ec05a6
TG
82872002-02-20 Torbjorn Granlund <tege@swox.com>
8288
8289 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 8290 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 8291
9dd791c8
AO
8292Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
8293
8294 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
8295 SUBREG or ZERO_EXTEND.
8296
7ab56274
R
8297Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
8298
8299 * sh.h (current_function_anonymous_args): Remove.
8300 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
8301 of current_function_varargs and current_function_stdarg is set.
8302 * sh.c (sh_expand_prologue): Check current_function_varargs /
8303 current_function_stdarg / TARGET_SH5 instead of
8304 current_function_anonymous_args.
8305
8306 * sh64.h (TARGET_VERSION): Define.
8307
b1765bde
DE
83082002-02-20 David Edelsohn <edelsohn@gnu.org>
8309
8310 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
8311 VRSAVE_REGNO on TARGET_ALTIVEC.
8312
83132002-02-20 Alan Modra <amodra@bigpond.net.au>
8314
8315 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
8316 bits of SImode const_int.
8317 (includes_rshift_p): Likewise.
8318 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 8319 mode.
b1765bde
DE
8320 (rs6000_output_function_epilogue): Pad traceback table to word.
8321 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
8322 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
8323 mask64_operand with correct mode.
b1765bde
DE
8324 (FUNCTION_ARG_REGNO_P): Correct parentheses.
8325
149d6f9e
JJ
83262002-02-20 Jakub Jelinek <jakub@redhat.com>
8327
8328 PR debug/4461
8329 * varasm.c (get_pool_constant_mark): New.
8330 * rtl.h (get_pool_constant_mark): Add prototype.
8331 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
8332 be represented if it has not been output.
8333
4161da12
AO
83342002-02-20 Alexandre Oliva <aoliva@redhat.com>
8335
8336 * combine.c (do_SUBST): Sanity check substitutions of
8337 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
8338 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
8339 CONST_INT into its operand.
8340 (known_cond): Likewise, for ZERO_EXTEND.
8341 * simplify-rtx.c (simplify_unary_operation): Fix condition to
8342 allow for simplification of wide modes. Reject CONST_INTs in
8343 ZERO_EXTEND when their actual mode is not given.
8344
3704ef74
AO
83452002-02-20 Alexandre Oliva <aoliva@redhat.com>
8346
8347 * c-decl.c (pushdecl): If no global declaration is found for an
8348 extern declaration in block scope, try a limbo one.
8349
7552da58
JJ
83502002-02-20 Jakub Jelinek <jakub@redhat.com>
8351
8352 PR c++/4401
8353 * c-common.c (pointer_int_sum): Moved from...
8354 * c-typeck.c (pointer_int_sum): ...here.
8355 * c-common.h (pointer_int_sum): Add prototype.
8356
00fae85d
JJ
83572002-02-20 Jakub Jelinek <jakub@redhat.com>
8358
8359 PR c++/5713
8360 * c-decl.c (duplicate_decls): Return 0 if issued error about
8361 redeclaration.
8362
4636c87e
JJ
83632002-02-20 Roger Sayle <roger@eyesopen.com>
8364 Jakub Jelinek <jakub@redhat.com>
8365
8366 PR c/4389
8367 * tree.c (host_integerp): Ensure that the constant integer is
8368 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
8369 when pos is zero or non-zero respectively. Clarify comment.
8370 * c-format.c (check_format_info_recurse): Fix host_integerp
8371 usage; the pos argument should be zero when assigning to a
8372 signed HOST_WIDE_INT.
8373
59bef189
RH
83742002-02-20 Richard Henderson <rth@redhat.com>
8375
8376 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
8377 of the operand, rather than assuming TImode.
8378 (ix86_expand_binop_builtin): Cope with commutative patterns
8379 using nonimmediate_operand for both operands.
8380 (ix86_expand_timode_binop_builtin): Likewise.
8381 (ix86_expand_store_builtin): Validate operand 1.
8382 (ix86_expand_unop1_builtin): Likewise.
8383
9338ffe6 83842002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 8385
9338ffe6
PB
8386 PR 5705
8387 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
8388
f322b423
RH
83892002-02-20 Richard Henderson <rth@redhat.com>
8390
8391 PR c/5615
8392 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
8393
d94084f7
TT
83942002-02-20 Tom Tromey <tromey@redhat.com>
8395
8396 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8397 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8398 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8399 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8400 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
8401 unconditionally.
8402
37fa124a
AM
8403Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
8404
8405 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
8406 for (const_int 0) in X not just INTVAL.
8407
6e5bb5ad
JM
84082002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
8409
8410 * doc/extend.texi: Avoid or reduce overfull hboxes.
8411
420e7dfa
DN
84122002-02-20 Diego Novillo <dnovillo@redhat.com>
8413
8414 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
8415 operations if the field does not start at a mode boundary.
8416
1b7a2af6
JS
84172001-02-20 Joel Sherrill <joel@OARcorp.com>
8418
8419 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
8420 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
8421 Also done for -Acpu and -Amachine.
8422
56cd5b95
NB
84232002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
8424
8425 * cppinit.c (init_dependency_output): Take deps output file
8426 from -o if none given with -MF. Suppress normal output.
c410d49e 8427 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
8428 * doc/cpp.texi, doc/invoke.texi: Update.
8429
042cdf71
ZW
84302002-02-19 Zack Weinberg <zack@codesourcery.com>
8431
8432 * toplev.c (output_quoted_string): Write unprintable
8433 characters with octal escapes.
8434
c1f11548
DE
84352002-02-19 David Edelsohn <edelsohn@gnu.org>
8436
8437 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
8438 really_call_used[VRSAVE_REGNO] if not Altivec.
8439
84402002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 8441
c1f11548
DE
8442 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
8443 MODE_MASK.
8444 (constant_pool_expr_1): Fix formatting.
8445 (rs6000_legitimize_reload_address): Likewise.
8446
c964d90e
RK
8447Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8448
8449 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
8450 now that we have one.
8451
ae34ac46
ZW
84522002-02-19 Zack Weinberg <zack@codesourcery.com>
8453
8454 * tree.h (struct tree_common): Remove aux. Add unused_0 at
8455 end of first block of bitfields (which was only seven bits);
8456 rename dummy to unused_1; remove comment which is no longer true.
8457
293c28ee
GS
84582002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
8459
8460 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
8461
7b8781c8
PB
84622002-02-19 Philip Blundell <pb@nexus.co.uk>
8463
0cb6c58d 8464 PR 5399
7b8781c8
PB
8465 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
8466 if generating PIC.
8467
8468 PR 5054
8469 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
8470 arm_is_longcall_p rather than inspecting call-type cookie
8471 directly.
8472 (call_value_insn) [TARGET_THUMB]: Likewise.
8473
5c464583
GS
84742002-02-19 Graham Stott <grahams@redhat.com>
8475
8476 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
8477
71c061e6
DE
84782002-02-19 David Edelsohn <edelsohn@gnu.org>
8479
8480 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
8481 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 8482 (FP_SAVE_INLINE): Delete.
71c061e6
DE
8483
8484 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
8485 * config/rs6000/eabi.asm: Remove ABI save restore routines.
8486 * config/rs6000/t-ppccomm: Build crtsavres.o.
8487 * config/rs6000/crtsavres.asm: New file.
8488
3a7731fd
PB
84892002-02-19 Philip Blundell <philb@gnu.org>
8490
8491 * config/arm/arm.c (use_return_insn): Don't reject interrupt
8492 functions.
8493 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
8494 (output_return_instruction): Allow interrupt functions to return with
8495 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
8496 (arm_expand_prologue): Subtract 4 before stacking LR in an
8497 interrupt function.
8498
14f583b8
PB
84992002-02-19 Philip Blundell <pb@nexus.co.uk>
8500
8501 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
8502 decl, not just FUNCTION_DECL.
8503 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
8504 (arm_assemble_integer): Likewise.
8505 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
8506 marked local.
c410d49e 8507
4cb7482c
MG
85082002-02-19 matthew green <mrg@eterna.com.au>
8509
8510 * config.gcc (sparc-*-netbsdelf*): Enable target.
8511 (sparc64-*-netbsd*): New target.
8512 * config/sparc/netbsd-elf.h: New file.
8513 * config/sparc/t-netbsd64: New file.
8514
2df3a718
GS
85152002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
8516
8517 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
8518
77f6c1eb
RS
85192002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
8520
8521 * doc/invoke.texi: explicitly list the style guidelines that
8522 -Weffc++ checks for.
8523
fd973d56
JH
8524Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
8525
8526 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
8527
30518e45
NB
85282002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
8529
8530 PR other/5718
8531 * gcc.c (cpp_unique_options): Treat -o as indicating object file
8532 only if not -E. If -E, pass -o through to the preprocessor.
8533
39ea5704
KH
85342002-02-19 Kazu Hirata <kazu@hxi.com>
8535
8536 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
8537 register number with an appropriate macro.
8538
7355dba7
BM
85392002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
8540
8541 * doc/rtl.texi (Constants): Close @code tag.
8542
91c8aa9e
AH
85432002-02-19 Aldy Hernandez <aldyh@redhat.com>
8544
8545 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
8546 ("mmx_uavgv4hi3"): Same.
8547 ("pmulhrwv4hi3"): Same.
8548
8549 * tree-inline.c (walk_tree): Handle vectors.
8550
8551 * c-common.c (constant_expression_warning): Handle vectors.
8552 (overflow_warning): Same.
8553
8554 * sched-deps.c (sched_analyze_2): Handle vectors.
8555
8556 * rtlanal.c (rtx_unstable_p): Handle vectors.
8557 (rtx_varies_p): Same.
8558 (count_occurrences): Same.
8559 (regs_set_between_p): Same.
8560 (modified_between_p): Same.
8561 (modified_in_p): Same.
8562 (volatile_insn_p): Same.
8563 (volatile_refs_p): Same.
8564 (side_effects_p): Same.
8565 (may_trap_p): Same.
8566 (inequality_comparisons_p): Same.
8567 (replace_regs): Same.
8568 (computed_jump_p_1): Same.
8569
8570 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
8571 argument.
8572 (inner_mode_array): New.
8573 (copy_rtx): Handle vectors.
8574 (copy_most_rtx): Same.
8575 (rtx_equal_p): Same.
8576 (get_mode_alignment): Adjust for vectors.
8577
8578 * resource.c (mark_referenced_resources): Handle vectors.
8579 (mark_set_resources): Same.
8580
8581 * reload1.c (eliminate_regs): Handle vectors.
8582 (elimination_effects): Same.
8583 (scan_paradoxical_subregs): Same.
8584
8585 * reload.c (subst_reg_equivs): Handle vectors.
8586
8587 * regrename.c (scan_rtx): Handle vectors.
8588
8589 * regclass.c (reg_scan_mark_refs): Handle vectors.
8590
8591 * recog.c (find_single_use_1): Handle vectors.
8592
8593 * local-alloc.c (equiv_init_varies_p): Handle vectors.
8594 (contains_replace_regs): Same.
8595 (memref_referenced_p): Same.
8596
8597 * integrate.c (copy_rtx_and_substitute): Handle vectors.
8598 (subst_constants): Same.
8599
8600 * genattrtab.c (attr_copy_rtx): Handle vectors.
8601 (encode_units_mask): Same.
8602 (clear_struct_flag): Same.
8603 (count_sub_rtxs): Same.
8604
8605 * gcse.c (want_to_gcse_p): Handle vectors.
8606 (oprs_unchanged_p): Same.
8607 (hash_expr_1): Same.
8608 (oprs_not_set_p): Same.
8609 (expr_killed_p): Same.
8610 (compute_transp): Same.
8611 (store_ops_ok): Same.
8612
8613 * function.c (purge_addressof_1): Do not allow paradoxical subregs
8614 of vectors.
8615 (fixup_var_refs_1): Same.
8616 (instantiate_virtual_regs_1): Same.
8617
8618 * fold-const.c (operand_equal_p): Handle vectors.
8619 (fold): Same.
8620 (rtl_expr_nonnegative_p): Same.
8621
8622 * flow.c (mark_used_regs): Handle vectors.
8623
8624 * df.c (df_uses_record): Handle vectors.
8625
8626 * cselib.c (cselib_subst_to_values): Handle vectors.
8627 (cselib_mem_conflict_p): Same.
8628 (hash_rtx): Same.
8629
8630 * cse.c (canon_reg): Handle vectors.
8631 (fold_rt): Same.
8632 (cse_process_notes): Same.
8633 (count_reg_usage): Same.
8634 (canon_hash): Same.
8635
8636 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
8637
8638 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
8639
8640 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
8641 (gen_rtx): Handle CONST_VECTOR.
8642 (gen_const_vector_0): New.
8643 (copy_rtx_if_shared): CONST_VECTORs can be shared.
8644 (reset_used_flags): Same.
8645 (copy_insn_1): Same.
8646 (initializer_constant_valid_p): Handle VECTOR_CST.
8647
8648 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
8649
8650 * doc/rtl.texi (Constants): Document const_vector.
8651 (CONST0_RTX): Update for vectors.
8652 (RTL sharing): Same.
8653
8654 * print-tree.c (print_node): Add case for VECTOR_CST.
8655
8656 * tree.h (TREE_VECTOR_CST_ELTS): New.
8657 (struct tree_vector): New.
8658 (union tree_node): Add vector node.
8659 (build_vector): Add prototype.
8660
8661 * tree.def (VECTOR_CST): New.
8662
8663 * tree.c (build_vector): New.
8664
8665 * expmed.c (make_tree): Handle CONST_VECTOR.
8666
8667 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
8668 (CONST_VECTOR_ELT): New.
8669 (CONST_VECTOR_NUNITS): New.
8670
8671 * machmode.h (GET_MODE_INNER): New.
8672 (DEF_MACHMODE): Accept 8th arg.
8673
8674 * machmode.def: Add 8th argument for vector inner mode.
8675 Add inner vector modes for vectors.
8676
8677 * rtl.def (VEC_CONST): Remove.
8678 (CONST_VECTOR): New.
8679
8680 * expr.c (clear_storage): Allow vectors.
8681 (is_zeros_p): Handle VECTOR_CST.
8682
8683 * varasm.c (output_constant_pool): Handle vectors.
8684 (rtx_const): Add veclo and vechi fields.
8685 (kind): Add RTX_VECTOR.
8686 (decode_rtx_const): Add case for vector.
8687
8688 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 8689
91c8aa9e
AH
8690 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
8691 constants. Force easy vector constants into memory.
8692 (easy_vector_constant): New.
8693 (emit_easy_vector_constant): New.
8694 (rs6000_legitimize_reload_address): Do not generate bad reloads on
8695 darwin.
8696
8697 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
8698 instruction does.
8699 ("altivec_lvxl"): Same.
8700 (altivec_lvebx): Same.
8701 (altivec_lvehx): Same.
8702 (altivec_lvewx): Same.
8703 ("*movv4si_const0"): New.
8704 ("*movv4sf_const0"): New.
8705 ("*movv8hi_const0"): New.
8706 ("*movv16qi_const0"): New.
8707
d4d6d0ce
KH
87082002-02-18 Kazu Hirata <kazu@hxi.com>
8709
8710 * config/h8300/h8300.c (notice_update_cc): Use
8711 cc_status.value2.
8712
4915d3aa
KH
87132002-02-18 Kazu Hirata <kazu@hxi.com>
8714
8715 * config/h8300/h8300.md (divmod patterns): Change the
8716 constraints for operands[1] to register_operand.
8717
82be00ee
KH
87182002-02-18 Kazu Hirata <kazu@hxi.com>
8719
8720 * config/h8300/h8300-protos.h: Remove the prototype for
8721 p_operand.
8722 * config/h8300/h8300.c (p_operand): Remove.
8723 * config/h8300/h8300.md: Replace p_operand with
8724 const_int_operand.
8725
1768c26f
PB
87262002-02-18 Philip Blundell <pb@nexus.co.uk>
8727
8728 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
8729 comment.
8730 (output_return_instruction): Allow use of LDR to unstack
8731 return addresss even for interrupt handlers or when
8732 interworking. If compiling for ARMv5, use interworking-safe
8733 return instructions by default. Remove duplicated code and
8734 lengthy "strcat" sequences.
8735
ccd84f51
FS
87362002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8737
8738 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
8739 (LINK_EH_SPEC): Define.
8740 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
8741
2c153108
UW
87422002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
8743
8744 * config/s390/s390.c (s390_emit_prologue): Do not set the
8745 frame_related flag for call-clobbered registers.
8746
e95d6b23
JH
8747Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
8748
8749 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
8750 (construct_container): Fix handling of SSE operands.
8751 (ix86_expand_builtin): Fix handling of 64bit pointers.
8752 (mmx_maskmovq_rex): New pattern.
8753
c43a12b5
JH
8754Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
8755
8756 * regrename.c (kill_set_value): Handle subregs properly.
8757
aeb85a15
DB
87582002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
8759
8760 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 8761 from objc_class_name.
aeb85a15 8762
a615ca3e
RH
87632002-02-17 Richard Henderson <rth@redhat.com>
8764
8765 * config/alpha/alpha.c (some_small_symbolic_operand,
8766 some_small_symbolic_operand_1, split_small_symbolic_operand,
8767 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
8768 Handle small SYMBOL_REFs anywhere, not just inside memories.
8769 * config/alpha/alpha-protos.h: Update.
8770 * config/alpha/alpha.h (PREDICATE_CODES): Update.
8771 * config/alpha/alpha.md (small symbolic operand splitter): Update.
8772
ddb28441
RM
87732002-02-17 Roland McGrath <roland@frob.com>
8774
8775 * config.gcc (powerpc-*-gnu-gnualtivec*,
8776 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
8777 * config/rs6000/gnu.h: New file.
8778 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
8779 Grok "gnu" in rs6000_abi_name.
8780 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
8781 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
8782 Grok -mcall-gnu analogous to -mcall-linux et al.
8783 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
8784 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
8785 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
8786
f6f8ada3
JJ
87872002-02-17 Jakub Jelinek <jakub@redhat.com>
8788
8789 PR c/3444:
8790 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
8791 shortening.
8792
e16b32fc
PT
87932002-02-17 Philipp Thomas <pthomas@suse.de>
8794
8795 * config/cris/cris.h: Undefine STARTFILE_SPEC and
8796 ENDFILE_SPEC before (re)defining them.
8797
f9477efd
KH
87982002-02-17 Kazu Hirata <kazu@hxi.com>
8799
8800 * config/h8300/h8300.c: Fix formatting.
8801 * config/h8300/h8300.h: Likewise.
8802
404ae494
PT
88032002-02-17 Philipp Thomas <pthomas@suse.de>
8804
8805 * doc/tm.texi: Explain why empty strings should not be
8806 marked for translation.
8807
a52453cc
PT
88082002-02-17 Philipp Thomas <pthomas@suse.de>
8809
8810 * final.c (output_operand_lossage): Changed to accept
8811 printf style arguments. Change calls where necessary.
8812 * output.h (output_operand_lossage): Change declaration
8813 accordingly. Update copyright.
8814 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
8815 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
8816 Update copyright date where necessary.
c410d49e 8817
a52453cc
PT
8818 * config/i386/i386.c (print_operand): Likewise. Remove use of
8819 sprintf.
8820
8821 * config/cris/cris.c (cris_operand_lossage): Likewise.
8822 Rename parameter so that exgettext recognizes it as
8823 translatable message.
8824 (LOSE_AND_RETURN): Rename parameter to msgid.
8825
1c11abc4
KH
88262002-02-17 Kazu Hirata <kazu@hxi.com>
8827
8828 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
8829 hard coded register number with an appropriate macro.
8830 (HARD_REGNO_MODE_OK): Likewise.
8831 (ARG_POINTER_REGNUM): Likewise.
8832 (STATIC_CHAIN_REGNUM): Likewise.
8833 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
8834 * config/h8300/h8300.md (define_constants): Define more
8835 register numbers.
8836
a5d17ff3
PT
88372002-02-17 Philipp Thomas <pthomas@suse.de>
8838
8839 * config/i386/i386.h: Don't mark empty strings for translation.
8840
1a7289c4
L
88412002-02-16 H.J. Lu <hjl@gnu.org>
8842
8843 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
8844
afb58288
ZW
88452002-02-16 Zack Weinberg <zack@codesourcery.com>
8846
8847 * cppinit.c (merge_include_chains): Check for brack being
8848 NULL before attempting to merge it with qtail.
8849
d2af4dbd
AC
88502002-02-16 Andrew Cagney <ac131313@redhat.com>
8851
8852 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
8853 DBX_DEBUG.
8854
2e1ed1e3
JDA
88552002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
8856
8857 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
8858
604c75b2
JDA
88592002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
8860
8861 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
8862 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
8863 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
8864
1a42b072
RK
8865Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8866
7303604f 8867 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
8868 now only if !TARGET_FIX.
8869 (*movsi_nt_vms_fix): New pattern.
8870
c2ea1ac6
DR
88712002-02-16 Douglas B Rupp <rupp@gnat.com>
8872
8873 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
8874 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
8875 (alpha_sa_mask, alpha_sa_size): Reflect above change.
8876 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
8877 (alpha_start_function, alpha_expand_epilogue): Likewise.
8878 (unicosmk_gen_dsib): Likewise.
8879
725e58b1
RK
8880Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8881
8882 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
8883
13e58269
UW
88842002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
8885
c410d49e 8886 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
8887 check_and_change_labels, s390_final_chunkify): Delete.
8888 (s390_split_branches, s390_chunkify_pool): New functions.
8889 (s390_function_prologue): Call them.
c410d49e 8890
13e58269
UW
8891 * config/s390/s390.h (S390_REL_MAX): Delete.
8892 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
8893
c410d49e 8894 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
8895 attribute calculation.
8896
8897
34d1b01d
DE
88982002-02-15 David Edelsohn <edelsohn@gnu.org>
8899
8900 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
8901 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
8902
be5cc51a
JDA
89032002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
8904
8905 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
8906 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
8907 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
8908
ee96ce90
RS
89092002-02-15 Richard Sandiford <rsandifo@redhat.com>
8910
8911 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
8912
05fa709d
RS
89132002-02-15 Richard Sandiford <rsandifo@redhat.com>
8914
8915 * reload.c (find_dummy_reload): Check that an output register
8916 is valid for its mode.
8917
4606272b
AO
89182002-02-14 Alexandre Oliva <aoliva@redhat.com>
8919
9a360704
AO
8920 * combine.c (known_cond): After replacing the REG of a SUBREG, try
8921 to simplify it.
8922
4606272b
AO
8923 * function.c (assign_parms): Demote promoted argument passed by
8924 transparent reference.
8925
e62d89a1
JS
89262001-02-14 Joel Sherrill <joel@OARcorp.com>
8927
8928 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
8929 -Acpu() and -Amachine() to eliminate warnings.
8930
6c4cf695
UW
89312002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
8932
8933 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
8934
037f11ef
KH
89352002-02-14 Kazu Hirata <kazu@hxi.com>
8936
8937 * config/h8300/h8300-protos.h: Update the prototype for
8938 const_costs.
8939 * config/h8300/h8300.c (const_costs): Treat SET as a little
8940 more expensive operation.
8941 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
8942 reference to const_costs.
8943
fdc76b09
HPN
89442002-02-14 Hans-Peter Nilsson <hp@axis.com>
8945
8946 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
8947
d76e6800
JJ
89482002-02-14 Jakub Jelinek <jakub@redhat.com>
8949
8950 PR c/5503:
8951 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
8952 use arguments from newtype.
8953
5ae590d7
EC
89542002-02-13 Eric Christopher <echristo@redhat.com>
8955
8956 * config/mips/mips.c (override_options): Add check for march/mipsX
8957 on the same command line. Fix error message in cpu processing.
8958 Remove architecture and ISA checks.
8959
b8513691
AH
89602002-02-14 Aldy Hernandez <aldyh@redhat.com>
8961
831c4e87 8962 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 8963
831c4e87 8964 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 8965
78c875e8
AH
89662002-02-14 Aldy Hernandez <aldyh@redhat.com>
8967
831c4e87
KC
8968 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
8969 alternatives.
8970 ("*movv8hi_internal1"): Same.
8971 ("*movv16qi_internal1"): Same.
8972 ("*movv4sf_internal1"): Same.
78c875e8 8973
831c4e87
KC
8974 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
8975 not push_reload for altivec modes.
78c875e8 8976
d76e6800 89772002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
8978
8979 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
8980 all RTEMS targets including removal of #includes from config/*/rtems*.h
8981 file and adding them to tm_file setting. Added xm_defines=POSIX to
8982 many targets.
8983 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
8984 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
8985 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
8986 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
8987 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
8988 config/m68k/rtemself.h: Ditto.
8989 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
8990 config/mips/rtems64.h: Ditto.
8991 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
8992 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
8993 Ditto.
8994 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
8995 config/sparc/rtemself.h: Ditto.
8996 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
8997 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
8998 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
8999 more like arm-elf.
9000 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
9001 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
9002 target made more similar to i386-elf.
9003 * config/i386/t-rtems-i386: Added soft float support and multilibs.
9004 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
9005 be similar to config/m68k/t-m68kelf.
9006 * gthr-rtems.h: Encapsulate with extern "C" for C++.
9007
8686336f
JH
9008Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
9009
9010 * regmove.c (kill_value): Handle subregs.
9011
558740bf
JH
9012Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
9013
9014 * i386.md (mul patterns): Allow memory operand to be first;
9015 add expanders where needed; fix constraints.
9016 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
9017 Allow memory operand to be the first.
9018
9019 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
9020 operands.
9021
21117a17
JJ
90222002-02-13 Jakub Jelinek <jakub@redhat.com>
9023
9024 PR c/5681:
9025 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
9026 GET_MODE (x).
9027
ec65b2e3
JJ
90282002-02-13 Jakub Jelinek <jakub@redhat.com>
9029
9030 PR optimization/5547:
9031 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
9032 all valid IA-32 address modes involving non-scaled %ebx and
9033 GOT/GOTOFF as displacement.
9034
ce50cae8
UW
90352002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
9036
9037 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
9038 after emitting ltorg insns.
9039
9040 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
9041 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
9042 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
9043 *abssf2): Fix "op_type" attribute.
9044
09eb789b
DR
90452002-02-13 Douglas B Rupp <rupp@gnat.com>
9046
2dbe67bb
DR
9047 * mkconfig.sh: Avoid using a subshell redirect.
9048 ($output.T): Change to $(output)T.
9049 (ENABLE_NLS): Remove unneeded undef.
9050
ea5b9a1f
DR
9051 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
9052 * config/alpha/x-vms (libsubdir): Define.
9053
3deb00ce
DR
9054 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
9055 register frame procedures. Optimize retrieving context.
9056
09eb789b
DR
9057 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
9058 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
9059 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
9060
1abade85
RK
9061Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9062
9063 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
9064 Make same change as for find_base_value.
9065
c283e63f
KH
90662002-02-13 Kazu Hirata <kazu@hxi.com>
9067
9068 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
9069 of QImode and SImode.
9070
86039100
KH
90712002-02-13 Kazu Hirata <kazu@hxi.com>
9072
9073 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
9074 length computation of movsi.
9075 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
9076
e1429da0
KH
90772002-02-13 Kazu Hirata <kazu@hxi.com>
9078
9079 * config/h8300/h8300.md (subqi3): Tighten the predicate for
9080 operands[2] to register_operand.
9081
aebfea10
JH
9082Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
9083
9084 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
9085
0ec4e2a8
AH
90862002-02-12 Aldy Hernandez <aldyh@redhat.com>
9087
831c4e87
KC
9088 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
9089 for altivec_lvx* and altivec_stvx*.
9090 ("*movv4si_internal"): Add constraint for loading from GPRs.
9091 ("*movv8hi_internal1"): Same.
9092 ("*movv16qi_internal1"): Same.
9093 ("*movv4sf_internal1"): Same.
0ec4e2a8 9094
831c4e87 9095 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 9096
831c4e87
KC
9097 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
9098 altivec_register_operand.
0ec4e2a8 9099
b007569d
HPN
91002002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
9101
9102 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
9103 handle SYMBOL_REF.
9104
e6834654
SS
91052002-02-13 Stan Shebs <shebs@apple.com>
9106
831c4e87
KC
9107 * c-typeck.c (digest_init): Handle vectors.
9108 (really_start_incremental_init): Same.
9109 (pop_init_level): Same.
9110 (process_init_element): Same.
e6834654 9111
831c4e87 9112 * varasm.c (output_constant): Same.
e6834654 9113
831c4e87
KC
9114 * expr.c (clear_storage): Same.
9115 (store_constructor): Same.
e6834654 9116
d9b3eb63
EC
91172002-02-12 Eric Christopher <echristo@redhat.com>
9118
9119 * explow.c (hard_function_value): Add comment explaining
9120 signed/unsigned comparison.
9121
56d44285
JJ
91222002-02-12 Jakub Jelinek <jakub@redhat.com>
9123
9124 * jump.c (never_reached_warning): Add finish argument.
9125 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
9126 real insn after end.
9127 * rtl.h (never_reached_warning): Adjust prototype.
9128 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
9129 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
9130 never_reached_warning.
9131
fc209487
GS
91322002-02-12 Graham Stott <grahams@redhat.com>
9133
9134 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
9135
1e41e866
KH
91362002-02-12 Kazu Hirata <kazu@hxi.com>
9137
9138 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
9139 logical shifts on H8/300.
9140 (shift_alg_si): Improve several shifts on H8/300.
9141 (get_shift_alg): Likewise.
9142
a36a47ad
GS
91432002-02-12 Graham Stott <grahams@redhat.com>
9144
9145 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
9146
0aacc8ed
RK
9147Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9148
9149 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
9150 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
9151
a02ac966
HPN
91522002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
9153
9154 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
9155 non-CONST_INT through default_assemble_integer.
9156 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
9157 <case 8>: Abort for CONST_DOUBLE.
9158
d6e06ddc
JDA
91592002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
9160
9161 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
9162 is specified.
9163 * config/pa/pa-linux.h (LIB_SPEC): Delete.
9164 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
9165
515342a8
AH
91662002-02-11 Andrew Haley <aph@cambridge.redhat.com>
9167
9168 * config/stormy16/stormy16.md (zero_extendqihi2): New.
9169
cddd8b72
AO
91702002-02-11 Alexandre Oliva <aoliva@redhat.com>
9171
66df7a98
AO
9172 * regrename.c (regrename_optimize): Don't accept a
9173 part-clobbered register if the replaced register is not part
9174 clobbered.
9175
841404cd
AO
9176 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
9177 take padding into account when computing the argument value.
9178
1d1ade42
AO
9179 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
9180
cddd8b72
AO
9181 * combine.c (try_combine): Apply substitutions in
9182 CALL_INSN_FUNCTION_USAGE too.
9183
5c665b88
AH
91842002-02-11 Aldy Hernandez <aldyh@redhat.com>
9185
77f6c1eb
RS
9186 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
9187 __builtin_altivec_abs*.
9188 (bdesc_abs): New.
5c665b88 9189
77f6c1eb
RS
9190 * config/rs6000/rs6000.h (rs6000_builtins): Add
9191 ALTIVEC_BUILTIN_ABS*.
5c665b88 9192
77f6c1eb
RS
9193 * config/rs6000/altivec.h: Use const char for builtins expecting
9194 literals.
9195 (vec_abs): New versions for C and C++.
9196 (vec_abss): Same.
5c665b88 9197
3494f1b4
KH
91982002-02-10 Kazu Hirata <kazu@hxi.com>
9199
9200 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
9201 using Pmode.
9202
72431aef
KH
92032002-02-10 Kazu Hirata <kazu@hxi.com>
9204
9205 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
9206 constant definition from h8300.md.
9207 (FRAME_POINTER_REGNUM): Likewise.
9208 * config/h8300/h8300.md (define_constants): Add FP_REG.
9209
87e4ee91
KH
92102002-02-10 Kazu Hirata <kazu@hxi.com>
9211
9212 * config/h8300/h8300.c (print_operand): Remove redundant code.
9213
9c188705
KH
92142002-02-10 Kazu Hirata <kazu@hxi.com>
9215
9216 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
9217 * config/h8300/h8300.c (byte_reg): Make it static.
9218
fba78abb
RH
92192002-02-10 Richard Henderson <rth@redhat.com>
9220
9221 PR c/5623
9222 * c-typeck.c (incomplete_type_error): Handle flexible array members.
9223
65739e62
RH
92242002-02-10 Richard Henderson <rth@redhat.com>
9225
9226 PR c++/5624
9227 * tree.c (append_random_chars): Don't abort if main_input_filename
9228 does not exist.
9229
247cb9df
HPN
92302002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
9231
9232 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
9233
232bd029
KH
92342002-02-10 Kazu Hirata <kazu@hxi.com>
9235
65739e62 9236 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
9237 (pushhi1): Likewise.
9238
276ef573
JDA
92392002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
9240
9241 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
9242 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
9243
617e9ee5
DB
92442002-02-09 David O'Brien <obrien@FreeBSD.org>
9245
9246 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
9247 remove MASK_VIS.
9248 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
9249
6dfa4005
KH
92502002-02-09 Kazu Hirata <kazu@hxi.com>
9251
9252 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
9253 a half of an SImode register on H8/300.
9254
749e7b80
JH
9255Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
9256
9257 * i386.md (movdi_2): Add missing '!'.
9258
ca77d87c
KH
92592002-02-09 Kazu Hirata <kazu@hxi.com>
9260
9261 * config/h8300/h8300.h: Fix formatting. Remove commented-out
9262 definitions.
9263
16c96304
KH
92642002-02-09 Kazu Hirata <kazu@hxi.com>
9265
9266 * config/h8300/h8300.md (length): Correct the distance valid
9267 for the short branch.
9268
a364bc90
KH
92692002-02-09 Kazu Hirata <kazu@hxi.com>
9270
9271 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
9272
e4ec2cac
AO
92732002-02-09 Alexandre Oliva <aoliva@redhat.com>
9274
a138247b
AO
9275 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
9276 registers in SImode.
9277 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
9278 part-clobbered.
9279
2b1fd83f
AO
9280 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
9281 patch.
d9b3eb63 9282
fa5322fa
AO
9283 Contribute sh64-elf.
9284 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
9285 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
9286 (sh_cannot_modify_jumps_p): New function.
9287 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
9288 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
9289 (sh_ms_bitfield_layout_p): New function.
9290 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
9291 Zack Weinberg <zack@codesourcery.com>
9292 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
9293 expand_simple_binop instead of expand_binop.
9294 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
9295 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
9296 use of .quad and .uaquad.
9297 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
9298 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
9299 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
9300 * config/sh/sh.md (movdi_const, movdi_const_32bit,
9301 movdi_const_16bit): Make sure all CONSTs have modes.
9302 (sym2PIC): Ditto, but by adjusting all callers.
9303 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
9304 if the prologue calls the SHmedia argument decoder or register
9305 saver.
9306 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
9307 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
9308 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
9309 (sh_expand_epilogue): Don't emit USE of return target register.
9310 (prepare_move_operands): Legitimize DImode PIC addresses.
9311 (sh_media_register_for_return): Skip tr0, used to initialize the
9312 PIC register.
9313 (sh_expand_prologue): Remove explicit USE of return register.
9314 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
9315 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
9316 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
9317 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
9318 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
9319 EXTRA_CONSTRAINT_T.
9320 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
9321 (MOVI_SHORI_BASE_OPERAND_P): New.
9322 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
9323 (EXTRA_CONSTRAINT_T): Define in terms of them.
9324 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
9325 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
9326 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
9327 alternatives supporting TARGET_REGS.
9328 (UNSPEC_GOTPLT): New constant.
9329 (movdi split): Move incrementing of LABEL_NUSES...
9330 (movdi_const, movdi_const_32bit): Here. Use
9331 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
9332 (movdi_const_16bit): New.
9333 (call, call_value) [flag_pic]: Use GOTPLT.
9334 (call_pop, call_value_pop): New expands.
9335 (call_pop_compact, call_pop_rettramp): New insns.
9336 (call_value_pop_compact, call_value_pop_rettramp): New insns.
9337 (sibcall) [flag_pic]: Use GOT.
9338 (builtint_setjmp_receiver): Remove bogus, unused expand.
9339 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
9340 (*pt, *ptb, ptrel): New insns.
9341 (sym2GOT): Handle DImode GOT.
9342 (sym2GOTPLT, symGOTPLT2reg): New expands.
9343 (sym2PIC): New expand.
9344 (shcompact_return_tramp): Use GOTPLT to return trampoline.
9345 (shcompact_return_tramp_i): Use return register explicitly.
9346 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
9347 disable flag_reorder_blocks.
9348 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
9349 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
9350 clobbers, for clarity.
9351 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
9352 restoring of r0 in macl as MAYBE_DEAD.
9353 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
9354 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
9355 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
9356 alter_subreg all over.
9357 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
9358 reload, instead of emitting instructions that would require
9359 reloading.
9360 (casesi_load_media): Add missing modes.
9361 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
9362 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
9363 as used if the argument decoder is called.
9364 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
9365 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
9366 Pmode, then extend it to DImode if necessary.
9367 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
9368 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
9369 constants in FPU-enabled SHmedia, let them be loaded from memory.
9370 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
9371 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
9372 Adjust whitespace in assembly output templates.
9373 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
9374 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
9375 mode of if_then_else.
9376 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
9377 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
9378 sh.h.
9379 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
9380 Joern Rennecke <amylaar@redhat.com>
9381 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
9382 (SUBTARGET_CPP_PTR_SPEC): New.
9383 (SUBTARGET_CPP_SPEC): Remove.
9384 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
9385 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
9386 Fix typo in previous checkin.
9387 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
9388 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
9389 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
9390 Alexandre Oliva <aoliva@redhat.com>
9391 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
9392 what single FP register can hold for SHmedia target.
9393 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
9394 Alexandre Oliva <aoliva@redhat.com>
9395 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
9396 Do not split into SUBREG.
9397 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
9398 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
9399 and added new functions as specified in SH5 ABI r9.
9400 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
9401 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
9402 8-byte boundary.
9403 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
9404 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
9405 gen_consttable_4 and gen_consttable_8. Emit multiple labels
9406 and consttable_window_ends.
9407 2001-06-03 Graham Stott <grahams@redhat,com>
9408 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
9409 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
9410 * config/sh/sh.c (print_operand): Handle floating-point pair,
9411 vector and matrix registers.
9412 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
9413 vector modes into account.
9414 * config/sh/sh.md (movv2sf): Split move between registers into
9415 movdf.
9416 (movv4sf, movv16sf): Introduce insns that get split only after
9417 reload.
9418 * config/sh/shmedia.h: Fix Copyright dates.
9419 * config/sh/ushmedia.h: Likewise. Move loop counter
9420 declarations into conditionals that uses them.
9421 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
9422 loop boundary.
9423 * config/sh/sshmedia.h: Fix Copyright dates.
9424 (sh_media_PUTCFG): Fix constraints.
9425 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
9426 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
9427 ptrmemfunc_vbit_in_delta for SH5.
9428 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
9429 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
9430 * invoke.texi: Likewise.
9431 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
9432 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
9433 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
9434 GCC_pop_shmedia_regs_nofpu): New global symbols.
9435 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
9436 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
9437 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
9438 compact function with nonlocal labels.
9439 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
9440 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
9441 (initial_elimination_offset): Account for their stack space.
9442 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
9443 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
9444 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
9445 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
9446 least one of the operands to be a register.
9447 (movv2sf): Likewise. Renamed to movv2sf_i.
9448 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
9449 prepare_move_operands() before emitting SHmedia insns.
9450 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
9451 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
9452 Don't save nor initialize r12. Don't mis-align the stack.
9453 Pad the code with a nop.
9454 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
9455 stack.
9456 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
9457 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
9458 [__SHMEDIA__]: Implement.
9459 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
9460 * config/sh/sh.md: Set latency of `pt' closer to reality.
9461 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
9462 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
9463 Set move, load and store type attributes.
9464 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
9465 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
9466 profiling.
9467 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
9468 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
9469 * config/sh/sh.c (sh_media_register_for_return): New function.
9470 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
9471 branch-target register.
9472 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
9473 * config/sh/sh.md (return_media_i): Use any call-clobbered
9474 branch-target register.
9475 (return_media): If r18 wasn't copied in the prologue, copy it
9476 here.
9477 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
9478 Clear class FP0_REGS.
9479 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
9480 from elf.h.
9481 2001-03-08 DJ Delorie <dj@redhat.com>
9482 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
9483 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
9484 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
9485 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
9486 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
9487 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
9488 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
9489 return value correctly for call_cookie.
9490 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
9491 * config/sh/crt1.asm (start): Modified so as to call
9492 ___setup_argv_and_call_main.
9493 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
9494 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
9495 SHmedia mode.
9496 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
9497 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
9498 (STRIP_NAME_ENCODING): Use it.
9499 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
9500 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
9501 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
9502 prepare_scc_operands().
9503 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
9504 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
9505 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
9506 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
9507 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
9508 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
9509 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
9510 used in shcompact_incoming_args.
9511 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
9512 change.
9513 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
9514 mode.
9515 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
9516 Adjust accordingly.
9517 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
9518 Simplify. Adjust. Add sanity check.
9519 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
9520 FPU_SINGLE_BIT.
9521 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
9522 TARGET_SHCOMPACT.
9523 (udivsi3, divsi3): Use them.
9524 (force_mode_for_call): New insn.
9525 (call, call_value, sibcall_value): Emit it before SHcompact
9526 calls.
9527 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
9528 * config/sh/sh.md (call, call_value, sibcall): Make sure the
9529 call cookie is non-NULL before taking its value.
9530 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
9531 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
9532 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
9533 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
9534 block.
9535 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
9536 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
9537 temporary for stack adjusts. Use MACL and MACH to pass
9538 arguments to shcompact_incoming_args.
9539 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
9540 clobber r1.
9541 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
9542 (nested_trampoline): Load static chain address into r1.
9543 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
9544 2001-01-07 Alexandre Oliva <aoliva@redhat.com
9545 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
9546 fp_arith_reg_operand().
9547 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
9548 * config/sh/sh.md (casesi): Sign-extend the first two operands,
9549 and use signed compares for them.
9550 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
9551 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
9552 ones properly aligned.
9553 (find_barrier): Account for extra alignment needed for 8-byte wide
9554 constants.
9555 (machine_dependent_reorg): Require a label for the second 4-byte
9556 constant after an 8-byte one.
9557 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
9558 change.
9559 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
9560 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
9561 last_float when switching float modes.
9562 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
9563 auto-increment for general-purpose registers.
9564 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
9565 result.
9566 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
9567 for stack adjust.
9568 * config/sh/sh.c (sh_builtin_saveregs): Support using all
9569 registers for varargs.
9570 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
9571 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
9572 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
9573 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
9574 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
9575 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
9576 call_cookie accordingly.
9577 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
9578 (SHCOMPACT_BYREF): Likewise.
9579 (SHCOMPACT_FORCE_ON_STACK): New macro.
9580 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
9581 (sh_builtin_saveregs): Likewise.
9582 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
9583 shcompact_incoming_args): Use new shift values. Support
9584 sequences of consecutive and non-consecutive pushes/pops.
9585 * config/sh/sh.md (return): Don't explicitly use PR_REG.
9586 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
9587 * config/sh/sh.h (TEXT_SECTION): Define.
9588 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
9589 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
9590 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
9591 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
9592 return values on FPU-enabled SHmedia.
9593 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
9594 FPU-enabled SHmedia.
9595 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
9596 value is returned in a non-FP reg and is not returned by
9597 reference.
9598 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
9599 jump_ind.
9600 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
9601 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
9602 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
9603 quad-aligned to be passed by callee-copy reference.
9604 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
9605 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
9606 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
9607 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
9608 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
9609 copying low-numbered FP regs to r7 and r8.
9610 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
9611 FP regs to general-purpose regs only if the copy was passed on the
9612 stack.
9613 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
9614 copying FP reg to r9.
9615 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
9616 copy FP regs to general-purpose regs only in outgoing calls.
9617 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 9618 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
9619 HOST_WIDE_INT.
9620 * config/sh/sh.h (struct sh_args): Document all fields.
9621 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
9622 passed partially on the stack should not consider making
9623 sibcalls.
9624 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
9625 stack_regs only for incoming calls. When passing FP args,
9626 make sure there are FP regs available before modifying
9627 call_cookie.
9628 (SHCOMPACT_BYREF): Pass double args in general-purpose
9629 registers by reference.
9630 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
9631 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
9632 attempt to generate sibcalls if the caller got any arguments
9633 by reference.
9634 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
9635 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
9636 to 8-byte boundaries.
9637 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
9638 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
9639 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
9640 stored in the stack.
9641 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
9642 for the offsets to have the ISA bit set.
9643 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
9644 invocation. Use beq instead of bgt to mark end of sequence of
9645 loads.
9646 (shcompact_incoming_args): Fix store of r2. Use beq instead of
9647 bgt to mark end of sequence of stores.
9648 * config/sh/sh.c (arith_operand): Don't check whether
9649 CONST_OK_FOR_J for now.
9650 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
9651 instead of long for conversion.
9652 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
9653 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
9654 before passing it to fprintf.
9655 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
9656 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
9657 Call set_fpscr before reading/writing SR.
9658 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
9659 Call set_fpscr.
9660 * config/sh/lib1funcs.asm: Add `.align 2' directives before
9661 SHmedia code.
9662 (FMOVD_WORKS): Define on SH5 with FPU.
9663 (set_fpscr): Define on SH5. Remove separate _fpscr_values
9664 setting.
9665 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
9666 _fpscr_values.
9667 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
9668 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
9669 address.
9670 (ia_main_table): Ditto.
9671 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
9672 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
9673 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
9674 the definitions from sh.h.
9675 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
9676 TARGET_SH5.
9677 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
9678 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
9679 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
9680 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
9681 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
9682 Increment LABEL_NUSES.
d9b3eb63 9683
fa5322fa
AO
9684 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
9685 TARGET_SH5.
9686 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
9687 defined.
9688 * config/sh/elf.h (SIZE_TYPE): Likewise.
9689 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
9690 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
9691 shcompact_incoming_args): Load switch table addresses using
9692 datalabel.
9693 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
9694 (NO_BUILTIN_SIZE_TYPE): Define.
9695 (SIZE_TYPE): Don't define.
9696 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
9697 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
9698 definition of __SH5__=32 for -m5-compact-nofpu.
9699 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
9700 ADDR_DIFF_VEC.
9701 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
9702 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
9703 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
9704 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
9705 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
9706 (INSN_LENGTH_ALIGNMENT): Likewise.
9707 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
9708 * config/sh/sh.md (call, call_value, sibcall): Simplify
9709 copying of non-branch-target register.
9710 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 9711 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
9712 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
9713 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
9714 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
9715 floating-point values as structs.
9716 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
9717 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
9718 general-purpose register.
9719 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
9720 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
9721 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
9722 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
9723 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
9724 (ENCODE_SECTION_INFO): Enclose variables and constants in
9725 DATALABEL unspecs.
9726 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
9727 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
9728 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
9729 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
9730 only for LABEL_REFs. For SYMBOL_REFs, prepend
9731 SH_DATALABEL_ENCODING to the symbol name.
9732 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
9733 convert_mode().
9734 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
9735 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
9736 UNSPEC_DATALABEL.
9737 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
9738 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
9739 (DATALABEL_REF_P): Don't require CONST.
9740 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
9741 REL label.
9742 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
9743 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
9744 right.
9745 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
9746 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
9747 Use shallow_copy_rtx and PUT_MODE to change the mode of
9748 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
9749 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
9750 on SHmedia using GENERAL_REGs.
9751 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
9752 bltu_media_i): Fix reversion of conditions.
9753 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
9754 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
9755 * config/sh/sh.c (output_far_jump): Save r13 in macl.
9756 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
9757 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
9758 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
9759 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
9760 (GCC_nested_trampoline): Likewise.
9761 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
9762 * config/sh/sh.c (gen_datalabel_ref): Define.
9763 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
9764 (INITIALIZE_TRAMPOLINE): Likewise.
9765 (TRAMPOLINE_ADJUST_ADDRESS): Define.
9766 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
9767 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
9768 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
9769 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
9770 (ic_invalidate): Adjust for SH5.
9771 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
9772 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
9773 _nested_trampoline.
9774 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
9775 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
9776 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
9777 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
9778 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
9779 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
9780 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
9781 * config/sh/sh.c (target_reg_operand): Match only target-branch
9782 registers and pseudos that aren't virtual registers.
9783 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
9784 Copy operands that don't match target_reg_operand to pseudos.
9785 (call_media, call_value_media, sibcall_media): Use
9786 target_reg_operand instead of target_operand.
9787 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 9788 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
9789 * config/sh/sh.c (target_reg_operand): Match hardware registers
9790 other than branch-target registers.
9791 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
9792 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
9793 (fpscr_values) [SH5 == 32]: Define.
9794 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
9795 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
9796 Handle function addresses coming in SUBREGs.
9797 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
9798 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
9799 shcompact_return_trampoline): Use datalabel where appropriate.
9800 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
9801 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
9802 general-purpose register to copy one branch-target register to
9803 another.
9804 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
9805 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
9806 SYMBOL_REFs with VOIDmode.
9807 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
9808 bltu_media_i): New insns.
9809 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
9810 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
9811 (INIT_CUMULATIVE_ARGS): Likewise.
9812 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
9813 * machmode.def (V16SFmode): New mode.
9814 * c-common.c (type_for_mode): Support V2SF and V16SF.
9815 * tree.c (build_common_tree_nodes_2): Likewise.
9816 * tree.h (tree_index): Likewise.
9817 * calls.c (emit_call_1): Take args_so_far. Adjust all
9818 callers. Introduce CALL_POPS_ARGS.
9819 * tm.texi (CALL_POPS_ARGS): Document.
9820 * config/sh/crt1.asm: Implement in SHmedia mode.
9821 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
9822 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
9823 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
9824 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
9825 Implement divsi and udivsi in SHmedia mode. Introduce
9826 SHcompact trampolines.
9827 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
9828 only in SHmedia64.
9829 (regno_reg_class): Rewrite.
9830 (fp_reg_names): Remove.
9831 (sh_register_names, sh_additional_register_names): New.
9832 (print_operand): Added `u'. Support SUBREGs in addresses.
9833 Add parentheses around shifted CONSTs.
9834 (output_file_start): Output .mode and .abi directives.
9835 (shiftcosts, addsubcosts, multcosts): Adjust.
9836 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
9837 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
9838 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
9839 bytes, not registers. Take into account the need for the
9840 SHcompact incoming args trampoline. Adjust all callers.
9841 (sh_expand_prologue): Take stack_regs into account. Call
9842 incoming args trampoline. Keep stack aligned as per SH5 ABI.
9843 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
9844 stack aligned as per SH5 ABI.
9845 (sh_builtin_saveregs): Support SH5 ABI.
9846 (sh_build_va_list, sh_va_start): Likewise.
9847 (initial_elimination_offset): Take alignment into account.
9848 Compute location of PR according to the SH5 stack frame.
9849 (arith_reg_operand): Reject branch-target registers.
9850 (shmedia_6bit_operand): New.
9851 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
9852 (target_reg_operand): Match DImode only. Accept SUBREGs.
9853 (target_operand): New.
9854 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
9855 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
9856 SIBCALL_REGS for SHmedia.
9857 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
9858 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
9859 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
9860 (TARGET_SWITCHES): New SH5 flags.
9861 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
9862 VALID_REGISTER_P to disable unsupported registers.
9863 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
9864 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
9865 (FUNCTION_ARG_PADDING): Define.
9866 (FASTEST_ALIGNMENT): Adjust.
9867 (SH_REGISTER_NAMES_INITIALIZER): New.
9868 (sh_register_names): Declare.
9869 (DEBUG_REGISTER_NAMES): Define.
9870 (REGISTER_NAMES): Define based on sh_register_names.
9871 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
9872 (sh_additional_register_names): Declare.
9873 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
9874 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
9875 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
9876 (REGISTER_NATURAL_MODE): Define.
9877 (FIRST_PSEUDO_REGISTER): Adjust.
9878 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
9879 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
9880 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
9881 (VECTOR_MODE_SUPPORTED_P): Define.
9882 (REG_CLASS_CONTENTS): Adjust.
9883 (SMALL_REGISTER_CLASSES): Adjust.
9884 (REG_ALLOC_ORDER): Adjust.
9885 (INDEX_REG_CLASS): Adjust.
9886 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
9887 (CONST_OK_FOR_LETTER_P): Adjust.
9888 (PREFERRED_RELOAD_CLASS): Adjust.
9889 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
9890 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
9891 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
9892 (FIRST_FP_PARM_REG): Adjust.
9893 (CALL_POPS_ARGS): Define.
9894 (FUNCTION_ARG_REGNO_P): Adjust.
9895 (struct sh_args): New fields.
9896 (GET_SH_ARG_CLASS): Adjust.
9897 (INIT_CUMULATIVE_ARGS): Adjust.
9898 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
9899 (FUNCTION_ARG_ADVANCE): Adjust.
9900 (FUNCTION_ARG): Adjust.
9901 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
9902 (FUNCTION_ARG_CALLEE_COPIES): Define.
9903 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
9904 (STRICT_ARGUMENT_NAMING): Define.
9905 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
9906 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
9907 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
9908 (SETUP_INCOMING_VARARGS): Adjust.
9909 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
9910 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
9911 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
9912 (SUBREG_OK_FOR_INDEX_P): Adjust.
9913 (EXTRA_CONSTRAINT_S): Update.
9914 (EXTRA_CONSTRAINT_T): New.
9915 (EXTRA_CONSTRAINT): Adjust.
9916 (GO_IF_LEGITIMATE_INDEX): Adjust.
9917 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
9918 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
9919 (MOVE_MAX): Adjust.
9920 (MAX_MOVE_MAX): Define.
9921 (Pmode): Adjust.
9922 (CONST_COSTS): Adjust.
9923 (REGISTER_MOVE_COST): Adjust.
9924 (BRANCH_COST): Adjust.
9925 (TEXT_SECTION_ASM_OP): Adjust.
9926 (DBX_REGISTER_NUMBER): Adjust.
9927 (ASM_OUTPUT_DOUBLE_INT): New.
9928 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9929 (PREDICATE_CODES): Adjust.
9930 (PROMOTE_MODE): Adjust.
9931 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
9932 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
9933 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
9934 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
9935 (DR0_REG, DR2_REG, DR4_REG): Renumber.
9936 (TR0_REG, TR1_REG, TR2_REG): New.
9937 (XD0_REG): Renumber.
9938 (UNSPEC_COMPACT_ARGS): New.
9939 (type): Added pt and ptabs.
9940 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 9941 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
9942 (pt): New function unit.
9943 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
9944 Add whitespace between operands of SHmedia instructions.
9945 (movdicc): Fix.
9946 (adddi3_media, addsi3_media): Adjust constraints.
9947 (subsi3) [SHmedia]: Force operand 1 into a register.
9948 (udivsi3_i1_media, udivsi3_i4_media): New.
9949 (udivsi3): Support SHmedia.
9950 (divsi3_i1_media, divsi3_i4_media): New.
9951 (divsi3): Support SHmedia.
9952 (anddi3, iordi3, xordi3): Adjust constraints.
9953 (zero_extendhidi2, zero_extendqidi2): New.
9954 (extendsidi2, extendhidi2, extendqidi2): New.
9955 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
9956 (pop_e, pop_fpul, pop_4): Likewise.
9957 (movsi_media): Support FP and BT registers.
9958 (movsi_media_nofpu): New. Adjust splits to DImode.
9959 (lduw, ldub): Renamed to zero_extend* above.
9960 (movqi_media): Fix typo.
9961 (movdi_media): Support FP and BT registers.
9962 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
9963 (movdi_const_32bit): New.
9964 (shori_media): Require immediate operand. Use `u' for output.
9965 (movdf_media, movsf_media): Simplified.
9966 (movdf_media_nofpu, movsf_media_nofpu): New.
9967 (movdf, movsf): Adjust
9968 (movv2sf, movv2sf, movv16sf): New.
9969 (beq_media, beq_media_i): Adjust constraints. Don't use
9970 scratch BT register.
9971 (bne_media, bne_media_i): Likewise.
9972 (bgt_media, bgt_media_i): Likewise.
9973 (bge_media, bge_media_i): Likewise.
9974 (bgtu_media, bgtu_media_i): Likewise.
9975 (bgeu_media, bgeu_media_i): Likewise.
9976 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
9977 bunordered): Emit jump insn. Force operands to registers when
9978 needed.
9979 (jump_media, jump): Simplify.
9980 (call_compact, call_compact_rettramp): New.
9981 (call_value_compact, call_value_compact_rettramp): New.
9982 (call_media, call_value_media): Simplify.
9983 (sibcall_compact, sibcall_media): New.
9984 (call, call_value): Adjust for SHmedia and SHcompact.
9985 (sibcall, sibcall_value, untyped_call): Likewise.
9986 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
9987 (indirect_jump): Adjust for SHmedia.
9988 (casesi_jump_media): New.
9989 (nop): Re-enable for SHmedia.
9990 (call_site): Restrict to SH1.
9991 (casesi): Adjust for SHmedia.
9992 (casesi_shift_media, casesi_load_media): New.
9993 (return): Explicitly use PR register. Call return trampoline
9994 on SHcompact.
9995 (return_i): Explicitly use PR register.
9996 (shcompact_return_tramp, shcompact_return_tramp_i): New.
9997 (return_media): Adjust.
9998 (shcompact_incoming_args): New.
9999 (epilogue): Adjust.
10000 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
10001 (movstrsi): Disable on SH5.
10002 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
10003 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
10004 (subsf3, subsf3_media): Likewise.
10005 (mulsf3, mulsf3_media, mac_media): Likewise.
10006 (divsf3, divsf3_media): Likewise.
10007 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
10008 (floatsisf2, fux_truncsfsi2): Likewise.
10009 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
10010 constraints.
10011 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
10012 (cmpunsf_media, cmpsf): Likewise.
10013 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
10014 (abssf2, abssf2_media): Likewise.
10015 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
10016 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
10017 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
10018 (floatsidf2, fix_truncdfsi2): Likewise.
10019 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
10020 constraints.
10021 (cmpeqdf_media, cmpgtdf_media): Likewise.
10022 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
10023 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
10024 (absdf2, absdf2_media): Likewise.
10025 (extendsfdf2, extendsfdf2_media): Likewise.
10026 (truncsfdf2, truncsfdf2_media): Likewise.
10027 * config/sh/sh64.h: New file.
10028 * config/sh/t-sh64: New file.
10029 * config/sh/shmedia.h: New file.
10030 * config/sh/ushmedia.h: New file.
10031 * config/sh/sshmedia.h: New file.
10032 * configure.in: Added sh64-*-elf.
10033 * configure: Rebuilt.
10034 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
10035 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
10036 (reg_class_from_letter): Use `b' for TARGET_REGS.
10037 (print_operand): Support `%M', `%m', `AND' and
10038 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
10039 (andcosts): Adjust for SHmedia.
10040 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
10041 Likewise.
10042 (target_reg_operand): New function.
10043 * config/sh/sh-protos.h (target_reg_operand): Declare.
10044 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
10045 FP registers on SH5.
10046 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
10047 on SH4.
10048 (TARGET_REGISTER_P): New macro.
10049 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
10050 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
10051 (EXTRA_CONSTRAINT_S): New macro.
10052 (EXTRA_CONSTRAINT): Adjust.
10053 (FLOAT_TYPE_SIZE): Define to 32.
10054 (Pmode): DImode on SHmedia.
10055 (CONST_COSTS): Adjust for SHmedia literals.
10056 (PREDICATE_CODES): Added target_reg_operand.
10057 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
10058 * config/sh/sh.md: Remove all attrs from SHmedia insns.
10059 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
10060 (cmpdi): Accept SHmedia.
10061 (movdicc_false, movdicc_true): New insns.
10062 (movdicc): New expand.
10063 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
10064 no_new_pseudos.
10065 (addsi3_media): Match `S' constraint.
10066 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
10067 (negdi2): Expand for SHmedia.
10068 (one_cmpldi2): New expand.
10069 (zero_extendsidi2): Change from expand to insn.
10070 (extendsidi2): Add constraints.
10071 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
10072 LD/ST address. Fix SI immediate loading split.
10073 (movhi_media, movqi_media, lduw, ldub): New insns.
10074 (movhi, movqi): Accept SHmedia.
10075 (shori_media, movdi_media): Relax input constraints. Split
10076 symbolic constants.
10077 (movdf_media, movsf_media): New insn. New split to movdi.
10078 (movdf, movsf): Match on SHmedia.
10079 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
10080 bgeu_media): New insns and splits. New insns with `_i' suffix.
10081 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
10082 (bunordered): New expand.
10083 (jump_compact): Renamed from `jump'.
10084 (jump_media): New insn.
10085 (jump): New expand.
10086 (call_media, call_value_media): New insns.
10087 (call, call_value): Adjust.
10088 (indirect_jump_compact): Renamed from `indirect_jump'.
10089 (indirect_jump_media): New insn.
10090 (indirect_jump): New expand.
10091 (untyped_call, return): Accept SHmedia.
10092 (return_media): New insn.
10093 (prologue, epilogue, blockage): Accept SHmedia.
10094 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
10095 (sunordered): New expand.
10096 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
10097 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
10098 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
10099 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
10100 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
10101 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
10102 abssf2_media): New insns.
10103 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
10104 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
10105 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
10106 floatdidf2, floatsidf2_media, fix_truncdfdi2,
10107 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
10108 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
10109 absdf2_media): New insns.
10110 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
10111 (extendsfdf2_media, truncdfsf2_media): New insns.
10112 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
10113 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
10114 * config/sh/sh.h (CONST_OK_FOR_J): Document.
10115 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
10116 * config/sh/sh.md (adddi3): New expand.
10117 (adddi3_media, adddi3z_media): New insns.
10118 (adddi3_compact): Renamed from adddi3.
10119 (addsi3_media): Use add.l r63 to add constant zero.
10120 (subdi3): New expand.
10121 (subdi3_media): New insn.
10122 (subdi3_compact): Renamed from subdi3.
10123 (mulsidi3): New expand.
10124 (mulsidi3_media): New insn.
10125 (mulsidi3_compact): Renamed from mulsidi3.
10126 (umulsidi3): New expand.
10127 (umulsidi3_media): New insn.
10128 (umulsidi3_compact): Renamed from umulsidi3.
10129 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
10130 (ashlsi3, ashrsi3, lshrsi3): Use them.
10131 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
10132 (ashldi3, ashrdi3, lshrdi3): Use them.
10133 (zero_extendsidi2): New expand.
10134 (extendsidi2): New insn.
10135 (movsi_media): New insn. Split to movdi to load constants.
10136 (movsi): Enable for shmedia.
10137 (movdi_media): New insn. Use shori_media to load wide constants.
10138 (short_media): New insn.
10139 (movdi): Enable for shmedia.
10140 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
10141 * config/sh/sh.h (CPP_SPEC): Added `m5'.
10142 (SUBTARGET_CPP_SPEC): Added `!m5'.
10143 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
10144 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
10145 to all other SH variants.
10146 (TARGET_DEFAULT): Set to SH1_BIT.
10147 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
10148 (BITS_PER_WORD): Raise to 64 on shmedia.
10149 (MAX_BITS_PER_WORD): Change to 64.
10150 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
10151 (INT_TYPE_SIZE): Keep as 32.
10152 (UNITS_PER_WORD): Raise to 8 on shmedia.
10153 (MIN_UNITS_PER_WORD): Keep as 4.
10154 (POINTER_SIZE): Raise to 64 on shmedia.
10155 (CONST_OK_FOR_J): New macro.
10156 (CONST_OK_FOR_LETTER_P): Use it.
10157 (processor_type): Add PROCESSOR_SH5.
10158 * config/sh/sh.md: Conditionalize all expands, insns and
10159 splits to TARGET_SH1.
10160 (cpu): Added sh5.
10161 (addsi3_compact): Renamed from...
10162 (addsi3): Now an expand.
10163 (addsi3_media, subsi3_media): New insns.
10164 (subsi3): Don't negate constants with SHmedia.
10165
e4ec2cac
AO
10166 * hooks.c: New file.
10167 * hooks.h: New file.
10168 * Makefile.in (HOOKS_H): New.
10169 (TARGET_DEF_H): Added $(HOOKS_H).
10170 (OBJS): Added hooks.o.
10171 (cfgcleanup.o, bb-reorder.o): Added target.h.
10172 (hooks.o): Added dependencies.
10173 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
10174 (TARGET_INITIALIZER): this.
10175 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
10176 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
10177 * bb-reorder.c: Include target.h.
10178 (reorder_basic_blocks): Skip if cannot modify jumps.
10179 * cfgcleanup.c: Include target.h.
10180 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
10181
246a46e0
CD
101822002-02-08 Chris Demetriou <cgd@broadcom.com>
10183
831c4e87
KC
10184 * config/mips/mips.md (casesi_internal, casesi_internal_di):
10185 Protect jump delay slot instructions with .set noreorder and
10186 .set nomacro.
246a46e0
CD
10187
101882002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
10189
10190 * config/mips/mips.md (casesi_internal_di): Calculate
10191 the index into the target offset table correctly.
10192
fdf473ae
RH
101932002-02-08 Richard Henderson <rth@redhat.com>
10194
10195 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
10196 * final.c (output_addr_const): Accept and discard SUBREG.
10197 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
10198 mark them unknown instead.
10199 (simplify_subtraction): Handle RTX_UNKNOWN.
10200 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
10201
c50503ac
DE
102022002-02-08 David Edelsohn <edelsohn@gnu.org>
10203
10204 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
10205
3660d217
RH
102062002-02-08 Richard Henderson <rth@redhat.com>
10207
10208 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
10209
56547299
AJ
102102002-02-08 Andreas Jaeger <aj@suse.de>
10211
10212 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
10213 * config/i386/t-linux64: New file.
10214
1cf537c5
JJ
102152002-02-08 Jakub Jelinek <jakub@redhat.com>
10216
10217 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
10218 * c-parse.in (compstmt): Clear last_expr_type.
10219
5c7f5a5f
RH
102202002-02-07 Richard Henderson <rth@redhat.com>
10221
10222 * loop.c (strength_reduce): Sink final_value when not
10223 eliminating a biv.
10224
b1138bf3
DB
102252002-02-07 David O'Brien <obrien@FreeBSD.org>
10226
10227 * config/sparc/freebsd.h: Fix mismatched spec {.
10228
b6878a45
RH
102292002-02-07 Richard Henderson <rth@redhat.com>
10230
10231 * cfgrtl.c: Include recog.h and insn-config.h.
10232 (keep_with_call_p): Fix general_operand invocation.
10233 * Makefile.in (cfgrtl.o): Update dependencies.
10234
ae19f5ef
KH
102352002-02-07 Kazu Hirata <kazu@hxi.com>
10236
10237 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
10238 comment. Accept HImode only if TARGET_H8300.
10239
b137f9fc
EC
102402002-02-07 Eric Christopher <echristo@redhat.com>
10241
10242 * config/mips/crtn.asm: Cleanup #ifdefs.
10243
102442002-02-07 Eric Christopher <echristo@redhat.com>
10245
10246 * config/mips/crti.asm: Add changes for mips16. mips16 uses
10247 register 7 as RA instead of $31.
10248 * config/mips/crtn.asm: Ditto.
10249 * config/mips/mips.c (mips_move_2words): Add case for
10250 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
10251 (compute_frame_size): Fix typo.
10252 (save_restore_insns): Ditto. Make documentation about using
10253 register $7 as return register more precise.
10254 (mips_expand_epilogue): Fix comment. Add code to work around not
10255 being able to add to the stack pointer directly.
10256 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
10257 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
10258 epilogue.
10259
768070a0
TR
102602002-02-07 Tom Rix <trix@redhat.com>
10261
b137f9fc 10262 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
10263 immediates in ldu and stdu DS opcode field.
10264 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
10265 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
10266 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
10267
225909c3
JS
102682002-02-07 Jeff Sturm <jsturm@one-point.com>
10269
10270 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
10271 offset for stack bias.
10272
15fae023
L
102732002-02-07 H.J. Lu <hjl@gnu.org>
10274
10275 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
10276
fde5badd
UW
102772002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
10278
10279 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
10280
162f023b
JH
10281Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
10282
10283 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
10284 * i386.c (x86_order_regs_for_local_alloc): New global function.
10285 * i386.h (REG_ALLOC_ORDER): CLeanup.
10286 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
10287
9b462c42
RH
102882002-02-07 Richard Henderson <rth@redhat.com>
10289
85aa876c 10290 PR optimization/2463
9b462c42
RH
10291 * alias.c (find_base_value): Recall base values for fixed hard regs.
10292 * loop.c (loop_regs_update): Don't use single_set on non-insns.
10293
06e455a9
AO
102942002-02-07 Alexandre Oliva <aoliva@redhat.com>
10295
10296 * config/mips/mips.md (define_delay) [mips16]: Adjust required
10297 length.
10298
edd1967d
RH
102992002-02-06 Richard Henderson <rth@redhat.com>
10300
10301 PR c/5609
10302 * stmt.c (resolve_operand_name_1): Take more care with mixed
10303 named and unnamed operands.
10304
a2cd028f
JJ
103052002-02-06 Janis Johnson <janis187@us.ibm.com>
10306 Jan Hubicka <jh@suse.cz>
10307
10308 * loop.c (remove_constant_addition): Avoid clobbering a shared
10309 CONST expression.
10310
e8487c04
UW
103112002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10312
10313 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
10314 * config/s390/t-linux64: New file.
10315 * config/s390/libgcc-glibc.ver: New file.
10316
58d10f89
UW
103172002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10318
10319 * config/s390/linux64.h: Delete file.
10320 * config/s390/s390x.h: New file.
10321 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
10322 as target header file.
10323 * config/s390/linux.h (TARGET_VERSION): Define depending on
10324 DEFAULT_TARGET_64BIT.
10325 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
10326 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
10327 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
10328 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
10329 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
10330 (EXTRA_SPEC): New define.
10331 * config/s390/s390.h (TARGET_VERSION): Define depending on
10332 DEFAULT_TARGET_64BIT.
10333 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
10334
5ce89b2e
JM
103352002-02-06 Jason Merrill <jason@redhat.com>
10336
10337 * c-decl.c (finish_function): Warn about a non-void function with
10338 no return statement and no abnormal exit.
10339 (current_function_returns_abnormally): New variable.
10340 (start_function): Clear it.
10341 (struct c_language_function): Add returns_abnormally.
10342 (push_c_function_context): Save it.
10343 (pop_c_function_context): Restore it.
10344 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
10345 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
10346 an explicit return type.
10347 * c-tree.h: Declare current_function_returns_abnormally.
10348 (C_FUNCTION_IMPLICIT_INT): New macro.
10349 * c-typeck.c (build_function_call): Set it.
10350 (c_expand_return): Set current_function_returns_value even if the
10351 value is erroneous.
10352
caaf2272
JJ
103532002-02-06 Jakub Jelinek <jakub@redhat.com>
10354
10355 PR c/5420:
10356 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
10357 unsafe for reevaluation.
10358
d5129288
JJ
103592002-02-06 Jakub Jelinek <jakub@redhat.com>
10360
10361 PR c/5482:
10362 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
10363 EXPR_STMT, but COMPOUND_STMT, recurse into it.
10364
7fb75099
RH
103652002-02-06 Richard Henderson <rth@redhat.com>
10366
10367 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
10368 be a general_operand. Dest for function value must be a pseudo.
10369
d3a8b6a6
NC
103702002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
10371
10372 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
10373 as SYMBOL_REFs from the constant pool.
10374
3c1299c5
AO
103752002-02-06 Alexandre Oliva <aoliva@redhat.com>
10376
10377 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
10378 passed by invisible reference.
10379
c2c9f6c9
RH
103802002-02-05 Richard Henderson <rth@redhat.com>
10381
10382 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
10383
a824924d
HPN
103842002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
10385
10386 Implement using "base addresses" in insn operands as default.
10387 * config/mmix/mmix.c (mmix_conditional_register_usage): if
10388 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
10389 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
10390 used to read the rtx value.
10391 (mmix_target_asm_function_epilogue): Fix spacing.
10392 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
10393 (mmix_legitimate_address): Ditto.
10394 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
10395 should be loaded with a GETA insn. Don't allocate needless extra
10396 char for nul termination and fix misleading comment.
10397 (mmix_print_operand_address): Handle constants if
10398 TARGET_BASE_ADDRESSES.
10399 (mmix_output_register_setting): Use base addressing if
10400 TARGET_BASE_ADDRESSES and the number of insns is 3.
10401 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
10402 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
10403 to use R as constraint, add LDA to match s.
10404 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
10405 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
10406 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
10407 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
10408 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
10409 order with other fixed registers.
10410 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
10411 other parameter/call-clobbered registers.
10412 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
10413 -mbase-addresses, -mno-base-addresses.
10414 (MMIX Options): Ditto.
10415
73c342b9
JDA
104162002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
10417
10418 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
10419
ef238c58
AH
104202002-02-06 Aldy Hernandez <aldyh@redhat.com>
10421
831c4e87 10422 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 10423
ad08e60e
JT
104242002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
10425
10426 * config/netbsd.h (WCHAR_TYPE): Define.
10427 (WCHAR_TYPE_SIZE): Ditto.
10428 (WINT_TYPE): Ditto.
10429 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
10430 (WCHAR_UNSIGNED): Ditto.
10431 (WCHAR_TYPE_SIZE): Ditto.
10432 (WINT_TYPE): Ditto.
10433 * config/arm/netbsd.h: Likewise.
10434 * config/i386/netbsd-elf.h: Likewise.
10435 * config/i386/netbsd.h: Likewise.
10436 * config/m68k/netbsd-elf.h: Likewise.
10437 * config/m68k/netbsd.h: Likewise.
10438 * config/ns32k/netbsd.h: Likewise.
10439 * config/sparc/netbsd.h: Likewise.
10440 * config/vax/netbsd.: Likewise.
10441
f913c102
AO
104422002-02-05 Alexandre Oliva <aoliva@redhat.com>
10443
10444 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
10445 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
10446 (TARGET_INITIALIZER): this.
10447 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
10448 (BITFIELD_NBYTES_LIMITED): Markup fix.
10449 * tree.h (default_ms_bitfield_layout_p): Declare.
10450 (record_layout_info): Added prev_field.
10451 * tree.c (default_ms_bitfield_layout_p): New fn.
10452 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
10453 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
10454 * stor-layout.c: Include target.h.
10455 (start_record_layout): Initialize prev_field.
10456 (place_field): Handle MS bit-field layout, and disregard
10457 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
10458 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
10459 * Makefile.in (stor-layout.o): Adjust dependencies.
10460
c13db5d1
JM
104612002-02-05 Jason Merrill <jason@redhat.com>
10462
c13db5d1
JM
10463 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
10464
4505024e
AJ
104652002-02-05 Andreas Jaeger <aj@suse.de>
10466
10467 * crtstuff.c: Fix comments.
10468
794ad79d
RH
104692002-02-05 Richard Henderson <rth@redhat.com>
10470
2e279a9b
RH
10471 PR fortran/3393
10472 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
10473 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
10474
794ad79d
RH
10475 PR fortran/3392
10476 * config/mips/mips.c (function_arg): Handle TImode.
10477 (function_arg_advance): Likewise.
10478
8f909017
AH
104792002-02-05 Aldy Hernandez <aldyh@redhat.com>
10480
c13db5d1
JM
10481 * config/rs6000/altivec.h (vec_step_help): Rename to
10482 __vec_step_help.
8f909017 10483
66daa9e3
AH
104842002-02-05 Aldy Hernandez <aldyh@redhat.com>
10485
c13db5d1 10486 * config/rs6000/altivec.h: Fix typos.
66daa9e3 10487
2696e97b
JT
104882002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
10489
10490 * config/arm/netbsd.h: Correct a comment.
10491
3deb2758
AH
104922002-02-05 Aldy Hernandez <aldyh@redhat.com>
10493
c13db5d1
JM
10494 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
10495 building void typed builtins.
3deb2758 10496
c13db5d1
JM
10497 * config/rs6000/altivec.h (vec_ld*): Fix typos.
10498 (vec_step): Implement for C++.
3deb2758 10499
c13db5d1 10500Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
10501
10502 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
10503
ebbb0a63
RH
105042002-02-04 Richard Henderson <rth@redhat.com>
10505
10506 * combine.c (nonzero_bits): Re-introduce special case for
10507 sp/fp/ap wrt REGNO_POINTER_ALIGN.
10508
ae4b4a02
AH
105092002-02-05 Aldy Hernandez <aldyh@redhat.com>
10510
c13db5d1
JM
10511 * doc/extend.texi: Warn about unsupported usage of altivec
10512 builtins.
ae4b4a02 10513
c13db5d1
JM
10514 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
10515 (altivec_predicate_*): New.
ae4b4a02 10516
c13db5d1
JM
10517 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
10518 Add C++ version of vec_*() functions.
ae4b4a02 10519
c13db5d1
JM
10520 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
10521 (bdesc_2arg): Remove altivec predicates.
10522 (altivec_expand_builtin): Handle predicates.
10523 (altivec_init_builtins): Handle predicates.
10524 (altivec_expand_predicate_builtin): New.
ae4b4a02 10525
f6bcf44c
JDA
105262002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10527
10528 * pa.c (DO_FRAME_NOTES): Move forward.
10529 (store_reg): Revise handling of frame notes.
10530 (load_reg): Likewise.
10531 (set_reg_plus_d): Likewise.
10532 (hppa_expand_prologue): Likewise.
10533 (hppa_expand_epilogue): Likewise.
b137f9fc 10534
703b0080
JDA
105352002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10536
10537 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
10538
6f9fdf4d
JJ
105392002-02-04 Jakub Jelinek <jakub@redhat.com>
10540
10541 PR c/4475, c++/3780:
10542 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
10543 * c-common.h (SWITCH_TYPE): Define.
10544 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
10545 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
10546 Rename spareness variable to sparseness.
10547 (expand_end_case_type): Renamed from expand_end_case, use orig_type
10548 if non-NULL instead of TREE_TYPE (orig_index).
10549 * tree.h (expand_end_case_type): Renamed from expand_end_case.
10550 (expand_end_case): Define using expand_end_case_type.
10551 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
10552 to expand_end_case_type.
10553 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
10554
79109502
JDA
105552002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10556
10557 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
10558 (BIGGEST_ALIGNMENT): Change to 128.
10559
e62a5987
JDA
105602002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10561
10562 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
10563
219f24a4
JDA
105642002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10565
10566 * pa.md (call_internal_reg_64bit): Remove unused variable.
10567
3cb66fd7
NC
105682002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
10569
10570 * config/arm/arm.h (machine_function): Add uses_anonymous_args
10571 field.
831c4e87 10572 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 10573 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
10574 replace uses with cfun->machine->uses_anonymous_args.
10575 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
10576
10577 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
10578 any geenral register.
b137f9fc 10579
5d5603e2 105802001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
10581
10582 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
10583 the entry block.
10584
563c12b0
RH
105852002-02-04 Richard Henderson <rth@redhat.com>
10586
10587 * combine.c (force_to_mode): Remove STACK_BIAS code.
10588 (nonzero_bits): Likewise. Replace sp/fp special case with
10589 REGNO_POINTER_ALIGN.
10590
10591 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
10592 (HARD_FRAME_POINTER_REGNUM): New.
10593 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
10594 (FIXED_REGS, CALL_USED_REGS): Update.
10595 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
10596 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
10597 (HARD_REGNO_NREGS): Update for SFP.
10598 (STACK_POINTER_OFFSET): Include bias here ...
10599 (FIRST_PARM_OFFSET): ... not here.
10600 (STACK_BIAS): Remove.
10601 (INIT_EXPANDERS): New.
10602 (STARTING_FRAME_OFFSET): Do not include bias.
10603 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
10604 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
10605 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
10606 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
10607 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
10608 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
10609 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
10610 (MUST_SAVE_REGISTER): Likewise.
10611 (sparc_flat_function_prologue): Likewise.
10612 (sparc_flat_function_epilogue): Likewise.
10613 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
10614 (sparc_init_modes): SFP is GENERAL_REGS.
10615 (sparc_builtin_saveregs): SFP does not have bias applied.
10616
14691f8d
RH
106172002-02-04 Richard Henderson <rth@redhat.com>
10618
10619 * config/alpha/alpha.c (current_function_is_thunk): Don't check
10620 current_function_is_thunk.
10621 (alpha_sa_mask): Distinguish between current_function_is_thunk
10622 called from ASM_OUTPUT_MI_THUNK and not.
10623 (alpha_does_function_need_gp): Thunks always need gp.
10624 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
10625 (alpha_output_mi_thunk_osf): New.
10626 * config/alpha/alpha-protos.h: Update.
10627 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
10628
af702de8
RS
106292002-02-04 Richard Sandiford <rsandifo@redhat.com>
10630
10631 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
10632 function types, not when they're taken away.
10633
5b1cacd8
JL
10634Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
10635
10636 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
10637 CODE_LABEL and jump table when replacing a table jump with a
10638 simple jump.
10639
f3e9edff
UW
106402002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10641
10642 * config/s390/s390-protos.h (legitimize_la_operand,
10643 s390_secondary_input_reload_class, s390_plus_operand,
10644 s390_expand_plus_operand): Add prototypes.
10645
10646 config/s390/s390.c (s390_secondary_input_reload_class,
10647 s390_plus_operand, s390_expand_plus_operand): New functions.
10648
10649 (struct s390_address): New member 'pointer'.
10650 (s390_decompose_address): Compute it.
10651 (legitimate_la_operand_p): Use it.
10652 (legitimize_la_operand): New function.
10653 (movti, movdi, movdf splitters): Call it.
10654
10655 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
10656 (PREDICATE_CODES): Add s390_plus_operand.
10657
10658 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
10659 (la_ccclobber): Allow GENERAL_REGS as output operand.
10660
10661 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
10662 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
10663 (*la_64, *la_31, reload_indi, reload_insi): ... these.
10664
3c9a08ec
UW
106652002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10666
10667 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
10668 register names for regular asm () construct.
10669
ac300a45
JJ
106702002-02-04 Jakub Jelinek <jakub@redhat.com>
10671
10672 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
10673 registers.
10674
fa852403
JJ
106752002-02-04 Jakub Jelinek <jakub@redhat.com>
10676
10677 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
10678 pat for recog.
10679
fecaac37
HP
106802002-02-04 Hartmut Penner <hpenner@de.ibm.com>
10681
831c4e87
KC
10682 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
10683 constant pool to be identical by string address and index.
fecaac37 10684
10c45943
AG
106852002-02-04 Anthony Green <green@redhat.com>
10686
10687 * output.h (SECTION_OVERRIDE): Define.
10688 * varasm.c (named_section): Obey SECTION_OVERRIDE.
10689
69474c3c
JT
106902002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
10691
10692 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
10693 by existing arm*-*-netbsd* (a.out) target.
10694 (ns32k-*-netbsdelf*): Likewise.
10695 (sparc-*-netbsdelf*): Likewise.
10696 (vax-*-netbsdelf*): Likewise.
10697
939a46f6 106982002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
10699
10700 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
10701 headers and libobjc headers.
10702
107032002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
10704
10705 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
10706 (_mingw.h): Remove duplicate include.
10707
2fd95d71
JT
107082002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
10709
10710 * config.gcc: Set cpu_type to m68k for 68010, as well.
10711 (m68010-*-netbsdelf*): New...
10712 (m68k*-*-netbsdelf*): ...targets.
10713 * config/m68k/netbsd-elf.h: New file.
10714
0ea6f6a0
KH
107152002-02-02 Kazu Hirata <kazu@hxi.com>
10716
10717 * config/h8300/h8300.c (hand_list): Move inside function_arg.
10718
cbf1b2da
KH
107192002-02-02 Kazu Hirata <kazu@hxi.com>
10720
10721 * config/h8300/h8300.c (h8_push_ops): Move inside
10722 h8300_init_once.
10723 (h8_pop_ops): Likewise.
10724 (h8_move_ops): Likewise.
10725
0869f126
KH
107262002-02-02 Kazu Hirata <kazu@hxi.com>
10727
10728 * config/h8300/h8300.c (os_task): Make it static.
10729 (monitor): Likewise.
10730 (pragma_saveall): Likewise.
10731
90e65b70
AO
107322002-02-02 Alexandre Oliva <aoliva@redhat.com>
10733
10734 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
10735 constant is a valid sign-extension for Pmode.
10736
9cbcd983
KH
107372002-02-02 Kazu Hirata <kazu@hxi.com>
10738
10739 * config/h8300/h8300.c: Fix formatting.
10740
7a27efc4
KH
107412002-02-02 Kazu Hirata <kazu@hxi.com>
10742
10743 * config/h8300/h8300.md: Fix formatting.
10744
54175a44
KH
107452002-02-02 Kazu Hirata <kazu@hxi.com>
10746
10747 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
10748 predicates of operands[1]. Split the patterns for each
10749 processor variant.
10750
eceb1755
KH
107512002-02-02 Kazu Hirata <kazu@hxi.com>
10752
10753 * config/h8300/h8300.md (xor patterns): Tighten the predicates
10754 of operands[1] to register_operand.
10755
0fef3fd0
NB
107562002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
10757
10758 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
10759 * cpphash.c (_cpp_init_hashtable): Similarly.
10760 * cppinit.c (cpp_create_reader): Default the signed_char flag.
10761 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
10762 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
10763 (cpp_handle_option): Handle the new options.
10764 * cpplex.c (cpp_interpret_charconst): Use new flag.
10765 * cpplib.h (struct cpp_options): New member signed_char.
10766 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
10767 (cpp_options): Handle -fsigned-char and -funsigned-char.
10768 (static_specs): Remove signed_char_spec.
10769 (do_spec1): Don't handle %c.
10770 * system.h: Poison SIGNED_CHAR_SPEC.
10771 * tradcif.y (yylex): Use flag_signed_char.
10772 * tradcpp.h (flag_signed_char): New.
10773 * tradcpp.c (flag_signed_char): New.
10774 (main): Handle new command-line options.
10775 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
10776config:
10777 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
10778 * avr/avr.h: Remove old comments.
10779 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
10780 (CC1_SPEC): Pass -fsigned-char if -mic*.
10781 (SIGNED_CHAR_SPEC): Remove.
10782doc:
10783 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
10784
0617ed52
EC
107852002-02-01 Eric Christopher <echristo@redhat.com>
10786
10787 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
10788 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
10789 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
10790 (ASM_OUTPUT_REG_POP): Ditto.
10791
dfd48d76
NB
107922002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
10793
10794 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
10795 patch.
10796
4a23409e
JJ
107972002-02-02 Jakub Jelinek <jakub@redhat.com>
10798
10799 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
10800
d3c52658
JJ
108012002-02-02 Jakub Jelinek <jakub@redhat.com>
10802
10803 PR c/5304:
10804 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
10805 unconditionally.
10806
02c5a3bd
JJ
108072002-02-01 Janis Johnson <janis187@us.ibm.com>
10808
10809 * cfganal.c: Include tm_p.h.
10810 (keep_with_call_p): Fix the test that determines if a register holds
10811 the return value of a call.
10812
3968de80
DD
108132002-02-01 DJ Delorie <dj@redhat.com>
10814
10815 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
10816 we are given conflicting registers, switch to the other one we
10817 had allocated for us.
10818 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
10819 as TImode so we know when the "other" register is available.
10820
1338ea6c
DB
108212002-02-01 David O'Brien <obrien@FreeBSD.org>
10822
10823 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
10824 sparc/sparc_bi.h.
10825
f015be23
JJ
108262002-02-01 Janis Johnson <janis187@us.ibm.com>
10827
10828 * cfganal.c (keep_with_call_p): New function.
10829 (flow_call_edges_add): Prevent splitting a block between a call and
10830 a single-set instruction that should be kept in the same block.
10831
63708ffc
CR
108322002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
10833
10834 * doc/install.texi (avr): Update outdated URL.
10835
5ee4950e
AH
108362002-01-30 Andrew Haley <aph@cambridge.redhat.com>
10837
831c4e87
KC
10838 * config/stormy16/stormy16.md (pushqi): New.
10839 (popqi): New.
10840 (pushhi): New.
10841 (pophi): New.
10842 (movhi): Remove stack operands.
10843 (movqi): Likewise.
10844 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
10845 nonimmediate_nonstack_operand.
10846 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
10847 New.
10848 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
10849 New.
5ee4950e 10850
b88c0704
JM
108512002-01-31 Jason Merrill <jason@redhat.com>
10852
10853 * Makefile.in (c-parse.c): Handle .output file.
10854 * objc/Make-lang.in (objc-parse.c): Likewise.
10855
ac282977
AO
108562002-02-01 Alexandre Oliva <aoliva@redhat.com>
10857
10858 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
10859 the -me[lb] option is given. Don't output the default flag
10860 twice.
10861
bebc7e8b
ZW
108622002-01-31 Zack Weinberg <zack@codesourcery.com>
10863
10864 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
10865 the primary source file; this has not been done yet.
10866 * c-decl.c (c_expand_body): Reset input_filename from
10867 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
10868
5809eb5f
KH
108692002-01-31 Kazu Hirata <kazu@hxi.com>
10870
10871 * rtlanal.c (subreg_regno_offset): Do not use
10872 SUBREG_REGNO_OFFSET.
10873 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
10874 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
10875
8512bbd7
JM
108762002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
10877
10878 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
10879 version rather than GNATS version in --version output.
10880
74cb3cc8
RS
108812002-01-31 Richard Sandiford <rsandifo@redhat.com>
10882
10883 * ifcvt.c (noce_process_if_block): Make a copy of the destination
10884 when copying back from a temporary.
10885
874b5b14
RH
108862002-01-30 Richard Henderson <rth@redhat.com>
10887
10888 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
10889 and new_dest are the same.
10890
e803a64b
RH
108912002-01-30 Richard Henderson <rth@redhat.com>
10892
89cf7be5 10893 PR opt/5076
e803a64b
RH
10894 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
10895 * rtl.c (note_insn_name): Update.
10896 * emit-rtl.c (remove_unnecessary_notes): Kill it.
10897 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
10898 to perform loop rotation.
10899 (expand_exit_loop_top_cond): New.
10900 * tree.h (expand_exit_loop_top_cond): Declare it.
10901 * c-semantics.c (genrtl_while_stmt): Use it.
10902 (genrtl_for_stmt): Likewise.
10903
0b51254d
AO
109042002-01-30 Alexandre Oliva <aoliva@redhat.com>
10905
10906 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
10907 arguments to 64-bit boundaries on 64-bit ABIs.
10908
71cef493
SE
109092002-01-30 Steve Ellcey <sje@cup.hp.com>
10910
10911 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
10912
6169e5fd
JM
109132002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
10914
10915 * c-decl.c (grokdeclarator): Handle type being a typedef for an
10916 invalid type.
10917
86f808dc
DB
109182002-01-30 David O'Brien <obrien@FreeBSD.org>
10919
10920 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
10921 * config/sparc/sparc_bi.h: Remove file.
10922 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
10923
5748ebeb
RH
109242002-01-30 Richard Henderson <rth@redhat.com>
10925
10926 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
10927
20d32cc2
ZW
109282002-01-30 Zack Weinberg <zack@codesourcery.com>
10929
10930 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
10931
b88c0704 109322002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
10933
10934 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
10935 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
10936 (reg_save): Use DW_CFA_offset_extended_sf instead.
10937
10938 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
10939
37060e78
JJ
109402002-01-29 Jakub Jelinek <jakub@redhat.com>
10941
10942 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
10943 in cselib_lookup.
10944
d18dba68
AH
109452002-01-29 Aldy Hernandez <aldyh@redhat.com>
10946
bebc7e8b
ZW
10947 * rs6000.md ("*call_value_local32"): Remove constraints.
10948 ("*call_value_local64"): Same.
10949 ("*call_value_indirect_nonlocal_aix32"): Same.
10950 ("*call_value_nonlocal_aix32"): Same.
10951 ("*call_value_indirect_nonlocal_aix64"): Same.
10952 ("*call_value_nonlocal_aix64"): Same.
10953 ("*call_value_nonlocal_sysv"): Same.
d18dba68 10954
80a8aac6
RH
109552002-01-29 Richard Henderson <rth@redhat.com>
10956
10957 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
10958
12beba6f
RH
109592002-01-29 Richard Henderson <rth@redhat.com>
10960
10961 * expr.c (force_operand): Ignore flag_pic for detecting pic
10962 address loads.
10963 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
10964 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
10965 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
10966 instead of open-coded loop.
10967 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
10968 be fixed when in use.
10969
2583081e
RH
109702002-01-29 Richard Henderson <rth@redhat.com>
10971
10972 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
10973 * sched-rgn.c (propagate_deps): Update them.
10974 * sched-deps.c (sched_analyze_insn): Update them. Flush the
10975 clobbers list when either gets too long.
10976
3b8d200e
JJ
109772002-01-29 Jakub Jelinek <jakub@redhat.com>
10978
10979 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
10980 and INDEX_REGS the same as GENERAL_REGS.
10981 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
10982
2d3115eb
NB
109832002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
10984
bebc7e8b 10985 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 10986
ecbe845e
UW
109872002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
10988
bebc7e8b 10989 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 10990 movstrsix_31): Remove, replace by ...
bebc7e8b 10991 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
10992 movstrsi_long): ... these. New.
10993 (movstrdi, movstrsi): Adapt.
10994
10995 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 10996 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
10997 Remove unnecessary CC clobber.
10998 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
10999 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
11000
11001 (divmoddi4): Don't partially initialize TImode register.
11002
0b32fca5
GK
110032002-01-29 Geoffrey Keating <geoffk@redhat.com>
11004
11005 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
11006
08ef5437
RH
110072002-01-29 Richard Henderson <rth@redhat.com>
11008
11009 * flow.c (print_rtl_and_abort): Remove.
11010 (print_rtl_and_abort_fcn): Remove.
11011 (verify_local_live_at_start): Use dump_bb instead.
11012 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
11013 (verify_wide_reg_1): Return 2 on mode test failure.
11014
8469e54e
NB
110152002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
11016
11017 PR c/3325, c/3326, c/2511, c/3347
11018 * c-decl.c (enum_decl_context): Remove BITFIELD.
11019 (grokdeclarator): Take bitfield width as an input.
11020 Ensure bitfields are given the correct type. Perform
11021 bitfield width validation with build_bitfield_integer_type
11022 rather than waiting for finish_struct.
11023 (grok_typename, grok_typename_in_parm_context, start_decl,
11024 push_parmdecl, grokfield, start_function): Update calls to
11025 grokdeclarator.
11026 (build_bitfield_integer_type): New function.
11027 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 11028 and build_bitfield_integer_type.
8469e54e
NB
11029 * tree.c (build_nonstandard_integer_type): New function.
11030 * tree.h (build_nonstandard_integer_type): New prototype.
11031objc:
11032 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
11033
ffdeea47
JJ
110342002-01-29 Jakub Jelinek <jakub@redhat.com>
11035
11036 PR other/1502:
11037 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
11038 don't ignore unrecognized -W* options.
11039 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
11040 * cpplib.h (cpp_handle_option): Adjust prototype.
11041 * c-decl.c (c_decode_options): Pass 0 as last argument to
11042 cpp_handle_option.
11043
11044 PR c/2896:
11045 * gcc.c (cpp_unique_options): Split from cpp_options.
11046 (cpp_options): Source cpp_unique_options.
11047 (default_compilers): Use cpp_unique_options instead of cpp_options
11048 when used together with cc1_options.
11049 (static_specs): Add cpp_unique_options.
11050 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
11051 when used together with cc1_options.
11052
1a275226
KH
110532002-01-29 Kazu Hirata <kazu@hxi.com>
11054
11055 * config/h8300/h8300-protos.h: Update the prototype of
11056 output_a_shift.
11057 * config/h8300/h8300.c (output_a_shift): Remove an unused
11058 argument 'insn'. Remove redundant code.
11059 * config/h8300/h8300.md: Adust to the new prototype of
11060 output_a_shift.
11061
a11d9dfc
KH
110622002-01-29 Kazu Hirata <kazu@hxi.com>
11063
11064 * config/h8300/h8300-protos.h: Update the prototypes of
11065 emit_a_rotate and expand_a_rotate.
11066 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
11067 first argument to 'enum rtx_code'.
11068 (expand_a_rotate): Likewise.
11069
871f73e3
KH
110702002-01-28 Kazu Hirata <kazu@hxi.com>
11071
11072 * config/h8300/h8300-protos.h: Update the prototype of
11073 output_simode_bld.
11074 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
11075 'log2'.
11076 * config/h8300/h8300.md: Adjust to the new prototype.
11077
5fc4b751
KH
110782002-01-28 Kazu Hirata <kazu@hxi.com>
11079
11080 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
11081 redundant code.
11082
2d67bd7b
JDA
110832002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
11084
11085 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
11086 is a fixed register before returning pic_offset_table_rtx.
11087 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
11088 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
11089
5a852b3e
JM
110902002-01-28 Jason Merrill <jason@redhat.com>
11091
6bb28965 11092 * dwarf2.h: Sync with src version.
5a852b3e 11093
3bca17dd
PK
110942002-01-28 Paul Koning <pkoning@equallogic.com>
11095
11096 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
11097 BT_FN_VOID_PTR_VAR.
11098 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
11099 * doc/extend.texi (__builtin_prefetch): Update documentation:
11100 first argument is now const void ptr.
11101
7dc3f8c0
KH
111022002-01-28 Kazu Hirata <kazu@hxi.com>
11103
11104 * config/h8300/h8300-protos.h: Remove an unused prototype.
11105
e83cb5f0
RZ
111062002-01-28 Roman Zippel <zippel@linux-m68k.org>
11107
11108 * toplev.c (lang_independent_init): Round up identifier size.
11109
5721cd84
RE
111102002-01-28 Richard Earnshaw <rearnsha@arm.com>
11111
11112 * config.gcc: Revert previous change.
11113
d534119e
AP
111142002-01-28 Andris Pavenis <pavenis@latnet.lv>
11115
11116 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
11117
5a721dab
RE
111182002-01-28 Richard Earnshaw <rearnsha@arm.com>
11119
11120 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
11121 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
11122 other non-elf netbsd config frags.
11123 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
11124 collect2 will does that.
11125 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
11126 shared-lib frobbing will work.
11127
da1775d6
KH
111282002-01-28 Kazu Hirata <kazu@hxi.com>
11129
11130 * config/h8300/h8300.h: Fix formatting.
11131 * config/h8300/h8300.md: Likewise.
11132
8f2e963b
LR
111332002-01-28 Loren J. Rittle <ljrittle@acm.org>
11134
11135 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
11136 the old, removed AAA_standards fix.
11137 * fixinc/fixincl.x: Rebuilt.
11138
fdae5767
HPN
111392002-01-28 Hans-Peter Nilsson <hp@axis.com>
11140
11141 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
11142 atexit call in crtbegin, hooked in after call to frame_dummy;
11143 register EH before registering __fini__start.
11144
2a2ecb63
AH
111452002-01-28 Aldy Hernandez <aldyh@redhat.com>
11146
11147 * config/rs6000/altivec.h: Remove spurious semicolons.
11148
8ed43adf
KH
111492002-01-27 Kazu Hirata <kazu@hxi.com>
11150
11151 * config/h8300/h8300.md: Replace dead bit extraction patterns
11152 with ones that work.
11153
917afb0c
RK
11154Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11155
11156 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
11157 if not STRICT_ALIGNMENT.
11158 * rtl.h (MEM_ALIGN): Likewise.
11159
f70a54cb
CR
111602002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
11161
11162 * doc/invoke.texi (-fdump-translation-unit): Revert this
11163 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
11164
d8fd4914
KH
111652002-01-27 Kazu Hirata <kazu@hxi.com>
11166
11167 * config/h8300/h8300.md (define_constants): New.
11168 (anonymous patterns) Use defined constants appropriately.
11169
15e0e275
KH
111702002-01-27 Kazu Hirata <kazu@hxi.com>
11171
11172 * config/h8300/h8300.c (function_arg): Remove redundant code.
11173
37a0f8a5
RH
111742002-01-26 Richard Henderson <rth@redhat.com>
11175
11176 * sched-deps.c (reg_pending_uses_head): New.
11177 (reg_pending_barrier): Rename from reg_pending_sets_all.
11178 (find_insn_list): Don't mark inline.
11179 (find_insn_mem_list): Remove.
11180 (add_dependence_list, add_dependence_list_and_free): New.
11181 (flush_pending_lists): Replace only_write param with separate
11182 for_read and for_write parameters. Update all callers. Use
11183 add_dependence_list_and_free.
11184 (sched_analyze_1): Do not add reg dependencies here; just set
11185 the pending bits. Use add_dependence_list.
11186 (sched_analyze_2): Likewise.
11187 (sched_analyze_insn): Replace schedule_barrier_found with
11188 reg_pending_barrier. Add all dependencies for pending reg
11189 uses, sets, and clobbers.
11190 (sched_analyze): Don't add reg dependencies for calls, just
11191 set pending bits. Use regs_invalidated_by_call. Treat
11192 sched_before_next_call as a normal list, not a fake insn.
11193 (init_deps): No funny init for sched_before_next_call.
11194 (free_deps): Free pending mems lists. Don't zero reg_last.
11195 (init_deps_global): Init reg_pending_uses.
11196 (finish_deps_global): Free it.
11197 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
11198 (find_insn_mem_list): Remove.
11199 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
11200 (propagate_deps): Use them. Zero temp mem lists.
11201
cea3bd3e
RH
112022002-01-26 Richard Henderson <rth@redhat.com>
11203
11204 * Makefile.in (CRTSTUFF_CFLAGS): New.
11205 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
11206 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
11207 crtstuff.c instead of alpha assembly version.
11208 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
11209 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
11210 not FORCE_{INIT,FINI}_SECTION_ALIGN.
11211 (__do_global_dtors_aux): Mark used.
11212 (frame_dummy, __do_global_ctors_aux): Mark used.
11213 (fini_dummy, init_dummy): Remove.
11214
11215 * config/alpha/crtbegin.asm: Remove file.
11216 * config/alpha/crtend.asm: Remove file.
11217 * config/alpha/t-crtbe: Remove file.
11218 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
11219 (LINK_EH_SPEC): New.
11220
11221 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
11222 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
11223 calling constructors.
11224 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
11225
11226 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
11227 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
11228 CRT_END_INIT_DUMMY hack.
11229 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
11230 FORCE_{INIT,FINI}_SECTION_ALIGN.
11231
11232 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
11233 FORCE_{INIT,FINI}_SECTION_ALIGN.
11234
11235 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
11236 invocation sequence.
11237 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
11238
11239 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
11240 (FORCE_CODE_SECTION_ALIGN): New.
11241
60ffa0e5
RH
112422002-01-26 Richard Henderson <rth@redhat.com>
11243
11244 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
11245
61334ebe
RH
112462002-01-26 Richard Henderson <rth@redhat.com>
11247
11248 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
11249 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
11250
1d788fb6
KH
112512002-01-26 Kazu Hirata <kazu@hxi.com>
11252
11253 * config/h8300/h8300.md: Remove bit extraction patterns that
11254 cannot be triggered.
11255 Restrict each bit extraction pattern to a variant on which the
11256 pattern is tested.
11257
87611f88
JM
112582002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
11259
11260 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
11261
cd74ec59
KH
112622002-01-26 Kazu Hirata <kazu@hxi.com>
11263
11264 * config/h8300/h8300.md: Remove bit test patterns that cannot
11265 be triggered.
11266 Restrict each bit test pattern to a variant on which the
11267 pattern is tested.
11268
93051e0f
KG
112692002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11270
11271 * builtins.c (expand_builtin_strncat): Remove redundant check for
11272 INTEGER_CST.
11273
216c995f
DB
112742002-01-25 David O'Brien <obrien@FreeBSD.org>
11275
11276 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
11277 default setting.
11278 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
11279 existing setting.
11280
33c7f925
GK
112812002-01-25 Geoffrey Keating <geoffk@redhat.com>
11282
11283 * dbxout.c (dbxout_init): Use assemble_name rather than just
11284 stripping off the first character.
11285 (dbxout_source_file): Likewise.
11286
6cd444b4
DD
112872002-01-25 DJ Delorie <dj@redhat.com>
11288
11289 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
11290 using rtx_equal_p, not by comparing pointers.
11291
751551d5
SE
112922002-01-25 Steve Ellcey <sje@cup.hp.com>
11293
11294 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
11295 for PIC_OFFSET_TABLE_REGNUM.
11296 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
11297
e564e618
DB
112982002-01-25 David O'Brien <obrien@FreeBSD.org>
11299
11300 * config.gcc (x86_64-*-freebsd*): New target.
11301 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
11302 value.
11303 (i[34567]86-*-freebsd*): Don't include svr4.h.
11304 * config/i386/freebsd64.h: New file.
11305
ff3aaf17
DR
113062002-01-25 Douglas B Rupp <rupp@gnat.com>
11307
4857d29d
DR
11308 * config/alpha/x-vms (version): Make static.
11309
11310 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
11311 in previous checkin.
11312
ff3aaf17
DR
11313 * Makefile.in (install-headers-cp): New target.
11314 * config.gcc (alpha-dec-*vms*): Install headers with
11315 install-headers-cp
11316
48d79c43
JH
11317Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
11318
11319 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
11320 avoid it's copies.
11321
995b5904
RK
11322Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11323
11324 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
11325 of compare_tree_int.
11326 (expand_builtin_strncat): Likewise.
11327 * c-decl.c (finish_struct): Use tree_low_cst.
11328 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
11329 * tree.c (compare_tree_int): Likewise.
11330
75eefe3f
UW
113312002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
11332
11333 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
11334 adjustments even if they are implemented by more than two insns.
11335
5a133afd
JH
11336Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
11337
995b5904 11338 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
11339 * df.h (struct ref): Kill B.
11340 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
11341
11342 * basic-block.h (PROP_EQUAL_NOTES): New flag.
11343 * flow.c (propagate_one_insn): Use it.
11344 (mark_used_regs): Handle NIL.
11345
ead39bdf 113462002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
11347
11348 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
11349 to help folding.
11350
01a2ccd0
DE
113512002-01-25 David Edelsohn <edelsohn@gnu.org>
11352
11353 * rs6000.md (prefetch): Make address V4SI mode so that the address
11354 is restricted to legitimate form for instruction.
11355
fd29f6ea
BW
113562002-01-25 Bob Wilson <bob.wilson@acm.org>
11357
11358 * doc/install.texi (xtensa-*-elf): New target.
11359 (xtensa-*-linux*): New target.
11360 * doc/contrib.texi: Add myself.
11361
55492b32
NC
113622002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
11363
11364 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
11365 purpose register to hold an SImode (or smaller) value.
11366
72c7c913
JJ
113672002-01-25 Jakub Jelinek <jakub@redhat.com>
11368
11369 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
11370 registry only.
11371 * crtstuff.c: Likewise.
11372
c4df4ceb
KH
113732002-01-25 Kazu Hirata <kazu@hxi.com>
11374
11375 * config/h8300/h8300.md (negation patterns): Tighten
11376 predicates to register_operand.
11377
70e531f5
AH
113782002-01-24 Aldy Hernandez <aldyh@redhat.com>
11379
3bca17dd
PK
11380 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
11381 mode, not Pmode.
70e531f5 11382
3bca17dd 11383 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 11384
a4f76ef9
AO
113852002-01-24 Alexandre Oliva <aoliva@redhat.com>
11386
11387 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
11388 modes.
11389
9bf25b09
KH
113902002-01-24 Kazu Hirata <kazu@hxi.com>
11391
11392 * config/h8300/h8300.c (print_operand): Remove support for
11393 operand character 'A'.
11394 * config/h8300/h8300.md (three anonymous patterns): Replace
11395 operand character 'A' with either 'T' or 'S'.
11396
974af6a5
KH
113972002-01-24 Kazu Hirata <kazu@hxi.com>
11398
11399 * config/h8300/h8300.c (print_operand): Remove support for
11400 operand character 'U'.
11401
7a5bb7b8
AP
114022002-01-24 Andris Pavenis <pavenis@latnet.lv>
11403
3bca17dd 11404 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 11405
92a4639e
NC
114062002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
11407
11408 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
11409 values to be assigned to the stack pointer.
11410
467cb2da
HP
114112002-01-14 Hartmut Penner <hpenner@de.ibm.com>
11412
bebc7e8b 11413 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
11414 to const_double needs to be done right for big-endian systems.
11415
3b6cb920
JM
114162002-01-24 Jason Merrill <jason@redhat.com>
11417
b08dd119 11418 PR c++/2432
3b6cb920
JM
11419 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
11420 to can_throw_internal.
11421
f3077311
RH
114222002-01-23 Richard Henderson <rth@redhat.com>
11423
11424 * fold-const.c (fold): Change UINT_MAX test to check vs precision
11425 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
11426
e1d71275
AO
114272002-01-24 Alexandre Oliva <aoliva@redhat.com>
11428
11429 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
11430 (symGOT2reg): Use them, then set as GOT value as unchanging.
11431 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
11432 as a temporary, if possible.
11433 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
11434 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
11435
dc271dbe
KH
114362002-01-23 Kazu Hirata <kazu@hxi.com>
11437
11438 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
11439 accept to accept 0x80 as operands[2].
11440
1a9017f9
AO
114412002-01-24 Alexandre Oliva <aoliva@redhat.com>
11442
11443 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
11444
6932f033
RH
114452002-01-23 Richard Henderson <rth@redhat.com>
11446
11447 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
11448
709619d9
AH
114492002-01-23 Aldy Hernandez <aldyh@redhat.com>
11450
3bca17dd
PK
11451 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
11452 (parmlist_or_identifiers_1): Verify that only a parmlist follows
11453 an attribute.
709619d9 11454
3d709fd3
RH
114552002-01-23 Richard Henderson <rth@redhat.com>
11456
11457 * expr.c (move_by_pieces_1): Extend size before negation.
11458
88a446c0
RH
11459 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
11460 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
11461 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
11462 * config/m68k/t-m68kelf: Likewise.
11463
03984308
BW
114642002-01-23 Bob Wilson <bob.wilson@acm.org>
11465
11466 * config/xtensa/elf.h: New file.
11467 * config/xtensa/lib1funcs.asm: New file.
11468 * config/xtensa/lib2funcs.S: New file.
11469 * config/xtensa/linux.h: New file.
11470 * config/xtensa/t-xtensa: New file.
11471 * config/xtensa/xtensa-config.h: New file.
11472 * config/xtensa/xtensa-protos.h: New file.
11473 * config/xtensa/xtensa.c: New file.
11474 * config/xtensa/xtensa.h: New file.
11475 * config/xtensa/xtensa.md: New file.
11476 * config.gcc (xtensa-*-elf*): New target.
11477 (xtensa-*-linux*): New target.
11478 * cse.c (canon_hash): Compare rtx pointers instead of register
11479 numbers. This is required for the Xtensa port.
11480 * integrate.c (copy_insn_list): Handle case where the static
11481 chain is in memory and the memory address has to be copied to
11482 a register.
11483 * doc/invoke.texi (Option Summary): Add Xtensa options.
11484 (Xtensa Options): New node.
11485 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
11486
c3d5c3fa
ZW
114872002-01-23 Zack Weinberg <zack@codesourcery.com>
11488
a63bea75
ZW
11489 * diagnostic.c (internal_error): Do ICE suppression only
11490 when ENABLE_CHECKING is not defined.
11491
c3d5c3fa
ZW
11492 * c-typeck.c (require_complete_type): Return error_mark_node
11493 if type is error_mark_node.
11494
1398974c
JJ
114952002-01-23 Janis Johnson <janis187@us.ibm.com>
11496
11497 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
11498 -Os and issue a warning.
11499
807633e5
ZW
115002002-01-23 Zack Weinberg <zack@codesourcery.com>
11501
11502 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
11503 current (lack of) need for host configuration by hand.
11504
11505 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
11506 references. Documentation of some target macros moved from
11507 hostconfig.texi to tm.texi.
11508
cf8002d0
WC
115092002-01-23 Will Cohen <wcohen@redhat.com>
11510
11511 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
11512 defined.
11513
d1e76310
KH
115142002-01-23 Kazu Hirata <kazu@hxi.com>
11515
11516 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
11517 operand[3].
11518
b2115575
JM
115192002-01-23 Jason Merrill <jason@redhat.com>
11520
f893c16e
JM
11521 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
11522
b2115575
JM
11523 * function.c (assign_parms): Don't put args of inline functions
11524 into registers when not optimizing.
11525
6bacc7b0
NC
115262002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
11527
11528 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
11529 (prologue_use): New pattern.
11530 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
11531 preference to gen_rtx_USE.
11532 (thumb_expand_prologue): Use gen_prologue_use in preference to
11533 gen_rtx_USE.
11534 (thumb_expand_epilogue): Use gen_prologue_use in preference to
11535 gen_rtx_USE.
11536
a415f7bc
HPN
115372002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
11538
11539 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
11540
5372b3fb
NB
115412002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
11542
11543 PR c/3504
11544 * doc/extend.texi: Correct documentation of __alignof__.
11545
bd571ffc
ZW
115462002-01-22 Zack Weinberg <zack@codesourcery.com>
11547
11548 * params.h: Rename arguments of DEFPARAM so that it will be
11549 recognized as a translation keyword.
11550
333c8841
AH
115512002-01-22 Aldy Hernandez <aldyh@redhat.com>
11552
bd571ffc
ZW
11553 * extend.texi: Document altivec functions.
11554 Fix N-bit adjectives in X86 builtin documentation.
333c8841 11555
38979c65
AO
115562002-01-22 Alexandre Oliva <aoliva@redhat.com>
11557
11558 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
11559 auto_inc_dec values.
11560
7458a9f0
RE
115612002-01-22 Richard Earnshaw <rearnsha@arm.com>
11562
11563 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
11564 after backslash.
11565 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
11566
129bd0c4
AO
115672002-01-22 Alexandre Oliva <aoliva@redhat.com>
11568
11569 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
11570
8b9b74a9
RH
115712002-01-22 Richard Henderson <rth@redhat.com>
11572
11573 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
11574 copy_insn not copy_rtx.
11575
d0c9db30
AM
115762002-01-23 Alan Modra <amodra@bigpond.net.au>
11577
11578 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
11579 "nonzero" as that might add "1" bits. Ensure "constop" is
11580 properly sign extened.
11581 (force_to_mode): Tweak for sign extended constop.
11582
1e7e480e
RH
115832002-01-22 Richard Henderson <rth@redhat.com>
11584
11585 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
11586 for_each_rtx instead of assuming we're already looking at the MEM.
11587 (split_small_symbolic_mem_operand): Likewise.
11588 * config/alpha/alpha.h (PREDICATE_CODES): Update.
11589 * config/alpha/alpha.md (small symbolic memory splitters): Update.
11590
115912002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
11592
11593 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
11594 sequence number for the literal.
11595 (divmoddi_internal_er): Likewise.
11596
b7f2fb96
CR
115972002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
11598
11599 PR java/4972
11600 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
11601 in LIBICONV variable.
11602 * configure: Regenerated.
11603
f66a0046
KW
116042002-01-22 Krister Walfridsson <cato@df.lth.se>
11605
11606 * dependence.c (build_def_use): Remove array_idx.
11607
e3b0efd1
KW
11608 * dwarfout.c (last_filename): Remove.
11609 (output_compile_unit_die): Remove last_filename.
11610
d8086cbb
RS
116112002-01-22 Roger Sayle <roger@eyesopen.com>
11612 Richard Henderson <rth@redhat.com>
11613
11614 PR opt/3640
11615 * fold-const.c (fold): Optimize unsigned comparisons against
11616 UINT_MAX (and similar unsigned constants).
11617
e8d52ba0
JJ
116182002-01-22 Janis Johnson <janis187@us.ibm.com>
11619
d8086cbb 11620 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 11621 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 11622 against the predicate.
11303d15 11623
e8d52ba0
JJ
11624 PR target/5379
11625 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
11626 for the address operand.
11627
cc7b420e
RH
116282002-01-22 Richard Henderson <rth@redhat.com>
11629
11630 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
11631
816e265a
CR
116322002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
11633
11634 PR other/5450
cc7b420e
RH
11635 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
11636 preprocessor flags.
816e265a 11637
7c884404
JT
116382002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
11639
11640 * config.gcc (x86_64-*-netbsd*): New target.
11641 * config/i386/netbsd64.h: New file.
11642
2b672c08
AH
116432002-01-22 Aldy Hernandez <aldyh@redhat.com>
11644
d8086cbb 11645 * regrename.c (kill_value): Fix typo.
2b672c08
AH
11646
116472002-01-22 Aldy Hernandez <aldyh@redhat.com>
11648
d8086cbb 11649 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 11650
d8086cbb 11651 * config/rs6000/rs6000.h: Same.
2b672c08 11652
d8086cbb
RS
11653 * function.c (instantiate_virtual_regs): Remove
11654 STARTING_FRAME_PHASE.
11655 (assign_stack_local_1): Same.
11656 Calculate frame phase.
2b672c08 11657
4b02997f
NC
116582002-01-22 Nick Clifton <nickc@redhat.com>
11659
11660 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
11661 variable declaration to outer scope in order to simplify
11662 future extensions.
11663 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
11664 arm_hard_regno_mode_ok.
11665 * config/arm/arm-protos.h: Add a prototype for
11666 arm_hard_regno_mode_ok.
11667 * config/arm/arm.c (soft_df_operand): Remove now redundant
11668 check for DImode values using IP_REGNUM.
11669 (nonimmediate_soft_df_operand): Remove now redundant check for
11670 DImode values using IP_REGNUM.
11671 (arm_hard_regno_mode_ok): New function. New check: make sure
11672 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
11673
11674 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
11675 note with a USE.
11676 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
11677
8a827ab2
JM
116782002-01-22 Jason Merrill <jason@redhat.com>
11679
11680 * c-semantics.c (genrtl_compound_stmt): Only check nesting
11681 consistency if this COMPOUND_STMT is scoped.
11682
cf403648
KH
116832002-01-22 Kazu Hirata <kazu@hxi.com>
11684
11685 * predict.c: Fix formatting.
11686 * print-tree.c: Likewise.
11687 * protoize.c: Likewise.
11688 * real.h: Likewise.
11689 * rtl.h: Likewise.
11690 * sbitmap.h: Likewise.
11691 * scan.c: Likewise.
11692 * sched-deps.c: Likewise.
11693 * sched-vis.c: Likewise.
11694 * sdbout.c: Likewise.
11695 * sibcall.c: Likewise.
11696 * ssa.c: Likewise.
11697 * ssa-ccp.c: Likewise.
11698 * ssa-dce.c: Likewise.
11699 * stmt.c: Likewise.
11700 * stor-layout.c: Likewise.
11701 * system.h: Likewise.
11702
aea9695c
RK
11703Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11704
a8765ae7
RK
11705 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
11706 if fits in bounds of base type.
11707
aea9695c
RK
11708 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
11709 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
11710 (add_bound_info, default): If can't find a context, make a
11711 SAVE_EXPR.
11712 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
11713
58bf601b
HPN
117142002-01-22 Hans-Peter Nilsson <hp@axis.com>
11715
11716 * c-typeck.c (parser_build_binary_op): If result from
11717 build_binary_op is ERROR_MARK just return error_mark_node without
11718 further processing.
11719
f982f805
JT
117202002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
11721
11722 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
11723 Split a.out-specific bits into...
11724 * config/netbsd-aout.h: ...this.
11725 * config/netbsd-elf.h: New file.
11726 * config/alpha/netbsd-elf.h: Remove.
11727 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
11728 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 11729 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
11730 (ENDFILE_SPEC): Likewise.
11731 (LINK_SPEC): Likewise.
11732 (CPP_SPEC): Likewise.
11733 (ASM_SPEC): Likewise.
11734 (LIB_SPEC): Likewise.
11735 (SWITCH_TAKES_ARG): Likewise.
11736 (TARGET_MEM_FUNCTIONS): Likewise.
11737 (CPP_PREDEFINES): Redefine.
11738 (ASM_FINAL_SPEC): Remove redefinition.
11739 (ASM_COMMENT_START): Redefine.
11740 (FUNCTION_PROFILER): Define.
11741 (TARGET_VERSION): Redefine.
11742 Comment and formatting cleanup.
11743 * config/i386/netbsd.h: Include <netbsd-aout.h>.
11744 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
11745 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
11746 big- or little-endian.
11747 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
11748 * config.gcc (*-*-netbsd*): Add definitions common to all
11749 NetBSD configs.
11750 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
11751 gnu_ld definitions. Add netbsd-elf.h to and remove
11752 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
11753 tmake_file, and don't lose previous tmake_file contents.
11754 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
11755 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
11756 gnu_ld definitions. Add netbsd-elf.h to tm_file.
11757 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
11758 (mipsel-*-netbsd*): Rename this to...
11759 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
11760 mips/little.h to tm_file for mips*el-*.
11761 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
11762 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
11763 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
11764
2e396476
JDA
117652002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
11766
11767 * pa-protos.h (reg_before_reload_operand): New function prototype.
11768 * pa.c (reg_before_reload_operand): New function implementation.
11769 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
11770 contraints to "*m".
11771
3b5708e7
FS
117722002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11773
11774 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
11775
85e79f96
JDA
117762002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
11777
11778 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
11779 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
11780 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
11781 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
11782 (ENDFILE_SPEC): Undefine.
11783 (STARTFILE_SPEC): Redefine for PA.
11784
38abadee
FS
117852002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11786
11787 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
11788
94f1d97c
DJ
117892002-01-21 Daniel Jacobowitz <drow@mvista.com>
11790
11791 * config.gcc: Add entries to supported PowerPC --with-cpu
11792 types.
11793
0333394e
JJ
117942002-01-21 Jakub Jelinek <jakub@redhat.com>
11795
11796 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
11797 true for 64-bit mode only SSE registers in 32-bit mode.
11798
e9d1b155
KH
117992002-01-21 Kazu Hirata <kazu@hxi.com>
11800
11801 * unwind-dw2.c: Fix formatting.
11802 * unwind-dw2-fde.c: Likewise.
11803 * unwind-dw2-fde.h: Likewise.
11804 * unwind-pe.h: Likewise.
11805 * varasm.c: Likewise.
11806 * varray.h: Likewise.
11807
07338cf8
HPN
118082002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
11809
11810 Remove workaround for register stack overwrite bug in mmix.
11811 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
11812 support for TARGET_REG_STACK_FILL_BUG.
11813 * config/mmix/mmix.h: Remove member has_call_without_parameters.
11814 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
11815 Delete.
11816 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
11817 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
11818 -mno-reg-stack-fill-bug-workaround.
11819 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
11820 machine member has_call_without_parameters.
11821 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
11822 -mreg-stack-fill-bug-workaround and
11823 -mno-reg-stack-fill-bug-workaround.
11824 (MMIX Options): Ditto.
11825
7192cbf1
KH
118262002-01-21 Kazu Hirata <kazu@hxi.com>
11827
11828 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
11829 as appropriate.
11830 Remove redundant code.
11831
d1552d7b
JM
118322002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
11833
11834 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
11835 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
11836 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
11837 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
11838 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
11839 out target macro definitions and non-target-specific comments
11840 mostly taken from old versions of the manual.
11841
ed168e45
KH
118422002-01-20 Kazu Hirata <kazu@hxi.com>
11843
11844 * config/h8300/h8300.h: Fix comment formatting.
11845 * config/ia64/aix.h: Likewise.
11846 * config/ia64/ia64-protos.h: Likewise.
11847 * config/ia64/ia64.c: Likewise.
11848 * config/ia64/ia64.h: Likewise.
11849 * config/ia64/ia64intrin.h: Likewise.
11850 * config/ia64/linux.h: Likewise.
11851 * config/ia64/unwind-aix.c: Likewise.
11852 * config/ia64/unwind-ia64.c: Likewise.
11853
005e3e05
KH
118542002-01-20 Kazu Hirata <kazu@hxi.com>
11855
11856 * config/h8300/h8300.c: Revise comments about shift code.
11857
64bead4c
KH
118582002-01-20 Kazu Hirata <kazu@hxi.com>
11859
11860 * config/h8300/h8300.c (function_arg): Update a comment.
11861
ed863595
KH
118622002-01-20 Kazu Hirata <kazu@hxi.com>
11863
11864 * config/h8300/h8300.md: Update the comments at the beginning
11865 of the file.
11866
5904dc87
KH
118672002-01-20 Kazu Hirata <kazu@hxi.com>
11868
11869 * config/i370/i370.c: Fix comment formatting.
11870 * config/i370/i370.h: Likewise.
11871 * config/i370/i370.md: Likewise.
11872 * config/i370/linux.h: Likewise.
11873
9702143f
RK
11874Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11875
cbafacd1
RK
11876 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
11877
9702143f
RK
11878 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
11879 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
11880 in incomplete case.
11881
6b6996b8
GS
118822002-01-20 Graham Stott <grahams@redhat.com>
11883
11884 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
11885
eab854f6
JDA
118862002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
11887
11888 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
11889
5b029315
TR
118902002-01-19 Tom Rix <trix@redhat.com>
11891
11892 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
11893
1d690052
AH
118942002-01-18 Aldy Hernandez <aldyh@redhat.com>
11895
d8086cbb 11896 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 11897
d8086cbb
RS
11898 * function.c (assign_stack_local_1): Adjust x_frame_offset with
11899 STARTING_FRAME_PHASE.
11900 (STARTING_FRAME_PHASE): New.
11901 (instantiate_virtual_regs): Check saneness of
11902 STARTING_FRAME_PHASE.
1d690052 11903
d8086cbb 11904 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 11905
4dd8c093
AO
119062002-01-19 Alexandre Oliva <aoliva@redhat.com>
11907
11908 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
11909
6f2a28d7
CR
119102002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
11911
11912 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
11913 be used for bootstrapping GCC 3.0.
11914
8763a465
KH
119152002-01-18 Kazu Hirata <kazu@hxi.com>
11916
11917 * config/h8300/h8300.md: Fix an insn length.
11918
3ef42a0c
KH
119192002-01-18 Kazu Hirata <kazu@hxi.com>
11920
11921 * bitmap.h: Fix comment formatting.
11922 * combine.c: Likewise.
11923 * cppfiles.c: Likewise.
11924 * c-pragma.h: Likewise.
11925 * c-typeck.c: Likewise.
11926 * df.c: Likewise.
11927 * dwarf2out.c: Likewise.
11928 * function.c: Likewise.
11929 * gcc.c: Likewise.
11930 * genattrtab.c: Likewise.
11931 * gthr-win32.h: Likewise.
11932 * haifa-sched.c: Likewise.
11933 * predict.c: Likewise.
11934 * rtlanal.c: Likewise.
11935 * rtl.h: Likewise.
11936 * unwind-dw2-fde.h: Likewise.
11937 * unwind-pe.h: Likewise.
11938 * vmsdbgout.c: Likewise.
11939
dd4dc3cd
RK
11940Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11941
11942 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
11943 if type_required and passed decl.
11944
5fb4cf24
AH
119452002-01-17 Aldy Hernandez <aldyh@redhat.com>
11946
d8086cbb
RS
11947 * config.gcc (cpu_type): Include altivec.h in powerpc
11948 extra_headers.
11949 Same for darwin.
5fb4cf24 11950
d8086cbb 11951 * config/rs6000/altivec.h: New.
5fb4cf24 11952
2705baf5
DE
119532002-01-17 David Edelsohn <edelsohn@gnu.org>
11954
11955 * doc/install.texi (*-ibm-aix*): Update assembler and exception
11956 handling information.
11957 * doc/trouble.texi (Interoperation): Add libstdc++ information
11958 for AIX.
11959 (Misunderstandings): Add template instantiation and static template
11960 member information for AIX.
11961
dbd680e1
JM
119622002-01-17 Jason Merrill <jason@redhat.com>
11963
821adc5e
JM
11964 * dbxout.c (dbxout_type): Support const and volatile.
11965
dbd680e1
JM
11966 * except.c (add_partial_entry): Remove backwards compatibility code.
11967 (end_protect_partials): Likewise.
11968
d0e82870
JJ
119692002-01-17 Jakub Jelinek <jakub@redhat.com>
11970
11971 * config/ia64/ia64.md (prologue_use): New.
11972 * config/ia64/ia64.c (ia64_expand_prologue): Use
11973 gen_prologue_use instead of gen_rtx_USE.
11974 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
11975 as CODE_FOR_pred_rel_mutex.
11976 (ia64_sched_reorder2): Likewise.
11977
f9f45c65
EC
119782002-01-16 Eric Christopher <echristo@redhat.com>
11979
11980 * config/mips/r3900.h: Reformat.
11981 (SUBTARGET_CPP_SIZE_SPEC): Remove.
11982 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
11983 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
11984 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
11985 * config/mips/t-elf: Remove mips3 multilib.
11986
c66c8b0e
L
119872002-01-16 H.J. Lu <hjl@gnu.org>
11988
11989 * config/mips/linux.h: Include "mips/abi64.h".
11990
5f083b72
L
119912002-01-16 H.J. Lu <hjl@gnu.org>
11992
11993 * config/mips/t-linux: New.
11994
11995 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
11996
11997 * config/mips/linux.h: Don't include "gofast.h".
11998 (INIT_SUBTARGET_OPTABS): Removed.
11999
af3c90a6
KH
120002002-01-16 Kazu Hirata <kazu@hxi.com>
12001
12002 * config/h8300/h8300-protos.h: Replace emit_a_shift with
12003 output_a_shift.
12004 * config/h8300/h8300.c: Likewise.
12005 * config/h8300/h8300.md: Likewise.
12006
a1bf0a16
KH
120072002-01-16 Kazu Hirata <kazu@hxi.com>
12008
12009 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
12010 spaces after an opcode name.
12011 (pushqi1_h8300hs): Likewise.
12012 (pushhi1_h8300hs): Likewise.
12013
88ab0d1c
KH
120142002-01-16 Kazu Hirata <kazu@hxi.com>
12015
12016 * doc/extend.texi: Replace "option" with "attribute"
12017 appropriately.
12018
51c561e3
JJ
120192002-01-16 Jakub Jelinek <jakub@redhat.com>
12020
12021 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
12022 (and:DI () (const_int -8)).
12023 (split_small_symbolic_mem_operand): Split
12024 (mem (and:DI () (const_int -8)).
12025
b8c1a6b8
JJ
120262002-01-16 Jakub Jelinek <jakub@redhat.com>
12027
12028 PR target/5309:
d8086cbb 12029 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
12030 same way as TYPE_IMUL.
12031 (ultrasparc_sched_reorder): Likewise.
12032 * config/sparc/sparc.md (type): Add comment to update
12033 ultrasparc_sched_reorder when making changes.
12034
1e4e4df2
KH
120352002-01-16 Kazu Hirata <kazu@hxi.com>
12036
12037 * doc/invoke.texi: Change the dump file name of block
12038 reordering pass from 28.bbro to 29.bbro.
12039 Mention -dk option.
12040
14d920c0
JH
12041Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
12042
12043 * i386.md (minsf splitter): Fix pasto.
12044
2e99323f
NC
120452002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
12046
12047 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
12048 to frame pointer initialisation instruction.
12049 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
12050 initialisation instruction.
ab8081c1
NC
12051 (soft_df_operand): Do not accept the IP register.
12052 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 12053
c4031a04
JJ
120542002-01-16 Jakub Jelinek <jakub@redhat.com>
12055
12056 PR target/5357:
12057 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
12058 MASK_V8 being both set.
12059
44b8152b
UW
120602002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
12061
12062 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
12063 insn for GOT register; add REG_MAYBE_DEAD notes instead.
12064 config/s390/s390.md (call, call_value): Add GOT register to
12065 CALL_INSN_FUNCTION_USAGE where needed.
12066 (call_exp, call_value_exp): New.
12067
1d6e90ac
NC
120682002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
12069
12070 * config/arm/arm.c: General formatting tidy up.
12071
120722002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
12073
12074 * calls.c (try_to_integrate): Use "(size_t)" intermediate
12075 cast and when casting an integer literal to "rtx" pointer.
12076 (expand_call): Likewise.
12077 * flow.c (try_pre_increment): Likewise.
12078 (find_use_as_address): Likewise.
12079 * integrate.c (expand_iline_function): Likewise.
12080 * regmove.c (try_auto_increment): Likewise.
12081
1d6e90ac 120822002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
12083
12084 * sched-rgn.c (passed): Use sbitmap_free.
12085 (header): Likewise.
12086 (inner): Likewise.
12087 (in_queue): Likewise.
12088 (in_stack): Likewise.
12089
31fce3c4
EC
120902002-01-15 Eric Christopher <echristo@redhat.com>
12091
12092 * flow.c (propagate_one_insn): Change to use fatal_insn.
12093
c99d986a
KH
120942002-01-15 Kazu Hirata <kazu@hxi.com>
12095
12096 * expmed.c (extract_fixed_bit_field): Remove unused code.
12097 * system.h: Poison SLOW_ZERO_EXTEND.
12098 * doc/tm.texi: Remove.
12099 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
12100 * config/arm/arm.h: Likewise.
12101 * config/avr/avr.h: Likewise.
12102 * config/clipper/clipper.h: Likewise.
12103 * config/convex/convex.h: Likewise.
12104 * config/d30v/d30v.h: Likewise.
12105 * config/dsp16xx/dsp16xx.h: Likewise.
12106 * config/elxsi/elxsi.h: Likewise.
12107 * config/fr30/fr30.h: Likewise.
12108 * config/h8300/h8300.h: Likewise.
12109 * config/i370/i370.h: Likewise.
12110 * config/i386/i386.h: Likewise.
12111 * config/m68k/m68k.h: Likewise.
12112 * config/mips/mips.h: Likewise.
12113 * config/ns32k/ns32k.h: Likewise.
12114 * config/pdp11/pdp11.h: Likewise.
12115 * config/pj/pj.h: Likewise.
12116 * config/s390/s390.h: Likewise.
12117 * config/sh/sh.h: Likewise.
12118 * config/stormy16/stormy16.h: Likewise.
12119 * config/v850/v850.h: Likewise.
12120 * config/vax/vax.h: Likewise.
12121 * config/we32k/we32k.h: Likewise.
12122
acfab996
AH
121232002-01-15 Aldy Hernandez <aldyh@redhat.com>
12124
d8086cbb
RS
12125 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
12126 (altivec_lvsl): Change constraint to b.
12127 (altivec_lvsr): Same.
12128 (altivec_lvebx): Same.
12129 (altivec_lvehx): Same.
12130 (altivec_lvewx): Same.
12131 (altivec_lvxl): Same.
12132 (altivec_lvx): Same.
12133 (altivec_stvx): Add parallel.
12134 (altivec_stvxl): Same.
12135 (altivec_stvehx): Same.
12136 (altivec_stvebx): Same.
12137 (altivec_stvebx): Same.
acfab996 12138
5e505bc9
AH
121392002-01-15 Aldy Hernandez <aldyh@redhat.com>
12140
d8086cbb 12141 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 12142
d8086cbb 12143 * config/rs6000/altivec.h: Delete.
5e505bc9 12144
d8086cbb 12145 * config/rs6000/altivec-defs.h: Add.
5e505bc9 12146
5c41fdfb
JDA
121472002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
12148
12149 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
12150 and UMOD modes.
12151
12152 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
12153 less than or equal to eight bytes.
12154
12155 * vax.md (andsi3): Remove constraints and change SET destination
12156 operand type to nonimmediate_operand.
12157 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
12158 when it is a CONST_INT.
12159
de097a2d
JM
121602002-01-15 Jason Merrill <jason@redhat.com>
12161
12162 * c-common.def (FILE_STMT): New code.
12163 * c-common.c (statement_code_p): It's a statement.
12164 * c-common.h (stmt_tree_s): Add x_last_filename.
12165 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
12166 (last_expr_filename): New macro.
12167 * c-semantics.c (begin_stmt_tree): Initialize it.
12168 (add_stmt): If the filename changed, also insert a
12169 FILE_STMT.
12170 (expand_stmt): Handle seeing one.
12171
4a913dd6
EC
121722002-01-15 Eric Christopher <echristo@redhat.com>
12173
12174 * flow.c (propagate_one_insn): Add error message and print out
12175 insn for debugging.
12176
006946e4
JM
121772002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
12178
12179 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
12180 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
12181 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
12182 TRAMPOLINE_ALIGNMENT.
12183 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
12184 to be in bits.
12185 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
12186 PCC_BITFIELD_TYPE_MATTERS.
12187 * config/interix.h (STDC_VALUE): Remove. Use
12188 STDC_0_IN_SYSTEM_HEADERS.
12189 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
12190 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
12191 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
12192
751a1458
CR
121932002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
12194
12195 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
12196 not work on this platform currently.
12197
57771fe8
JM
121982002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
12199
12200 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
12201 readonly_warning in _().
12202
0e83ceb1 122032002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 12204
0e83ceb1 12205 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 12206
8e2e89f7
KH
122072002-01-15 Kazu Hirata <kazu@hxi.com>
12208
0e83ceb1
DR
12209 * config/h8300/h8300.c (print_operand): Remove support for
12210 unused operand characters.
12211
8e2e89f7
KH
12212 * read-rtl.c: Fix formatting.
12213 * real.c: Likewise.
12214 * recog.c: Likewise.
12215 * regclass.c: Likewise.
12216 * regmove.c: Likewise.
12217 * reg-stack.c: Likewise.
12218 * reload1.c: Likewise.
12219 * rtlanal.c: Likewise.
12220
b531087a
KH
122212002-01-15 Kazu Hirata <kazu@hxi.com>
12222
12223 * config/i386/i386.c: Fix formatting.
12224
7c94ce7f
JJ
122252002-01-15 Jakub Jelinek <jakub@redhat.com>
12226
12227 * c-typeck.c (process_init_element): Don't save_expr
12228 COMPOUND_LITERAL_EXPR if just its initializer will be used.
12229
6041bf2f
DE
122302002-01-15 David Edelsohn <edelsohn@gnu.org>
12231
12232 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
12233 emit optional traceback table if optimize_size or TARGET_ELF.
12234 * config/rs6000/rs6000.md (prefetch): New.
12235
8559c8c0
AJ
122362002-01-15 Andreas Jaeger <aj@suse.de>
12237
12238 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
12239
70f122f2
KH
122402002-01-15 Kazu Hirata <kazu@hxi.com>
12241
12242 * mips-tfile.c: Fix formatting.
12243
6a7b4ca6
JH
12244Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
12245
12246 * unroll.c (final_reg_note_copy): Fix previous commit.
12247
e7afe229
KH
122482002-01-14 Kazu Hirata <kazu@hxi.com>
12249
12250 * config/h8300/h8300-protos.h: Remove the prototype for
12251 eq_operator.
12252 * config/h8300/h8300.c (eq_operator): Remove.
12253
7d378549
RH
122542002-01-14 Richard Henderson <rth@redhat.com>
12255
12256 * config/i386/i386.md (prefetch): Tidy.
12257 (prefetch_3dnow): Fix locality operand.
12258
ab093b81
RH
122592002-01-14 Richard Henderson <rth@redhat.com>
12260
12261 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
12262 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
12263
d300f51f
HPN
122642002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
12265
12266 * reload1.c (reload_combine): Pass reg_sum replacement through
12267 copy_rtx in loop performing multiple changes.
12268
655dd289
JJ
122692002-01-14 Jakub Jelinek <jakub@redhat.com>
12270
12271 * except.c (remove_unreachable_regions): New.
12272 (free_eh_status): Clear exception_handler_labels.
12273 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
12274 (find_exception_handler_labels): Don't add the same label more than
12275 once.
12276 (remove_exception_handler_label): Don't die if
12277 find_exception_handler_labels hasn't been called for the current
12278 function yet.
12279
1fba46a7
JH
12280Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
12281
12282 * toplev.c (rest_of_compilation): Rebuild jump labels after
12283 gcse.
12284
0975678f
JM
122852002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
12286
12287 * doc/extend.texi: Move documentation of X86 built-in functions
12288 here.
12289 * doc/invoke.texi: From here.
12290 * doc/sourcebuild.texi: Document location of documentation for
12291 machine built-in functions.
12292
969815c7
CF
122932002-01-13 Christopher Faylor <cgf@redhat.com>
12294
12295 * cppfiles.c (TEST_THRESHOLD): New macro.
12296 (SHOULD_MMAP): Ditto.
12297 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
12298 be used.
12299
494c950b
JH
12300Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
12301
12302 * unroll.c (final_reg_note_copy): Properly handle
12303 REG_LABEL
12304 (unroll_loops): Fix LOOP_CONDITION heuristics.
12305
69a0611f
GK
123062002-01-14 Geoffrey Keating <geoffk@redhat.com>
12307
12308 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
12309 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
12310
b90e45ae
JH
12311Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
12312
12313 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
12314 threaded loop.
12315
8377288b
TR
123162002-01-14 Tom Rix <trix@redhat.com>
12317
12318 * config/rs6000/rs6000.md: Fix typo with sradi.
12319
9f37ccb1
UW
123202002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
12321
12322 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
12323 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
12324 (clrstrdi, clrstrsi): Adapt callers.
12325
12326 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
12327
8559c8c0 12328 (movti splitter): Never use register 0 as base register.
9f37ccb1 12329
6c2d03d0
HP
123302002-01-14 Hartmut Penner <hpenner@de.ibm.com>
12331
8559c8c0
AJ
12332 * combine.c (simplify_shift_const): Always generate new rtx
12333 for shift expression instead of reusing given expression.
6c2d03d0 12334
d3e98208
RK
12335Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12336
12337 * config/alpha/alpha.c (alpha_expand_mov): Don't call
12338 alpha_legitimize_address unless mode is Pmode.
12339
9f339dde
GK
123402002-01-13 Geoffrey Keating <geoffk@redhat.com>
12341
12342 * doc/md.texi (Modifiers): Document the '*' constraint for the
12343 user.
12344
12345 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
12346 * doc/extend.texi (Function Attributes): 'interrupt' is valid
12347 for xstormy16 too.
12348
02a10130
RH
123492002-01-13 Richard Henderson <rth@redhat.com>
12350
12351 * reload.c (find_reloads): Use a hard reg destination as reload reg
12352 for an input reload of the source.
12353
61d47787
GP
123542002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12355
12356 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
12357 more generic.
12358
f0df8029
DR
12359Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
12360
12361 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
12362 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
12363
d2a37256
DR
12364 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
12365
a9e8a5ee
RK
12366Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12367
12368 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
12369
bc06712d
TR
123702002-01-12 Tom Rix <trix@redhat.com>
12371
8559c8c0 12372 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
12373 TARGET_POWERPC64.
12374
7cbe9bb7
RH
123752002-01-12 Richard Henderson <rth@redhat.com>
12376
38b29e64
RH
12377 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
12378
58605ba0
RH
12379 * doc/invoke.texi: Update Alpha options.
12380
7cbe9bb7
RH
12381 * doc/invoke.texi: Update i386 built-in function lists.
12382
9d560860
JH
12383Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
12384
12385 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
12386 referencing outside.
12387
bb93b973
RK
12388Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12389
12390 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
12391 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
12392 offsets, and change line folding.
12393 * optabs.c (expand_binop): Remove warnings.
12394 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 12395
f9f6b7df
GS
123962002-01-12 Graham Stott <grahams@redhat.com>
12397
12398 * attribs.c (handle_deprecated_attribute): constify WHAT.
12399 * diagnostic.c (warn_deprecated_use): Add braces, fixes
12400 dangling else warning and constify WHAT.
12401 * except.h (struct function, struct inline_remap): Move
12402 struct tag forward defs before all prototypes.
12403 (duplicate_eh_regions): Whitespace.
12404
4a692617
NC
124052002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
12406
12407 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
12408 MODE_BASE_REG_CLASS.
12409 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
12410
e37af218
RH
124112002-01-12 Richard Henderson <rth@redhat.com>
12412
12413 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
12414 (ix86_expand_vector_move): New.
12415 (bdesc_2arg): Remove andps, andnps, orps, xorps.
12416 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
12417 Remove old prefetch builtins. Special case the logicals removed above.
12418 (ix86_expand_builtin): Likewise.
12419 (safe_vector_operand): Use V4SFmode, not TImode.
12420 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
12421 (ix86_expand_timode_binop_builtin): New.
12422 * config/i386/i386-protos.h: Update.
12423 * config/i386/i386.h (enum ix86_builtins): Update.
12424 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
12425 Use ix86_expand_vector_move in vector move expanders.
12426 (movti_internal, movti_rex64): Add xorps alternative.
12427 (sse_clrv4sf): Rename and adjust from sse_clrti.
12428 (prefetch): Don't work so hard.
12429 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
12430 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
12431 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
12432
6f1a6c5b
RH
124332002-01-11 Richard Henderson <rth@redhat.com>
12434
12435 * config/i386/mmintrin.h: New file.
12436 * config/i386/xmmintrin.h: New file.
12437 * config.gcc (i?86-*-*): Add extra_headers.
12438 * simplify-rtx.c (simplify_unary_operation): Handle saturating
12439 truncation codes.
12440 (simplify_binary_operation): Handle saturating arithmetic codes.
12441 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
12442 not the lowpart subreg.
12443 (ix86_expand_builtin): Return a TImode dummy register instead of 0
12444 on error.
12445 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
12446
cdb574d3
MH
124472002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12448
12449 * conflict.c (conflict_graph_compute): Free regsets when finished.
12450 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 12451
cf11ac55
HB
124522002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12453
12454 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
12455 every where we allocate a register.
12456
76ac938b
MH
124572002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12458
12459 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
12460 * lcm.c (compute_earliest, compute_farthest): Likewise.
12461
a84b4898
JJ
124622002-01-11 Janis Johnson <janis187@us.ibm.com>
12463
12464 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
12465
aaef1c12
JJ
124662002-01-11 Janis Johnson <janis187@us.ibm.com>
12467
12468 * doc/rtl.texi (Insns): Fix 2 typos.
12469
5d22c1a5
JM
124702002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
12471
12472 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
12473 options. Use @table @gcctabopt for MMIX options. Add index
12474 entries for MMIX options. Start new paragraph with first
12475 heading of the machine-dependent options.
12476
3e92902c
CR
124772002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
12478
12479 PR other/5299
12480 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
12481 * combine.c (force_to_mode): Same.
12482 * reload1.c (clear_reload_reg_in_use): Same.
12483
96ae8197
NC
124842002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
12485
12486 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
12487 and 'subtargets'.
12488
9b780582
AJ
124892002-01-11 Andreas Jaeger <aj@suse.de>,
12490 Brad Lucier <lucier@math.purdue.edu>
12491
12492 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
12493 mcpu.
12494
12300dad
DR
12495Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
12496
12497 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
12498 Protect with IN_LIBGCC.
12499 (LINK_EH_SPEC): Add required trailing space.
12500
27511a9a
NP
12501Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
12502
9b780582 12503 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
12504 under the filename which contains them.
12505 (check_identifier, finish_decl_top_level,
12506 lookup_name_current_level_global, shadow_record_fields): Remove.
12507
4daeab16
AJ
125082002-01-11 Andreas Jaeger <aj@suse.de>
12509
12510 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
12511 march.
12512
40571d67
RH
125132002-01-10 Richard Henderson <rth@redhat.com>
12514
12515 * config/alpha/alpha.c (print_operand): Add 'J'.
12516 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
12517 new operand with the sequence number for the lituse. When splitting
12518 the insns, use gen_movdi_er_high_g and generate a sequence number.
12519 (gen_movdi_er_high_g): Print the sequence number if non-zero.
12520
6525c0e7
AH
125212002-01-10 Aldy Hernandez <aldyh@redhat.com>
12522
d8086cbb
RS
12523 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
12524 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
12525 stvxl.
12526 (altivec_expand_builtin): Same.
12527 (altivec_expand_stv_builtin): New.
12528
12529 * config/rs6000/rs6000.h (rs6000_builtins): Same.
12530
12531 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
12532 ("altivec_lvehx"): New.
12533 ("altivec_lvewx"): New.
12534 ("altivec_lvxl"): New.
12535 ("altivec_lvx"): New.
12536 ("altivec_stvx"): New.
12537 ("altivec_stvebx"): New.
12538 ("altivec_stvehx"): New.
12539 ("altivec_stvewx"): New.
12540 ("altivec_stvxl"): New.
6525c0e7 12541
cda94cbb
RH
125422002-01-10 Richard Henderson <rth@redhat.com>
12543
12544 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
12545 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
12546 care not to delete instructions twice.
12547
df2c9a44
ZW
125482002-01-10 Zack Weinberg <zack@codesourcery.com>
12549
12550 * toplev.c: Don't declare environ (it's not used anywhere).
12551 * configure.in: Don't check for declaration of environ.
12552 * config/i386/xm-mingw32.h: Don't #define environ.
12553 * config.in, configure: Regenerate.
12554
5dd8a9b1
ZW
125552002-01-10 Zack Weinberg <zack@codesourcery.com>
12556
12557 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
12558 * configure: Regenerate.
12559
12560 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
12561 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
12562 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
12563 alpha/xm-vms.h.
12564 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
12565 LIMITS_H_TEST here, not in m68k/x-next.
12566 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
12567 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
12568
12569 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
12570 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
12571 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
12572
12573 * config/i386/x-djgpp: Renamed i386/t-djgpp.
12574 * config/m88k/x-dolph: Renamed m88k/t-dolph.
12575 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
12576 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
12577 replacement of quadlib.asm with quadlib.c.
12578
12579 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
12580 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
12581 config/rs6000/xm-beos.h: Delete file.
12582
12583 * config.gcc: Update to match above changes.
12584
d10dd44c
KH
125852002-01-10 Kazu Hirata <kazu@hxi.com>
12586
12587 * config/h8300/h8300.h: Fix comment typos.
12588 * config/h8300/h8300.md: Likewise.
12589 * config/h8300/lib1funcs.asm: Likewise.
12590
04894c5a
DJ
125912002-01-10 Dale Johannesen <dalej@apple.com>
12592
12593 PR optimization/5269
12594 * unroll.c (precondition_loop_p): Make *increment be the correct
12595 sign when n_iterations known, to avoid confusing caller.
12596
adc9fe67
KH
125972002-01-10 Kazu Hirata <kazu@hxi.com>
12598
12599 * doc/extend.texi (deprecated): Fix a typo.
12600
b446e5a2
JH
12601Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
12602
12603 * basic-block.h (update_br_prob_note): Declare.
12604 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
12605 (try_forward_edges): Care negative frequencies and update note.
12606 (outgoing_edges_match): Tweek conditional merging heuristics.
12607 (try_crossjump_to_edge): use update_br_prob_note.
12608 * cfglayout.c (fixup_reorder_chain): Likewise.
12609 * cfrtl.c (update_br_prob_note): New.
12610 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
12611
12612 * i386.c (ix86_decompose_address): Return -1 if address contains
12613 shift.
12614 (legitimate_address_p): Require ix86_decompose_address to return 1.
12615
12616 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
12617 (cprop_insn): Likewise.
12618
a01da83b
KH
126192002-01-10 Kazu Hirata <kazu@hxi.com>
12620
12621 * toplev.c: Fix formatting.
12622 * tree.c: Likewise.
12623 * tree-dump.c: Likewise.
12624 * unroll.c: Likewise.
12625 * unwind-dw2.c: Likewise.
12626 * unwind-dw2-fde.c: Likewise.
12627 * unwind-dw2-fde-glibc.c: Likewise.
12628 * unwind-sjlj.c: Likewise.
12629
9f85bca7
JM
126302002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
12631
12632 * doc/invoke.texi: Document PDP-11 options.
12633
f48f56b1
KH
126342002-01-10 Kazu Hirata <kazu@hxi.com>
12635
12636 * config/h8300/h8300.h: Fix formatting.
12637
ead39bdf 126382002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
12639
12640 Add __attribute__ ((deprecated)).
12641 * extend.texi: Document __attribute__ ((deprecated)).
12642 * invoke.texi: Document -Wno-deprecated-declarations.
12643 * testsuite/g++.dg/other/deprecated.C: New C++ test.
12644 * testsuite/gcc.dg/deprecated.c: New C test.
12645 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
12646 (c_common_attribute_table): Add "deprecated" entry.
12647 (handle_deprecated_attribute): New function.
12648 * c-decl.c (deprecated_states): New enum.
12649 deprecated_state: State of "deprecated" handling.
12650 (start_decl): Set deprecated_state based on attributes.
12651 (grokdeclarator): Test for deprecated uses, propagate attribute.
12652 * c-typeck.c (build_component_ref): Test for deprecated fields.
12653 (build_external_ref): Test for deprecated primaries.
12654 * diagnostic.c (warn_deprecated_use) New function to issue
12655 warnings about __attribute__ ((depricated)) references.
12656 * flags.h (warn_deprecated_decl): Extern declared for
12657 -W[no-]deprecated-declarations option.
12658 * print-tree.c (print_node): Show deprecated flag status.
12659 * toplev.c (warn_deprecated_decl): Defined.
12660 (W_options): Added "deprecated-declaration".
12661 * toplev.h (warn_deprecated_use): Extern declared.
12662 * tree.h (struct tree_common): Define deprecated_flag.
12663 (TREE_DEPRECATED): New macro to access flag.
12664 * cp/call.c (build_call): Test for deprecated calls.
12665 * cp/class.c (add_implicitly_declared_members): Set global
12666 flag to tell grokdeclarator to not issue deprecated warnings.
12667 * cp/cp-tree.h: Add extern for adding_implicit_members.
12668 * cp/decl.c (deprecated_states): New enum.
12669 (start_decl): Set deprecated_state based on attributes.
12670 (grokdeclarator): Test for deprecated uses, propagate attribute.
12671 * cp/lex.c (do_identifier): Test for deprecated primaries.
12672 * cp/typeck.c (build_component_ref): Test for deprecated fields.
12673
ead39bdf 126742002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
12675
12676 Fix to assign attributes to inline member functions.
12677 * cp/decl.c (start_method): Handle attrlist.
12678
47073a38
KH
126792002-01-10 Kazu Hirata <kazu@hxi.com>
12680
12681 * combine.c (expand_field_assignment): Use subreg_lsb().
12682
d288e53d
DE
126832002-01-10 David Edelsohn <edelsohn@gnu.org>
12684
12685 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
12686 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
12687 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
12688 Recurse for any operand of AND as long as constant is non-zero.
12689
08a02ffa
KH
126902002-01-10 Kazu Hirata <kazu@hxi.com>
12691
12692 * config/h8300/h8300.md: Remove constraints from expanders.
12693
c203e7fe
KH
126942002-01-10 Kazu Hirata <kazu@hxi.com>
12695
12696 * varasm.c: Fix formatting.
12697 * varray.c: Likewise.
12698 * vmsdbgout.c: Likewise.
12699 * xcoffout.c: Likewise.
12700
bcb3bc6d
JH
12701Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
12702
12703 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 12704 update edge probabilities to match.
bcb3bc6d 12705
0a553c7e
JM
127062002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
12707
12708 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
12709 dependencies.
12710 * doc/languages.texi, doc/sourcebuild.texi: New files.
12711 * doc/configfiles.texi: Make a subsubsection. Update.
12712 * doc/configterms.texi: Add @node. Remove warning that this isn't
12713 instructions for building GCC.
12714 * doc/makefile.texi: Make a subsection.
12715 * doc/gccint.texi: Update.
12716
adc7fcb8
JH
12717Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
12718
12719 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
12720
5a4dd0b3
NP
12721Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
12722
12723 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
12724
3987b9db
JH
12725Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
12726
12727 * optabs.c (expand_fix): Look for wider integer modes first.
12728
12729 * i386.md (mov?f): Avoid the fake const double trick for medium
12730 memory model.
12731 (min?f*/max?f*): Prohibit memory operands for i387 variant.
12732 (fop_df_4): Disable for SSE compilation.
12733
ceb15948 127342002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
12735
12736 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 12737 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 12738
e1623399
RH
127392002-01-10 Richard Henderson <rth@redhat.com>
12740
12741 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
12742
c4abb293
RH
127432002-01-10 Richard Henderson <rth@redhat.com>
12744
12745 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
12746 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
12747
d2604ae9
KH
127482002-01-10 Kazu Hirata <kazu@hxi.com>
12749
12750 * combine.c (can_combine_p): Fix a comment typo.
12751
766c7ad1
ZW
127522002-01-09 Zack Weinberg <zack@codesourcery.com>
12753
12754 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
12755 empty list correctly. Change loop index $t to $f for
12756 consistency with rest of Makefile.
12757
95385cbb
AH
127582002-01-08 Aldy Hernandez <aldyh@redhat.com>
12759
12760 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
12761 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
12762
12763 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
12764 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
12765 (altivec_init_builtins): Same.
12766 (altivec_expand_unop_builtin): Return NULL_RTX on error.
12767 (altivec_expand_binop_builtin): Same.
12768 (altivec_expand_ternop_builtin): Same.
12769 (bdesc_dst): New.
12770
12771 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
12772 ("altivec_vctuxs"): Fix typo.
12773 ("altivec_vnmsubfp"): Same.
12774 ("altivec_dssall"): New.
12775 ("altivec_mfvscr"): New.
12776 ("altivec_dss"): New.
12777 ("altivec_lvsl"): New.
12778 ("altivec_lvsr"): New.
12779 ("altivec_dstt"): New.
12780 ("altivec_dstst"): New.
12781 ("altivec_dststt"): New.
12782 ("altivec_dst"): New.
12783
12784 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
12785 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
12786
e4ac76b4
RH
127872002-01-09 Richard Henderson <rth@redhat.com>
12788
12789 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
12790
c893e4a4
HPN
127912002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
12792
12793 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
12794 function.
12795 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
12796 prototype.
7387c700 12797 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 12798
f4f4d0f8
KH
127992002-01-09 Kazu Hirata <kazu@hxi.com>
12800
12801 * read-rtl.c: Fix formatting.
12802 * real.c: Likewise.
12803 * regclass.c: Likewise.
12804 * regrename.c: Likewise.
12805 * reg-stack.c: Likewise.
12806 * reload1.c: Likewise.
12807 * reload.c: Likewise.
12808 * rtl.c: Likewise.
12809
cc863bea
KH
128102002-01-09 Kazu Hirata <kazu@hxi.com>
12811
12812 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
12813 to extract items in the expr_list chain.
12814
7b4dfe3d
RH
128152002-01-09 Richard Henderson <rth@redhat.com>
12816
12817 * config/vax/vax.c (vax_rtx_cost): Never abort.
12818
1d969638
RH
12819 * config/vax/vax.h (REAL_ARITHMETIC): Define.
12820
7d5ab30e
JH
128212002-01-09 Jan Hubicka <jh@suse.cz>
12822
12823 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
12824
9503f3d1
RH
128252002-01-09 Richard Henderson <rth@redhat.com>
12826
12827 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
12828 Unify code from various alternatives.
12829
42bd17b7
RH
128302002-01-09 Richard Henderson <rth@redhat.com>
12831
12832 * regrename.c (copy_value): Ignore the copy if the source register
12833 is present in the value chain with a narrower mode.
12834
bdca3c33
HB
128352002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12836
cda94cbb
RH
12837 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
12838 for the c4x target. Also improve layout.
bdca3c33 12839
c73a5e94
RH
128402002-01-09 Richard Henderson <rth@redhat.com>
12841
12842 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
12843 * config/m32r/m32r.md (and ior xor splitters): Swap operands
12844 to match insn patterns.
12845
dd0a18c0
RH
128462002-01-09 Richard Henderson <rth@redhat.com>
12847
12848 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
12849 (copyprop_hardreg_forward_1): Likewise.
12850
1fd9ac1e
JDA
128512002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
12852
12853 * pa.md (decrement_and_branch_until_zero): Change predicate for
12854 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
12855
5cb265ec
BM
128562002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
12857
12858 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
12859 gets undefined. For Darwin.
12860
fcd8fa8b
HB
128612002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12862
12863 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
12864
bd3ab23a
MH
128652002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12866
12867 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
12868
21e16bd6
RH
128692002-01-08 Richard Henderson <rth@redhat.com>
12870
12871 * regrename.c (copy_value): Ignore overlapping copies.
12872
a5376276
RH
128732002-01-08 Richard Henderson <rth@redhat.com>
12874
12875 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
12876 as needed to avoid shared structure.
12877
18cf8dda
KH
128782002-01-08 Kazu Hirata <kazu@hxi.com>
12879
12880 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
12881 H8/300H and H8/S.
12882
16c484c7
JM
128832002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
12884
12885 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
12886 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
12887 documentation of obsolete macros.
12888 * system.h: Poison these macros.
12889 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
12890 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
12891 config/c4x/c4x.h, config/clipper/clipper.h,
12892 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
12893 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
12894 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
12895 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
12896 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
12897 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
12898 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
12899 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
12900 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
12901 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
12902 config/sparc/sparc.h, config/stormy16/stormy16.h,
12903 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
12904 definitions and commented out definitions of obsolete macros.
12905 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
12906 of MAX_INT_TYPE_SIZE.
12907
14b3e8ef
UW
129082002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
12909
12910 * config/s390/s390.c (s390_preferred_reload_class): Never
12911 return ADDR_REGS if it isn't a subset of the given class.
12912 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
12913 FP_REGS, but all superclasses as well.
12914
12915 * config/s390/s390.c (s390_function_profiler): Fix thinko.
12916
12917 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
12918 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
12919 must not be a const_int.
12920
a693284d
RH
129212002-01-08 Richard Henderson <rth@redhat.com>
12922
12923 * Makefile.in (toplev.o): Depend on options.h.
12924 (gcc.o): Depend on specs.h.
12925
b3ca30df
JJ
129262002-01-08 Jakub Jelinek <jakub@redhat.com>
12927
12928 * expr.c (store_expr): Convert VOIDmode constants back to target's
12929 mode.
12930
24dbb440
GP
129312002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12932
12933 * doc/invoke.texi: Markup gcc as @command. Refer to
12934 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
12935 of http://gcc.gnu.org/thanks.html.
12936
234e114c
DJ
129372002-01-08 Dale Johannesen <dalej@apple.com>
12938
12939 * config/rs6000/rs6000.md: Add missing int register
12940 target case to movdf_low.
12941
0d24f4d1
ZW
129422002-01-08 Zack Weinberg <zack@codesourcery.com>
12943
12944 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
12945 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
12946 (cppinit.o): Depend on except.h.
12947 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
12948 s-specs): New rules.
12949
12950 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
12951 Don't create specs.h/options.h/gencheck.h here. Remove
12952 unnecessary variable settings from last argument of AC_OUTPUT.
12953 * config.in, configure: Regenerate.
12954 * intl.c: Hardcode package name as "gcc".
12955
12956 * cppinit.c: Include except.h.
12957 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
12958 appropriate.
12959 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
12960 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
12961 (!)USING_SJLJ_EXCEPTIONS.
12962 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
12963
ed722f66
JM
129642002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
12965
12966 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
12967 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
12968 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
12969 documentation of obsolete macros.
12970 * system.h: Poison these macros.
12971 * config/d30v/d30v.h, config/ns32k/encore.h,
12972 config/stormy16/stormy16.h: Remove definitions and commented out
12973 definitions of obsolete macros.
12974
31e5e29a
NP
12975Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
12976
12977 * objc/objc-act.c (handle_class_ref): Mark the declaration of
12978 %sobjc_class_ref_%s as used - to prevent unwanted compiler
12979 warnings.
12980
bc1fa59c
UW
129812002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
12982
12983 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
12984 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
12985 to insn adjusting stack/frame pointer.
0d24f4d1 12986 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
12987 accept operands that cause the insn to be non-splittable.
12988
a8086abf
GS
129892002-01-08 Graham Stott <grahams@redhat.com>
12990
12991 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
12992 (C_TYPE_FIELDS_VOLATILE): Likewise.
12993 (C_TYPE_BEING_DEFINED): Likewise.
12994 (C_IS_RESERVED_WORD): Likewise.
12995 (C_TYPE_VARIABLE_SIZE): Likewise.
12996 (C_DECL_VARIABLE_SIZE): Likewise.
12997 (C_MISSING_PROTOTYPE_WARNED): Likewise.
12998 (C_SET_EXP_ORIGINAL_CODE): Likewise.
12999 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
13000 parenthesis.
13001 (C_DECL_ANTICIPATED): Likewise.
13002 (c_build_type_variant): Add parenthesis.
13003
3f595aa1
JM
130042002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
13005
13006 * gcc.c (option_map): Remove --version.
13007 (process_command): Handle -fversion following the GNU Coding
13008 Standards. Partially addresses PR other/704.
13009
5bc5a8f9
GS
130102002-01-08 Graham Stott <grahams@redhat.com>
13011
13012 * combine.c (combine_instructions): Fix typo.
13013
16ec4ebf
GS
130142002-01-08 Graham Stott <grahams@redhat.com>
13015
13016 * debug.h: Use "tree" and "rtx" throughout.
13017
13018 * debug.c: Likewise.
13019
4b69f385
NC
130202002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
13021
13022 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
13023 constant pool, use the pool's version of the symbol instead.
13024
57d1019b
RH
130252002-01-07 Richard Henderson <rth@redhat.com>
13026
13027 * regrename.c (find_oldest_value_reg): Ignore the value chain if
13028 the original register was copied in a mode with a fewer number of
13029 hard registers than the desired mode.
13030 (copyprop_hardreg_forward_1): Likewise.
13031 (debug_value_data): Fix loop test.
13032 * toplev.c (parse_options_and_default_flags): Reenable
13033 -fcprop-registers at -O1.
13034
130352002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 13036
0d24f4d1
ZW
13037 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
13038 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 13039
0d24f4d1
ZW
13040 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
13041 predicates.
fa066a23 13042
0d24f4d1 13043 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 13044
8f949e7e
JDA
130452002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
13046
13047 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
13048 (pa_output_function_prologue): Output local label at the beginning of
13049 the prologue when profiling.
13050 (hppa_profile_hook): Use the local label rather than the function label.
13051 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
13052
c62f2db5
AH
130532002-01-07 Aldy Hernandez <aldyh@redhat.com>
13054
0d24f4d1
ZW
13055 * config/rs6000/rs6000.c (print_operand): Remove extra space.
13056 (altivec_expand_unop_builtin): Fix thinko.
13057 (altivec_expand_binop_builtin): Same.
13058 (altivec_expand_ternop_builtin): Same.
13059 (altivec_expand_builtin): Same.
c62f2db5 13060
b5235ba7
RH
130612002-01-07 Richard Henderson <rth@redhat.com>
13062
13063 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
13064
7d8ac293
JM
130652002-01-07 Jason Merrill <jason@redhat.com>
13066
13067 * unwind-dw2.c (execute_cfa_program): Use < again.
13068
571a03b8
JJ
130692002-01-07 Jakub Jelinek <jakub@redhat.com>
13070
13071 * predict.c (combine_predictions_for_insn): Avoid division by zero.
13072
2e951384
JJ
130732002-01-07 Jakub Jelinek <jakub@redhat.com>
13074
13075 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
13076 Don't allow -1 - x -> ~x simplifications in the first pass.
13077
20e26713
AH
130782002-01-07 Aldy Hernandez <aldyh@redhat.com>
13079
0d24f4d1
ZW
13080 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
13081 arguments.
13082 (altivec_expand_binop_builtin): Same.
13083 (altivec_expand_unop_builtin): Same.
13084 (print_operand): Fix typo.
13085 (bdesc_1arg): Add vupk* variants.
20e26713 13086
0d24f4d1 13087 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 13088
0d24f4d1 13089 * rs6000.md: Add altivec_vupk* variants.
20e26713 13090
4dd57c18
JM
130912002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
13092
13093 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
13094 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
13095 and last update dates.
13096
0341c5d2
JJ
130972002-01-07 Janis Johnson <janis187@us.ibm.com>
13098
13099 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
13100
c7f3e0b0
MM
131012002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
13102
13103 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
13104 * config/avr/avr.h (CPP_SPEC): Likewise.
13105 (LINK_SPEC): Likewise.
13106 (CRT_BINUTILS_SPECS): Likewise.
13107 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
13108 * doc/invoke.texi (AVR Options): Document them.
13109
6ba4d630
JH
13110Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
13111
13112 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
13113 LABEL_NUSES.
13114
6253d571
GS
131152002-01-07 Graham Stott <grahams@redhat.com>
13116
0d24f4d1
ZW
13117 * config/i386/i386.h: Update copyright date.
13118 (HALF_PIC_PTR): Add parenthesis.
13119 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
13120 (CONSTANT_ALIGNMENT): Add parenthesis.
13121 (DATA_ALIGNMENT): Likewise.
13122 (LOCAL_ALIGNMENT): Likewise.
13123 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
13124 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
13125 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
13126 (HARD_REGNO_NREGS): Add paranethesis.
13127 (VALID_SSE_REG_MODE): Whitespace.
13128 (VALID_MMX_REG_MODE): Whitespace.
13129 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
13130 (ix86_hard_regno_mode_ok): Add parenthesis.
13131 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
13132 (RETURN_IN_MEMORY): Whitespace.
13133 (N_REG_CLASSES): Add parenthesis.
13134 (INTEGER_CLASS_P): Add parenthesis and wrap.
13135 (FLOAT_CLASS_P): Likewise.
13136 (SSE_CLASS_P): Likewise.
13137 (MMX_CLASS_P): Likewise.
13138 (MAYBE_INTEGER_CLASS_P): Likewise.
13139 (MAYBE_FLOAT_CLASS_P): Likewise.
13140 (MAYBE_SSE_CLASS_P): Likewise.
13141 (MAYBE_MMX_CLASS_P): Likewise.
13142 (Q_CLASS_P): Likewise.
13143 (GENERAL_REGNO_P): Uppercase macro parameter.
13144 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
13145 (FP_REGNO_P): Likewise.
13146 (ANY_FP_REGNO_P): Uppercase macro parameter.
13147 (SSE_REGNO_P): Likewise.
13148 (SSE_REGNO): Likewise.
13149 (SSE_REG_P): Likewise.
13150 (SSE_FLOAT_MODE_P): Likewise.
13151 (MMX_REGNO_P): Likewise.
13152 (MMX_REG_P):Likewise.
13153 (STACK_REG_P): Likewise.
13154 (NON_STACK_REG_P): Likewise.
13155 (STACK_TOP_P): Likewise.
13156 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
13157 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
13158 (SECONDARY_MEMORY_NEEDED): Likewise.
13159 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
13160 (MD_ASM_CLOBBERS): Whitespace and wrap.
13161 (MUST_PASS_IN_STACK): Whitespace and wrap.
13162 (RETURN_POPS_ARGS): Add parenthesis.
13163 (INIT_CUMULATIVE_ARGS): Likewise.
13164 (FUNCTION_ARG): Likewise.
13165 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
13166 (SETUP_INCOMING_VARARGS): Likewise.
13167 (BUILD_VA_LIST_TYPE): Add parenthesis.
13168 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
13169 parenthsis.
13170 (EXPAND_BUILTIN_VA_ARG): Likewise.
13171 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
13172 (INITIALIZE_TRAMPOLINE): Add parenthesis.
13173 (INITIAL_ELIMINATION_OFFSET): Likewise.
13174 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
13175 (REGNO_OK_FOR_BASE_P): Likewise.
13176 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
13177 (REGNO_OK_FOR_DIREG_P): Likewise.
13178 (REG_OK_FOR_INDEX_P): Whitespace.
13179 (REG_OK_FOR_BASE_P): Whitespace.
13180 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
13181 parenthesis.
13182 (FIND_BASE_TERM): Fix typo.
13183 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
13184 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
13185 (SYMBOLIC_CONST; Whitespace.
13186 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
13187 (ENCODE_SECTION_INFO): Whitespace.
13188 (FINALIZE_PIC): Remove do { ... } while (0).
13189 (PROMOTE_MODE): Wrap in do { ... } while (0).
13190 (CONST_COSTS): Whitespace.
13191 (RTX_COSTS): Add paramethesis, whitespace and wrap.
13192 (REGISTER_MOVE_COST): Add parenthesis.
13193 (MEMORY_MOVE_COST): Likewise.
13194 (EXTRA_CC_MODES): Whitespace.
13195 (SELECT_CC_MODE): Add parenthesis and whitespace.
13196 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
13197 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
13198 (ASM_OUTPUT_LABEL): Add paramethesis.
13199 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
13200 (ASM_OUTPUT_REG_POP): Likewise.
13201 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
13202 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 13203
07933f72
GS
13204 * config/i386/i386.c: Update copyright.
13205 (CHECK_STACK_LIMIT): Add parenthesis.
13206 (AT_BP): Uppercase macro parameter.
13207 (x86_64_int_parameter_registers): Constify.
13208 (x86_64_int_return_registers): Likewise.
13209 (ix86_compare_op0): Use rtx.
13210 (construct_container): Constify INTREG parameter.
13211 (function_arg): Use rtx.
13212
0b4d32c9
GS
13213 * diagnostic.h: Update copyright date.
13214 (output_buffer_state): Add parenthesis.
13215 (output_buffer_format_args): Likewise.
13216
6253d571
GS
13217 * combine.c (combine_instructions): Replace XEXP (links, 0)
13218 with link.
13219
68f3f6f1
L
132202002-01-06 H.J. Lu <hjl@gnu.org>
13221
13222 * cfgcleanup.c (thread_jump): Fix 2 typos.
13223
132242002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 13225
0d24f4d1 13226 * config.gcc: Add support for --enable-altivec.
480f7f3a 13227
13b8c631
CR
132282002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
13229
13230 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
13231
58ad89b1
JJ
132322002-01-06 Jakub Jelinek <jakub@redhat.com>
13233
13234 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
13235 __objc_class_name_*.
13236
e403b4bc
CR
132372002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
13238
13239 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
13240
e41c7831
RH
132412002-01-06 Richard Henderson <rth@redhat.com>
13242
13243 * reorg.c (emit_delay_sequence): Remove death notes, not merely
13244 nop them out. Increment label reference count for REG_LABEL.
13245 (fill_slots_from_thread): Frob label reference count around
13246 delete_related_insns.
13247
3b3b1e32
RH
132482002-01-05 Richard Henderson <rth@redhat.com>
13249
13250 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
13251 jump threading.
13252
c28abdf0
RH
132532002-01-05 Richard Henderson <rth@redhat.com>
13254
13255 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
13256 * integrate.c (output_inline_function): Likewise.
13257 * toplev.c (rest_of_compilation): Do it here instead. Move call
13258 to remove_unnecessary_notes after emitting abstract instance.
13259 Force an emitted nested function to have its parent emited as well.
13260 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
13261 for null.
13262 (rtl_for_decl_location): Do not look at reload data structures
13263 before reload has run.
13264
c4f2c499
KH
132652002-01-05 Kazu Hirata <kazu@hxi.com>
13266
13267 * cse.c: Fix formatting.
13268 * dwarf2asm.c: Likewise.
13269 * dwarf2out.c: Likewise.
13270 * explow.c: Likewise.
13271 * expmed.c: Likewise.
13272 * function.c: Likewise.
13273 * gcov.c: Likewise.
13274 * gencheck.c: Likewise.
13275 * genrecog.c: Likewise.
13276 * ggc-common.c: Likewise.
13277 * ggc-page.c: Likewise.
13278 * global.c: Likewise.
13279
cf0d9408
KH
132802002-01-05 Kazu Hirata <kazu@hxi.com>
13281
13282 * combine.c: Fix formatting.
13283
bedca03a
CR
132842002-01-05 Craig Rodrigues <crodrigu@bbn.com>
13285
13286 PR middle-end/1557
13287 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
13288
0134bf2d
DE
132892002-01-05 David Edelsohn <edelsohn@gnu.org>
13290
13291 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
13292 as 1 for __powerpc64__ as well.
13293
13294 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
13295
13296 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
13297 return it.
13298
9ca88d5a
DB
132992002-01-05 Daniel Berlin <dan@dberlin.org>
13300
13301 * lcm.c: Revert change, due to performance regression it causes on
13302 SPEC because it's slightly more conservative (sigh, I hate
13303 edge-based LCM).
0d24f4d1 13304
1c570418
JH
13305Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
13306
13307 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
13308
d83bb9f7
NB
133092002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
13310
13311 * doc/cppinternals.texi: Update.
13312
3e0f61ac
HPN
133132002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
13314
13315 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
13316 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
13317 negatives.
13318 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
13319 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
13320 kludge for pre-october-14th mmix versions to handle new-found bug
13321 with PUSHJ/PUSHGO and the register stack.
13322 * config/mmix/mmix.h (struct machine_function): Rename member
13323 has_call_value_without_parameters to has_call_without_parameters.
13324 All referers changed.
13325 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
13326 TARGET_MASK_BRANCH_PREDICT): New macros.
13327 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
13328 -mno-reg-stack-fill-bug-workaround.
13329 * config/mmix/mmix.md ("call"): Set struct machine member
13330 has_call_without_parameters.
13331
4deaa2f8
JH
13332Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
13333
13334 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
13335
9f16e871
JH
13336Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
13337
13338 * cfgcleanup.c: Include tm_p.h
13339 (mark_effect): Fix handling of hard register; fix handling of SET
13340
96eb1157
KH
133412002-01-04 Kazu Hirata <kazu@hxi.com>
13342
13343 * config/h8300/h8300.md (anonymous patterns): Check that
13344 operands are registers before using REGNO on them.
13345
48180d68
RM
133462002-01-03 Roland McGrath <roland@frob.com>
13347
13348 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
13349
b0832fe1
JJ
133502002-01-04 Jakub Jelinek <jakub@redhat.com>
13351
13352 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
13353 * c-common.h (genrtl_expr_stmt_value): Likewise.
13354 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
13355 (expand_expr_stmt_value): Add maybe_last argument.
13356 Don't warn about statement with no effect if it is the last statement
13357 in expression statement.
13358 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
13359 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
13360 expand_expr_stmt_value.
13361 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
13362 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
13363 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
13364 as maybe_last to expand_expr_stmt_value.
13365
c1e14513
JL
13366Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
13367
0d24f4d1
ZW
13368 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
13369 be passed in, do not build it.
13370 (c_begin_if_stmt): New function.
13371 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
13372 * c-common.h (c_expand_start_cond): Update prototype.
13373 (c_begin_if_stmt): Prototype new function.
13374 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
13375 * c-parse.in (if_prefix): Use c_begin_if_stmt,
13376 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 13377
b6ec437a
WC
133782002-01-04 William Cohen <wcohen@redhat.com>
13379
13380 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
13381 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
13382 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
13383 * config/pa/som.h (ASM_FILE_START): Likewise.
13384
ead39bdf 133852002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
13386
13387 * lcm.c: Include df.h.
13388 Add available_transfer_function prototype.
13389 (compute_available): Rework to use iterative dataflow framework.
13390 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
13391 with bb_info in df.h
13392 (available_transfer_function): New function.
13393
13394 * Makefile.in (lcm.o): add df.h to dependencies.
13395
551cc6fd
RH
133962002-01-04 Richard Henderson <rth@redhat.com>
13397
13398 * config/alpha/alpha.c (some_operand): Accept HIGH.
13399 (input_operand): Likewise; accept simple references to globals.
13400 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
13401 (alpha_const_double_ok_for_letter_p): Likewise.
13402 (alpha_extra_constraint): Likewise.
13403 (alpha_preferred_reload_class): Likewise. Do not force
13404 symbolic constants to memory.
13405 (alpha_legitimate_address_p): Accept simple references
13406 to small_symbolic_operand.
13407 (alpha_legitimize_address): New arg scratch. Be prepared to be
13408 called when no_new_pseudos. Emit simple symbolic references.
13409 Split integers into low, high, and rest.
13410 (alpha_expand_mov): Use alpha_legitimize_address.
13411 (some_small_symbolic_mem_operand): New.
13412 (split_small_symbolic_mem_operand): New.
13413 * config/alpha/alpha-protos.h: Update.
13414 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
13415 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
13416 (EXTRA_CONSTRAINT): Likewise.
13417 (PREFERRED_RELOAD_CLASS): Likewise.
13418 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
13419 (PREDICATE_CODES): Update.
13420 * config/alpha/alpha.md: New post-reload splitters to convert
13421 simplfied symbolic operands to the form that references $29.
13422 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
13423 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
13424
1eaea054
RH
134252002-01-03 Richard Henderson <rth@redhat.com>
13426
13427 * local-alloc.c (function_invariant_p): Update commentary.
13428
c4cc12b7
L
134292002-01-04 H.J. Lu <hjl@gnu.org>
13430
13431 * toplev.c (rest_of_compilation): Fix a typo when calling
13432 cleanup_cfg.
13433
173bf5be
KH
134342002-01-03 Kazu Hirata <kazu@hxi.com>
13435
13436 * c-common.c: Fix formatting.
13437 * diagnostic.c: Likewise.
13438 * doloop.c: Likewise.
13439 * dwarf2out.c: Likewise.
13440
187462ac
KH
134412002-01-03 Kazu Hirata <kazu@hxi.com>
13442
13443 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
13444 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
13445
5d8ebbd8
NB
134462002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
13447
13448 * cpperror.c: Update comments and copyright.
13449 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
13450 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
13451
518c1311
JDA
134522002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
13453
13454 * collect2.c (main): Use strcmp when testing for "-shared".
13455
d15a58c0
NB
134562002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
13457
13458 * cppmacro.c: Don't include intl.h. Update comments.
13459 (new_number_token): Allocate enough buffer for 64-bit unsigned
13460 integers; update prototype.
13461 * cppmain.c: Update comments.
13462
70f4f91c
WC
134632002-01-03 William Cohen <wcohen@redhat.com>
13464
13465 * function.h (struct function): Add profile.
13466 (current_function_profile): New.
13467 doc/extend.texi: Update documentation.
13468 * final.c (final_start_function): Use current_function_profile
13469 instead of profile_flag.
13470 (profile_after_prologue): Likewise.
13471 * function.c (expand_function_start): Likewise.
13472 (expand_function_start): Likewise.
c4cc12b7 13473 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
13474 (alpha_does_function_need_gp): Likewise.
13475 (alpha_expand_prologue): Likewise.
13476 * config/arm/arm.c (arm_expand_prologue): Likewise.
13477 thumb_expand_prologue: Likewise.
13478 * config/d30v/d30v.c (d30v_stack_info): Likewise.
13479 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
13480 (fr30_expand_prologue): Likewise.
13481 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
13482 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
13483 * config/i386/i386.h (FINALIZE_PIC): Likewise.
13484 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
13485 * config/i960/i960.c (i960_output_function_prologue): Likewise.
13486 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
13487 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
13488 (m32r_expand_prologue): Likewise.
13489 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
13490 (m88k_expand_prologue): Likewise.
13491 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
13492 * config/mips/mips.c (compute_frame_size): Likewise.
13493 (mips_expand_prologue): Likewise.
13494 (mips_can_use_return_insn): Likewise.
13495 * config/pa/elf.h (ASM_FILE_START): Likewise.
13496 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
13497 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
13498 * config/pa/som.h (ASM_FILE_START): Likewise.
13499 * config/romp/romp.c (romp_using_r14): Likewise.
13500 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
13501 (rs6000_stack_info): Likewise.
13502 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 13503 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
13504 * config/v850/v850.c (compute_register_save_size): Likewise.
13505
cb1ac742
JJ
135062002-01-03 Jakub Jelinek <jakub@redhat.com>
13507
13508 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
13509 gen_lowpart_common fails, use gen_lowpart_SUBREG.
13510
61d951df 135112002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 13512
61d951df
TC
13513 * darwin.c (machopic_output_possible_stub_label): Don't generate
13514 stub routines for pseudo-stubs which we've just defined.
13515
505ddab6
KH
135162002-01-03 Kazu Hirata <kazu@hxi.com>
13517
13518 * builtins.c: Fix formatting.
13519 * c-typeck.c: Likewise.
13520 * combine.c: Likewise.
13521 * expr.c: Likewise.
13522 * loop.c: Likewise.
13523
b7e30d8a
AS
135242002-01-03 Andreas Schwab <schwab@suse.de>
13525
13526 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
13527 and return true if _cpp_push_next_buffer pushed a new include
13528 file.
13529 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
13530 _cpp_pop_file_buffer did not push a new file.
13531 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
13532
ff81832f
EC
135332002-01-02 Eric Christopher <echristo@redhat.com>
13534
13535 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
13536 FIND_REG_INC_NOTE call. Update copyright.
13537 * loop.c (canonicalize_condition): Ditto.
13538 * reorg.c (delete_scheduled_jump): Ditto.
13539
8e42ace1
KH
135402002-01-03 Kazu Hirata <kazu@hxi.com>
13541
13542 * gcse.c: Fix formatting.
13543
fb2bf631
GS
135442002-01-03 Graham Stott <grahams@redhat.com>
13545
13546 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
13547 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 13548 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
13549
13550 * system.h: Move forward defs for struct tags rtx_def, union_tree,
13551 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 13552 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
13553
135542002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
13555
13556 * tree.h: Update copyright date.
13557 (IS_EXPR_CODE_CLASS): Add parenthesis.
13558 (TREE_SET_CODE): Add whitespace.
13559 (TREE_CHECK): Add parenthesis.
13560 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
13561 (CST_OR_CONSTRUCTOR_CHECK):
13562 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
13563 (TREE_SYMBOL_REFERENCED): Whitespace.
13564 (INT_CST_LT): Likewise.
13565 (INT_CST_LT_UNSIGNED): Likewise.
13566 (tree_real_cst): Unwrap comment.
13567 (tree_string): Likewise.
13568 (tree_complex): Likewise.
13569 (IDENTIFIER_POINTER): correct cast.
13570 (SAVE_EXPR_CONTEXT): Whitespace.
13571 (EXPR_WFL_FILENAME_NODE): Likewise.
13572 (EXPR_WFL_FILENAME): Remove parenthesis.
13573 (DECL_ORIGIN): Add parenthesis.
13574 (DECL_FROM_INLINE): Use NULL_TREE.
13575 (build_int_2): Whitespace.
13576 (build_type_variant): Add parenthesis.
13577
13578 * gcc/jcf-parse.c: Update copyright date.
13579 (yyparse): Constify resource_filename.
13580
f52eda29
GS
135812002-01-03 Graham Stott <grahams@redhat.com>
13582
13583 * rtl.h: Update copyright date.
13584 (RTL_CHECK1): Wrap long line.
13585 (RTL_CHECK2): Likewise.
13586 (RTL_CHECKC1): Wrap long line and whitespace.
13587 (RTL_CHECKC2): Likewise.
13588 (XWINT): Whitespace.
13589 (XINT): Likewise.
13590 (XSTR): Likewise.
13591 (XEXP): Likewise.
13592 (XVEC): Likewise.
13593 (XMODE): Likewise.
13594 (XBITMAP): Likewise.
13595 (XTREE): Likewise.
13596 (XBBDEF): Likewise.
13597 (XTMPL): Likewise.
13598 (X0WINT): Likewise.
13599 (X0INT):Likewise.
13600 (X0UINT): Likewise.
13601 (X0STR): Likewise.
13602 (X0EXP): Likewise.
13603 (X0VEC): Likewise.
13604 (X0MODE): Likewise.
13605 (X0BITMAP): Likewise.
13606 (X0TREE): Likewise.
13607 (X0BBDEF): Likewise.
13608 (X0ADVFLAGS): Likewise.
13609 (X0CSELIB): Likewise.
13610 (X0MEMATTR): Likewise.
13611 (XCWINT): Likewise.
13612 (XCINT): Likewise.
13613 (XCUINT): Likewise.
13614 (XCSTR): Likewise.
13615 (XCEXP): Likewise.
13616 (XCVEC): Likewise.
13617 (XCMODE): Likewise.
13618 (XCBITMAP): Likewise.
13619 (XCTREE): Likewise.
13620 (XCBBDEF): Likewise.
13621 (XCADVFLAGS): Likewise.
13622 (XCCSELIB): Likewise.
13623 (XC2EXP): Likewise.
13624 (INSN_UID): Likewise.
13625 (PREV_INSN): Likewise.
13626 (PATTERN): Likewise.
13627 (INSN_CODE): Likewise.
13628 (PUT_REG_NOTE_KIND): Likewise.
13629 (CODE_LABEL_NUMBER): Likewise.
13630 (NOTE_SOURCE_FILE): Likewise.
13631 (NOTE_BLOCK): Likewise.
13632 (NOTE_EH_HANDLER): Likewise.
13633 (NOTE_RANGE_INFO): Likewise.
13634 (NOTE_LIVE_INFO): Likewise.
13635 (NOTE_BASIC_BLOCK): Likewise.
13636 (NOTE_EXPECTED_VALUE): Likewise.
13637 (NOTE_LINE_NUMBER): Likewise.
13638 (LABEL_NAME): Likewise.
13639 (LABEL_NUSES): Likewise.
13640 (LABEL_ALTERNATE_NAME): Likewise.
13641 (ADDRESSOF_DECL): Likewise.
13642 (JUMP_LABEL): Likewise.
13643 (LABEL_NEXTREF): Likewise.
13644 (REGNO): Likewise.
13645 (ORIGINAL_REGNO: Likewise.
13646 (HARD_REGISTER_NUM_P): Add parenthesis.
13647 (SUBREG_REG): Whitespace.
13648 (SUBREG_BYTE): Likewise.
13649 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
13650 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
13651 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
13652 (ASM_OPERANDS_INPUT_VEC): Likewise.
13653 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
13654 (ASM_OPERANDS_INPUT): Likewise.
13655 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
13656 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
13657 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
13658 (ASM_OPERANDS_INPUT_MODE): Likewise.
13659 (ASM_OPERANDS_SOURCE_FILE): Likewise.
13660 (ASM_OPERANDS_SOURCE_LINE): Likewise.
13661 (MEM_SET_IN_STRUCT_P): Minor reformat.
13662 (TRAP_CONDITION): Whitespace.
13663 (TRAP_CODE): Likewise.
13664 (COND_EXEC_TEST): Likewise.
13665 (COND_EXEC_CODE): Likewise.
13666 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
13667 (PHI_NODE_P): Add parenthesis.
13668 (plus_constant): Whitespace and add parenthesis.
13669
e03f5d43
KH
136702002-01-03 Kazu Hirata <kazu@hxi.com>
13671
13672 * config/avr/avr.c: Fix comment typos.
13673 * config/c4x/c4x.md: Likewise.
13674 * config/dsp16xx/dsp16xx.h: Likewise.
13675 * config/dsp16xx/dsp16xx.md: Likewise.
13676 * config/i386/i386.md: Likewise.
13677 * config/ia64/ia64.c: Likewise.
13678 * config/m32r/m32r.h: Likewise.
13679 * config/m68hc11/m68hc11.md: Likewise.
13680 * config/mmix/mmix.c: Likewise.
13681 * config/mn10200/mn10200.c: Likewise.
13682 * config/romp/romp.c: Likewise.
13683 * config/sh/sh.c: Likewise.
13684 * config/stormy16/stormy16.c: Likewise.
13685 * config/stormy16/stormy16.h: Likewise.
13686 * config/stormy16/stormy16.md: Likewise.
13687
97e300e9
GS
136882002-01-03 Graham Stott <grahams@redhat.com>
13689
13690 * loop.h: Update copyright date.
0d24f4d1
ZW
13691 (LOOP_MOVABLES): Fix typo.
13692 (LOOP_REGS): Likewise.
13693 (LOOP_IVS): Likewise.
ff81832f 13694
745b26b3
GS
136952002-01-03 Graham Stott <grahams@redhat.com>
13696
13697 * cppinit.c: Update copyright date.
13698 Don't include output.h
13699 * Makefile.in: Update copyright date.
13700 Update dependency.
13701
0a379b7a
CR
137022002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
13703
13704 PR c/5226
13705 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
13706 (-pthread) Add to RS/6000 options.
13707
a8154559
KH
137082002-01-02 Kazu Hirata <kazu@hxi.com>
13709
13710 * except.c: Fix comment typos.
13711 * loop.c: Likewise.
13712 * varasm.c: Likewise.
13713 * doc/tm.texi: Fix a typo.
13714
e6ecc89b
JJ
137152002-01-02 Jakub Jelinek <jakub@redhat.com>
13716
13717 * c-typeck.c (output_init_element): Allow initializing static storage
13718 duration objects with compound literals.
13719
d1094b40
RH
137202002-01-02 Richard Henderson <rth@redhat.com>
13721
13722 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
13723 after abusing it.
13724
0c5d8c82
KG
137252002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13726
5e65297b
KG
13727 * gcc.c (default_compilers): Const-ify.
13728 * mips-tdump.c (stab_names): Likewise.
13729 * mips-tfile.c (map_coff_types, map_coff_storage,
13730 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
13731 pseudo_ops_t, pseudo_ops): Likewise.
13732 * protoize.c (default_include): Likewise
13733
0c5d8c82
KG
13734 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
13735 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
13736 Add array size in declaration.
13737 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
13738 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
13739 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
13740 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
13741 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
13742 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
13743 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
13744 emtens, make_nan): Const-ify.
13745 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
13746 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
13747
817e13c4
JM
137482002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
13749
13750 * config.gcc (ia64-*-*): Set extra_headers.
13751 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
13752 * config/alpha/t-osf: Remove.
13753 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
13754
98095e2b
DE
137552002-01-02 David Edelsohn <edelsohn@gnu.org>
13756
13757 * config/rs6000/t-aix43: Revert previous change.
13758
a4200657
JM
137592002-01-02 Jason Merrill <jason@redhat.com>
13760
13761 * c-decl.c (c_expand_body): Call outlining_inline_function when
13762 emitting an inline function out of line.
13763
54ba1f0d
RH
137642002-01-02 Richard Henderson <rth@redhat.com>
13765
13766 * dwarf2out.c (limbo_die_node): Add created_for member.
13767 (new_die): New argument created_for. Update all callers.
13768 (mark_limbo_die_list): New.
13769 (dwarf2out_init): Register limbo_die_list as a root.
13770 (dwarf2out_finish): Force insert limbo dies into their function
13771 context.
13772
323728aa
NS
137732002-01-02 Nathan Sidwell <nathan@codesourcery.com>
13774
13775 PR c++/5089
13776 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
13777
aefc5826
KH
137782002-01-02 Kazu Hirata <kazu@hxi.com>
13779
13780 * config/h8300/fixunssfsi.c: Update copyright.
13781 Fix comment typos.
13782 Fix formatting.
13783 * config/h8300/h8300.c: Update copyright.
13784 Eliminate warnings.
13785
b1c9bc51
KH
137862002-01-02 Kazu Hirata <kazu@hxi.com>
13787
13788 * config/romp/romp.c: Fix comment formatting.
13789 * config/romp/romp.h: Likewise.
13790 * config/romp/romp.md: Likewise.
13791 * config/s390/s390.c: Likewise.
13792 * config/stormy16/stormy16.c: Likewise.
13793 * config/stormy16/stormy16.h: Likewise.
13794
1574ef13
AO
137952002-01-02 Alexandre Oliva <aoliva@redhat.com>
13796
13797 * c-common.h (genrtl_expr_stmt_value): Declare.
13798 * c-semantics.c (genrtl_goto_stmt): Redirect to...
13799 (genrtl_goto_stmt_value): ... this new function. Pass new
13800 argument down to expand_expr_stmt_value, taking
13801 TREE_ADDRESSABLE into account.
13802 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
13803 STMT_EXPR as addressable, i.e., one whose result we want.
13804 * expr.c (expand_expr): Don't save expression statement value
13805 of labeled_blocks or loop_exprs.
13806 * stmt.c (expand_expr_stmt): Redirect to...
13807 (expand_expr_stmt_value): ... this new function. Use new
13808 argument to tell whether to save expression value.
13809 (expand_end_stmt_expr): Reset last_expr_type and
13810 last_expr_value if we don't have either.
13811 * tree-inline.c (declare_return_variable): Mark its use
13812 statement as addressable.
13813 * tree.h: Document new use of TREE_ADDRESSABLE.
13814 (expand_expr_stmt_value): Declare.
13815
252b88f7
TR
138162002-01-01 Tom Rix <trix@redhat.com>
13817
13818 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
13819 rs6000_emit_allocate_stack.
13820
29f7a208
JM
138212002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
13822
13823 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
13824 ${srcdir}/ginclude/ to every entry in extra_headers.
13825 * configure: Regenerate.
13826 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
13827 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
13828 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
13829 * ginclude/proto.h: Rename to config/convex/proto.h.
13830
2cc2d4bb
RK
13831Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13832
13833 * attribs.c (handle_vector_size_attribute): Use host_integerp
13834 and tree_int_cst; remove warnings.
13835 * caller-save.c (insert_restore): Add cast to get rid of warning.
13836 (insert_save): Likewise.
13837 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
13838 * regmove.c (find_matches): Add temporary var to kill a warning.
13839
f01c9bcd
DR
138402002-01-01 Douglas B Rupp <rupp@gnat.com>
13841
16b61764
DR
13842 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
13843 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
13844 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
13845 (vms-dwarf2eh.o): Add Makefile rule.
13846 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
13847 * config/alpha/vms-dwarf2eh.asm: New file.
13848
f01c9bcd
DR
13849 * gcc.c (delete_if_ordinary): Delete all versions.
13850
91312b81
HPN
138512002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
13852
13853 * config/mmix/mmix.md: Update FIXME to not mention
13854 define_constants.
13855 (MMIX_rJ_REGNUM): New define_constants constant.
13856 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
13857 "*movdicc_real"): Adjust contraints formatting.
13858 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
13859 for branch prediction.
13860 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
13861 output template.
13862 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
13863 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
13864 number. Delete related FIXMEs.
13865 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
13866 from number to MMIX_rJ_REGNUM.
13867 (TARGET_MASK_BRANCH_PREDICT): New.
13868 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
13869 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
13870 value. Add -mbranch-predict and -mno-branch-predict.
13871 (TARGET_VERSION): Drop date.
13872 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
13873 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
13874 for finding out global symbols.
13875 (mmix_asm_output_labelref): Revert condition for global symbol.
13876 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
13877 (mmix_print_operand_punct_valid_p): A '+' is valid.
13878
619acae7 13879See ChangeLog.6 for earlier changes.
This page took 1.713123 seconds and 5 git commands to generate.