]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
avr.c (avr_mcu_types): Update supported devices.
[gcc.git] / gcc / ChangeLog
CommitLineData
4c476cf3
MM
12002-05-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
2
3 * config/avr/avr.c (avr_mcu_types): Update supported devices.
4 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
5 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
6
3a538a66
KH
72002-05-11 Kazu Hirata <kazu@cs.umass.edu>
8
9 * dbxout.c: Fix formatting.
10 * dependence.c: Likewise.
11 * df.c: Likewise.
12 * diagnostic.c: Likewise.
13 * doloop.c: Likewise.
14 * dominance.c: Likewise.
15 * doschk.c: Likewise.
16 * dwarf2asm.c: Likewise.
17 * dwarf2out.c: Likewise.
18 * dwarfout.c: Likewise.
19
2292e8fc
RH
202002-05-10 Richard Henderson <rth@redhat.com>
21
22 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
23 Convert integers constants as needed. Replace "nwords" field with
24 "sizeof_bb".
25 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
26 * function.h: Fix typo in comment.
27 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
28
dbfb1116
RS
292002-05-10 Roger Sayle <roger@eyesopen.com>
30
31 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
32 into the equivalent (signed char)c > 0.
33
79a497cd
JJ
342002-05-10 Janis Johnson <janis187@us.ibm.com>
35
36 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
37 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
38 (struct prefetch_info): Fix spelling of member bytes_accessed.
39 (emit_prefetch_instructions): Make dump messages more regular;
40 restructure code to add more dump messages; use new macros for
41 heuristics. (There are no code generation changes in any of this).
42
6c45cb0d
DM
432002-05-10 David S. Miller <davem@redhat.com>
44
7440af14
DM
45 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
46 (struct rtx_def): Update unchanging flag comment.
47 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
48 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
49 to be handled to INSN too.
50 (dbr_schedule): Likewise.
51 * resource.c (next_insn_no_annul): Likewise.
52
6c45cb0d
DM
53 * cse.c (rtx_cost): Remove multiplication by power of 2 special
54 casing.
55
e4ba88da
RO
562002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
57
58 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
59 . as N64/N32 libgcc_s.so subdirs.
60
4f4778ee
DM
612002-05-10 David S. Miller <davem@redhat.com>
62
63 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
64
65 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
66 more accurately.
67 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
68 comment.
69 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
70 * doc/rtl.texi: Document these macros more accurately.
71 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
72 JUMP_INSNs and CALL_INSNs.
73 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
74 or INSN_FROM_TARGET_P if the code is appropriate.
75
1a499b92
MM
762002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
77
78 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
79 before using SYMBOL_REF_FLAG (addr).
80
81 * config/avr/avr-protos.h (avr_io_address_p): Declare.
82 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
83 Make non-static. Update all callers.
84 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
85 New insns to clear/set/test a single bit in I/O address space.
86
65212b66
KG
872002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
88
89 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
90
3df89291
NB
912002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
92
93 * Makefile.in: Update.
94 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
95 builtin_define_std): New.
96 (c_common_init): Register CPP builtins callback.
97 * c-common.h (flag_iso, flag_undef): New.
98 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
99 * c-lex.c: Don't include target.h.
100 (cb_register_builtins): Move to c-common.c.
101 (init_c_lex): Don't register hook here.
102 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
103 (cpp_define, cpp_assert): Remove.
104 * gcc.c (cc1_options): Pass -undef to front end.
105 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
106 (TARGET_INITIALIZER): Update.
107 * target.h (struct cpp_reader): Don't predeclare.
108 (struct gcc_target): Remove cpp builtin hook.
109 * tree.c (default_register_cpp_builtins): Remove.
110doc:
111 * tm.texi: Update.
112
32fa4565
NB
1132002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
114
115 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
116
23357c55
RO
1172002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
118
119 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
120 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
121
5aa26af0
JJ
1222002-05-09 Jakub Jelinek <jakub@redhat.com>
123
124 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
125 * config/sparc/libgcc-sparc-glibc.ver: New file.
126 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
127 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
128
2937267b
JJ
1292002-05-09 Jakub Jelinek <jakub@redhat.com>
130
131 PR target/6429
132 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
133 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
134 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
135 base multilibs.
136 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
137 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
138 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
139 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
140
086c0f96
RH
1412002-05-09 Richard Henderson <rth@redhat.com>
142
143 * config/ia64/ia64.md: Use define_constants for unspec numbers.
144 * config/ia64/ia64.c: Likewise.
145
a8b4881f
RS
1462002-05-09 Richard Sandiford <rsandifo@redhat.com>
147
148 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
149 (save_restore_insns): Likewise.
150 (mips_expand_prologue, mips_expand_epilogue): Update callers.
151 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
152
890d52e8
JL
153Thu May 9 11:50:09 2002 Jeffrey A Law (law@cygnus.com)
154
af2728a4
JL
155 * athlon.md, k6.md, pentium.md, ppro.md): New files.
156 * i386.md: Move scheduling information into new files.
157
890d52e8
JL
158 * i386.md (type attribute): Add "rotate" for rotate insns.
159 (rotate insns): Set type to "rotate".
160 (various attributes and function units): Treat rotate like shift.
161 (pent_pair attribute): Only rotates by one bit position are
162 pairable.
163 (sbb insns): Explicitly set pent_pair attribute on a couple
164 that were missing it.
165
f78ec36a
R
166Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
167
168 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
169 make sure that buffer starts on odd word address.
170 (sh_va_arg): Skip odd fp registers when reading a double precision
171 value.
172
ff431459
NB
1732002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
174
175 * tree.h (preserve_data, object_permanent_p, type_precision):
176 Remove.
177
c3bf3e6e
NB
1782002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
179
180 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
181 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
182doc:
183 * cpp.texi: Update for removal of obsolete features.
184
02263a8a
JH
185Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
186 Jeffrey A Law (law@redhat.com)
187
188 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
189 the DFA interface for Pentium processors.
190 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
191 (attr_pent_pair, ix86_pent_find_pair): Remove.
192 (ix86_sched_reorder_pentium): Remove.
193 (ix86_sched_reorder): Remove reordering for Pentium.
194 * i386.md (Pentium scheduling): Rewrite using DFA description.
195
3e638a90
JH
196Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
197
198 * cfganal.c (can_fallthru): Fix fast path.
199 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
200 with edges to the next block.
201
b7c9bf28
JH
202Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
203 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
204
205 * final.c (end_final): Use C trees to output data structures for profiling.
206
207 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
208 (profile.o): New dependency profile.h
209 (final.o): New dependency profile.h
210 * profile.h: New file. New global structure profile_info.
211 * final.h (count_edges_instrumented_now): Declare.
212 (current_function_cfg_checksum): Declare.
213 (function_list): New structure.
214 (functions_head, functions_tail): New static variables.
215 (end_final): Emits more data, removed some -ax stuff.
216 (final): Stores function names and chcksums.
217 * gcov-io.h (__write_gcov_string): New function.
218 (__read_gcov_string): New function.
219 * gcov.c (read_profile): New function.
220 (create_program_flow_graph): Uses read_profile instead of reading
221 da_file.
222 (read_files): Removed da_file checking, it's done by read_profile now.
223 * libgcc2.c (bb_function_info): New structure.
224 (bb): New field in structure, removed some -ax stuff.
225 (__bb_exit_func): Changed structure of da_file.
226 * profile.c (count_edges_instrumented_now): New global variable.
227 (current_function_cfg_checksum): New global variable.
228 (max_counter_in_program): New global variable.
229 (get_exec_counts): New function.
230 (compute_checksum): New function.
231 (instrument_edges): Sets count_edges_instrumented_now.
232 (compute_branch_probabilities): Uses get_exec_counts instead of
233 reading da_file.
234 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
235 (init_branch_prob): Removed da_file checking, done in get_exec_counts
236 now.
237 (end_branch_prob): Removed da_file checking, done in get_exec_counts
238 now.
239 * gcov.texi: Updated information about gcov file format.
240
786de7eb
KH
2412002-05-09 Kazu Hirata <kazu@cs.umass.edu>
242
243 * sbitmap.c: Fix formatting.
244 * scan.c: Likewise.
245 * scan-decls.c: Likewise.
246 * sched-deps.c: Likewise.
247 * sched-ebb.c: Likewise.
248 * sched-rgn.c: Likewise.
249 * sched-vis.c: Likewise.
250 * sdbout.c: Likewise.
251 * sibcall.c: Likewise.
252 * simplify-rtx.c: Likewise.
253 * ssa.c: Likewise.
254 * ssa-ccp.c: Likewise.
255 * ssa-dce.c: Likewise.
256 * stmt.c: Likewise.
257 * stor-layout.c: Likewise.
258 * stringpool.c: Likewise.
259
b7764693
DM
2602002-05-09 David S. Miller <davem@redhat.com>
261
262 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
263
4e7d5d27
DM
2642002-05-07 David S. Miller <davem@redhat.com>
265
266 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
267 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
268 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
269 library implementation clobbers the output before the inputs
270 are fully consumed, use stack temporary for the output.
271
f979570e
JT
2722002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
273
274 * config/netbsd.h (CPP_SPEC): Remove.
275 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
276 * config/i386/netbsd.h (CPP_SPEC): Define.
277 * config/ns32k/netbsd.h (CPP_SPEC): Define.
278 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
279 * config/sparc/netbsd.h (CPP_SPEC): Define.
280 * config/vax/netbsd.h (CPP_SPEC): Define.
281
a6a2274a
KH
2822002-05-08 Kazu Hirata <kazu@cs.umass.edu>
283
284 * read-rtl.c: Fix formatting.
285 * real.c: Likewise.
286 * recog.c: Likewise.
287 * regclass.c: Likewise.
288 * regmove.c: Likewise.
289 * reg-stack.c: Likewise.
290 * reload1.c: Likewise.
291 * reload.c: Likewise.
292 * resource.c: Likewise.
293 * rtlanal.c: Likewise.
294 * rtl.c: Likewise.
295 * rtl-error.c: Likewise.
296
461b48d5
JDA
2972002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
298
299 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
300 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
301
95d075ff
BS
3022002-05-08 Bernd Schmidt <bernds@redhat.com>
303
304 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
305 use __SSE2__ macro instead.
306 * config/i386/xmmintrin.h: Likewise.
307
2d4cc6a7
JJ
3082002-05-08 Janis Johnson <janis187@us.ibm.com>
309
310 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
311 and use it in all invocations of these macros. Clean up comments.
312 * rtl.c (rtl_check_failed_flag): Add an argument for the name
313 of the flag access macro whose check failed.
314 * doc/rtl.texi (Flags): Document additional flag uses.
315
3f8ffc7c
RS
3162002-05-08 Robert Spier <rspier@pobox.com>
317 Neil Booth <neil@daikokuya.demon.co.uk>
318
319 PR preprocessor/6521
320 * cppfiles.c (handle_missing_header): Don't do anything
321 different for <> includes.
322doc:
323 * cppopts.texi: Update documentation for -MG.
324
b9e2d17b
NB
3252002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
326
327 * cpplex.c (cpp_interpret_charconst): Truncate as well as
328 sign-extend.
329doc:
330 * cpp.texi: Clarify multichar charconst valuation.
331
8d8269fa
MM
3322002-05-08 Mark Mitchell <mark@codesourcery.com>
333
334 * doc/invoke.texi: Document -mwindiss option.
335
29b91443
JM
3362002-05-08 Jason Merrill <jason@redhat.com>
337
338 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
339
340 * dwarf2out.c (gen_type_die): Abort on broken recursion.
341
342 PR c++/6381
343 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
344 REAL_CST.
345
6c76b950
NC
3462002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
347
348 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
349 little-endian multilibs to override arm/thumb multilibs.
350 Do not build hardware floating point multilibs, nor apcs-26
351 multilibs for the Thumb.
352
f90bf7ca
MM
3532002-05-08 Mark Mitchell <mark@codesourcery.com>
354
355 PR c/6569.
356 * varasm.c (mark_weak): New function.
357 (merge_weak): Use it. Do not call declare_weak.
358 (declare_weak): Use merge_weak.
359
1e150f2c
JH
360Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
361
362 * cse.c (dead_libcall_p): Update counts.
363 (delete_trivially_dead_insns): Update call of dead_libcall_p.
364
969d70ca
JH
365Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
366
367 * cfglayout.c (function_tail_eff_head): Rename to ...
368 (function_footer): ... this one.
369 (unlink_insn_chain): New functions.
370 (label_for_bb): Only call block_label and emit debug message.
371 (record_effective_endpoints): Actually unlink the headers and footers.
372 (fixup_reorder_cahin): Re-insert the unlinked sequences.
373 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
374 * cfglayout.h (struct reorder_block_def): New fields footer/header;
375 remove eff_head/eff_end.
376 * rtl.h (set_first_insn): Declare.
377 * emit-rtl.c (set_first_insn): New function.
378
379 * cfglayout.c (fixup_reorder_chain): Dump duplicated
380 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
381 cfg_layout_duplicate_bb): New global function.
382 (duplicate_insn_chain): New static function.
383 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
384 cfg_layout_duplicate_bb): Declare.
385 (struct reorder_block_def): Add "original" field.
386 * emit-rtl.c (emit_copy_of_insn_after): New function.
387 * rtl.h (emit_copy_of_insn_after): Declare.
388
389 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
390 (fixup_reorder_chain): properly handle edges to exit block.
391
392Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
393 Jan Hubicka <jh@suse.cz>
394
395 * basic-block.h (note_prediction_to_br_prob): declare.
396 * c-semantics.c: Inlucde predit.h
397 (expand_stmt): predict GOTO_STMT as not taken.
398 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
399 (cleanup_cfg): Do not free tail_recursion_list.
400 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
401 (flow_delete_block): Kill predictions past end of basic block.
402 * output.h (delete_unreachable_blocks): Declare.
403 * predict.c (predicted_by_p, process_note_predictions,
404 process_note_prediction, last_block_p): New function.
405 (estimate_probability): Bypass loop on PRED_CONTINUE;
406 do not handle noreturn heuristics; kill PRED_RETURN; add
407 PRED_EARLY_RETURN.
408 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
409 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
410 * predict.h (IS_TAKEN): New constant.
411 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
412 * rtl.c (NOTE_INSN_PREDICTION): New.
413 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
414 New macro.
415 (insn_note): add NOTE_INSN_PREDICTION.
416 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
417 CFG; free tail_recursion_label_list.
418 * stmt.c: Include predict.h;
419 (return_prediction): New.
420 (expand_value_return): Use it.
421 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
422
41f8d041
RS
4232002-05-08 Richard Sandiford <rsandifo@redhat.com>
424
425 * config/mips/mips.md: Name the unspecs with define_constant.
426 (*HILO_delay): Rename to 'hilo_delay' (no star).
427 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
428 (reload_outdi, reload_outsi): Likewise.
429
9cabb1d8
KH
4302002-05-07 Kazu Hirata <kazu@cs.umass.edu>
431
432 * toplev.c: Fix formatting.
433
4c76f856
JJ
4342002-05-07 Janis Johnson <janis187@us.ibm.com>
435
436 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
437 * configure.in (ac_rtlflag_checking): New.
438 * doc/install.texi (--enable-checking): Document RTL flag checking.
439
44a147ad
NB
4402002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
441
442 * c-common.c (c_common_init): Set options->unsigned_wchar.
443 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
444 group target dependencies.
445 (init_builtins, cpp_handle_option): Update.
446 * cpplex.c (cpp_interpret_charconst): Update.
447 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
448 signed_char to unsigned_char, group target dependencies.
449 * defaults.h (WCHAR_UNSIGNED): Remove.
450 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
451config:
452 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
453 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
454 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
455 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
456 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
457doc:
458 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
459
cace4f93
MM
4602002-05-07 Mark Mitchell <mark@codesourcery.com>
461
462 * fixinc/inclhack.def (windiss_math1): New fix.
463 (windiss_math2): Likewise.
464 (windiss_valist): Likewise.
465 * fixinc/fixincl.x: Regenerated.
466
e2ff6cee
AJ
4672002-05-07 Andreas Jaeger <aj@suse.de>
468
469 * genautomata.c (output_internal_min_issue_delay_func): Add
470 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
471 (output_internal_trans_func): Likewise.
472
bdad4be5
JL
473Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
474
475 * pa.c (hppa_profile_hook): Use force_reg to get the address
476 of the profile hook into an appropriate pseudo register.
477
a1ffecd9
MM
4782002-05-07 Mark Mitchell <mark@codesourcery.com>
479
480 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
481 (LINK_START_SPEC): Handle it.
482 (LINK_OS_SPEC): Likewise.
483 (CPP_SPEC): Likewise.
484 (STARTFILE_SPEC): Likewise.
485 (LIB_SPEC): Likewise.
486 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
487 all platforms.
488 (CRTSAVRES_DEFAULT_SPEC): New macro.
489 (LIB_WINDISS_SPEC): New macro.
490 (CPP_OS_WINDISS_SPEC): Likewise.
491 (STARTFILE_WINDISS_SPEC): Likewise.
492 (ENDFILE_WINDISS_SPEC): Likewise.
493 (LINK_START_WINDISS_SPEC): Likewise.
494 (LINK_OS_WINDISS_SPEC): Likewise.
495 * config/rs6000/windiss.h: New file.
e2ff6cee 496
df966bff
AH
4972002-05-07 Aldy Hernandez <aldyh@redhat.com>
498
499 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
500
db84f1bd
DM
5012002-05-06 David S. Miller <davem@redhat.com>
502
503 * config/sparc/sparc.md (shift insns): Do not mask off
504 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
505 take care of it.
506
818c0c94
RH
5072002-05-06 Richard Henderson <rth@redhat.com>
508
509 PR c++/6212
510 * expr.c (highest_pow2_factor_for_type): New.
511 (expand_assignment): Use it.
512
61e0b50f
AH
5132002-05-06 Aldy Hernandez <aldyh@redhat.com>
514
818c0c94
RH
515 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
516 unspec_volatile.
517 ("altivec_mfvscr"): Same.
61e0b50f 518
5a63e069
JJ
5192002-05-06 Janis Johnson <janis187@us.ibm.com>
520
521 * rtl.h (struct rtx_def): Update comments.
522 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
523 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
524 RTL_FLAG_CHECK macros with list of expected RTL codes.
525 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
526 (rtl_check_failed_flag): New.
527 * reload1.c (reload): Use REG macro before changing rtx to MEM.
528 (reload_cse_noop_set_p): Check rtx code before using access macro.
529 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
530 before using access macro.
531
4afe3952
JJ
5322002-05-06 Janis Johnson <janis187@us.ibm.com>
533
534 * doc/rtl.texi (Flags): Update to reflect current usage.
535
1f77b5da
RS
5362002-05-06 Roger Sayle <roger@eyesopen.com>
537
538 PR opt/3995
539 * fold-const.c (sign_bit_p): New function.
540 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 541 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
542 Reapply fold when converting (A & C) == C into (A & C) != 0.
543 (fold_binary_op_with_conditional_arg): Fix typo in comment.
544
a5a49440
NB
5452002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
546
547 * c-common.c (warn_multichar): New.
548 (c_common_init): Set CPP's warn_multichar.
549 * c-common.h (warn_multichar): New.
550 * c-decl.c (warn_multichar): Remove.
551 * c-lex.c (lex_charconst): Update.
552 * c-tree.h (warn_multichar): Remove.
553 * cppexp.c (eval_token): Sign-extend charconst value.
554 * cppinit.c (cpp_create_reader): Set warn_multichar.
555 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
556 each character. Update prototype. Sign-extend the result.
557 * cpplib.h: Fix conditions.
558 (struct cpp_options): Add new warning flag.
559 (cpp_interpret_charconst): Update prototype.
560doc:
561 * cpp.texi: Update documentation.
562
83e0be55
VM
5632002-05-06 Vladimir Makarov <vmakarov@redhat.com>
564
565 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
566 Fix typo in usage of allof instead of unit.
567
688ec718
RH
5682002-05-06 Richard Henderson <rth@redhat.com>
569
570 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
571 and any jump or call for IN.
572
f6536266
BS
5732002-05-06 Bernd Schmidt <bernds@redhat.com>
574
e2ff6cee 575 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
576 -msse2.
577 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 578
0316d49b
RS
5792002-05-06 Roger Sayle <roger@eyesopen.com>
580
581 * fold-const.c (lshift-double): Cast the high word to an unsigned
582 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
583 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
584 avoid compiler warning. (fold): Remove redundant code from
585 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
586
5d50fab3
JL
5872002-05-06 Jeff Law <law@redhat.com>
588
589 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
590 * pa.c (pa_adjust_cost): Remove all true dependency cost
591 adjustments. Also remove support for non-DFA scheduling.
592 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
593 to adjust true dependency costs. Update various comments.
594 (7100lc, 7200, 7300 scheduling): Simplify by combining the
595 FP ALU & MPY units into a single unit.
596
a17a104c
CM
5972002-05-06 Catherine Moore <clm@redhat.com>
598
599 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 600 to count all of the registers that will be saved.
a17a104c 601
7799175f
JH
602Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
603
604 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
605
0ac941a0
DM
6062002-05-06 David S. Miller <davem@redhat.com>
607
608 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
609 allow result to overlap input operands in memory.
610
95ff5d3f
NB
6112002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
612
613doc:
614 * cpp.texi: Update multichar charconst docs.
615
639e8b0c
NB
6162002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
617
618 * cpplex.c (cpp_interpret_charconst): Sign-extend each
619 character. Don't ignore excess characters. Treat
620 multicharacter character constants as signed.
621 (cpp_parse_escape): Clarify diagnostic.
622
84ea5bc1
JJ
6232002-05-05 Jakub Jelinek <jakub@redhat.com>
624
625 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
626 use add instead of shift.
627 (ashldi3_sp64): Likewise.
628 (ashlsi3_const1, ashldi3_const1): Remove.
629 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
630 * config/sparc/sparc.c (const1_operand): New.
631
40cd22f2
JT
6322002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
633
634 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
635
cac01076
JJ
6362002-05-05 Jakub Jelinek <jakub@redhat.com>
637
638 PR target/6561
639 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
640
98791e3a
RH
6412002-05-05 Richard Henderson <rth@redhat.com>
642
643 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
644 memory latency adjustments.
645 (alpha_variable_issue): Remove.
646 (alpha_use_dfa_pipeline_interface): New.
647 (alpha_multipass_dfa_lookahead): New.
648 * config/alpha/alpha.md: Remove define_function_unit scheduling;
649 include new dfa scheduling.
650 (attr type): Add none.
651 (blockage): Use it.
652 * config/alpha/ev4.md: New.
653 * config/alpha/ev5.md: New.
654 * config/alpha/ev6.md: New.
655
309527ce
DM
6562002-05-05 David S. Miller <davem@redhat.com>
657
658 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
659
68252e27
KH
6602002-05-05 Kazu Hirata <kazu@cs.umass.edu>
661
662 * cse.c: Fix formatting.
663 * emit-rtl.c: Likewise.
664
30cc9d00
VM
6652002-05-05 Vladimir Makarov <vmakarov@redhat.com>
666
667 * genautomata.c (initiate_states): Add additional guard to
668 initialize `units_array'.
669
deb09eff
VM
6702002-05-05 Vladimir Makarov <vmakarov@redhat.com>
671
672 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
673 process_unit_to_form_the_same_automaton_unit_lists,
674 form_the_same_automaton_unit_lists
675 check_unit_distributions_to_automata): New prototypes and
676 functions.
677 (check_automata): Rename it into `check_automata_insn_issues'.
678 (unit_decl): New fields `the_same_automaton_unit' and
679 `the_same_automaton_message_reported_p'.
680 (unit_decl_t): New typedef.
681 (the_same_automaton_lists): New gloval variable.
682 (unit_regexp, unit_set_el, units_array, units_cmp,
683 output_get_cpu_unit_code_func): Use the typedef.
684 (evaluate_max_reserv_cycles): Increment
685 `description->max_insn_reserv_cycles'.
686 (initiate_states): Don't increment `max_cycles_num'.
687 (transform_insn_regexps): Move code around transformation of
688 regexps from `generate'.
689 (generate): Remove call of `transform_insn_regexps'.
690 (expand_automata): Call `transform_insn_regexps' and
691 `check_unit_distributions_to_automata'. Check errors before
692 `generate'.
693
694 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
695 automaton `ultrasparc3_1'.
e2ff6cee 696
2443d4e1
NB
6972002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
698
699 * c-common.c (c_common_init): Set up CPP arithmetic.
700 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
701 something reasonable for the host.
702 (sanity_checks): Add checks.
703 (cpp_read_main_file): Call sanity_checks() from here...
704 (cpp_post_options): ... not here.
705 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
706 * cpplib.h (struct cpp_options): New member int_precision.
707
791a949f
FS
7082002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
709
710 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
711
091fb516
DM
7122002-05-04 David S. Miller <davem@redhat.com>
713
f60ebeb7
DM
714 * config/sparc/linux.h, config/sparc/linux64.h
715 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
716
214c6394
DM
717 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
718 more RTX codes.
719 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
720
091fb516
DM
721 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
722 of SETs.
723
f2fdc802
TJ
7242002-05-05 Tim Josling <tej@melbpc.org.au>
725
e2ff6cee 726 * treelang; New directory for new sample language treelang.
f2fdc802 727
3d90d290
NB
7282002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
729
730 * Makefile.in (c-lex.o): Update.
731 * c-lex.c: Include target.h.
732 (cb_register_builtins): New.
733 (init_c_lex): Set builtins callback.
734 * c-lex.h (cpp_define, cpp_assert): New prototypes.
735 * cppinit.c (init_builtins): Use callback, including for
736 GXX_WEAK.
737 * cpplib.h (struct cpp_callbacks): New member.
738 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
739 (TARGET_INITIALIZER): Update.
740 * target.h (struct gcc_target): New hook.
741 * tree.c (default_register_cpp_builtins): New.
742 * tree.h (default_register_cpp_builtins): New.
743doc:
744 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
745
625458d0
NB
7462002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
747
748 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
749 (cpp_post_options): Move sanity checks to...
750 (sanity_checks): New.
751 * cpplex.c (maybe_read_ucs): Fix prototype.
752 (parse_string, cpp_parse_escape): Cast for %c format specifier.
753 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
754 if necessary.
755
916b60b7
BS
7562002-05-04 Bernd Schmidt <bernds@redhat.com>
757
758 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
759 builtins. Use V2DI patterns instead of TI for logical operations.
760 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
761 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
762 (ix86_expand_builtins): Change the pattern used for movntdq.
763 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
764 sse2_nandv2di3): New patterns.
765 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
766 on operands.
767 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
768 (cvtdq2pd): Correct mode on operand 1.
769 (sse2_umulsidi3): Describe without unspec.
770 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
771 machine modes.
772 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
773 (ashlv2di3): Likewise, from sse2_ashlv2di3.
774 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
775 ashlv4si3, ashlv2di3): Use SImode for shift count.
776 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
777 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
778 New patterns.
779 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
780 New typedefs.
781 (__m128i, __m128d): New macros.
782 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
783 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
784 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
785 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
786 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 787 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
788 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
789 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 790 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
791 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
792 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
793 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
794 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
795 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
796 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
797 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
798 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
799 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
800 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
801 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
802 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
803 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
804 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
805 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
806 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
807 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
808 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
809 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
810 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
811 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
812 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
813 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
814 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
815 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
816 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
817 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
818 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
819 functions.
e2ff6cee 820 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
821 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
822
c26fbbca
KH
8232002-05-04 Kazu Hirata <kazu@cs.umass.edu>
824
825 * dwarf2out.c: Fix formatting.
826 * varasm.c: Likewise.
827
0387639b
DE
8282002-05-04 David Edelsohn <edelsohn@gnu.org>
829
830 PR c/6543
831 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
832 clobber and use result as temporary value.
833
8a28dbcc
JH
834Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
835
836 * expr.c (force_operand): Use expand_simple_* to handle more
837 cases.
838
4268e8bb
NB
8392002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
840
841 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
842 and sign-extension.
843 (lex_charconst): Update for change in prototype of
844 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
845 appropriately.
846 * cpphash.h (BITS_PER_CPPCHAR_T): New.
847 * cppinit.c (cpp_create_reader): Initialize them for no
848 change in semantics.
849 (cpp_post_options): Add sanity checks.
850 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
851 and truncation issues. Calculate in type cppchar_t.
852 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
853 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
854 run-time dependent precision correctly. Return whether the
855 result is signed or not.
856 * cpplib.c (dequote_string): Use cppchar_t; update.
857 * cpplib.h (cppchar_signed_t): New.
858 struct cpp_options): New precision members.
859 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 860 * cppexp.c (eval_token): Update.
4268e8bb 861
af54350e
DM
8622002-05-03 David S. Miller <davem@redhat.com>
863
2ce04b6b
DM
864 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
865 * config/sparc/sparc.c (sparc_rtx_costs): New function
866 implementing RTX_COSTS and CONST_COSTS.
867 * config/sparc/sparc.h (CONST_COSTS): Delete.
868 (RTX_COSTS_CASES): Define.
869 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
870 the work.
871
a1d9bd0c
DM
872 * config/sparc/sparc.md (DFA schedulers): Split out...
873 * config/sparc/cypress.md, config/sparc/hypersparc.md,
874 config/sparc/sparclet.md, config/sparc/supersparc.md,
875 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
876
e87bb82e
DM
877 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
878 checks on it, always defined for Sparc.
879
af54350e
DM
880 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
881 Tweak, and add more detailed comments.
882
935bfb44
ZW
8832002-05-03 Zack Weinberg <zack@codesourcery.com>
884
885 * Re-apply patch accidentally reverted with
886 DFA scheduler merge: remove all rules and variables to slurp
887 source files out of libiberty and rebuild them with HOST_CC.
888 ($(HOST_PREFIX_1)varray.o): New rule.
889 (genattrtab rule): Word wrap.
890
fa7a0712
JT
8912002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
892
893 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
894 (CPP_SUBTARGET_SPEC): Define.
895 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
896 cpp_subtarget specs.
897 (CPP_SPEC): Redefine to include %(cpp_subtarget).
898
14c93978
DM
8992002-05-03 David S. Miller <davem@redhat.com>
900
901 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
902 * target.h (struct gcc_target): Delete cycle_display member.
903
14d118d6
DM
904 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
905 (rtx_needs_barrier): Delete reference to cycle_display unspec.
906 (ia64_sched_reorder2): Mention need for cycle display handling
907 once such notes exist.
935bfb44 908
b3ae1ccd
RH
9092002-05-03 Richard Henderson <rth@redhat.com>
910
911 * real.c (etoasc): Strip most trailing zeros for clarity.
912 * sched-vis.c: Include real.h.
913 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
914 * Makefile.in (sched-vis.o): Add real.h.
915
8f39865a
DM
9162002-05-03 David S. Miller <davem@redhat.com>
917
918 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
919 no longer needed.
920
b44140e7
AH
9212002-05-03 Aldy Hernandez <aldyh@redhat.com>
922
935bfb44
ZW
923 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
924 when we get an out of range literal.
925 (altivec_expand_ternop_builtin): Same.
926 (altivec_expand_unop_builtin): Same.
927 (altivec_expand_builtin): Same, for dss.
928 (altivec_expand_builtin): Use trees instead of rtl when
929 determining literal argument validity.
b44140e7 930
aaaed752
DM
9312002-05-03 David S. Miller <davem@redhat.com>
932
933 Delete cycle display scheduling hook.
934 * config/ia64/ia64.c (ia64_cycle_display,
935 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
936 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
937 and use emit_insn_before instead of ia64_emit_insn_before.
938 * config/ia64/ia64.md (unspec usage): Delete cycle display.
939 (cycle_display): Delete insn pattern.
940 * config/sparc/sparc.md (unspec usage): Delete cycle display.
941 (cycle_display): Delete insn pattern.
942 * config/sparc/sparc.c (sparc_cycle_display,
943 TARGET_SCHED_CYCLE_DISPLAY): Delete.
944 * doc/md.texi (cycle_display): Don't mention.
945 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 946
b37c2614
RH
9472002-05-03 Richard Henderson <rth@redhat.com>
948
949 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
950 * recog.h: Declare them.
951
952 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
953 * config/sparc/sparc.md: Use store_data_bypass_p instead.
954 * config/sparc/sparc-protos.h: Update.
935bfb44 955
e1c1132e
JT
9562002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
957
958 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
959 -D__arch64__. Add -D_LP64.
960 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
961 from sparc.h.
962 (CPP_ARCH64_SPEC): Likewise.
963 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
964 (NO_BUILTIN_SIZE_TYPE): Undef.
965
0b2fb0d7
VM
9662002-05-03 Vladimir Makarov <vmakarov@redhat.com>
967
968 * genautomata.c (min_issue_delay_pass_states): Change return type
969 in the prototype.
970 (min_issue_delay_pass_states): Change the algorithm.
971 (min_issue_delay): Set up min_insn_issue_delay for the state.
972 (output_min_issue_delay_table): Interchange the nested loops and
973 and initiate min_insn_issue_delay for states.
935bfb44 974
3d4ce12a
JH
975Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
976
977 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
978 jump is simplejump.
979
980Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
981
982 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
983 sequence.
984
b5482208
RH
9852002-05-03 Richard Henderson <rth@redhat.com>
986
987 PR opt/6534
988 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
989 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
990 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
991 code before JUMP, not EARLIEST.
992
5a3085c5
JM
9932002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
994
995 * c-format.c (check_format_info_main): Don't check for presence of
996 parameter for * width until after operand number has been read,
997 and only check for it if format parameters are available.
998 Fixes PR c/6547.
999
40039424
JT
10002002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
1001
1002 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
1003 (LINK_SPEC): Undef before defining.
1004
8157303b
JJ
10052002-05-03 Jakub Jelinek <jakub@redhat.com>
1006
1007 PR preprocessor/6489
1008 * tradcpp.c (fixup_newlines): New.
1009 (main, finclude): Use it.
1010
66319f5c
RS
10112002-05-03 Richard Sandiford <rsandifo@redhat.com>
1012
1013 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
1014 * config/mips/mips.c (mips_unique_section): Strip encoding from
1015 decl name.
1016
ce8076ad
JJ
10172002-05-03 Jakub Jelinek <jakub@redhat.com>
1018
1019 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
1020 mode.
1021
975c6e4e
RO
10222002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1023
1024 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
1025 (Specific): Removed buildstats references.
1026 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
1027 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
1028 Accomodate Solaris versions beyond 8.
1029 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
1030 (Specific, *-*-solaris2.8): Removed, obsolete.
1031
d70e94ec
JJ
10322002-05-03 Jakub Jelinek <jakub@redhat.com>
1033
1034 PR target/6542
1035 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
1036 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
1037 fill leaf_reg_remap with identity.
1038 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
1039
6b148bd9
KH
10402002-05-03 Kazu Hirata <kazu@cs.umass.edu>
1041
1042 * config/h8300/crti.asm: Remove trailing spaces.
1043 * config/h8300/h8300.c: Likewise.
1044 * config/h8300/lib1funcs.asm: Likewise.
1045
609688f3
JM
10462002-05-02 Jason Merrill <jason@redhat.com>
1047
1048 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
1049 * c-decl.c (c_init_decl_processing): Use it.
1050 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
1051 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
1052 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
1053
3b03c671
KH
10542002-05-03 Kazu Hirata <kazu@cs.umass.edu>
1055
1056 * regrename.c: Fix formatting.
1057 * tree.c: Likewise.
1058
3b4961bd
JH
1059Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
1060
1061 * i386.md (attribute memory): Handle compares properly.
1062
19cba4a0
JH
1063Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
1064
3b4961bd 1065 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
1066 to none.
1067
797a6ac1
KH
10682002-05-02 Kazu Hirata <kazu@cs.umass.edu>
1069
1070 * function.c: Fix formatting.
1071
6d0de005
JH
10722002-05-02 Jan Hubicka <jh@suse.cz>
1073
1074 * haifa-sched.c (schedule_insn): Print table of instructions and
1075 reservations.
1076 (sched_block): Do not print ready list at verbosity level 1.
1077 * sched-vis.c (print_insn): Make global.
1078 * sched-ebb.c (ebb_print_insn): Rename from...
1079 (print_insn): ... this one.
1080 * sched-int.h (print_insn): Declare
1081
0bfb9a69
RH
10822002-05-02 Richard Henderson <rth@redhat.com>
1083
1084 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
1085 emitted by cycle_display.
1086
6b976d99
LR
10872002-05-02 Loren J. Rittle <ljrittle@acm.org>
1088
1089 * doc/install.texi (*-*-freebsd*): Update to latest status.
1090
0a295052
JJ
10912002-05-02 Jakub Jelinek <jakub@redhat.com>
1092
1093 PR target/6540
1094 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
1095 * config/float-sparc.h: Assume 128-bit long double if
1096 __LONG_DOUBLE_128__ is defined.
1097
842d5d6c
VM
10982002-05-02 Vladimir Makarov <vmakarov@redhat.com>
1099
1100 * genattrtab.c (write_function_unit_info): Add a dummy element
1101 when num_units == 0.
1102
3d7a6309
HB
11032002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1104
1105 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
1106 TYPE_MODE (double_type_node) instead of DFmode.
1107
1b6763cf
JH
1108Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
1109
1110 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
1111 jumps post reload.
1112 * toplev.c (rest_of_compilation): Revert Richard's patch.
1113
b303008e
JDA
11142001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
1115
1116 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
1117
6ed7412a
CM
11182002-05-02 Catherine Moore <clm@redhat.com>
1119
1120 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
1121
e0a2f705
KH
11222002-05-02 Kazu Hirata <kazu@hxi.com>
1123
b32d6163 1124 * combine.c: Fix comment typos.
e0a2f705
KH
1125 * expr.c: Likewise.
1126 * genautomata.c: Likewise.
1127 * stmt.c: Likewise.
1128 * tree.h: Likewise.
1129
38e23049
JM
11302002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
1131
1132 * doc/install.texi: State GNAT version requirements.
1133
40f4a97d
NC
11342002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
1135
1136 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
1137 of the frame pointer or arg pointer register which strict register
1138 checking is not enabled.
1139
0d6d6892
AH
11402002-05-02 Aldy Hernandez <aldyh@redhat.com>
1141
b5482208 1142 * gcc.dg/altivec-8.c: New.
0d6d6892 1143
b5482208
RH
1144 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
1145 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 1146
abaa8559
BK
11472002-05-01 Bruce Korb <bkorb@gnu.org>
1148
1149 * fixinc/check.tpl(set-writable): make sure the function exists first
1150 * fixinc/inclhack.def(alpha_assert): fix test_text
1151 * fixinc/tests/base/assert.h: add in missing result
1152
ecab2143
JL
11532002-05-01 Jeff Law <law@redhat.com>
1154
1155 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
1156 'T' constraint.
1157
ea619b46
JB
11582002-05-01 Joel Brobecker <brobecker@gnat.com>
1159
1160 * dbxout.c (dbxout_type): Emit size information for range types,
1161 as well, but only when using GDB extensions.
1162
c72931a6
RH
11632002-05-01 Richard Henderson <rth@redhat.com>
1164
1165 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
1166 target-independent gnu binutils date test.
1167
2150ad33
RH
11682002-05-01 Richard Henderson <rth@redhat.com>
1169
1170 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
1171 info before expunging the block.
1172
1651cc96
JJ
11732002-05-01 Jakub Jelinek <jakub@redhat.com>
1174
1175 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
1176 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
1177 -M -or -MM is in effect.
1178
8998d5bf
ZW
11792002-05-01 Zack Weinberg <zack@codesourcery.com>
1180
1181 * config.gcc: Correct test of --enable-obsolete. Obsolete all
1182 A29k configurations.
1183 * doc/install.texi: Update to match.
1184
a81eed10
FS
11852002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1186
1187 PR bootstrap/6514
1188 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
1189 for duplicates. Always loop over whole list.
1190
8d53318f
RK
1191Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1192
1193 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
1194
4109b118
JS
11952002-05-01 Joel Sherrill <joel@OARcorp.com>
1196
1197 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
1198 support routines.
1199
c4a9c570
JS
12002002-05-01 Joel Sherrill <joel@OARcorp.com>
1201
1202 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
1203
ea112fc4
DE
12042002-05-01 David Edelsohn <edelsohn@gnu.org>
1205
1206 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
1207 (nabs_nopower): Same.
1208 (floatdisf2): New pattern.
1209 (absdi2): Convert to define_insn_and_split.
1210 (nabsdi2): Same.
1211 (trunctfsf2): Same.
1212 (floatditf2): Same.
1213 (floatsitf2): Same.
1214 (fix_trunctfdi2): Same.
1215 (fix_trunctfsi2): Same.
1216
dda78254
JM
12172002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
1218
1219 * doc/install.texi: Update Texinfo version requirement
1220 documentation.
1221
26aeede4
JJ
12222002-05-01 Jakub Jelinek <jakub@redhat.com>
1223
1224 PR target/6512, PR target/5628
1225 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
1226 when memory is not aligned.
1227 (movdf_insn_v9only_vis): Likewise.
1228 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
1229 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
1230 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
1231
9b7bc465
AH
12322002-05-01 Aldy Hernandez <aldyh@redhat.com>
1233
8998d5bf 1234 * gcc.dg/altivec-7.c: New.
9b7bc465 1235
8998d5bf 1236 * config/rs6000/altivec.h: Cleanup.
9b7bc465 1237
08b57fb3
AH
12382002-04-30 Aldy Hernandez <aldyh@redhat.com>
1239
8998d5bf
ZW
1240 * doc/invoke.texi (Option Summary): Add -mvrsave=.
1241 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 1242
8998d5bf
ZW
1243 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
1244 (rs6000_altivec_vrsave_string): Same.
1245 (rs6000_override_options): Call rs6000_parse_vrsave_option.
1246 (rs6000_parse_vrsave_option): New.
1247 (rs6000_stack_info): Only generate vrsave instructions when
1248 TARGET_ALTIVEC_VRSAVE.
08b57fb3 1249
8998d5bf
ZW
1250 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
1251 (rs6000_altivec_vrsave_string): Define extern.
1252 (rs6000_altivec_vrsave): Same.
1253 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 1254
8e8c38cd
RH
12552002-04-30 Richard Henderson <rth@redhat.com>
1256
1257 PR opt/6516
1258 * toplev.c (rest_of_compilation): Don't run cross-jump before
1259 bb-reorder.
1260
4be9e9cb
TR
12612002-04-30 Tom Rix <trix@redhat.com>
1262
8998d5bf 1263 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
1264 check which_alternative.
1265
1eeeb6a4
KH
12662002-04-30 Kazu Hirata <kazu@hxi.com>
1267
1268 * cpplex.c: Fix comment formatting.
1269 * function.c: Likewise.
1270 * integrate.c: Likewise.
1271 * regrename.c: Likewise.
1272 * sibcall.c: Likewise.
1273 * simplify-rtx.c: Likewise.
1274 * tree-inline.c: Likewise.
1275
ed9d6ff9
JDA
12762002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
1277
1278 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
1279 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
1280 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
1281 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
1282 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
1283 * pa/x-ada: New file. Define ADA_CFLAGS.
1284
1f2641b6
HPN
12852002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
1286
1287 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
1288 from MMIX_LAST_REGISTER_FILE_REGNUM.
1289 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
1290 (struct machine_function): New member highest_saved_stack_register
1291 previously static variable in mmix.c.
1292 (MACHINE_DEPENDENT_REORG): Define.
1293 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
1294 (MMIX_OUTPUT_REGNO): New.
1295 (mmix_target_asm_function_prologue): Move calculation of last used
1296 saved-stack-register into...
1297 (mmix_machine_dependent_reorg): New function. Update to also handle
1298 !TARGET_ABI_GNU.
1299 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
1300 register names, simplify somewhat by new variable regno.
1301 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
1302 register.
1303 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
1304 emitting register names.
1305 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
1306 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
1307 Remove fixed FIXME.
1308 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
1309 Declare.
1310
1311 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
1312
73985940
RH
13132002-04-30 Richard Henderson <rth@redhat.com>
1314
1315 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
1316 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
1317 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
1318 emit_tfmode_cvt): New.
1319 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
1320 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
1321 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
1322 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
1323 * config/sparc/sparc-protos.h: Update.
1324
2b46bc67
JJ
13252002-04-30 Janis Johnson <janis187@us.ibm.com>
1326
1327 * install.texi (Final install): Add to the list of info to include
1328 in a report of a successful bootstrap, and add link to 3.1 list.
1329
3d34cd91
JH
1330Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
1331
1332 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
1333 (mode): Add vector modes
1334 (i387): Kill attribute.
1335 (unit): New attribute.
1336 (length_immediate): Grok new types.
1337 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
1338 (modrm): Use "unit".
1339 (memory): Handle MMX/SSE properly.
1340 (scheduling descriptions): Kill uses of fop1.
1341 (sse, mmx, fp patterns): Set type and mode properly.
1342
3193c415
JL
1343Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@cygnus.com)
1344
30482eb0
JL
1345 * pa.c (override_options): Default to PA8000 scheduling.
1346 * doc/invoke.texi (HP-PA options): Mention newly added 7300
1347 scheduling parameter.
1348
3193c415
JL
1349 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
1350 handling of double precision multiplies.
1351
1352 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
1353 fpdiv and fpsqrt instructions.
1354 (7200 & 7300 scheduling): Fix typo in handling of
1355 store-load and store-store penalties.
1356
c0a34cb7
GP
13572002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1358
1359 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
1360 mips. Add two missing commas.
1361
8bce0628
PC
13622002-04-30 Paolo Carlini <pcarlini@unitus.it>
1363
1364 * doc/contrib.texi (Contributors): Update Paolo Carlini's
1365 and Benjamin Kosnik's entries.
1366
84643cbf
DM
13672002-04-29 David S. Miller <davem@redhat.com>
1368
1369 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
1370 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
1371 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
1372 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
1373
da6886f6
FS
13742002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1375
1376 * combine.c (find_split_point): Use gen_int_mode.
1377
fae15c93
VM
13782002-04-29 Vladimir Makarov <vmakarov@redhat.com>
1379
1380 Merging code from dfa-branch:
8998d5bf 1381
fae15c93
VM
1382 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
1383
1384 * genautomata.c (output_reserv_sets): Fix typo.
1385
1386 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
1387
1388 * genautomata.c (output_reserv_sets): Remove
1389 next_cycle_output_flag.
1390
1391 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
1392
8998d5bf
ZW
1393 * sched-rgn.c (init_ready_list): Make the DFA code handle
1394 USE/CLOBBER insns in the same way as the traditional
1395 scheduler.
1396 (new_ready): Similarly..
fae15c93
VM
1397
1398 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
1399
1400 * haifa-sched.c (schedule_block): Change the DFA state only after
1401 issuing insn.
1402
1403 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
1404
1405 * pa.c (hppa_use_dfa_pipeline_interface): New function.
1406 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
1407 (override_options): Add PA7300 scheduling support.
1408 (pa_adjust_cost): Update various comments. Properly
1409 handle anti and output dependencies when using the
1410 DFA scheduler.
1411 (pa_issue_rate): Add PA7300 scheduling support.
1412 (pa_can_combine_p): Call extract_insn before calling
1413 constrain_operands (taken from mainline tree).
1414 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
1415 * pa.md (cpu attr): Add 7300. Rewrite pipeline
1416 descriptions using DFA descriptions. Add PA7300
1417 scheduling support.
1418
1419 2002-03-30 David S. Miller <davem@redhat.com>
1420
1421 Add UltraSPARC-III DFA scheduling support.
1422 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
1423 Update FP conditional move on register insn patterns to use it, as
1424 appropriate.
1425 (define_attr cpu): Add ultrasparc3.
1426 (define_attr us3load_type): New, update integer load patterns to
1427 set it, as appropriate.
1428 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
1429 (rest): Add UltraSPARC3 scheduling description.
1430 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
1431 (PROCESSOR_ULTRASPARC3): New.
1432 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
1433 ({ASM,CPP}_CPU_SPEC): Likewise.
1434 (REGISTER_MOVE_COST): Likewise.
1435 (RTX_COSTS): Likewise.
1436 * config/sparc/sparc.c (sparc_override_options,
1437 sparc_initialize_trampoline, sparc64_initialize_trampoline,
1438 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
1439 sparc_issue_rate): Likewise.
1440 * config/sparc/sol2.h: Likewise.
1441 * config/sparc/sol2-sld-64.h: Likewise.
1442 * config/sparc/linux64.h: Likewise.
8998d5bf 1443
fae15c93
VM
1444 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
1445
1446 * doc/md.texi: Add comments about usage the latency time for the
1447 different dependencies and about case when two or more conditions
1448 in different define_insn_reservations returns TRUE for an insn.
1449
1450 * doc/md.texi: Add reference for automaton based pipeline
1451 description.
8998d5bf 1452
fae15c93
VM
1453 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
1454
1455 * doc/passes.texi: Add missed information about genattrtab.
1456
1457 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
1458
1459 * genautomata.c (output_automata_list_transition_code): Check
1460 automata_list on NULL.
1461
1462 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
1463
1464 * genautomata.c (output_insn_code_cases,
1465 output_automata_list_min_issue_delay_code,
1466 output_automata_list_transition_code,
1467 output_automata_list_state_alts_code): Comment the functions.
1468
1469 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
1470
1471 * genautomata.c (automata_list_el_t): New typedef.
1472 (get_free_automata_list_el,free_automata_list_el,
1473 free_automata_list, automata_list_hash, automata_list_eq_p,
1474 initiate_automata_lists, automata_list_start, automata_list_add,
1475 automata_list_finish, finish_automata_lists,
1476 output_insn_code_cases, output_automata_list_min_issue_delay_code,
1477 output_automata_list_transition_code,
1478 output_automata_list_state_alts_code, add_automaton_state,
1479 form_important_insn_automata_lists): New functions and prototypes.
1480 (insn_reserv_decl): Add members important_automata_list and
1481 processed_p.
1482 (ainsn): Add members important_p.
1483 (automata_list_el): New structure.
1484 (first_free_automata_list_el, current_automata_list,
1485 automata_list_table): New global variables.
1486 (create_ainsns): Initiate member important_p.
1487 (output_internal_min_issue_delay_func): Generate the switch and
1488 call output_insn_code_cases.
1489 (output_internal_trans_func, output_internal_state_alts_func):
1490 Ditto.
1491 (generate): Call initiate_automata_lists.
1492 (automaton_states): New global variable.
1493 (expand_automata): Call form_important_insn_automata_lists.
1494 (write_automata): Call finish_automata_lists.
8998d5bf 1495
fae15c93
VM
1496 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
1497
1498 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 1499 cpu units in the sets belong the same automaton.
fae15c93
VM
1500
1501 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
1502 about that cpu units in the sets belong the same automaton.
1503
1504 * doc/md.texi: Ditto.
8998d5bf 1505
2799d721
VM
1506 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
1507 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 1508
fae15c93
VM
1509 * config/sh/sh.c (sh_use_dfa_interface): New function.
1510
1511 (sh_issue_rate): New Function.
1512 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
1513 TARGET_SCHED_ISSUE_RATE: define.
1514
1515 * config/sh/sh.md: Add DFA based pipeline description for SH4.
1516
8998d5bf
ZW
1517 (define_attr insn_class): New attribute used for DFA
1518 scheduling.
fae15c93
VM
1519 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
1520 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
1521 cmpeqdi_t): Likewise.
1522
1523 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 1524 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
1525 ex_group.
1526 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 1527
fae15c93
VM
1528 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
1529
1530 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
1531 break.
1532
1533 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
1534
1535 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
1536 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
1537 necessary.
1538 (output_dfa_start_func): Initiate new variable insn_codes_length,
1539 (write_automata): Output definition of the new variable.
8998d5bf 1540
fae15c93
VM
1541 2001-10-02 David S. Miller <davem@redhat.com>
1542
1543 * haifa-sched.c (advance_one_cycle): New function.
1544 (schedule_block): Use it.
1545 (queue_to_ready): Use it, and also make sure to advance the DFA
1546 state on all stall cycles, not just those where insn_queue links
1547 are found.
1548
1549 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
1550
1551 * haifa-sched.c (max_issue): Remove last_p argument. Only return
1552 non-zero if the highest-priority instruction could be scheduled.
1553 (choose_ready): Remove last argument from max_issue call.
1554
1555 2001-09-28 David S. Miller <davem@redhat.com>
1556
1557 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
1558 ultrasparc and 3 for other multi-issue sparcs.
1559
1560 2001-09-27 David S. Miller <davem@redhat.com>
1561
1562 * config/sparc/sparc.md (cycle_display): New pattern.
1563 * config/sparc/sparc.c (sparc_cycle_display): New.
1564 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
1565
1566 2001-09-25 David S. Miller <davem@redhat.com>
1567
1568 Convert all of Sparc scheduling to DFA
1569 * config/sparc/sparc.md: Kill all define_function_unit
1570 directives and replace with DFA equivalent.
1571 * config/sparc/sparc.c (ultrasparc_adjust_cost,
1572 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
1573 ultra_fpmode_conflict_exists, ultra_find_type,
1574 ultra_build_types_avail, ultra_flush_pipeline,
1575 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
1576 ultrasparc_variable_issue, ultrasparc_sched_init,
1577 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
1578 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
1579 ultra_cur_hist, ultra_cycles_elapsed): Kill.
1580 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
1581 ultrasparc_store_bypass_p): New.
1582 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
1583 Declare.
1584
1585 2001-09-24 David S. Miller <davem@redhat.com>
1586
1587 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
1588 ready->vec[foo] not ready[foo].
1589
1590 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
1591
1592 * doc/md.texi: Correct examples for define_insn_reservations
1593 `mult' and `div'.
1594
1595 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
1596
1597 * genautomata.c (create_automata): Print message about creation of
1598 each automaton.
1599 (generate): Remove printing meease about creation of
1600 automata.
1601
1602 2001-09-05 David S. Miller <davem@redhat.com>
1603
1604 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
1605 * config/sparc/linux64.h: Likewise.
1606
1607 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
1608
1609 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
1610 schedule_block, sched_init, sched_finish): Add missed calls of
1611 use_dfa_pipeline_interface.
1612
1613 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
1614 Ditto.
1615
1616 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 1617
fae15c93
VM
1618 2001-08-27 Richard Henderson <rth@redhat.com>
1619
1620 * genattr.c (main): Emit state_t even when not doing scheduling.
1621
1622 2001-08-27 Richard Henderson <rth@redhat.com>
1623
1624 * genautomata.c (expand_automata): Always create a description.
1625
1626 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
1627
8998d5bf 1628 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
1629 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
1630 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
1631 RTL constructions.
1632
1633 * genattr.c (main): New variable num_insn_reservations. Increase
1634 it if there is DEFINE_INSN_RESERVATION. Output automaton based
1635 pipeline hazard recognizer interface.
1636
1637 * genattrtab.h: New file.
1638
1639 * genattrtab.c: Include genattrtab.h.
1640 (attr_printf, check_attr_test, make_internal_attr,
1641 make_numeric_value): Move protypes into genattrtab.h. Define them
1642 as external.
1643 (num_dfa_decls): New global variable.
1644 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
1645 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
1646 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
1647 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
1648
1649 * genautomata.c: New file.
1650
1651 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
1652
8998d5bf 1653 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
1654 automaton pipeline interface.
1655 (haifa_insn_data): Add comments for members blockage and units.
1656
1657 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1658 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1659 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
1660 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
1661 TARGET_SCHED_DFA_POST_CYCLE_INSN,
1662 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1663 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
1664 macros.
1665 (TARGET_SCHED): Use the new macros.
1666
1667 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
1668 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
1669 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
1670 dfa_bubble): New members in gcc_target.sched.
1671
8998d5bf 1672 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
1673 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
1674 (insn_queue): Redefine it as pointer to array.
1675 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
1676 INSN_QUEUE_SIZE.
1677 (max_insn_queue_index_macro_value): New variable.
1678 (curr_state, dfa_state_size, ready_try): New varaibles for
1679 automaton interface.
1680 (ready_element, ready_remove, max_issue): New function prototypes
1681 for automaton interface.
1682 (choose_ready): New function prototype.
1683 (insn_unit, blockage_range): Add comments.
1684 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
1685 FUNCTION_UNITS_SIZE == 0.
1686 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
1687 actual_hazard, potential_hazard): Add comments.
1688 (insn_cost): Use cost -1 as undefined value. Remove
1689 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
1690 pipeline interface.
1691 (ready_element, ready_remove): New functions for automaton
1692 interface.
1693 (schedule_insn): Add new code for automaton pipeline interface.
1694 (queue_to_ready): Add new code for automaton pipeline interface.
1695 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
1696 (debug_ready_list): Print newline when the queue is empty.
1697 (max_issue): New function for automaton pipeline interface.
1698 (choose_ready): New function.
1699 (schedule_block): Add new code for automaton pipeline interface.
1700 Print ready list before scheduling each insn.
1701 (sched_init): Add new code for automaton pipeline interface.
1702 Initiate insn cost by -1.
1703 (sched_finish): Free the current automaton state and finalize
1704 automaton pipeline interface.
1705
1706 * sched-rgn.c: Include target.h.
1707 (init_ready_list, new_ready, debug_dependencies): Add new code for
1708 automaton pipeline interface.
1709
1710 * sched-vis.c: Include target.h.
1711 (get_visual_tbl_length): Add code for automaton interface.
1712 (target_units, print_block_visualization): Add comments.
1713
8998d5bf 1714 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
1715 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
1716 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
1717 (getruntime.o, genautomata.o): New entries.
1718 (genattrtab.o): Add new dependency file genattrtab.h.
1719 (genattrtab): Add new dependencies. Link it with `libm.a'.
1720 (getruntime.o, hashtab.o): New entries for canadian cross.
1721
1722 * doc/md.texi: Description of automaton based model.
1723
1724 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
1725 Add comments.
1726 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1727 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
1728 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1729 TARGET_SCHED_DFA_POST_CYCLE_INSN,
1730 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
1731 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1732 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
1733 hook descriptions.
1734 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
1735 MAX_DFA_ISSUE_RATE): New macro descriptions.
1736
1737 * doc/contrib.texi: Add dfa based scheduler contribution.
1738
1739 * doc/gcc.texi: Add more information about genattrtab.
1740
a2ff290c
RK
1741Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1742
1743 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
1744 adjust_address_nv call.
1745
f97903cc
JJ
17462002-04-29 Janis Johnson <janis187@us.ibm.com>
1747
1748 * doc/install.texi (Testing): Provide additional information, and
1749 a stronger encouragement, for running the testsuites.
1750
f41a6bf1
DD
17512002-04-29 DJ Delorie <dj@redhat.com>
1752
1753 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
1754 given in upper case.
1755
d8af0868
RO
17562002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1757
1758 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
1759 Solaris 2 <widec.h> if missing.
1760 * fixinc/fixincl.x: Regenerate.
1761 * fixinc/tests/base/widec.h: New file.
1762
1034407f
NC
17632002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
1764
1765 * toplev.c (f_options): Add "profile" switch so that
1766 -fno-profile can be used to disable -p.
1767
fbe5eb6d
BS
17682002-04-29 Bernd Schmidt <bernds@redhat.com>
1769
1770 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
1771 UV2DImode.
1772 * tree.c (build_common_tree_nodes_2): Likewise.
1773 * tree.h (enum tree_index): Likewise.
1774 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
1775
1776 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
1777 entries.
1778 (init_mmx_sse_builtins): Initialize SSE2 builtins.
1779 (ix86_expand_builtin): Add support for SSE2 builtins.
1780 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
1781 (VALID_SSE_REG_MODE): Use it.
1782 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
1783 (enum ix86_builtins): Add SSE2 builtins.
1784 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
1785 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
1786 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
1787 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
1788 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
1789 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
1790 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
1791 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
1792 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
1793 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
1794 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
1795 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
1796 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
1797 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
1798 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
1799 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
1800 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
1801 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
1802 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
1803 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
1804 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
1805 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
1806 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
1807 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
1808 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
1809 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
1810 lfence_insn): New patterns.
1811 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
1812 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
1813
44aefada
JH
1814Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
1815
1816 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
1817
d5482cdc
GP
18182002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1819
1820 * doc/contrib.texi (Contributors): Add Paolo Carlini and
1821 Janis Johnson.
1822 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
1823 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
1824 and CPU instead of cpu.
1825
2c4b77f3
JH
1826Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
1827
1828 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
1829 variables.
1830 (lang_independent_options): Add -fif-conversion, -fif-conversion2
1831 (rest_of_compilation): Do if conversion only when asked for.
1832 (parse_options_and_default_flags): Set new variables to 1 for -O1
1833 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
1834
3de72741
JH
1835Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
1836
1837 * i386.c (dbx64_register_map): Fix typo.
1838
8aa18a7d
JH
1839Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
1840
1841 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
1842 real_one_half, real_bb_freq_max): New static variables.
1843 (debug_profile_bbauxs): Kill.
1844 (process_note_predictions): Kill unused variable.
1845 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
1846 volatile double.
1847 (propagate_freq): Use REAL_ARITHMETICS.
1848 (estimate_bb_frequencies): Likevise; init new static variables.
1849 * Makefile.in (predict.o): Add dependency on real.h
1850
1bbad4c6
DM
18512002-04-28 David S. Miller <davem@redhat.com>
1852
1853 PR target/6500
1854 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
1855 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
1856 several {reads,writes} instead.
1857 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
1858 Define.
1859
3ef3f384
DM
18602002-04-27 David S. Miller <davem@redhat.com>
1861
1862 PR target/6494
1863 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
1864 of the stack bias.
1865
1866 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
1867 including signal.h and sys/ucontext.h, not needed.
1868
ec493bcb
HPN
18692002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
1870
1871 * varasm.c (output_constant_def): Correct test for not calling
1872 ENCODE_SECTION_INFO for INTEGER_CST.
1873
60284a59
NB
18742002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
1875
1876 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
1877 keep most cases as function eval_token.
1878 (eval_token): New function.
1879 (_cpp_parse_expr): Read token here for improved diagnostics.
1880 Don't use op_as_text. Detect bad ':' here.
1881 (reduce): Don't detect bad ':' here.
1882 (op_as_text): Remove.
1883 * cpphash.h (_cpp_test_assertion): Change prototype.
1884 * cpplib.c (_cpp_test_assertion): Change prototype.
1885
349a4b40
RH
18862002-04-28 Richard Henderson <rth@redhat.com>
1887
1888 PR c/5154
8998d5bf 1889 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
1890 (ggc_mark_rtx_children): New.
1891
7a03f82f
JJ
18922002-04-28 Jakub Jelinek <jakub@redhat.com>
1893
1894 PR target/6496
1895 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
1896 after call peepholes for UltraSPARC.
1897 (call + jump 64-bit peepholes): Remove.
1898
80103f96
FS
18992002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1900
1901 PR c/6497
1902 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
1903 result as temporary value.
1904
06990986
JJ
19052002-04-28 Jakub Jelinek <jakub@redhat.com>
1906
1907 PR c++/6396
1908 * toplev.c (rest_of_compilation): Only run regrename and copy
1909 propagation if optimizing.
1910
a20fd5ac
JJ
19112002-04-28 Jakub Jelinek <jakub@redhat.com>
1912
1913 PR optimization/6475
1914 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
1915 register of REGNO_DECL (i).
1916 * Makefile.in (reload1.o): Add $(TREE_H).
1917
87ed109f
NB
19182002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
1919
1920 * cppexp.c (lex): Update to use state.skip_eval.
1921 (struct op): Remove prio and flags members.
1922 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
1923 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
1924 (LEFT_ASSOC): New macro.
1925 (optab): New table of operator priorities and flags.
1926 (SHIFT): Update.
1927 (_cpp_parse_expr): Clean up logic. Return bool. Use a
1928 malloc-ed parser stack.
1929 (reduce): New; reduce the operator stack.
1930 (_cpp_expand_op_stack): Expand the operator stack as necessary.
1931 * cpphash.h (struct op): Predeclare.
1932 (struct cpp_reader): New members op_stack, op_limit.
1933 (struct lexer_state): New member skip_eval.
1934 (_cpp_parse_expr): Update.
1935 (_cpp_expand_op_stack): New.
1936 * cpplib.c (do_if): Update.
1937 * cppinit.c (cpp_create_reader): Create op stack.
1938 (cpp_destroy): And destroy it.
1939 * cpplib.h (CPP_LAST_CPP_OP): Correct.
1940 (TTYPE_TABLE): Correct.
1941
45806a3f
FS
19422002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1943
1944 PR c/6343
1945 * c-decl.c (duplicate_decls): Call merge_weak.
1946 * c-pragma.c (apply_pragma_weak): Warn about misuse.
1947 * output.h (merge_weak): Prototype merge_weak.
1948 * varasm.c (merge_weak): New function.
1949 (declare_weak): Make sure we don't give an error on VAR_DECLs.
1950 Mark RTL with SYMBOL_REF_WEAK.
1951
a6227154
KG
19522002-04-27 Kurt Garloff <garloff@suse.de>
1953
1954 * tree-inline.c (inlinable_function_p): Improve heuristics
1955 by using a smoother function to cut down allowable inlinable size.
1956 * param.def: Add parameters max-inline-insns-single,
1957 max-inline-slope, min-inline-insns that determine the exact
1958 shape of the above function.
1959 * param.h: Likewise.
1960
94a50397
RH
19612002-04-26 Richard Henderson <rth@redhat.com>
1962
1963 * c-parse.in (malloced_yyss, malloced_yyvs): New.
1964 (yyoverflow): Re-add. Set them.
1965 (free_parser_stacks): New.
1966 * c-common.h: Declare it.
1967 * c-lex.c (c_common_parse_file): Call it.
1968
9c0a0632
RH
19692002-04-26 Richard Henderson <rth@redhat.com>
1970
1971 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
1972 for fallthru search.
1973
b875d2ee
EC
19742002-04-26 Eric Christopher <echristo@redhat.com>
1975
1976 PR optimization/3700
1977 * config/mips/mips.c (mips_issue_rate): Define. New function.
1978 (TARGET_SCHED_ISSUE_RATE): Use.
1979
1db828df
DM
19802002-04-25 David S. Miller <davem@redhat.com>
1981
1982 PR target/6422
1983 * reorg.c (optimize_skip): Do not allow exception causing
1984 instructions to be considered for delay slots.
1985 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
1986 (relax_delay_slots): Do not try to consider exception causing
1987 instructions as redundant.
1988
ae5d234e
RH
19892002-04-26 Richard Henderson <rth@redhat.com>
1990
1991 PR c/5225
1992 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
1993
7d793e9b
MM
19942002-04-26 Mark Mitchell <mark@codesourcery.com>
1995
1996 PR bootstrap/6445
1997 * config/i386/i386.md (untyped_call): Return the value in a float
1998 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
1999 TARGET_80387.
2000
b13ab42c
AO
20012002-04-26 Alexandre Oliva <aoliva@redhat.com>
2002
2003 * tree.c (tree_int_cst_lt): Compare constants whose types differ
2004 in unsigned-ness correctly.
2005
5e56f909
JDA
20062002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
2007
2008 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
2009 portable runtime model.
2010
bde3c0c0
RH
20112002-04-26 Richard Henderson <rth@redhat.com>
2012
a6227154 2013 * c-parse.in (yyoverflow): Revert.
bde3c0c0 2014
5276df18
DE
20152002-04-26 David Edelsohn <edelsohn@gnu.org>
2016 Richard Henderson <rth@redhat.com>
2017
2018 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
2019 result as temporary value.
2020
b84a3874
RH
20212002-04-26 Richard Henderson <rth@redhat.com>
2022
2023 PR c/3581
2024 * c-common.c (fix_string_type): Split out of ...
2025 (combine_strings): ... here. Take a varray, not a tree list.
2026 (c_expand_builtin_printf): Use fix_string_type.
2027 * c-common.h: Update decls.
2028 * c-parse.in (string): Remove. Update all uses to use STRING
2029 instead, and not call combine_strings.
2030 (yylexstring): New.
2031 (_yylex): Use it.
2032 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
2033 (build_asm_stmt): Likewise.
2034 * objc/objc-act.c (my_build_string): Use fix_string_type.
2035 (build_objc_string_object): Build varray for combine_strings.
2036
d8ae8cd4
BT
20372002-04-26 Bo Thorsen <bo@suse.co.uk>
2038
2039 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
2040 x86-64.
2041
f8b954fc
NB
20422002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
2043
2044 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
2045 (HAVE_NO_R_OPERAND): Remove.
2046 (HAVE_VALUE): Remove.
2047 (op_to_prio): Update.
2048 (UNARY): Don't alter flags.
2049 (_cpp_parse_expr): want_value used to indicate whether
2050 a number or unary operator is expected next. Distinguish
2051 unary and binary +/-.
2052 (op_as_text): Update for unary operators.
2053
6052bef0
RH
20542002-04-25 Richard Henderson <rth@redhat.com>
2055
2056 PR c/2161
2057 * c-parse.in (yyoverflow): New.
2058
5c5b2283
RH
20592002-04-25 Richard Henderson <rth@redhat.com>
2060
2061 PR c/2098
2062 * c-common.c (shorten_compare): Simplfy conditions leading to
2063 the generation of a warning.
2064
28ce94d4
RH
20652002-04-25 Richard Henderson <rth@redhat.com>
2066
2067 PR c/2035
2068 * expmed.c (extract_bit_field): Fall through to generic code rather
2069 than aborting on subreg special case.
2070
6bfd0c63
DM
20712002-04-25 David S. Miller <davem@redhat.com>
2072
2073 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
2074 for DECL being NULL.
2075
7a430e3b
SC
20762002-04-25 Steve Christiansen <smc@us.ibm.com>
2077
2078 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
2079
45c42d7d
EB
20802002-04-25 Eric Botcazou <ebotcazou@multimania.com>
2081
2082 * c-decl.c (grokdeclarator): Remove outdated ??? note
2083 on invalid declaration of flexible array members.
2084
eb7715a4
RH
20852002-04-25 Richard Henderson <rth@redhat.com>
2086
2087 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
2088
cf5ee720
UW
20892002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
2090
2091 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
2092 needed by the compiler, even if they are used as global regs.
2093
d604bca3
MH
20942002-04-25 Matt Hiller <hiller@redhat.com>
2095
2096 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
2097 functions.
2098 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
2099 of the corresponding functions.
2100 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
2101 New prototypes.
b875d2ee 2102
d604bca3
MH
21032002-04-25 Matt Hiller <hiller@redhat.com>
2104
2105 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
2106
2107 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
2108 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
2109 registers, adjust comment accordingly.
2110 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
2111 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
2112 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
2113 for coprocessor registers.
2114 (ADDITIONAL_REGISTER_NAMES): Include
2115 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 2116
d604bca3
MH
2117 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
2118 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
2119 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
2120 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
2121 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
2122
2123 (mips_char_to_class): Adjust comment to include coprocessor
2124 constraint letters.
2125
2126 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
2127 New functions.
2128 (mips_reg_names, mips_regno_to_class): Include coprocessor
2129 information.
2130 (mips_sw_reg_names): Ditto, make non-static.
2131 (mips_move_1word): Handle moves to and from coprocessor registers.
2132 (mips_move_2words): Handle moves to and from coprocessor
2133 registers.
2134 (mips_class_max_nregs, mips_register_move_cost): Handle
2135 coprocessor register classes.
2136 (override_options): Initialize mips_char_to_class and
2137 mips_hard_regno_mode_ok properly for coprocessor registers.
2138
2139 * config/mips/mips.md (movdi_internal, movdi_internal2,
2140 movsi_internal1, movsi_internal2): Add constraint-sets for
2141 coprocessor registers.
2142 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
2143 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
2144 isn't mips.
2145 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
2146 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
2147 isn't mips.
2148 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
2149 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
2150 isn't mips.
2151 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
2152 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
2153 isn't mips.
b875d2ee 2154
d604bca3
MH
2155 * doc/tm.texi: Document feature.
2156
b9a26d09
NB
21572002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
2158
2159 * integrate.c (function_attribute_inlinable_p): Simplify.
2160 Check the table pointer is not NULL.
2161
ab5973b7
SB
21622002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
2163
2164 * doc/c-tree.texi: Fix typo in introduction.
2165
ff45c01e
NB
21662002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
2167
2168 * c-common.h (c_common_parse_file): Update.
2169 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
2170 * c-lex.c (YYDEBUG): Get from c-lex.h.
2171 (c_common_parse_file): Update.
2172 * c-lex.h (YYDEBUG, yydebug): New.
2173 * c-parse.in (YYDEBUG): Get from c-lex.h.
2174 (c_set_yydebug): Remove.
2175 * c-tree.h (c_set_yydebug): Remove.
2176 * langhooks-def.h (lhd_do_nothing_i): New.
2177 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
2178 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
2179 * langhooks.c (lhd_do_nothing_i): New.
2180 (lhd_set_yydebug): Remove.
2181 * langhooks.h (struct lang_hooks): Update.
2182 * toplev.c (set_yydebug): New.
2183 (compile_file): Update call to parse_file hook.
2184 (decode_d_option): Update.
2185objc:
2186 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
2187
fcae219a
R
2188Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
2189
2190 * loop.c (load_mems): Don't change the interface of called functions.
2191
2192 * calls.c (expand_call): Take current_function_pretend_args_size
2193 into account when setting argblock for sibcalls.
2194
d0fea45a
MH
21952002-04-24 Matt Hiller <hiller@redhat.com>
2196
2197 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
2198 * c-lex.c: Ditto.
2199
2200 * cpplex.c (skip_line_comment): Process comment one multibyte
2201 character at a time rather than one char at a time, if
2202 appropriate.
2203 (parse_string): Process string one multibyte character at a time
2204 rather than one char at a time, if appropriate.
2205 * c-lex.c (lex_string): Lex and copy multibyte strings
2206 appropriately.
2207 * cpplib.h (cppchar_t): Change to unsigned.
2208
2d1b5436
RH
22092002-04-24 Richard Henderson <rth@redhat.com>
2210
2211 PR c/3467
2212 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
2213 for c99.
2214
5e039e6b
R
2215Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
2216
2217 * sh.c (sh_va_arg): If argument was passed by reference,
2218 dereference the pointer.
309d8365
R
2219
2220 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
2221
2222 * sh.md (divsi3_i4_media): Use match_operand for input values
2223 rather than hard registers.
2224 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
2225 unnecessarily through hard registers. Keep copies of pseudo
2226 registers outside of the libcall sequence.
2227
2228 * sh.md (casesi_shift_media): Add modes.
b700634a
R
2229
2230 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
2231 values in memory.
2232
349ae713
NB
22332002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
2234
2235 * attribs.c (c_common_attribute_table): Move table and handlers
2236 to c-common.c.
2237 (format_attribute_table, lang_attribute_table,
2238 lang_attribute_common): Remove.
2239 (init_attributes): Replace NULL pointers with pointers to the
2240 empty table.
2241 (handle_packed_attribute, handle_nocommon_attribute,
2242 handle_common_attribute, handle_noreturn_attribute,
2243 handle_noinline_attribute, handle_always_inline_attribute,
2244 handle_used_attribute, handle_unused_attribute,
2245 handle_const_attribute, handle_transparent_union_attribute,
2246 handle_constructor_attribute, handle_destructor_attribute,
2247 handle_mode_attribute, handle_section_attribute,
2248 handle_aligned_attribute, handle_weak_attribute,
2249 handle_alias_attribute, handle_visibility_attribute,
2250 handle_no_instrument_function_attribute, handle_malloc_attribute,
2251 handle_no_limit_stack_attribute, handle_pure_attribute,
2252 handle_deprecated_attribute, handle_vector_size_attribute,
2253 vector_size_helper): Move to c-common.c.
2254 * c-common.c (c_common_attribute_table,
2255 handle_packed_attribute, handle_nocommon_attribute,
2256 handle_common_attribute, handle_noreturn_attribute,
2257 handle_noinline_attribute, handle_always_inline_attribute,
2258 handle_used_attribute, handle_unused_attribute,
2259 handle_const_attribute, handle_transparent_union_attribute,
2260 handle_constructor_attribute, handle_destructor_attribute,
2261 handle_mode_attribute, handle_section_attribute,
2262 handle_aligned_attribute, handle_weak_attribute,
2263 handle_alias_attribute, handle_visibility_attribute,
2264 handle_no_instrument_function_attribute, handle_malloc_attribute,
2265 handle_no_limit_stack_attribute, handle_pure_attribute,
2266 handle_deprecated_attribute, handle_vector_size_attribute,
2267 vector_size_helper): Move from attribs.c.
2268 * c-common.h (c_common_attribute_table,
2269 c_common_format_attribute_table): New.
2270 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
2271 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
2272 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
2273 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
2274 (LANG_HOOKS_INITIALIZER): Update.
2275 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
2276 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
2277 * target.h: Update comment.
2278 * tree.c (default_target_attribute_table): Remove.
2279 * tree.h (default_target_attribute_table, format_attribute_table,
2280 lang_attribute_table, lang_attribute_common): Remove.
2281objc:
2282 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
2283 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
2284
84f0ace0
JM
22852002-04-24 Jason Merrill <jason@redhat.com>
2286
2287 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
2288 * dwarf2out.c (dwarf_attr_name): Support it.
2289 (gen_array_type_die): Emit it.
2290 (lookup_type_die): No special handling for VECTOR_TYPE.
2291 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
2292
120eaf28
RH
22932002-04-24 Richard Henderson <rth@redhat.com>
2294
2295 * config/mips/mips.md (movdi_usd): Renumber.
2296
e732178c
DM
22972002-04-24 David S. Miller <davem@redhat.com>
2298
2299 PR target/6420
2300 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
2301 32-bit Sparc and current_function_returns_struct is true.
2302
e879eb2f
JH
2303Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
2304
2305 * loop.c (canonicalize_condition): Use gen_int_mode.
2306
4287a893
AH
23072002-04-24 Aldy Hernandez <aldyh@redhat.com>
2308
2309 * config/rs6000/altivec.h: Cleanup file. Add non individual
2310 variants.
2311 (vec_vaddubm): New.
2312 (vec_vadduhm): New.
2313 (vec_vadduwm): New.
2314 (vec_vaddfp): New.
2315 (vec_vaddcuw): New.
2316 (vec_vaddubs): New.
2317 (vec_vaddsbs): New.
2318 (vec_vadduhs): New.
2319 (vec_vadduws): New.
2320 (vec_vaddsws): New.
2321 (vec_vand): New.
2322 (vec_vandc): New.
2323 (vec_vavgub): New.
2324 (vec_vavgsb): New.
2325 (vec_vavguh): New.
2326 (vec_vavgsh): New.
2327 (vec_vavguw): New.
2328 (vec_vavgsw): New.
2329 (vec_vrfip): New.
2330 (vec_vcmpbfp): New.
2331 (vec_vcmpequb): New.
2332 (vec_vcmpequh): New.
2333 (vec_vcmpequw): New.
2334 (vec_vcmpeqfp): New.
2335 (vec_vcmpgefp): New.
2336 (vec_vcmpgtub): New.
2337 (vec_vcmpgtsb): New.
2338 (vec_vcmpgtuh): New.
2339 (vec_vcmpgtsh): New.
2340 (vec_vcmpgtuw): New.
2341 (vec_vcmpgtsw): New.
2342 (vec_vcmpgtfp): New.
2343 (vec_vcmpgefp): New.
2344 (vec_vcfux): New.
2345 (vec_vcfsx): New.
2346 (vec_vctsxs): New.
2347 (vec_vctuxs): New.
2348 (vec_vexptefp): New.
2349 (vec_vrfim): New.
2350 (vec_lvx): New.
2351 (vec_lvebx): New.
2352 (vec_lvehx): New.
2353 (vec_lde): Add vector float variant.
2354 (vec_lvewx): New.
2355 (vec_lvxl): New.
2356 (vec_vlogefp): New.
2357 (vec_vmaddfp): New.
2358 (vec_vmhaddshs): New.
2359 (vec_vmaxub): New.
2360 (vec_vmaxsb): New.
2361 (vec_vmaxuh): New.
2362 (vec_vmaxsh): New.
2363 (vec_vmaxuw): New.
2364 (vec_vmaxsw): New.
2365 (vec_vmaxsw): New.
2366 (vec_vmaxfp): New.
2367 (vec_vmrghb): New.
2368 (vec_vmrghh): New.
2369 (vec_vmrghw): New.
2370 (vec_vmrglb): New.
2371 (vec_vmrglh): New.
2372 (vec_vmrglw): New.
2373 (vec_vminub): New.
2374 (vec_vminsb): New.
2375 (vec_vminuh): New.
2376 (vec_vminsh): New.
2377 (vec_vminuw): New.
2378 (vec_vminsw): New.
2379 (vec_vminfp): New.
2380 (vec_vmladduhm): New.
2381 (vec_vmhraddshs): New.
2382 (vec_msumubm): New.
2383 (vec_vmsummbm): New.
2384 (vec_vmsumuhm): New.
2385 (vec_vmsumshm): New.
2386 (vec_vmsumuhs): New.
2387 (vec_vmsumshs): New.
2388 (vec_vmuleub): New.
2389 (vec_vmulesb): New.
2390 (vec_vmuleuh): New.
2391 (vec_vmulesh): New.
2392 (vec_vmuloub): New.
2393 (vec_mulosb): New.
2394 (vec_vmulouh): New.
2395 (vec_vmulosh): New.
2396 (vec_vnmsubfp): New.
2397 (vec_vnor): New.
2398 (vec_vor): New.
2399 (vec_vpkuhum): New.
2400 (vec_vpkuwum): New.
2401 (vec_vpkpx): New.
2402 (vec_vpkuhus): New.
2403 (vec_vpkshss): New.
2404 (vec_vpkuwus): New.
2405 (vec_vpkswss): New.
2406 (vec_vpkshus): New.
2407 (vec_vpkswus): New.
2408 (vec_vperm): New.
2409 (vec_vrefp): New.
2410 (vec_vrlb): New.
2411 (vec_vrlh): New.
2412 (vec_vrlw): New.
2413 (vec_vrfin): New.
2414 (vec_vrsqrtefp): New.
2415 (vec_vsel): New.
2416 (vec_vslb): New.
2417 (vec_vslh): New.
2418 (vec_vslw): New.
2419 (vec_vsldoi): New.
2420 (vec_vsl): New.
2421 (vec_vslo): New.
2422 (vec_vspltb): New.
2423 (vec_vsplth): New.
2424 (vec_vspltw): New.
2425 (vec_vspltisb): New.
2426 (vec_vspltish): New.
2427 (vec_vspltisw): New.
2428 (vec_vsrb): New.
2429 (vec_vsrh): New.
2430 (vec_vsrw): New.
2431 (vec_vsrab): New.
2432 (vec_vsrah): New.
2433 (vec_vsraw): New.
2434 (vec_vsr): New.
2435 (vec_vsro): New.
2436 (vec_stvx): New.
2437 (vec_stvebx): New.
2438 (vec_stvehx): New.
2439 (vec_stvewx): New.
2440 (vec_stvxl): New.
2441 (vec_vsububm): New.
2442 (vec_vsubuhm): New.
2443 (vec_vsubuwm): New.
2444 (vec_vsubfp): New.
2445 (vec_vsubcuw): New.
2446 (vec_vsububs): New.
2447 (vec_vsubsbs): New.
2448 (vec_vsubuhs): New.
2449 (vec_vsubshs): New.
2450 (vec_vsubuws): New.
2451 (vec_vsubsws): New.
2452 (vec_vsum4ubs): New.
2453 (vec_vsum4sbs): New.
2454 (vec_vsum4shs): New.
2455 (vec_vsum2sws): New.
2456 (vec_vsumsws): New.
2457 (vec_vrfiz): New.
2458 (vec_vupkhsb): New.
2459 (vec_vupkhpx): New.
2460 (vec_vupkhsh): New.
2461 (vec_vupklsb): New.
2462 (vec_vupklpx): New.
2463 (vec_vupklsh): New.
2464 (vec_vxor): New.
2465
cff27795
EB
24662002-04-23 Eric Botcazou <ebotcazou@multimania.com>
2467
2468 PR c/5430
2469 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
2470 added literals from substracted literals.
2471 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
2472 (fold) [associate]: Preserve MINUS_EXPR if needed.
2473
952bca84
ZW
24742002-04-23 Zack Weinberg <zack@codesourcery.com>
2475
2476 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
2477 are obsoleted.
2478
50cb2154
TT
24792002-04-23 Tom Tromey <tromey@redhat.com>
2480
2481 * gcc.c: Added --resource. For PR java/6314.
2482
271f61fb
DB
24832002-04-23 David O'Brien <obrien@FreeBSD.org>
2484
9566d1e9 2485 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
2486 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
2487 these libraries.
2488
bdabbc80
DB
24892002-04-23 David O'Brien <obrien@FreeBSD.org>
2490
2491 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
2492
74411039
JH
2493Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
2494
2495 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
2496 workaround.
2497 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
2498 (ix86_expand_clrstr): Fix typo.
2499 * loop.c (gen_load_of_final_value): New.
2500 (loop_givs_rescan, strength_reduce, check_dbra_loop):
2501 Use it.
2502
1a887f86
RS
25032002-04-23 Roger Sayle <roger@eyesopen.com>
2504
2505 * builtins.c (builtin_memset_gen_str): New function.
2506 (expand_builtin_memset): Optimize the case of constant length, but
2507 unknown value.
2508
8d3441e0
AH
25092002-04-23 Aldy Hernandez <aldyh@redhat.com>
2510
cff27795
EB
2511 * config/rs6000/altivec.h (vec_step): Remove extraneous
2512 parentheses.
2513 (vec_ctu): Cast return.
8d3441e0 2514
f6f315fe
AM
25152002-04-23 Alan Modra <amodra@bigpond.net.au>
2516
2517 PR target/6413
2518 * function.h: (struct function): Add profile_label_no field.
2519 (current_function_profile_label_no): Define.
2520 * function.c: (profile_label_no): New static var.
2521 (expand_function_start): Increment it, and copy to
2522 current_function_profile_label_no.
2523 * output.h (profile_label_no): Delete.
2524 * final.c (profile_label_no): Delete.
2525 (profile_function): Use current_function_profile_label_no.
2526 (final_end_function): Don't increment profile_label_no here.
2527 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
2528 profile_label_no with current_function_profile_label_no.
2529 * config/pa/pa.c (current_function_number): Delete.
2530 (pa_output_function_prologue): Don't output profile label here.
2531 (hppa_profile_hook): Use label_no param rather than
2532 current_function_number.
2533 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
2534 * config/pa/pa.h: .. here.
2535 (FUNCTION_PROFILER): Output profile label here.
2536
d239cdc0
EC
25372002-04-22 Eric Christopher <echristo@redhat.com>
2538
2539 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
2540 patch of 2002-04-09 due to binutils issues.
2541 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
2542
04428ad4
AH
25432002-04-22 Aldy Hernandez <aldyh@redhat.com>
2544
cff27795
EB
2545 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
2546 constraint to 'o' for m=r and r=m alternatives.
2547 ("*movv8hi_internal1"): Same.
2548 ("*movv16qi_internal1"): Same.
2549 ("*movv4sf_internal1"): Same.
04428ad4 2550
2adc7f12
JJ
25512002-04-22 Janis Johnson <janis187@us.ibm.com>
2552
2553 * rtl.h (RTX_FLAG): New macro.
2554 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
2555 * final.c (alter_subreg): Use macro to access rtx flag.
2556 * integrate.c (copy_rtx_and_substitute): Use new access macro.
2557 * print-rtl.c (print_rtx): Use new access macro.
2558
2559 * cse.c (insert): Check rtx code before accessing flag.
2560
2561 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
2562 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
2563 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
2564 convert_const_symbol_ref, make_canonical, make_alternative_compare,
2565 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
2566 simplify_test_exp, optimize_attrs, simplify_by_exploding,
2567 find_and_mark_used_attributes, unmark_used_attributes,
2568 add_values_to_cover, simplify_with_current_value,
2569 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
2570 copy_rtx_unchanging, main): Use new access macros.
2571
b7c89afe
TR
25722002-04-22 Tom Rix <trix@redhat.com>
2573
2574 * expmed.c (init_expmed): Generate shifted constant once.
2575
9340544b
ZW
25762002-04-22 Zack Weinberg <zack@codesourcery.com>
2577
2578 * c-lex.c (lex_charconst): Call convert to get constant in
2579 proper type; don't just smash the type field.
2580 Fixes PR c/6300.
2581
2582 * config.gcc: Add list of obsolete configurations. Disallow
2583 building these without --enable-obsolete.
2584 * doc/install.texi: Document --enable-obsolete and obsoletion
2585 policy. Mention obsoletion of individual targets in
2586 appropriate places.
2587
f942d7a5
RH
25882002-04-22 Richard Henderson <rth@redhat.com>
2589
2590 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
2591
25922002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
2593
2594 PR f/6138.
2595 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
2596 (walk_fixup_memory_subreg): Likewise.
2597 (fixup_var_refs_insn): Adjust accordingly.
2598 (fixup_var_refs_1): Likewise.
2599
232b0b45
UW
26002002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
2601
2602 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
2603 LIBPATH_ARCH64_SPEC): Define.
2604 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
2605 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
2606 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
2607 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
2608
1b61552b
JS
26092002-04-22 Joel Sherrill <joel@OARcorp.com>
2610
2611 * gthr-rtems.h: Correct prototypes to remove warnings.
2612
0fe854a7
RH
26132002-04-22 Richard Henderson <rth@redhat.com>
2614
2615 PR c/6344
2616 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
2617
2618 * gcse.c (free_insn_expr_list_list): New.
2619 (clear_modify_mem_tables): Use it. Fix bit set usage.
2620 (canon_list_insert): Use EXPR_LISTs for expressions.
2621 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
2622
af0d16cd
NB
26232002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
2624
2625 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
2626 file change and include code to _cpp_pop_buffer.
2627 * cpphash.h (struct pending_option): Predeclare.
2628 (struct cpp_reader): New member next_include_file.
2629 (_cpp_pop_file_buffer): Update.
2630 (_cpp_push_next_buffer): Update, rename.
2631 * cppinit.c (cpp_destroy): Free include chain and pending here.
2632 (cpp_finish_options): Simplify.
2633 (_cpp_push_next_buffer): Rename and clean up.
2634 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
2635 Clarify.
2636 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
2637
0d918572
AH
26382002-04-22 Aldy Hernandez <aldyh@redhat.com>
2639
0fe854a7
RH
2640 * config/rs6000/altivec.h (vec_xor): Add variant for both args
2641 being vector signed int.
2642 (vec_andc): Same.
2643 (vec_xor): Add variant for both args being vector signed char.
2644 Remove redundant variant.
2645 (vec_andc): Same.
0d918572 2646
77e2c290
DM
26472002-04-21 David S. Miller <davem@redhat.com>
2648
2649 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
2650 compare mode in output RTL.
2651
ee2ca2a2
DE
26522002-04-22 David Edelsohn <edelsohn@gnu.org>
2653
2654 * config/rs6000/rs6000.c (rs6000_override_options): Correct
2655 style and formatting of previous patch.
2656
894bdff6
AM
26572002-04-22 Alan Modra <amodra@bigpond.net.au>
2658
2659 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
2660 flag_pic for ABI_AIX.
2661
562a5c27
NB
26622002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
2663
2664 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
2665 * cppfiles.c (read_include_file): Similarly.
2666 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
2667 uxstrdup ustrchr, ufputs): Similarly.
2668 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
2669 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
2670 cpp_ideq, parse_identifier, parse_number): Similarly.
2671 * cpplib.c (struct directive, dequote_string, D, run_directive,
2672 cpp_push_buffer): Similarly.
2673 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
2674 _cpp_create_definition, check_trad_stringification,
2675 cpp_macro_definition): Similarly.
2676
9ac3b1be
NB
26772002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
2678
2679 * cppmacro.c (funlike_invocation_p): Don't step back
2680 over CPP_EOF.
2681
9dda4cc8
DE
26822002-04-21 David Edelsohn <edelsohn@gnu.org>
2683
2684 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
2685 labelno.
2686
20764052
JM
26872002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
2688
2689 * doc/invoke.texi: Remove Chill references.
2690 * doc/gcc.texi: Update last modified date.
2691
26b29884
KH
26922002-04-20 Kazu Hirata <kazu@hxi.com>
2693
2694 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
2695 push and pop. Replace add.l with add.w.
2696
59184677
TM
26972002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2698
2699 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
2700 multiply instructions for H8/300H case.
2701
b1113e0a
TM
27022002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2703
2704 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
2705 Bum three instructions from each routine.
2706
b03e38e1
NB
27072002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
2708
2709 * Makefile.in: Update.
2710 * decl.c (push_c_function_context, pop_c_function_context,
2711 mark_c_function_context): Rename for consistency.
2712 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
2713 * c-tree.h (push_c_function_context, pop_c_function_context,
2714 mark_c_function_context): Rename for consistency.
2715 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
2716 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
2717 * function.c (init_lang_status, save_lang_status,
2718 restore_lang_status, mark_lang_status, free_lang_status):
2719 Move to langhooks.h.
2720 (push_function_context_to, pop_function_context_from,
2721 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
2722 Update.
2723 * function.h (init_lang_status, save_lang_status,
2724 restore_lang_status, mark_lang_status, free_lang_status):
2725 Move to langhooks.h.
2726 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
2727 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
2728 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
2729 LANG_HOOKS_FUNCTION_INITIALIZER): New.
2730 (LANG_HOOKS_INITIALIZER): Update.
2731 (lhd_do_nothing_f): New.
2732 * langhooks.h (struct lang_hooks_for_functions): New.
2733 (struct lang_hooks): New hooks.
2734 * langhooks.c (lhd_do_nothing_f): New.
2735objc:
2736 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
2737 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
2738
db430d26
DM
27392002-04-19 David S. Miller <davem@redhat.com>
2740
2741 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
2742 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
2743
0f2a3457
JJ
27442002-04-19 Jakub Jelinek <jakub@redhat.com>
2745
2746 PR optimization/3756
2747 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
2748 x = ((int) y < 0) ? cst1 : cst2.
2749
ce5e43d0
JJ
27502002-04-19 Jakub Jelinek <jakub@redhat.com>
2751
2752 PR c/6358
2753 * function.c: Reapply patch for c/6358.
2754 (expand_function_end): Copy decl_rtl's mode, not
2755 current_function_return_rtx mode.
2756
27572002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
2758
2759 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
2760 targets.
2761
40e7f8ea
TT
27622002-04-19 Tom Tromey <tromey@redhat.com>
2763
2764 * doc/install.texi (Specific): Update status of Solaris 2.8.
2765 For PR libgcj/6158.
2766
62a12b27
AS
27672002-04-19 Andreas Schwab <schwab@suse.de>
2768
2769 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
2770 (PUT_REAL): Restore old definition.
2771
1405141b
DN
27722002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
2773 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2774
2775 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
2776 binutils 2.11.2 and higher generate smaller binaries than Sun's
2777 native tools.
2778
303a3927
MM
27792002-04-19 Mark Mitchell <mark@codesourcery.com>
2780
2781 PR c++/6352
2782 * toplev.c (rest_of_compilation): Do not defer functions for which
2783 TREE_SYMBOL_REFERENCED has already been set.
2784
de80110b
JH
2785Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
2786
2787 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
2788 alternative.
2789
ab393bf1
NB
27902002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
2791
2792 * builtins.c: Include langhooks.h.
2793 (lang_type_promotes_to): Remove.
2794 (expand_builtin_va_arg): Use new hook.
2795 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
2796 (simple_type_promotes_to): Move to c-typeck.c.
2797 * c-common.h (simple_type_promotes_to): Remove.
2798 * c-decl.c (duplicate_decls, grokdeclarator): Update.
2799 * c-format.c: Include langhooks.h.
2800 (check_format_types): Update.
2801 * c-tree.h (c_type_promotes_to): New.
2802 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
2803 (type_lists_compatible_p): Update.
2804 * langhooks-def.h (lhd_type_promotes_to): New.
2805 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
2806 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
2807 * langhooks.c (lhd_type_promotes_to): New.
2808 * langhooks.h (struct lang_hooks_for_types): New hook.
2809 * tree.h (lang_type_promotes_to): Remove.
2810objc:
2811 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
2812
0cd3301b
RH
28132002-04-18 Richard Henderson <rth@redhat.com>
2814
58533fa2 2815 * function.c: Revert patch for c/6358.
0cd3301b
RH
2816
28172002-04-18 Richard Henderson <rth@redhat.com>
2818
58533fa2
RH
2819 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
2820 blocks. Handle multiple references to the TRAP block. Handle
2821 non-adjacent THEN and OTHER blocks.
0cd3301b 2822
58533fa2
RH
28232002-04-18 Richard Henderson <rth@redhat.com>
2824
2825 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
2826 crash with no type for by-mode libcalls.
2827
2828 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 2829
57174693
BW
28302002-04-18 Bob Wilson <bob.wilson@acm.org>
2831
2832 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
2833 __xtensa_nonlocal_goto): Use a syscall instructions to flush
2834 the register windows.
2835
46468cd9
ZW
28362002-04-18 Zack Weinberg <zack@codesourcery.com>
2837
2838 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
2839 appropriate. Document need for extended precision even when
2840 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
2841 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
2842 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
2843 instead of relying on later syntax error when REAL_WIDTH > 5.
2844 * real.c: Define NE based only on whether or not we have a
2845 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
2846 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
2847 define GET_REAL and PUT_REAL as simple memcpy operations; no
2848 need to byteswap or round.
2849 Use #error instead of #ifdef-ing out the entire file, for
2850 prompt error detection.
2851
2852 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
2853
2f82dbf8
DM
28542002-04-18 David S. Miller <davem@redhat.com>
2855
2856 * config/sparc/sparc.h (BRANCH_COST): Define.
2857
2858 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
2859 does it.
2860
566576e7
HPN
28612002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
2862
2863 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
2864 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
2865 propagate_block calls after relaxation loop using new variable
2866 stabilized_prop_flags.
2867
51dcde6f
RH
28682002-04-18 Richard Henderson <rth@redhat.com>
2869
2870 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
2871 (ia64_va_arg): Expect variable sized types by reference.
2872 * config/ia64/ia64-protos.h: Update.
46468cd9 2873 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
2874 ia64_function_arg_pass_by_reference.
2875
26406018
RH
28762002-04-18 Richard Henderson <rth@redhat.com>
2877
46468cd9
ZW
2878 * ifcvt.c: Include except.h.
2879 (block_has_only_trap): Break out from find_cond_trap.
2880 (find_cond_trap): Use it. Always delete the trap block.
2881 (merge_if_block): Allow then block null. Be less simplistic about
2882 what insns can end a block.
2883 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 2884
26406018
RH
2885 * config/ia64/ia64.md (trap, conditional_trap): New.
2886
a3acf46d
JJ
28872002-04-18 Jakub Jelinek <jakub@redhat.com>
2888
2889 PR c/6358
2890 * function.c (assign_parms): Assign hard current_function_return_rtx
2891 register here...
2892 (expand_function_end): ...not here.
2893
7a228918
NB
28942002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
2895
2896 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
2897 * c-tree.h (c_incomplete_type_error): New.
2898 * c-typeck.c (require_complete_type, build_component_ref): Update.
2899 (incomplete_type_error): Rename.
2900 * langhooks-def.h (lhd_incomplete_type_error): New.
2901 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
2902 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
2903 * langhooks.c (lhd_incomplete_type_error): New.
2904 * langhooks.h (struct lang_hooks_for_types): New hook.
2905 * tree.c (size_in_bytes): Use new hook.
2906 * tree.h (incomplete_type_error): Remove.
2907objc:
2908 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
2909
f18664c1
ZW
29102002-04-18 Zack Weinberg <zack@codesourcery.com>
2911
2912 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
2913 TARGET_FLOAT_FORMAT blocks.
2914
8ecab453
GP
29152002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2916
2917 * doc/install.texi (Downloading the source): Do not mention Chill
2918 any longer, but mention Ada.
2919 (Configuration): Do not mention Chill any longer.
2920
528d8489
HPN
29212002-04-18 Hans-Peter Nilsson <hp@axis.com>
2922
2923 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
2924
91da27c5
JH
2925Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
2926
2927 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
2928 in last patch.
2929
a32db605
JJ
29302002-04-18 Jakub Jelinek <jakub@redhat.com>
2931
2932 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
2933 instead of unsigned_type.
2934
5a28d8cc
JH
2935Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
2936
2937 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
2938 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
2939 later.
2940
3d980b9f
BS
29412002-04-18 Bernd Schmidt <bernds@redhat.com>
2942
2943 * attribs.c (vector_type_node_list): New static variable.
2944 (handle_vector_size_attribute): Use it to avoid generating a
2945 new type node each time we are called.
2946
2e676d78
BS
2947 * combine.c (subst): Avoid trying to make a vector mode subreg of
2948 an integer constant.
2949 (gen_lowpart_for_combine): Likewise.
46468cd9 2950
58c2956c
RS
29512002-04-18 Roger Sayle <roger@eyesopen.com>
2952 Jakub Jelinek <jakub@redhat.com>
2953
2954 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
2955 for integer constant c (if x has unsigned type or sign bit is not
2956 set in c). This folds the zero/sign extension into the bit-wise and
2957 operation.
2958
692efa8e
JJ
29592002-04-18 Jakub Jelinek <jakub@redhat.com>
2960
2961 PR middle-end/6205
2962 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
2963 otherwise xorps.
2964
1372d4ce
NY
29652002-04-17 NIIBE Yutaka <gniibe@m17n.org>
2966
2967 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
2968
169ce44d
NC
29692002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
2970
2971 * gcc.c (read_specs): Detect and fail if an attempt is made to
2972 rename a spec string to an already existing string.
2973
b30d2115
UW
29742002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
2975
2976 * config/s390/s390.c (legitimize_pic_address): Do not generate
2977 illegal address constant without CONST.
2978
d6964c30
KG
29792002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2980
2981 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
2982 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
2983
7c82a1ed
UW
29842002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
2985
2986 PR optimization/6305
2987 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
2988 to make sure previous reloads are taken into account. Generate
2989 better code if one operand is an in-range immediate constant.
2990
58db9d1a
AH
29912002-04-16 Andrew Haley <aph@cambridge.redhat.com>
2992
2993 * doc/install.texi (Building): libgcj requires GNU make.
2994
2a732575
JJ
29952002-04-17 Jakub Jelinek <jakub@redhat.com>
2996
2997 PR bootstrap/6315
2998 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
2999 even if hard quad and register is not floating.
3000 (movtf reg<-mem split): Disallow splitting if hard quad and
3001 register is floating.
3002 (movtf mem<-reg split): Likewise.
3003 * config/sparc/sparc.c (fp_register_operand): New predicate.
3004 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
3005
75a65e46
ZW
30062002-04-17 Zack Weinberg <zack@codesourcery.com>
3007
3008 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
3009 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
3010 (unprotoize.o): Ditto. Build from protoize.c. Define
3011 UNPROTOIZE on command line.
3012 * protoize.c: Include cppdefault.h. Delete include_defaults.
3013 (in_system_include_dir): Use cpp_include_defaults (defined in
3014 cppdefault.o).
3015 * unprotoize.c: Delete file.
3016
650f0e97
AH
30172002-04-17 Aldy Hernandez <aldyh@redhat.com>
3018
46468cd9
ZW
3019 * config/rs6000/altivec.h (vec_ld): Add array variants.
3020 (vec_lde): Same.
3021 (vec_ldl): Same.
650f0e97 3022
71a0ab0c 30232002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 3024 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 3025
46468cd9
ZW
3026 * config/rs6000/altivec.h: Define __ALTIVEC__.
3027 (bool): New.
3028 (__pixel): New.
3029 (pixel): New.
3030 (vec_cfux): New.
3031 (vec_vmaddfp): New.
3032 (vec_vsldoi): New.
3033 Add parentheses to all macro arguments.
71a0ab0c 3034
ff2c46ac
RH
30352002-04-16 Richard Henderson <rth@redhat.com>
3036
3037 PR c++/6320
3038 * except.c (remove_eh_handler): Insert inner regions at beginning
3039 of sibling chain. Refactor expressions.
3040
f1ba94dd
RH
30412002-04-16 Richard Henderson <rth@redhat.com>
3042
f0871dfe
RH
3043 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
3044 * config/sparc/sol2-gas-bi.h: New file.
3045 * config.gcc (sparc*-solaris): Add it as needed.
3046 * configure.in (AS_SPARC64_FLAG): Remove check.
3047 * config.in, configure: Regenerate.
3048
3049 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
3050
30512002-04-16 Richard Henderson <rth@redhat.com>
3052
3053 * config/mips/mips.c (override_options): Don't override N32 for
3054 a 64-bit ISA.
409d3c60 3055
f1ba94dd
RH
3056 PR 6202
3057 * config/mips/mips.md (can_delay): Split out of existing define_delays.
3058 (HILO_delay): Set can_delay false.
3059
178c3eff
DJ
30602002-04-16 Dale Johannesen <dalej@apple.com>
3061
3062 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
3063 instruction addresses.
3064 (rs6000_output_function_epilogue): Likewise.
3065
7d6f6369
PC
30662002-04-16 Paolo Carlini <pcarlini@unitus.it>
3067
3068 * c-parse.in (poplevel, compstmt_start,
3069 compstmt_primary_start): Add ending ';', in accordance
3070 with POSIX.
3071
8947df0c
RH
30722002-04-16 Richard Henderson <rth@redhat.com>
3073
3074 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
3075 Adjust tm_file order to get TARGET_DEFAULT set properly.
3076 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
3077 * doc/install.texi (sparc-solaris): Update.
3078
3148ad6d
DJ
30792002-04-16 Dale Johannesen <dalej@apple.com>
3080
3081 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
3082 comparison operands do not match each other or if modes of
3083 conditions do not match result.
3084
014cb9b6 30852002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 3086
014cb9b6
HP
3087 PR target/6305
3088 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 3089 multiword register.
562a69be 3090
014cb9b6 30912002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 3092
8947df0c 3093 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 3094
a9772b60
JJ
30952002-04-16 Jakub Jelinek <jakub@redhat.com>
3096
3097 PR middle-end/6279
3098 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
3099
3100 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
3101
861829ed
RH
31022002-04-15 Richard Henderson <rth@redhat.com>
3103
3104 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
3105 call_really_used_regs too.
3106
bcf2fe9c
RH
31072002-04-15 Richard Henderson <rth@redhat.com>
3108
3109 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
3110
629111c7
DM
31112002-04-15 David S. Miller <davem@redhat.com>
3112
3113 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
3114 as being CLOBBERed.
3115
98ef3137
JJ
31162002-04-16 Jakub Jelinek <jakub@redhat.com>
3117
3118 PR c/6290
3119 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
3120 CONST_VECTOR is { 0, ... 0 }.
3121
0aa911c5
LR
31222002-04-15 Loren J. Rittle <ljrittle@acm.org>
3123
3124 * doc/install.texi (Installing GCC: Configuration): Clarify
3125 the only supported ways to configure gcc.
3126
83248d49 31272002-04-15 Roland McGrath <roland@frob.com>
46468cd9 3128
83248d49
RM
3129 * config.gcc (alpha*-*-gnu*): New target configuration.
3130 * config/alpha/gnu.h: New file for it.
3131 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
3132
b2123dc0
MM
31332002-04-16 Mark Mitchell <mark@codesourcery.com>
3134
3135 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
3136 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
3137 * tree.h (expand_start_stmt_expr): Update prototype.
3138 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
3139 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
3140 on the STMT_EXPR created for the inline function.
46468cd9 3141
8fe2d853
RH
31422002-04-15 Richard Henderson <rth@redhat.com>
3143
3144 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
3145 config/i386/linux-aout.h, config/i386/linux-oldld.h,
3146 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
3147 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
3148 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
3149 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
3150 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
3151 Define __gnu_linux__, not gnu_linux.
3152 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
3153
07cdae91
MM
31542002-04-15 Mark Mitchell <mark@codesourcery.com>
3155
3156 Remove Chill front end.
3157 * gcc.c (default_compilers): Remove Chill entries.
3158 * ch: Remove directory.
3159 * doc/frontends.texi: Remove information about Chill.
3160 * doc/sourcebuild.texi: Likewise.
3161 * doc/standards.texi: Likewise.
3162
41823c5e
DR
31632002-04-15 Douglas B Rupp <rupp@gnat.com>
3164
3165 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
3166 (LONGLONG_STANDALONE): Define.
3167
eb29ddb6
DM
31682002-04-15 David S. Miller <davem@redhat.com>
3169
3170 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
3171 Call emit_library_call with LCT_NORMAL.
3172 (sparc_initialize_trampoline): Use LCT_foo instead of
3173 magic constant in emit_library_call invocations.
3174 (sparc64_initialize_trampoline): Likewise.
3175 (sparc_profile_hook): Likewise.
3176 * config/sparc/sparc.md: Likewise.
3177
3178 * config/sparc/sparc.c (sparc_extra_constraint_check):
3179 Fix type of argument 'c'.
3180 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
3181 Likewise.
3182
bd6bec6b
GDR
31832002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
3184
3185 * diagnostic.h (output_buffer_state): Redefine.
3186 (output_format_decoder): New macro.
3187 (output_prefixing_rule): Likewise.
3188 (output_line_cutoff): Likewise.
3189 (diagnostic_format_decoder): Adjust.
3190 (diagnostic_prefixing_rule): Likewise.
3191 (diagnostic_line_cutoff): Likewise.
3192 (diagnostic_state): Likewise.
3193 (diagnostic_kind_count): Likewise.
3194 (diagnostic_buffer): Now a macro.
3195
3196 * diagnostic.c (diagnostic_buffer): Remove definition.
3197 (output_is_line_wrapping): Adjust.
3198 (set_real_maximum_length): Likewise.
3199 (output_set_maximum_length): Likewise.
3200 (init_output_buffer): Likewise.
3201 (lhd_print_error_function): Likewise.
3202 (output_do_verbatim): Likewise.
3203
ebef4e8c
NB
32042002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
3205
3206 * cpperror.c (print_location): Don't print include chain
3207 if line == 0.
3208 (cpp_begin_message): Update to use DL_ macros.
3209 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
3210 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
3211 cpp_notice, cpp_notice_from_errno): Remove.
3212 (cpp_error, cpp_error_with_line): Update to take a diagnostic
3213 level.
3214 (cpp_errno): New.
3215 * cppexp.c (CPP_ICE): Remove.
3216 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
3217 lex, integer_overflow, _cpp_parse_expr): Update.
3218 * cppfiles.c (read_include_file, find_include_file,
3219 handle_missing_header, _cpp_read_file, remap_filename): Update.
3220 * cpphash.h (enum error_type): Remove.
3221 (_cpp_begin_message): Update.
3222 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
3223 cpp_handle_option, cpp_post_options): Update.
3224 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
3225 skip_whitespace, parse_identifier, parse_slow, parse_string,
3226 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
3227 cpp_interpret_charconst): Update.
3228 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
3229 lex_macro_node, do_undef, glue_header_name, parse_include,
3230 do_include_common, read_flag, do_line, do_linemarker, do_ident,
3231 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
3232 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
3233 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
3234 _cpp_pop_buffer, do_diagnostic): Update.
3235 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
3236 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
3237 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
3238 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
3239 cpp_notice, cpp_notice_from_errno): Remove.
3240 (cpp_error, cpp_error_with_line): Update to take a diagnostic
3241 level.
3242 (cpp_errno): New.
3243 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
3244 collect_args, enter_macro_context, save_parameter, parse_params,
3245 _cpp_create_definition, check_trad_stringification,
3246 cpp_macro_definition): Update.
3247 * cppmain.c (cpp_preprocess_file): Update.
3248 * fix-header.c (read_scan_file): Update.
3249
c19a3859
AS
32502002-04-14 Andreas Schwab <schwab@suse.de>
3251
3252 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
3253
10fdbed6
JD
32542002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3255
3256 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
3257
77660a9a
MM
32582002-04-13 Mark Mitchell <mark@codesourcery.com>
3259
3260 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
3261 not gnu_hurd.
3262
e0ff1ded
HPN
32632002-04-13 Hans-Peter Nilsson <hp@axis.com>
3264
3265 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
3266
2341c7ea
JS
32672002-04-13 Joel Sherrill <joel@OARcorp.com>
3268
3269 * config/sparc/t-elf: Enable v8 multilibs. Impacts
3270 sparc-elf and sparc-rtems targets.
3271
d29350c0
MM
32722002-04-13 Mark Mitchell <mark@codesourcery.com>
3273
3274 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
3275 defined, and __gnu_hurd__ wherever __GNU__ is defined.
3276 * arm/linux-elf.h: Likewise.
3277 * cris/aout.h: Likewise.
3278 * cris/linux.h: Likewise.
3279 * i370/linux.h: Likewise.
3280 * i386/gnu.h: Likewise.
3281 * i386/linux-aout.h: Likewise.
3282 * i386/linux-oldld.h: Likewise.
3283 * i386/linux.h: Likewise.
3284 * i386/linux64.h: Likewise.
3285 * ia64/linux.h: Likewise.
3286 * m68k/linux-aout.h: Likewise.
3287 * m68k/linux.h: Likewise.
3288 * mips/linux.h: Likewise.
3289 * pa/pa-linux.h: Likewise.
3290 * pj/linux.h: Likewise.
3291 * rs6000/sysv4.h: Likewise.
3292 * s390/linux.h: Likewise.
3293 * sh/linux.h: Likewise.
3294 * sparc/linux-aout.h: Likewise.
3295 * sparc/linux.h: Likewise.
3296 * sparc/linux64.h: Likewise.
3297 * xtensa/linux.h: Likewise.
3298
fc552851
RS
32992002-04-13 Richard Sandiford <rsandifo@redhat.com>
3300
3301 * stmt.c (check_unique_operand_names): Expect operand names to
3302 be strings rather than identifiers. Use simple_cst_equal to
3303 compare them.
3304 (resolve_operand_name_1): Make same identifier to string change here.
3305 * c-parse.in (asm_operand): Convert a named operand into a string.
3306 * cp/parse.y (asm_operand): Likewise.
3307
1d405c5e
AS
33082002-04-13 Andreas Schwab <schwab@suse.de>
3309
3310 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
3311
c740732f
MM
33122002-04-12 Mark Mitchell <mark@codesourcery.com>
3313
3314 Revert these changes:
3315
3316 2002-04-06 Mark Mitchell <mark@codesourcery.com>
3317
3318 PR c++/5571
3319 * stor-layout.c (layout_decl): Reset the RTL for the decl.
3320
3fc602a0
RH
33212002-04-12 Richard Henderson <rth@redhat.com>
3322
3323 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
3324 (sparc*-*-solaris): Clean up header files.
3325 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
3326 and plan on generating 64-bit code.
3327 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
3328 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
3329 * config/sparc/sol2-sld-64.h: Rename ...
3330 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
3331 for AS_SPARC64_FLAG not defined.
3332 * config/sparc/sol2-gld-bi.h: New.
3333 * config/sparc/sol2-sld.h: Remove.
3334 * config/sparc/sol26-sld.h: New.
3335 * config/sparc/sol2.h: Tidy comments.
3336 * doc/install.texi: Document sparc-solaris configury changes.
3337
2f15e255
RH
33382002-04-12 Richard Henderson <rth@redhat.com>
3339
3340 * recog.c (offsettable_address_p): Match the logic in adjust_address.
3341
3342 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
3343 in 64-bit mode only. Use only for 32-bit or MEDLOW.
3344
cc8475cb
RO
33452002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3346
3347 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
3348
6f133a4a
JL
3349Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
3350
ef1b8858 3351 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
3352 constrain_operands.
3353
1329e600
DR
33542002-04-12 Douglas B Rupp <rupp@gnat.com>
3355
3356 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
3357 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
3358 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 3359 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
3360 * config/i386/t-interix (USER_H): Remove.
3361
0339d239
DD
33622002-04-12 DJ Delorie <dj@redhat.com>
3363
3364 * integrate.c (compare_blocks): Make comparisons safe for when
3365 sizeof(int) < sizeof(char *).
3366 (find_block): Likewise.
3367
cc4d5fec
JH
33682002-04-12 Jan Hubicka <jh@suse.cz>
3369 David Edelsohn <edelsohn@gnu.org>
3370
3371 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
3372 registers.
3373 (symbol_ref_operand): New.
3374 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
3375 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
3376
93215a1b
AS
33772002-04-12 Andreas Schwab <schwab@suse.de>
3378
3379 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
3380 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
3381 overrides the definition in config/svr4.h.
46468cd9 3382
1d80248e
EN
33832002-04-12 Eric Norum <eric.norum@usask.ca>
3384
3385 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
3386 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
3387 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
3388 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
3389 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
3390 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
3391 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
3392 definitions to config/rtems.h and make the targets more similar.
3393
fa1591cb
RK
3394Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3395
fa06ab5c
RK
3396 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
3397 POINTERS_EXTEND_UNSIGNED.
3398 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
3399 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
3400
fa1591cb
RK
3401 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
3402 not specified.
3403
12e85a0e
R
3404Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
3405
3406 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
3407 depends on TARGET_SHMEDIA, not TARGET_SH5.
3408
1ab3e58a
HPN
34092002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
3410
3411 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
3412 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
3413
18778292
R
3414Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
3415
3416 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
3417 no r0 clobber.
3418
9002507c
AS
34192002-04-12 Andreas Schwab <schwab@suse.de>
3420
3421 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
3422
9be40833
RH
34232002-04-12 Richard Henderson <rth@redhat.com>
3424
3425 PR bootstrap/4191
3426 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
3427
3428 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
3429 modes spanning multiple hard regs.
46468cd9 3430
9be40833
RH
3431 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
3432
3d9268b6
JDA
34332002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3434
3435 * pa.c (pa_output_function_prologue): Don't accumulate the total
3436 number of code bytes when using TARGET_64BIT, or gas, SOM and not
3437 the portable runtime.
3438 (output_deferred_plabels): Handle 64bit plabels.
3439 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
3440 generating pic code using the GAS assembler for object formats that
3441 are not SOM (ie., ELF32 and ELF64).
3442 (output_millicode_call): Check attribute type if attribute length is 28.
3443 Likewise use $PIC_pcrel$0. Only call get_attr_length and
3444 dbr_sequence_length once.
3445 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
3446 dbr_sequence_length once.
3447 * pa.h (TARGET_SOM): Define if not defined.
3448 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
3449 with GAS and not SOM.
3450 (jump, call_internal_reg, call_value_internal_reg): Likewise.
3451 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
3452
d360fd18
DB
34532002-04-11 David O'Brien <obrien@FreeBSD.org>
3454
3455 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
3456 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
3457 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
3458 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
3459 elfos.h and dbxelf.h values are fine now.
3460 * config/i386/freebsd.h, config/alpha/freebsd.h
3461 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
3462
5b8fcab6
DB
34632002-04-11 David O'Brien <obrien@FreeBSD.org>
3464
3465 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
3466 or set Acpu or Amachine. Reformat.
3467 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
3468 define.
3469 (LINK_SPEC): Do not need to undef.
3470 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
3471 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
3472 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
3473 define.
3474 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
3475 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
3476 (LINK_SPEC): Do not need to undef.
3477 (DONT_USE_BUILTIN_SETJMP): Do not define.
3478 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
3479 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
3480 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
3481 Remove trailing spaces.
3482 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
3483 __ELF__, or set Acpu or Amachine. Reformat.
3484 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
3485 define.
3486
fee42cc1
DB
34872002-04-11 David O'Brien <obrien@FreeBSD.org>
3488
3489 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
3490 all other *-*-freebsd* targets.
3491
77a403e4
RH
34922002-04-11 Richard Henderson <rth@redhat.com>
3493
3494 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
3495
cf0005c6
DB
34962002-04-11 David O'Brien <obrien@FreeBSD.org>
3497
3498 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
3499 Include {cpu}/{cpu}.h thru tm_file.
3500 (alpha*-*-linux*ecoff): Remove target.
3501 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
3502 (LINK_SPEC): Remove, is not OS independent.
3503 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
3504 (LINK_SPEC): Do not need to #undef any longer.
3505 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
3506 any longer.
3507 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
3508 __ELF__.
3509 (LINK_SPEC): Moved here from alpha/elf.h.
3510 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
3511 SUB_CPP_PREDEFINES.
3512 * config/alpha/linux-ecoff.h: Remove.
3513 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
3514 (CPP_SPEC): Define _POSIX_SOURCE as needed.
3515 (CPP_SUBTARGET_SPEC): Do not define.
3516 (LINK_SPEC): Do not need to #undef any longer.
3517 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
3518 * config/alpha/vms.h: Likewise.
3519
9be40833 35202002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
3521
3522 * doc/extend.texi: Remove old claim that typedefs cannot have
3523 an alignment attribute.
3524
010f87c4
JJ
35252002-04-11 Jakub Jelinek <jakub@redhat.com>
3526
3527 PR optimization/6177
3528 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
3529 bitpos is 0 and bitsize CONCAT size.
3530
578fc63d
JJ
35312002-04-11 Jakub Jelinek <jakub@redhat.com>
3532
3533 PR c/6223
3534 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
3535
bf9b85ce
DB
35362002-04-10 David O'Brien <obrien@FreeBSD.org>
3537
3538 * config/alpha/freebsd.h: Minor reformatting.
3539 (CPP_SPEC): Define ELF and add cpp_subtarget.
3540 (ASM_SPEC): No longer needed.
3541
7425707d
RH
35422002-04-11 Richard Henderson <rth@redhat.com>
3543
3544 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
3545 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
3546 (dimode mem/zero splitter): New.
3547
1a05e874
HPN
35482002-04-11 Hans-Peter Nilsson <hp@axis.com>
3549
3550 * config/cris/cris.c (cris_override_options): Tweak error message
3551 for PIC not implemented.
3552
3553 * config/cris/cris.h: Tweak comments related to parameter-passing.
3554
3555 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
3556
6f3d0447
RH
35572002-04-10 Richard Henderson <rth@redhat.com>
3558
3559 * except.c (add_ehl_entry): Allow duplicates after landing pad
3560 creation.
3561
174bf2b1
DE
35622002-04-10 David Edelsohn <edelsohn@gnu.org>
3563
3564 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
3565
03f10472
TM
35662002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
3567
3568 * c-decl.c (c_init_decl_processing): Move generation of
3569 decls for g77_integer_type_node and friends from here ...
3570 * c-common.c (c_common_nodes_and_builtins): ... to here.
3571
2f460a0a
UW
35722002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
3573
3574 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
3575 is only used as frame pointer when frame_pointer_needed is true.
3576
0be5cf85
RE
35772002-04-10 Richard Earnshaw <rearnsha@arm.com>
3578
3579 PR target/817
3580 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
3581 for the fact that the pool entry uses two words.
3582 (movdf_hard_insn): Similarly. Also, ADR instruction can span
3583 1k bytes.
3584 (movdf_soft_insn): Similarly.
3585 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
3586 for the fact that the pool entry uses three words.
3587
bf6d4777
RS
35882002-04-10 Richard Sandiford <rsandifo@redhat.com>
3589
3590 * config/mips/mips.c (mips_va_arg): When using the struct version
3591 of the EABI va_list, allow arguments in the register save area to
3592 take up less room than a stack argument.
3593
c2e9dc85
RH
35942002-04-10 Richard Henderson <rth@redhat.com>
3595
3596 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
3597 if EXPAND_INITIALIZER.
3598
bc8e8e97
RH
35992002-04-09 Richard Henderson <rth@redhat.com>
3600
3601 * config/alpha/alpha.md (movdi_er_maybe_g): New.
3602 * config/alpha/alpha.c (alpha_expand_mov): Use it.
3603
a6a063b8
AM
36042002-04-10 Alan Modra <amodra@bigpond.net.au>
3605
3606 PR optimization/6233
3607 * rtlanal.c (pure_call_p): New function.
3608 * rtl.h (pure_call_p): Declare.
3609 * loop.c (prescan_loop): Use it to set has_nonconst_call.
3610 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
3611
7b2e1077
EC
36122002-04-09 Eric Christopher <echristo@redhat.com>
3613
3614 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
3615 information to .comm directive.
3616
d8a50944
RH
36172002-04-09 Richard Henderson <rth@redhat.com>
3618
3619 PR c/5078
3620 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
3621
6a58eee9
RH
36222002-04-09 Richard Henderson <rth@redhat.com>
3623
3624 * basic-block.h (flow_delete_block_noexpunge): Declare.
3625 (expunge_block_nocompact): Declare.
3626 * cfg.c (expunge_block_nocompact): Split out from ...
3627 (expunge_block): ... here.
3628 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
3629 (flow_delete_block_noexpunge): Split out from ...
3630 (flow_delete_block): ... here.
3631 * cfgcleanup.c (delete_unreachable_blocks): Compact while
3632 removing dead blocks.
3633 * except.c (exception_handler_labels): Remove.
3634 (exception_handler_label_map): New.
3635 (struct eh_region): Add aka member.
3636 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
3637 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
3638 (for_each_eh_label, for_each_eh_label_1): New.
3639 (init_eh): Register exception_handler_label_map.
3640 (free_eh_status): Use free_region.
3641 (find_exception_handler_labels): Use the map, not the list.
3642 (remove_exception_handler_label): Likewise.
3643 (maybe_remove_eh_handler): Likewise.
3644 (remove_eh_handler): Use the region aka bitmap.
3645 * except.h (exception_handler_labels): Remove.
3646 (for_each_eh_label): Declare.
3647 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
3648 * loop.c (invalidate_loops_containing_label): New.
3649 (find_and_verify_loops): Use it. Use for_each_eh_label.
3650 * sched-rgn.c (is_cfg_nonregular): Use
3651 current_function_has_exception_handlers.
3652
b47374fa
RH
36532002-04-09 Richard Henderson <rth@redhat.com>
3654
3655 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
3656 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
3657 Do not return changed status.
3658 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
3659 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
3660 New functions that do return changed status.
3661 * sbitmap.h: Update decls.
3662 * gcse.c, lcm.c: Use _cg functions as needed.
3663
1951818c
R
3664Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
3665
3666 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
3667 (sh64-*-elf*, sh-*-rtemself*): Likewise.
3668 * config/sh/embed_bb.c: New file.
3669 * config/sh/embed-elf.h: New file.
3670 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
3671 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
3672 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
3673 __PTRDIFF_TYPE__ .
3674 (SUBTARGET_CPP_PTR_SPEC): Don't define.
3675 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
3676 Add subtarget_asm_endian_spec.
3677 (ASM_SPEC): Use subtarget_asm_endian_spec.
3678 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
3679 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
3680 (WCHAR_UNSIGNED): Define.
3681 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
3682 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
3683 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
3684 Fix value.
3685 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
3686 (sh_adjust_cost): Likewise.
3687 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
3688 __PTRDIFF_TYPE__ .
3689 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
3690 (WCHAR_TYPE_SIZE): Likewise.
3691 (ASM_SPEC): Use subtarget_asm_endian_spec.
3692 (SH_ELF_WCHAR_TYPE): #undef/ #define.
3693 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
3694 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
3695 (MAX_WCHAR_TYPE_SIZE): Don't #define .
3696 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
3697 (USER_LABEL_PREFIX): Don't #undef /#define .
3698 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
3699 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
3700 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
3701 (ASM_SPEC): Likewise.
3702 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
3703 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
3704 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
3705 (LIB2FUNCS_EXTRA): Define.
3706 * t-sh64 (LIB2FUNCS_EXTRA): Define.
3707 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
3708 (LIB1ASMFUNCS_CACHE): Define.
3709 (LIB2FUNCS_EXTRA): Redefine empty.
3710
34295799
RH
37112002-04-08 Richard Henderson <rth@redhat.com>
3712
3713 * reorg.c (get_branch_condition): Use reversed_comparison_code.
3714
e8766a39
SC
37152002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3716
3717 * config/m68hc11/larith.asm (__map_data_section): Fix condition
3718 and optimize for size.
3719 (__do_global_ctors): Fix pointer comparison.
3720 (__do_global_dtors): Likewise.
3721
f451b552
DM
37222002-04-09 David S. Miller <davem@redhat.com>
3723
3724 * config/sparc/sparc.c (sparc_extra_constraint_check): New
3725 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
3726 allow reloading pseudos.
3727 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
3728 * config/sparc/sparc-protos.h: Declare it.
3729
3730 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
3731 unsigned comparison warning.
3732 (output_restore_regs): Mark leaf_function as unused.
3733
1ce7f3c2
RK
3734Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3735
3736 * expr.c (is_aligning_offset): New function.
3737 (expand_expr, case COMPONENT_EXPR): Call it.
3738
7a31a340
DM
37392002-04-08 David S. Miller <davem@redhat.com>
3740
3741 PR target/6082
3742 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
3743
3744 Make init_priority work on Sparc when using GNU ld.
3745 * config/sparc/linux.h, config/sparc/linux64.h,
3746 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
3747 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
3748 * config/sparc/sol2-gld.h: New file to do the same.
3749 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
3750 sparc/sol2-gld.h to tm_file.
3751
3752 PR optimization/4328
3753 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
3754 * doc/md.texi: Document it.
3755 * config/sparc/sparc.md (movdi_insn_sp64_novis,
3756 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
3757 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
3758 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
3759 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
3760
11579f33
AJ
37612002-04-08 Andreas Jaeger <aj@suse.de>
3762
3763 * stmt.c (expand_asm_operands): Revert last patch from Richard
3764 Henderson.
3765
b57215d9
GP
37662002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3767
3768 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
3769 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
3770
37712002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3772
3773 * doc/contrib.texi (Contributors): Add David O'Brien.
3774
534d0cc0
AM
37752002-04-08 Alan Modra <amodra@bigpond.net.au>
3776
3777 * configure.in (auto-build.h): Use target_alias and build_alias
3778 when running configure.
3779 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
3780 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
3781 * configure: Regenerate.
3782
19fe522a
DM
37832002-04-07 David S. Miller <davem@redhat.com>
3784
3785 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
3786
bf2d0b8e
JDA
37872002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
3788
3789 PR 5933
3790 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
3791 generating 32-bit pic code.
3792
477cdac7
JT
37932002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
3794
3795 * cppinit.c (cpp_create_reader): Initialize
3796 discard_comments_in_macro_exp.
3797 (COMMAND_LINE_OPTIONS): Add "-CC" option.
3798 (cpp_handle_option): Handle "-CC" option.
3799 * cpplex.c (save_comment): If saving a C++ comment in
3800 a directive, convert it to a C comment.
3801 (_cpp_lex_direct): Pass second comment start character to
3802 save_comment to indicate comment type.
3803 * cpplib.c (_cpp_handle_directive): If processing
3804 a "#define" directive and discard_comments_in_macro_exp
3805 is false, re-enable saving of comments.
3806 (lex_macro_node): If discard_comments_in_macro_exp is false,
3807 discard any comments before the macro identifier.
3808 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
3809 member.
3810 * cppmacro.c (cpp_get_token): If expanding a macro while
3811 processing a directive, discard any comments we might encounter.
3812 (parse_params): If discard_comments_in_macro_exp is false,
3813 ignore comments in the macro parameter list.
3814 * gcc.c (cpp_unique_options): Add "-CC" option.
3815 (option_map): Map "--comments-in-macros" to "-CC".
3816 * doc/cppopts.texi: Document "-CC" option.
3817 * f/lang-specs.h: Add "-CC" option.
3818 * testsuite/gcc.dg/cpp/maccom1.c: New test.
3819 * testsuite/gcc.dg/cpp/maccom2.c: New test.
3820 * testsuite/gcc.dg/cpp/maccom3.c: New test.
3821 * testsuite/gcc.dg/cpp/maccom4.c: New test.
3822 * testsuite/gcc.dg/cpp/maccom5.c: New test.
3823 * testsuite/gcc.dg/cpp/maccom6.c: New test.
3824
f1526122
JDA
38252002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
3826
3827 PR middle-end/6180
3828 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
3829
b1896e61
MM
38302002-04-06 Mark Mitchell <mark@codesourcery.com>
3831
0154eaa8
MM
3832 PR c++/5571
3833 * stor-layout.c (layout_decl): Reset the RTL for the decl.
3834
b1896e61
MM
3835 PR opt/5120
3836 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
3837 RTX_UNCHANGING_P for the functions arguments when a tail call
3838 is made.
3839
b0148884
JM
38402002-04-06 Jason Merrill <jason@redhat.com>
3841
3842 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
3843 (parse_options_and_default_flags): Set them appropriately.
3844 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
3845
392fc5b0
HPN
38462002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
3847
3848 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
3849 here.
3850
3851 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
3852 semicolon.
3853
3854 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
3855 types come in by-reference. Fix typo in comment.
3856
2d69e3cb
DM
38572002-04-05 David S. Miller <davem@redhat.com>
3858
3859 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
3860 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
3861 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
3862 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
3863
38642002-04-05 David S. Miller <davem@redhat.com>
3865
3866 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
3867 are not going to emit return instructions, emit at least a nop
3868 for the sake of sane backtraces.
3869
5f9fb0e3
RH
38702002-04-05 Richard Henderson <rth@redhat.com>
3871
3872 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
3873
49f37a0d
JJ
38742002-04-05 Jakub Jeilnek <jakub@redhat.com>
3875
3876 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
3877
974a3101
AO
38782002-04-05 Alexandre Oliva <aoliva@redhat.com>
3879
3880 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
3881 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
3882 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
3883
2e04a694
AS
38842002-04-05 Andreas Schwab <schwab@suse.de>
3885
a40179bd 3886 * c-convert.c: Include c-common.h.
2e04a694
AS
3887 * Makefile.in (c-convert.o): Updated.
3888
1f785b7c
JJ
38892002-04-05 Jakub Jelinek <jakub@redhat.com>
3890
3891 * mklibgcc.in: Use separate libgcc.map for each multilib.
3892 * Makefile.in (distclean): Don't remove libgcc.map here.
3893
4d2fb38b
JJ
38942002-04-05 Jakub Jelinek <jakub@redhat.com>
3895
3896 * Makefile.in (s-mlib): Handle --disable-multilib by separate
3897 genmultilib invocation.
3898
bb63e5a0
RS
38992002-04-04 Richard Sandiford <rsandifo@redhat.com>
3900
3901 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
3902 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
3903 to num_gprs for symmetry.
3904 * config/mips/mips.c: Adjust accordingly.
3905
8ab80eaa
NB
39062002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
3907
3908 * c-common.c (truthvalue_conversion): Rename, update.
3909 * c-common.h (c_common_truthvalue_conversion): New.
3910 * c-convert.c (convert): Update.
3911 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
3912 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
3913 * c-typeck.c (build_binary_op, build_unary_op,
3914 build_conditional_expr): Update.
3915 * fold-const.c (constant_boolean_node, fold): Use langhook.
3916 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
3917 * langhooks.h (struct lang_hooks): New hook.
3918 * stmt.c (expand_decl_cleanup): Use langhook.
3919 * tree.h (truthvalue_conversion): Remove.
3920objc:
3921 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
3922
a2e9374a
AM
39232002-04-05 Alan Modra <amodra@bigpond.net.au>
3924
3925 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
3926 Add rules to make null object file.
3927
64d08263
JB
39282002-04-04 Jim Blandy <jimb@redhat.com>
3929
3930 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
3931 macro formal parameter names.
3932
aa7634dd
DM
39332002-04-04 David S. Miller <davem@redhat.com>
3934
3935 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
3936
ecc114f7
RH
39372002-04-04 Richard Henderson <rth@redhat.com>
3938
3939 PR middle-end/5099
3940 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
3941 Support copies into and out of memory. Don't accept allows_reg
3942 and allows_mem as gospel.
3943
c4484b8f
RH
39442002-04-04 Richard Henderson <rth@redhat.com>
3945
3946 PR opt/6165
3947 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
3948 (write_dependence_p): Likewise.
3949
39002160
RH
39502002-04-04 Richard Henderson <rth@redhat.com>
3951
3952 * predict.c (estimate_bb_frequencies): Do frequency calculation
3953 with a volatile temporary.
3954
f53ebe71
UW
39552002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
3956
3957 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
3958
15e0ecab
JJ
39592002-04-04 Jakub Jelinek <jakub@redhat.com>
3960
3961 PR c++/6119
3962 * final.c (final_start_function): Don't bump profile_label_no here...
3963 (final_end_function): ...but here.
3964
ffd386b0
JJ
39652002-04-04 Jakub Jelinek <jakub@redhat.com>
3966
3967 * config/sparc/sparc.md (pic): New attribute.
3968 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
3969 into stack slots.
3970 (split after do_builtin_setjmp_setup): New.
3971
8b156b3e
JJ
39722002-04-04 Jakub Jelinek <jakub@redhat.com>
3973
3974 PR fortran/6106
3975 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
3976 change.
3977
014c0998
JJ
39782002-04-04 Jakub Jelinek <jakub@redhat.com>
3979
3980 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
3981 UNITS_PER_WORD for zero sized aggregates.
3982
4d8611d9
DM
39832002-04-03 David S. Miller <davem@redhat.com>
3984
3985 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
3986 one-character spec for this, just use %(link_gcc_c_sequence).
3987
b03ad99d
DM
39882002-04-03 David S. Miller <davem@redhat.com>
3989
3990 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
3991 handling.
3992
823fbbce
JDA
39932002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
3994
3995 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
3996 (DWARF_FRAME_RETURN_COLUMN): Move.
3997 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3998 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
3999 * pa.c (except.h, predict.h): Include.
4000 (FRP): Delete.
4001 (store_reg_modify, set_reg_plus_d): Revise prototypes.
4002 (output_ascii): Add cast.
4003 (store_reg_modify): Revise to add frame notes.
4004 (set_reg_plus_d): Likewise.
4005 (compute_frame_size): Include space for eh data registers in frame if
4006 the current function calls eh_return.
4007 (hppa_expand_prologue): Ensure register %r2 is saved if the current
4008 function calls eh_return. Save eh data registers if the current
4009 function calls eh_return. Fix code to add frame notes. Emit
4010 blockage to prevent insns with frame notes being scheduled in the
4011 delay slot of calls.
4012 (hppa_expand_epilogue): Restore eh data registers and do final stack
4013 adjustment if the current function calls eh_return. Don't add frame
4014 notes.
4015 (output_call): Revise for change in length of call insn. Don't do
4016 return pointer adjustment for an unconditional jump in the delay slot
4017 of a call when using frame notes.
4018 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
4019 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
4020 (ARG_POINTER_CFA_OFFSET): Define.
4021 * pa.md (return_external_pic): New pattern.
4022 (prologue): Correct formatting. Use return_external_pic if current
4023 function calls eh_return.
4024 (call_internal_symref, call_value_internal_symref,
4025 sibcall_internal_symref, sibcall_value_internal_symref): Change default
4026 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
4027 respectively.
4028 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
4029
4030 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
4031 list of targets to check using "nop" insn.
4032 * configure: Rebuilt.
4033
4078e224
AM
40342002-04-04 Alan Modra <amodra@bigpond.net.au>
4035
4036 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
4037
bbd7687d
DM
40382002-04-03 David S. Miller <davem@redhat.com>
4039
4040 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
4041 library sequence passed to the linker.
4042 (LINK_COMMAND_SPEC): Use it.
4043 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
4044 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
4045 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
4046
659e5a7a
JM
40472002-04-03 Jason Merrill <jason@redhat.com>
4048
4049 * except.c (struct eh_status): Remove protect_list.
4050 (begin_protect_partials, end_protect_partials): Remove.
4051 (add_partial_entry): Remove.
4052 * except.h: Remove prototypes.
4053
4054 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
4055 expand_decl_cleanup_eh.
4056
4057 PR c++/5636
4058 * tree.h (CLEANUP_EH_ONLY): New macro.
4059 * stmt.c (expand_decl_cleanup_eh): New fn.
4060 (expand_cleanups): Check CLEANUP_EH_ONLY.
4061 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
4062 Use expand_decl_cleanup_eh.
4063 (expand_stmt): Adjust.
4064 * c-common.h: Adjust prototype.
4065
053d3344
HPN
40662002-04-04 Hans-Peter Nilsson <hp@axis.com>
4067
4068 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
4069 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
4070 (cris_target_asm_function_epilogue): Ditto.
4071 (cris_initial_frame_pointer_offset): Ditto.
4072 (cris_simple_epilogue): Ditto.
4073 (cris_expand_builtin_va_arg): Variable-size types come in
4074 by-reference.
4075
61ab5260
DM
40762002-04-03 David S. Miller <davem@redhat.com>
4077
4078 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
4079 little-endian.
4080 (set_fast_math): Correct 'fsr' type.
4081
ef4f94ac
RH
40822002-04-03 Richard Henderson <rth@redhat.com>
4083
36c2272c 4084 PR opt/3569
ef4f94ac
RH
4085 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
4086 * toplev.c (check_global_declarations): Use it.
4087 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
4088 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
4089 (LANG_HOOKS_DECLS): Add it.
4090 * langhooks.c (lhd_warn_unused_global_decl): New.
4091 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
4092 * c-objc-common.c (c_warn_unused_global_decl): New.
4093 * c-tree.h (c_warn_unused_global_decl): Declare.
4094 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
4095
599bba86
NB
40962002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
4097
4098 * langhooks-def.h (lhd_set_decl_assembler_name,
4099 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
4100 (LANG_HOOKS_INITIALIZER): Update.
4101 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
4102 * langhooks.h (struct lang_hooks): New hook.
4103 * tree.c (set_decl_assembler_name): Move to langhooks.c.
4104 (lang_set_decl_assembler_name): Remove.
4105 (init_obstacks): Don't set hook.
4106 (decl_assembler_name): New function.
4107 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
4108 (decl_assembler_name): New.
4109 (lang_set_decl_assembler_name): Remove.
4110
cf7b8b0d
JJ
41112002-04-03 Jakub Jelinek <jakub@redhat.com>
4112
4113 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
4114 works properly with .hidden symbols.
4115 * configure: Rebuilt.
4116 * config.in: Rebuilt.
4117 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
4118 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
4119 properly with .hidden symbols.
4120
faf6db38
JJ
41212002-04-03 Jakub Jelinek <jakub@redhat.com>
4122
4123 PR middle-end/6102
4124 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
4125 USE argument.
4126
68c17f30
RH
41272002-04-03 Richard Henderson <rth@redhat.com>
4128
4129 PR opt/4120
4130 * sched-rgn.c (sets_likely_spilled): New.
4131 (sets_likely_spilled_1): New.
4132 (add_branch_dependences): Use it.
4133
6584b4aa
RH
41342002-04-02 Richard Henderson <rth@redhat.com>
4135
4136 PR opt/4311
4137 * loop.h (LOOP_FIRST_PASS): New.
4138 * loop.c (strength_reduce): Mind it when deciding to unroll.
4139 * toplev.c (rest_of_compilation): Set it.
4140
0acf409f
DM
41412002-04-02 David S. Miller <davem@redhat.com>
4142
4143 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
4144 mems_ok_for_ldd_peep when the order of the loads being examined
4145 is reversed.
4146 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
4147 existing comment to increase comprehension of this situation.
4148
85654444
ZW
41492002-04-02 Zack Weinberg <zack@codesourcery.com>
4150
4151 * config/sh/sh.md: Don't use union real_extract.
4152
543828ca
RH
41532002-04-02 Richard Henderson <rth@redhat.com>
4154
4155 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
4156
39ed301b
DB
41572002-04-02 David O'Brien <obrien@FreeBSD.org>
4158
4159 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
4160 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
4161 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
4162 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
4163 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
4164 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
4165 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
4166 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
4167 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
4168 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
4169 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
4170 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
4171 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
4172 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
4173 Include as many configury headers via tm_file as possible. This
4174 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
4175 * config/openbsd-oldgas.h: New file.
4176 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
4177 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
4178 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
4179 config/i386/i386-coff.h, config/i386/i386-interix.h,
4180 config/i386/iscdbx.h, config/i386/linux-aout.h,
4181 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
4182 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
4183 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
4184 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
4185 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
4186 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
4187 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
4188 config/i386/vxi386.h: Do not directly include configury headers.
4189 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
4190 Directly include configury headers that are no longer automatically
4191 included by the above headers.
4192 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
4193 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
4194 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
4195 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
4196 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
4197 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
4198 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
4199 (TARGET_VERSION): Define.
4200 * config/i386/beos-elf.h, config/i386/freebsd.h,
4201 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
4202 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
4203 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
4204 config/i386/sco5.h, config/i386/sysv4.h
4205 (TARGET_VERSION): Do not need to protect.
4206 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
4207 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
4208 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
4209 config/i386/i386-interix.h, config/i386/linux-aout.h,
4210 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
4211 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
4212 (YES_UNDERSCORES): Do not define - not needed.
4213 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
4214 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
4215 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
4216 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
4217 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
4218 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
4219 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
4220 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
4221
9432c136
EB
42222002-04-02 Eric Botcazou <ebotcazou@multimania.com>
4223 Richard Henderson <rth@redhat.com>
4224
4225 PR c/5484
4226 * function.c (assign_temp): Accept either type or decl argument.
4227 Detect variables whose size is too large to fit into an integer.
4228 * stmt.c (expand_decl): Pass the decl, not the type.
4229
058b1275
DB
42302002-04-02 David O'Brien <obrien@FreeBSD.org>
4231
4232 * protoize.c: Match include directory usage with cppdefault.c.
4233
5add6d1a 42342002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 4235 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
4236
4237 * combine.c (simplify_comparison): Avoid narrowing a comparison
4238 with a paradoxical subreg when doing so would drop signficant bits.
4239
1e533e4b
SE
42402002-04-02 Steve Ellcey <sje@cup.hp.com>
4241
4242 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
4243 if POINTERS_EXTEND_UNSIGNED is defined.
4244
7a145e92
RH
42452002-04-02 Richard Henderson <rth@redhat.com>
4246
4247 PR opt/3967
4248 * local-alloc.c (contains_replace_regs): LO_SUM may contain
4249 replace regs.
4250
3a079822
RH
42512002-04-02 Richard Henderson <rth@redhat.com>
4252
4253 * doc/standards.texi: Document required freestanding libc entry points.
4254
c94ccb87
AM
42552002-04-02 Alan Modra <amodra@bigpond.net.au>
4256
4257 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
4258 associated splitter. Remove MQ constraint.
4259 (ctrdi_internal4): Correct CCmode clobber.
4260
fe660a1a
JDA
42612002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
4262
4263 * milli64.S ($$dyncall): New function.
4264 * t-linux (LIB1ASMFUNCS): Revise module list.
4265 (LIB1ASMSRC): Use pa/milli64.S.
4266
eadc0202
RH
42672002-04-02 Richard Henderson <rth@redhat.com>
4268
4269 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
4270 rename solaris_sys_varargs_h.
4271
a1471322
RK
4272Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4273
4274 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
4275 the same mode as its component.
4276
c8b94768
RH
42772002-04-02 Richard Henderson <rth@redhat.com>
4278
4279 PR opt/190
4280 * final.c (this_is_asm_operands): Export.
4281 * output.h (this_is_asm_operands): Declare.
4282 * config/i386/i386.c (print_operand): Error odd asm operands.
4283
161eb4fc
RH
42842002-04-02 Richard Henderson <rth@redhat.com>
4285
4286 PR opt/420
4287 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
4288
b88a94c6
RH
42892002-04-01 Richard Henderson <rth@redhat.com>
4290
4291 PR target/1538
4292 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
4293 * fixinc/fixincl.x: Rebuild.
4294
72e32876
RH
42952002-04-01 Richard Henderson <rth@redhat.com>
4296
4297 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
4298 (atomic_alloc, atomic_free): New.
4299 (SIZE, MASK_FOR, PTR_IN): New.
4300 (emergency_reg_state, emergency_reg_state_free): New.
4301 (emergency_labeled_state, emergency_labeled_state_free): New.
4302 (reg_state_alloced, labeled_state_alloced): New.
4303 (alloc_reg_state, free_reg_state): New.
4304 (alloc_label_state, free_label_state, free_label_states): New.
4305 (push, pop, dup_state_stack, free_state_stack): Use them.
4306 (desc_label_state): Likewise.
4307 (uw_frame_state_for): Free label states and state stack.
4308 (uw_update_reg_address): Eliminate warnings.
4309
84d76074
VM
43102002-04-01 Vladimir Makarov <vmakarov@redhat.com>
4311
4312 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 4313 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 4314
dffd7eb6
NB
43152002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
4316
4317 * c-decl.c (grokdeclarator): Update.
4318 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
4319 * c-tree.h (c_mark_addressable): New.
4320 * c-typeck.c (default_function_array_conversion, build_unary_op,
4321 build_array_ref, convert_for_assignment): Update.
4322 (mark_addressable): Rename.
4323 * calls.c (try_to_integrate, expand_call): Use langhook.
4324 * expr.c (expand_expr): Use langhook.
4325 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
4326 * langhooks.h (struct lang_hooks): New hook.
4327 * stmt.c (expand_asm_operands): Use langhook.
4328 * tree.h (mark_addressable): Remove.
4329objc:
4330 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
4331
544ef5b5
BW
43322002-04-01 Bob Wilson <bob.wilson@acm.org>
4333
9be40833
RH
4334 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
4335 in previous change.
544ef5b5 4336
bcf88f9b
BW
43372002-04-01 Bob Wilson <bob.wilson@acm.org>
4338
4339 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
4340 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
4341
ceef8ce4
NB
43422002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
4343
4344 * c-common.c (unsigned_conversion_warning, convert_and_check,
4345 unsigned_type, signed_type, shorten_compare,
4346 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
4347 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
4348 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
4349 New.
4350 * c-decl.c (grokdeclarator): Update.
4351 * c-format.c (check_format_types): Update.
4352 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
4353 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
4354 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
4355 * convert.c (convert_to_integer): Use new hooks.
4356 * expmed.c (make_tree): Use new hooks.
4357 * expr.c (store_expr): Use new hooks.
4358 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
4359 all_ones_mask_p, unextend, fold): Use new hooks.
4360 * langhooks.h (struct lang_hooks_for_types): New hooks.
4361 * tree.h (signed_or_unsigned_type, signed_type,
4362 unsigned_type): Remove.
4363objc:
4364 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
4365 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
4366
1d9ad0e0
RH
43672002-03-31 Richard Henderson <rth@redhat.com>
4368
4369 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
4370 (desc_frgr_mem): Fix reference to f16-f31.
4371
d544bc39
KG
43722002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4373
4374 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
4375 RTVEC_ELT): Const-ify.
d8750784
KG
4376 * varray.h (VARRAY_CHECK): Const-ify.
4377 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
4378 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 4379
b18101c7
NB
43802002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
4381
4382 * diagnostic.c: Include langhooks-def.h.
4383 * Makefile.in (diagnostic.o): Update.
4384
48a7a235
NB
43852002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
4386
4387 * c-common.c (c_unsafe_for_reeval): Rename.
4388 * c-common.h (c_unsafe_for_reeval): Rename.
4389 * c-decl.c (finish_incomplete_decl): Rename.
4390 (c_init_decl_processing): Don't set langhook.
4391 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
4392 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
4393 * c-objc-common.c (c_objc_common_init): Don't set langhook.
4394 * c-tree.h (finish_incomplete_decl): Rename.
4395 * langhooks-def.h (lhd_unsafe_for_reeval): New.
4396 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
4397 (LANG_HOOKS_INITIALIZER): Update.
4398 * langhooks.c (lhd_unsafe_For_reeval): New.
4399 * langhooks.h (struct langhooks): New hooks.
4400 * toplev.c (incomplete_decl_finalize_hook): Remove.
4401 (wrapup_global_declarations): Update.
4402 * tree.c (lang_unsafe_for_reeval): Remove.
4403 (unsafe_for_reeval): Update.
4404 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
4405 Remove.
4406objc:
4407 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
4408 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
4409
7cb32822
NB
44102002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
4411
4412 * diagnostic.c (print_error_function): Remove.
4413 (default_print_error_function): Rename.
4414 (report_error_function): Update.
4415 * diagnostic.h (print_error_function): Remove.
4416 (default_print_error_function): Remove.
4417 * langhooks-def.h (struct diagnostic_context): Predeclare.
4418 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
4419 (LANG_HOOKS_INITIALIZER): Update.
4420 * langhooks.h (struct diagnostic context): Predeclare.
4421 (struct lang_hooks): New hook.
4422
1db02437
FS
44232002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4424
4425 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
4426 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
4427 !flag_pic.
4428 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
4429 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
4430 of PIC_OFFSET_TABLE_REGNUM thruout.
4431 * config/rs6000/rs6000.md: Likewise.
4432 * config/rs6000/darwin.h: Likewise.
4433
3bf1e984
RK
4434Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4435
4436 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
4437 unsigned HOST_WIDE_INT, not unsigned int.
4438
0864c526
JJ
44392002-03-31 Jakub Jelinek <jakub@redhat.com>
4440
4441 PR middle-end/6096, middle-end/6098, middle-end/6099
4442 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
4443 CODE_LABELs.
4444 (fill_slots_from_thread): Likewise.
4445
105b2084
JJ
44462002-03-31 Jakub Jelinek <jakub@redhat.com>
4447
4448 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
4449 floating fields in float regs.
4450 (function_arg_record_value_2): Likewise.
4451
db08fddf
HPN
44522002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
4453
4454 * config/mmix/mmix.md (define_constants): Remove misleading
4455 FIXME. Add MMIX_fp_rO_OFFSET.
4456 ("nonlocal_goto_receiver"): Don't have stack-frame address of
4457 saved rO as part of the pattern. Remove FIXME.
4458 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
4459 here, at output-time.
4460
4f31cce8
JJ
44612002-03-31 Jakub Jelinek <jakub@redhat.com>
4462
4463 PR middle-end/6100
4464 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
4465 REG_BR_PRED.
4466 (output_v9branch): Likewise.
4467
ba2b7435
AO
44682002-03-31 Alexandre Oliva <aoliva@redhat.com>
4469
4470 * gcc.c: Revert previous patch for now.
4471 * config/i386/djgpp.h: Likewise.
4472
aa66aa5f 44732002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
4474
4475 * config/mmix/crti.asm (_init): Register _fini with atexit.
4476 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
4477
41ba8a20
RH
44782002-03-31 Richard Henderson <rth@redhat.com>
4479
4480 PR target/3997
4481 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
4482 (ASM_OUTPUT_DEF_FROM_DECLS): New.
4483
adc186ef
RH
44842002-03-31 Richard Henderson <rth@redhat.com>
4485
4486 * libgcc2.c (__bb_exit_func): Make static.
4487
9be40833 4488 * config/alpha/alpha.md (trap): New.
a7648399 4489
9602f5a0
RH
44902002-03-31 Richard Henderson <rth@redhat.com>
4491
4492 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
4493 promoted argument types; build trap.
4494 (expand_builtin_trap): New.
4495 (expand_builtin): Use it.
4496 * stmt.c (expand_nl_goto_receivers): Likewise.
4497 * expr.h (expand_builtin_trap): Declare.
4498 * libfuncs.h (LTI_abort, abort_libfunc): New.
4499 * optabs.c (init_optabs): Init abort_libfunc.
4500
1a0a7539
AO
45012002-03-31 Alexandre Oliva <aoliva@redhat.com>
4502
4503 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
4504 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 4505 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
4506 shared_name in the second copy.
4507 (init_spec): Test for duplicate
4508 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
4509
b5de1a27
DM
45102002-03-30 David S. Miller <davem@redhat.com>
4511
4512 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
4513 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
4514
78414d74 45152002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 4516 Richard Henderson <rth@redhat.com>
78414d74 4517
9be40833
RH
4518 * regmove.c (combine_stack_adjustments_for_block): Avoid
4519 emitting a stack adjustment of zero bytes. Let delete_insn
4520 update bb->head.
78414d74 4521
33074e5f
RH
45222002-03-30 Richard Henderson <rth@redhat.com>
4523
4524 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
4525 (sparc_emitting_epilogue): New.
4526 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
4527 * config/sparc/sparc-protos.h: Update.
4528 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
4529 (TARGET_SWITCHES): Update.
4530 * config/sparc/sparc.md (return): Remove.
4531 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
4532 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
4533 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
4534 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
4535 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
4536 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
4537 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
4538 Remove MASK_EPILOGUE.
4539 * doc/invoke.texi: Update.
4540
606cc056
DB
45412002-03-30 Daniel Berlin <dan@dberlin.org>
4542
4543 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
4544 CPP will start the file for us.
7b2e1077 4545
bdbe5b8d
RH
45462002-03-30 Richard Henderson <rth@redhat.com>
4547
4548 PR target/5446
4549 * config/ia64/ia64.c (group_barrier_needed_p): Special case
4550 prologue_allocate_stack.
4551 (ia64_single_set): Use insn codes for recognition of special
4552 cases, not rtl matching.
4553 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
4554
4ab95d82
JH
4555Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
4556
4557 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
4558
89a8b315
RH
45592002-03-30 Richard Henderson <rth@redhat.com>
4560
4561 PR target/6032
4562 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
4563 or -fomit-frame-pointer with profiling.
4564 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
4565 (FUNCTION_PROFILER): Do nothing.
4566 (PROFILE_HOOK): New.
4567 * config/sparc/sparc.c (sparc_override_options): Don't check
4568 code models for profiling.
4569 (sparc_function_profiler): Remove.
4570 (sparc_profile_hook): New.
4571 * config/sparc/sparc-protos.h: Update.
4572
30984c57
JJ
45732002-03-30 Jakub Jelinek <jakub@redhat.com>
4574
4575 PR optimization/6086
4576 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
4577 of SUBREG of volatile MEM or because the MEM was mode dependent,
4578 return CLOBBER instead of unmodified SUBREG.
4579
1540f9eb
JH
4580Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
4581
89a8b315
RH
4582 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
4583 when not optimizing.
1540f9eb
JH
4584
4585 * toplev.c (rest_of_compilation): Cann mark_constant_function
4586 only when optimizing.
4587
89a8b315
RH
4588 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
4589 are NULL.
1540f9eb
JH
4590
4591 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
4592 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
4593 (try_optimize_cfg): clear all AUX fields.
4594
4595 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
4596 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
4597 (ix86_address_cost): Be prepared for SUBREGed registers.
4598 (legitimate_address_p): Accept SUBREGed registers.
4599
70d95bac
RH
46002002-03-29 Richard Henderson <rth@redhat.com>
4601
4602 PR target/5672
4603 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
4604
d3294cd9
FS
46052002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4606
4607 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
4608 for aggregate and TFmode types.
4609
a106c875
HPN
46102002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
4611
4612 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
4613
7d7a5d6f
RH
46142002-03-29 Richard Henderson <rth@redhat.com>
4615
6e2d670b 4616 PR target/5886
7d7a5d6f
RH
4617 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
4618 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
4619
30c99a84
RH
46202002-03-29 Richard Henderson <rth@redhat.com>
4621
6e2d670b 4622 PR target/6041
30c99a84
RH
4623 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
4624 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
4625 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
4626 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
4627 conditional.
4628 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
4629
02a566dc
DJ
46302002-03-29 Dale Johannesen <dalej@apple.com>
4631
4632 * loop.c (combine_movables): Do allow combination of pseudos.
4633
bc3a44db
LR
46342002-03-29 Loren J. Rittle <ljrittle@acm.org>
4635
4636 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
4637 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
4638 No functional change except ...
4639 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
4640 * doc/install.texi (*-*-freebsd*): Document port configuration.
4641
b0c48229
NB
46422002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
4643
4644 * Makefile.in (convert.o, calls.o, expmed.o): Update.
4645 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
4646 Use new hooks.
4647 * builtin-types.def (BT_PTRMODE): Update.
4648 * c-common.c (type_for_size): Rename c_common_type_for_size.
4649 (type_for_mode): Similarly.
4650 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
4651 Use new hook.
4652 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
4653 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
4654 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
4655 Redefine.
4656 * c-typeck.c (common_type, comptypes, default_conversion):
4657 Use new hooks.
4658 * calls.c: Include langhooks.h.
4659 (emit_library_call_value_1): Use new hooks. Avoid redundant
4660 calls.
4661 * convert.c: Include langhooks.h
4662 (convert_to_pointer, convert_to_integer): Use new hooks.
4663 * except.c (init_eh): Similarly.
4664 * expmed.c: Include langhooks.h.
4665 (expand_mult_add): Use new hooks.
4666 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
4667 try_casesi): Similarly.
4668 * fold-const.c (optimize_bit_field_compare, make_range,
4669 decode_field_reference, fold_truthop, fold): Similarly.
4670 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
4671 put_var_into_stack): Similarly.
4672 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
4673 LANG_HOOKS_TYPE_FOR_SIZE): New.
4674 (LANG_HOOKS_TYPES_INITIALIZER): Update.
4675 * langhooks.h (lang_hooks_for_types): New hooks.
4676 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
4677 * tree.c (get_unwidened, get_narrower): Similarly.
4678 * tree.h (type_for_mode, type_for_size): Remove.
4679 * varasm.c (force_const_mem): Use new hooks.
4680 * utils2.c (nonbinary_modular_operation): Update.
4681objc:
4682 * objc-act.c (handle_impent): Update.
4683 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
4684 Redefine.
4685
e206a74f
SE
46862002-03-29 Steve Ellcey <sje@cup.hp.com>
4687
4688 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
4689 * config/ia64/ia64.c (basereg_operand): New.
4690 * config/ia64/ia64-protos.h (basereg_operand): Declare.
4691 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
4692
7d9b6378
HPN
46932002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
4694
4695 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
4696 unwind information when frame_pointer_needed.
4697 (mmix_assemble_integer): Tweak wording in comment.
4698
f1e639b1
NB
46992002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
4700
4701 * Makefile.in (except.o): Update.
4702 * except.c: Include langhooks.h.
4703 (init_eh): Use langhook.
4704 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
4705 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
4706 (LANG_HOOKS_INITIALIZER): Update.
4707 * langhooks.h (lang_hooks_for_types): New.
4708 (struct lang_hooks): Add it.
4709 * tree.c (make_lang_type_fn, make_lang_type): Remove.
4710 * tree.h (make_lang_type_fn, make_lang_type): Remove.
4711config:
4712 * alpha/alpha.c: Include langhooks.h.
4713 (alpha_build_va_list): Use langhook.
4714 * d30v/d30v.c: Include langhooks.h.
4715 (d30v_build_va_list): Use langhook.
4716 * i386/i386.c: Include langhooks.h.
4717 (ix86_build_va_list): Use langhook.
4718 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
4719 * s390/s390.c: Include langhooks.h.
4720 (s390_build_va_list): Use langhook.
4721 * stormy16/stormy16.c: Include langhooks.h.
4722 (stormy16_build_va_list): Use langhook.
4723
f17f9332
JJ
47242002-03-29 Jakub Jelinek <jakub@redhat.com>
4725
4726 PR c++/5964
4727 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
4728 attributes.
4729 (length): Compute variable length for branches/calls/jumps here.
4730 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
4731 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
4732 define branch_type attribute.
4733 (divsi3_sp32): Maximum length is 6 not 7.
4734 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
4735 call_address_untyped_struct_value_sp32,
4736 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
4737 * config/sparc/sparc.c (empty_delay_slot): New function.
4738 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
4739 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
4740
0a0440c9
JJ
47412002-03-29 Jakub Jelinek <jakub@redhat.com>
4742
4743 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
4744 nonzero_bits if not needed.
4745 (nonzero_bits) [XOR]: Likewise.
4746 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
4747 reg_last_set_mode and mode are both MODE_INT, but not equal.
4748 (record_value_for_reg): Compute reg_last_set_nonzero_bits
4749 in nonzero_bits_mode for MODE_INT modes.
4750
c9045f47
RH
47512002-03-28 Richard Henderson <rth@redhat.com>
4752
4753 PR target/5715
4754 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
4755 to GAS. Correct drift between alternatives.
4756
f8ed1958
RH
47572002-03-28 Richard Henderson <rth@redhat.com>
4758
4759 PR target/6087
4760 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
4761
54e20385
LR
47622002-03-28 Alexandre Oliva <aoliva@redhat.com>
4763
4764 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
4765 emulation to the linker.
4766
47672002-03-28 Loren J. Rittle <ljrittle@acm.org>
4768
4769 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
4770 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
4771
8bc52806
JL
4772Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
4773
4774 * combine.c (simplify_and_const_int): Make sure to apply mask
4775 when force_to_mode returns a constant integer. PR3311.
4776
279dccc5
JDA
47772002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
4778
4779 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
4780
62aaa62c
GP
47812002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4782
4783 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
4784 and Objective-C Dialect Options.
4785
b8de5050
RH
47862002-03-28 Richard Henderson <rth@redhat.com>
4787
4788 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
4789 comparison should be done vs !=0 not >0 return code. Tidy cases.
4790
619708cc
RH
47912002-03-28 Richard Henderson <rth@redhat.com>
4792
4793 * c-decl.c (finish_function): New arg can_defer_p. Pass it
4794 on to c_expand_body.
4795 * c-tree.h (finish_function): Update decl.
4796 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
4797
b1d874d7
JH
4798Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
4799
4800 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
4801
f5eb5fd0
JH
4802Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
4803
4804 * rtlanal.c: Include flags.h
4805 (may_trap_p): Do not mark FP operations if trapping
4806 if !flag_trapping_math
4807 * Makefile.in (rtlanal.o): Add dependency on flag.h
4808 * ifcvt.c (noce_operand_ok): Avoid the lameness.
4809
81b4c798
ZW
48102002-03-27 Zack Weinberg <zack@codesourcery.com>
4811
4812 * mips.md: Use dconst1, not 1.0, as first argument of
4813 REAL_VALUE_LDEXP. Don't use union real_extract.
4814
55a2ea2a
AM
48152002-03-28 Alan Modra <amodra@bigpond.net.au>
4816
4817 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
4818 rather than $target. Heed program_prefix and
4819 program_transform_name. Search for gas in cross-compiler case too.
4820 "test -x" rather than "test -f".
4821 (gcc_cv_ld): Likewise.
4822 (gcc_cv_nm): Heed program_prefix and program_transform_name.
4823 (gcc_cv_objdump): Likewise.
4824 * configure: Regenerate.
4825
7ffb4fd2
NB
48262002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
4827
4828 * Makefile.in (attribs.o): Update.
4829 * attribs.c: Include langhooks.h.
4830 (decl_attributes): Use langhook.
4831 * c-decl.c (insert_default_attributes): Rename.
4832 * c-tree.h (c_insert_default_attributes): New.
4833 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
4834 (LANG_HOOKS_INITIALIZER): Update.
4835 * langhooks.h (struct lang_hooks): New hook.
4836 * tree.h (insert_default_attributes): Remove.
4837objc:
4838 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
4839
e4dbaed5
AS
48402002-03-27 Andreas Schwab <schwab@suse.de>
4841
4842 * config/i386/i386.c (classify_argument): Also check for
4843 QUAL_UNION_TYPE.
4844
18b467f1
RO
48452002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4846
4847 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
4848 any more.
4849
d337d653
JH
4850Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
4851
4852 * i960.md (ret): Set PC.
4853 (nonlocal_goto): Fix expander.
4854 * builtins.c (epxand_builin_longjmp): Check that we've emitted
4855 some jump or call.
4856
218aa620
JH
4857Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
4858
4859 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
4860 of libcall regions.
4861
e27a4eaf
ZD
4862Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4863
4864 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
4865 assigning to BLOCK_FOR_INSN directly.
4866
8a12f34c
JH
4867Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
4868
4869 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
4870
c9d892a8
NB
48712002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
4872
4873 * c-common.c (c_expand_expr): Fix prototype.
4874 * c-common.h (c_expand_expr): Always declare, update.
4875 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
4876 * c-objc-common.c (c_objc_common_init): No global hook.
4877 * expr.c (expand_expr): Use langhook.
4878 * expr.h (enum expand_modifier): Conditionally declare.
4879 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
4880 (LANG_HOOKS_INITIALIZER): Update.
4881 * langhooks.c (lhd_expand_expr): New.
4882 * langhooks.h (struct lang_hooks): New hook.
4883 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
4884 (lang_independent_init): Don't default hook.
4885objc:
4886 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
4887
6dad5a56
RH
48882002-03-27 Richard Henderson <rth@redhat.com>
4889
4890 PR target/6054
4891 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
4892 TARGET_CONST_GP. Simplify conditions.
4893
59f96879
RH
48942002-03-27 Richard Henderson <rth@redhat.com>
4895
4896 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
4897 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
4898 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
4899
f3f1190d
DS
49002002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
4901
4902 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
4903 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
4904 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
4905 Remove unnecessary masks.
4906 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
4907 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
4908 -mwindows, -mdll switches and their negations.
4909
31c816cf
NB
49102002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
4911
4912 * gcc-common.c (lang_mark_false_label_stack): Remove.
4913 * ggc.h (lang_mark_false_label_stack): Similarly.
4914
7b2e1077 49152002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
4916
4917 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
4918
4919 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
4920 or __rtems_ is defined.
4921
1ef9531b
RH
49222002-03-26 Richard Henderson <rth@redhat.com>
4923
4924 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
4925 if a non-trivial load was emitted.
4926 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
4927 in high+extra+low case.
4928
300d4093
RH
49292002-03-26 Richard Henderson <rth@redhat.com>
4930
4931 * config.gcc (sparc*-solaris): Use float_format=sparc.
4932
b3689904
RH
49332002-03-26 Richard Henderson <rth@redhat.com>
4934
4935 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
4936 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
4937 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
4938 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
4939 (WINT_TYPE_SIZE): Fix at 32.
4940
1eefb6c1
RH
49412002-03-26 Richard Henderson <rth@redhat.com>
4942
4943 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
4944 until after eh landing pad generation.
4945 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
4946 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
4947
361ea006
RH
49482002-03-26 Richard Henderson <rth@redhat.com>
4949
4950 * expr.h (ADD_PARM_SIZE): One more convert for INC.
4951
1de38a88
PE
49522002-03-26 Phil Edwards <pme@gcc.gnu.org>
4953
4954 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
4955 and warning switches.
4956 (cc1_options): Likewise.
4957
d7e60e95 49582002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 4959
d7e60e95
HB
4960 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
4961 Restore more of the signal context. Set no_reg_stack_frame.
4962 * config/ia64/unwind-ia64.c (unw_state_record):
4963 Add no_reg_stack_frame, comments.
4964 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
4965 (uw_update_context): Adjust bsp when unwinding from leaf,
4966 but not signal frame.
4967
7032923b
DE
49682002-03-26 David Edelsohn <edelsohn@gnu.org>
4969
4970 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
4971
8be56275
BW
49722002-03-26 Bob Wilson <bob.wilson@acm.org>
4973
4974 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
4975
56fbb855
RE
49762002-03-26 Richard Earnshaw <rearnsha@arm.com>
4977
4978 PR target/5621
4979 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
4980 "Add a pool_range attribute", which was lost during the ARM/Thumb
4981 merge.
4982
3437320b
BW
49832002-03-26 Bob Wilson <bob.wilson@acm.org>
4984
4985 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
4986 a register into the MAC16 accumulator.
4987
173028e5
AC
49882002-03-26 Andrew Cagney <ac131313@redhat.com>
4989
4990 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
4991 (Warning Options): Document -Wswitch-enum.
4992 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
4993 -Wswitch.
4994 (warn_switch_enum): Define variables.
4995 * flags.h (warn_switch_enum): Declare variables.
4996 * stmt.c (expand_end_case_type): When warn_switch_enum /
4997 -Wswitch-enum, perform switch checks.
4998 Fix PR c/5044.
7b2e1077 4999
e14365a7
RE
50002002-03-26 Richard Earnshaw <rearnsha@arm.com>
5001
5002 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
5003 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
5004 (reload_muladdsi_compare0_scratch): Delete.
5005
46fc709d
LR
50062002-03-26 Loren J. Rittle <ljrittle@acm.org>
5007
5008 * doc/install.texi (*-*-freebsd*): Update.
5009
f36dea3c
RH
50102002-03-26 Richard Henderson <rth@redhat.com>
5011
8e5fe23f
RH
5012 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
5013 (SUB_PARM_SIZE): Cast DEC to ssizetype.
5014
5015 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
5016 types from the normal argument frame.
5017
f36dea3c
RH
5018 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
5019 variable sized objects by reference.
5020 (sparc_va_arg): Receive them by reference too.
5021
1447dc69
HP
50222002-03-26 Hartmut Penner <hpenner@de.ibm.com>
5023
5024 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 5025 code to not restoring global registers.
1447dc69 5026
4f0ade92
NB
50272002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
5028
5029 * Makefile.in (ggc-common.o): Update.
5030 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
5031 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
5032 * c-tree.h (c_mark_tree): New.
5033 * ggc-common.c: Include langhooks.h.
5034 (gcc_mark_trees): Use new langhook.
5035 * ggc-callbacks.c: Delete file.
5036 * ggc.h (lang_mark_tree): Remove.
5037 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
5038 (LANG_HOOKS_INITIALIZER): Update.
5039 * langhooks.h (struct lang_hooks): New hook.
5040objc:
5041 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
5042
caba570b
ZW
50432002-03-25 Zack Weinberg <zack@codesourcery.com>
5044
5045 * doc/cpp.texi: Exclude entire Top node from printed manual.
5046 Move option index after directive index. Insert page breaks
5047 before GFDL and concept index. Index environment variables
5048 with command line options.
5049 * doc/cppenv.texi: Use @vtable for environment variable list.
5050 Add paragraph explaining semantics of empty elements in path
5051 variables. Exclude a cross-reference to Fishkill from the
5052 manpage. Remove an unnecessary cross-reference of the entry
5053 right above the referer. Don't use @anchor in text that goes
5054 into manpage.
5055 * doc/cppopts.texi: Cross-reference the environment variables
5056 section, not the specific environment variable, for consistency.
5057
6b2e80b7
RH
50582002-03-25 Richard Henderson <rth@redhat.com>
5059
5060 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
5061 anywhere in the block. Don't refer to insns that have been
5062 removed from the chain. Iterate backward through the new insns.
5063 Don't refer to edges that have been removed.
5064
67e469d7
AM
50652002-03-26 Alan Modra <amodra@bigpond.net.au>
5066
5067 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
5068 test for overflow of constant.
5069
f2356393
RE
50702002-03-25 Richard Earnshaw <rearnsha@arm.com>
5071
5072 PR target/2623
5073 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
5074 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
5075 these patterns on arm_archv4.
5076
355426ab
DS
50772002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
5078
5079 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
5080 int".
5081
15e5ad76
ZW
50822002-03-25 Zack Weinberg <zack@codesourcery.com>
5083
5084 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
5085 float_handled, float_handler, float_signal, set_float_handler,
5086 and do_float_handler. Set handler for SIGFPE to crash_signal.
5087 * toplev.h: Don't prototype do_float_handler.
5088
5089 * c-lex.c: Fold parse_float into lex_number. Make warning
5090 about portability of hex float constants more informative, and
5091 don't issue it on top of a syntax error.
5092 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
5093 their callers.
5094 * real.h: Define REAL_VALUE_ABS here...
5095 * simplify-rtx.c: ... not here. Fold check_fold_consts,
5096 simplify_unary_real, simplify_binary_real, and
5097 simplify_binary_is2orm1 into their callers.
5098 * tree.c: Fold build_real_from_int_cst_1 into caller.
5099
5100 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
5101
5102 * tsystem.h: Include float.h here...
5103 * libgcc2.c: ... not here.
5104
56ae9405
NC
51052002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
5106
5107 Fixes for: PR bootstrap/3591, target/5676
5108 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
5109 defined. Do not disable exceptions or rtti.
5110 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
5111 mcore.h. Disable exceptions and rtti, since they are not
5112 supported by EPOC.
5113
c88770e9
NB
51142002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
5115
5116 * c-decl.c (maybe_build_cleanup): Remove.
5117 * expr.c (expand_expr): Use langhook.
5118 * langhooks-def.h (lhd_return_null_tree,
5119 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
5120 (LANGHOOKS_INITIALIZER): Update.
5121 * langhooks.c (lhd_return_null_tree): New.
5122 * langhooks.h (struct lang_hooks): New hook.
5123 * tree-inline.c (initialize_inlined_parameters): Use langhook.
5124 * tree.h (maybe_build_cleanup): Remove.
5125
2ed1f154
JJ
51262002-03-25 Jakub Jelinek <jakub@redhat.com>
5127
5128 * regrename.c (build_def_use): Move recog_memoized
5129 before extract_insn.
5130
6ddae612
JJ
51312002-03-25 Jakub Jelinek <jakub@redhat.com>
5132
5133 PR target/6043
5134 * expr.c (emit_group_store): Handle storing into CONCAT.
5135
ea475b23
JJ
51362002-03-25 Jakub Jelinek <jakub@redhat.com>
5137
5138 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
5139 corresponding MATCH_DUP.
5140
e7d482b9
RH
51412002-03-24 Richard Henderson <rth@redhat.com>
5142
cd39fc13
RH
5143 * unroll.c (unroll_loop): Zero label_map.
5144
e7d482b9
RH
5145 * gcse.c: Include except.h.
5146 * Makefile.in (gcse.o): Update.
5147
1bd6476f
RH
51482002-03-24 Richard Henderson <rth@redhat.com>
5149
5150 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
5151 Do resolve_unique_section before shared data clause.
5152
2e6c150a
RH
51532002-03-24 Richard Henderson <rth@redhat.com>
5154
5155 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
5156
b29afcf8
RH
51572002-03-24 Richard Henderson <rth@redhat.com>
5158
15e5ad76 5159 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
5160 generated in the middle of a block. Do global life update if
5161 zapped EH edges.
5162
05ed1296
RH
51632002-03-24 Richard Henderson <rth@redhat.com>
5164
5165 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
5166
3ddbb8a9
NB
51672002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
5168
5169 preprocessor/3951
15e5ad76 5170 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
5171 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
5172 (init_dependency_output): Don't make no_output decision here.
5173
740b77b6
AC
51742002-03-24 Andrew Cagney <ac131313@redhat.com>
5175
5176 * stmt.c (check_for_full_enumeration_handling): Remove tests of
5177 warn_switch. Update description.
5178 (expand_end_case_type): Call check_for_full_enumeration_handling
5179 when warn_switch.
5180
7590cfd0
SC
51812002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5182
5183 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
5184 (m68hc11_split_move): Call it to see if the source and destination
5185 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 5186 source an offsetable memory operand and generate an add.
7590cfd0 5187
2e3d3481
SC
51882002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5189
5190 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
5191 register for operand 2.
5192 ("*subsi3_zero_extendqi"): Likewise.
5193 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
5194 bits so that it is compatible with a pop.
5195 ("*andhi3_gen"): Likewise.
5196 ("xorhi3"): Likewise.
5197
2784528c
NB
51982002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
5199
5200 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
5201 -pedantic here...
5202 (cpp_post_options): ... not here.
5203
aaf93206
NB
52042002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
5205 Aldy Hernandez <aldyh@redhat.com>
5206
5207 Removal of separate preprocessor cpp0.
5208
5209 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
5210 cpp0, install-common): Update.
5211 * c-common.c (flag_preprocess_only): New.
5212 (c_common_init): Preprocess for -E.
5213 * c-common.h (flag_preprocess_only): New.
5214 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
5215 * c-objc-common.c (c_init_decl_processing): Exit quickly
5216 for NULL return from c_common_init.
5217 * cpplib.h (cpp_preprocess_file): New.
5218 * cppmain.c (main, general_init, pfile, progname): Remove.
5219 (do_preprocessing): Rename cpp_preprocess_file, don't call
5220 cpp_finish. Don't close stdout here.
5221 (setup_callbacks): Update prototype.
5222 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
5223 Update.
5224 * tradcpp.c (main): Ignore -quiet.
5225objc:
5226 * lang-specs.h (default_compilers): Preprocess with cc1obj.
5227
c6e6f5c1
RH
52282002-03-24 Richard Henderson <rth@redhat.com>
5229
5230 PR optimization/5742
5231 * machmode.def: Add inner mode field to complex modes.
5232 * config/mips/mips.c (mips_function_value): Always define. Add
5233 new argument to handle libcalls.
5234 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
5235 (FUNCTION_VALUE): Likewise.
5236 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
5237 * config/mips/mips-protos.h: Update.
5238
d88e57d1
RH
52392002-03-23 Richard Henderson <rth@redhat.com>
5240
5241 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
5242 * config/sparc/sparc-protos.h: Update.
5243 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
5244
6dfaf9ba
RH
52452002-03-23 Richard Henderson <rth@redhat.com>
5246
5247 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
5248 _start or _init begins the text segment.
5249
0c769cf8
DE
52502002-03-23 David Edelsohn <edelsohn@gnu.org>
5251
5252 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
5253 not HOST_WIDEST_INT.
5254 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
5255
64e92a26
RE
52562002-03-23 Richard Earnshaw <rearnsha@arm.com>
5257
5258 PR java/5489
5259 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
5260 operand argument to output_return_instruction.
15e5ad76 5261 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
5262 const_true_rtx then just return.
5263 (arm_print_operand, case 'D'): If the operand is const_true_rtx
5264 then abort.
5265
d6961341
AC
52662002-03-23 Andrew Cagney <ac131313@redhat.com>
5267
5268 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
5269 (Warning Options): Document -Wswitch-default.
5270 * toplev.c (W_options): Add -Wswitch-default. Update comment on
5271 -Wswitch.
5272 (warn_switch_default): Define variable.
5273 (warn_switch): Update comment.
5274 * flags.h (warn_switch_default): Declare variable.
5275 (warn_switch): Update comment.
5276 * stmt.c (expand_end_case): Check for and, when
5277 warn_switch_no_default, warn of a missing default case.
15e5ad76 5278
d4c5ac1f
AM
52792002-03-23 Alan Modra <amodra@bigpond.net.au>
5280
bbaa9790
AM
5281 * real.h (N): Special case 128 bit doubles.
5282
d4c5ac1f
AM
5283 * combine.c (simplify_comparison): When widening modes, ignore
5284 sign extension on CONST_INTs.
5285
84bf8c2c
BW
52862002-03-22 Bob Wilson <bob.wilson@acm.org>
5287
5288 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
5289 passed to adjust_address. Fix comment formatting.
5290
5291
b216cd4a
ZW
52922002-03-22 Zack Weinberg <zack@codesourcery.com>
5293
5294 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
5295 Always make REAL_VALUE_TYPE a struct containing an array of
5296 HOST_WIDE_INT, not a double. Tidy up the code deciding how
5297 big it is. Don't declare or use union real_extract.
5298
5299 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
5300 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
5301 (print_operand), config/arm/arm.c (output_move_double),
5302 config/arm/arm.md (consttable_4, consttable_8),
5303 config/romp/romp.c (output_fpops), config/s390/s390.h
5304 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
5305 (xtensa_output_literal): Don't use union real_extract.
5306
5307 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
5308 (sfmode_constant_to_ulong), config/ns32k/merlin.h
5309 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
5310 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
5311 (PRINT_OPERAND): Don't use local version of union
5312 real_extract.
5313
5314 * config/convex/convex.c (check_float_value), config/vax/vax.c
5315 (vax_float_literal), config/m88k/m88k.md (divdf3),
5316 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
5317 config/pdp11/pdp11.c (output_move_quad): Don't do host
5318 arithmetic on target floating point quantities.
5319
5320 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
5321 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
5322
5323 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
5324 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
5325
5326 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
5327 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
5328 INFINITY.
5329 * print-rtl.c (print_rtx): Disable code which needs
5330 floating-point emulator.
5331 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
5332 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
5333 depending on HOST_FLOAT_FORMAT to be defined properly.
5334
5335 * config/1750a/1750a.c (get_double, float_label): Delete.
5336 (print_operand): Delete huge commented-out chunk. Use
5337 REAL_VALUE_TO_DECIMAL.
5338 * config/1750a/1750a-protos.h: Delete prototypes of deleted
5339 functions.
5340 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
5341 IEEE_FLOAT_FORMAT.
5342 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
5343 Use REAL_VALUE_TO_DECIMAL as ELF version does.
5344 * config/m88k/m88k.c (real_power_of_2_operand,
5345 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
5346 real_extract out of the union; run the input through
5347 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
5348 from that into the union.
5349 * config/pdp11/pdp11.c (output_move_double): Rearrange
5350 parentheses to make automatic indenter happy.
5351
5352 * doc/tm.texi (Cross-compilation): Rename node to "Floating
5353 Point" and rewrite to describe current situation. Also adjust
5354 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
5355 match code.
5356 * doc/rtl.texi: Adjust cross reference.
5357
a8cacfd2
BW
53582002-03-22 Bob Wilson <bob.wilson@acm.org>
5359
5360 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
5361 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
5362 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
5363 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
5364 prevent use of sp as a reload register.
5365 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
5366 non_acc_reg_operand.
5367 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
5368 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
5369 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
5370 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
5371
d4e6133f
NB
53722002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
5373
b216cd4a
ZW
5374 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
5375 * cpplex.c (unterminated): Delete.
5376 (parse_string): No string literal may extend over multiple
5377 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
5378 * cppmain.c (scan_translation_unit): Strings are single-line.
5379
b216cd4a 5380 * doc/cpp.texi: Update to match.
d4e6133f 5381
65e6c005
JJ
53822002-03-22 Jakub Jelinek <jakub@redhat.com>
5383
5384 PR optimization/5854
5385 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
5386 Shut up warnings.
5387 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
5388 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
5389 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
5390 const0 if scratch register was not allocated.
5391 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
5392 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
5393 with GEN_INT (...).
5394 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
5395 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
5396 with GEN_INT (...) everywhere. Remove constraints in define_split
5397 patterns.
5398 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
5399 require scratch register for setting 0 into regs/non-pushable memory.
5400
7f48c9e1
AO
54012002-03-22 Alexandre Oliva <aoliva@redhat.com>
5402
5403 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
5404 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
5405
909de5da
PE
54062002-03-22 Phil Edwards <pme@gcc.gnu.org>
5407
5408 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
5409 * cppinit.c (cpp_create_reader): On by default.
5410 (cpp_handle_option): Handle -W[no-]endif-labels.
5411 (cpp_post_options): Also enable if -pedantic.
5412 * cpplib.c (do_else): Use it.
5413 (do_endif): Likewise.
5414 * doc/cppopts.texi: Document new option.
5415 * doc/invoke.texi: Document new option.
5416
d8bf17f9
LB
54172002-03-22 Lars Brinkhoff <lars@nocrew.org>
5418
5419 * config/i386/i386.c, config/i386/i386.md: Change all occurences
5420 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
5421
70e0ccd0
AO
54222002-03-22 Alexandre Oliva <aoliva@redhat.com>
5423
5424 * flow.c (calculate_global_regs_live): Clear aux fields of
5425 ENTRY and EXIT.
5426
68882f0f
JJ
54272002-03-22 Jakub Jelinek <jakub@redhat.com>
5428
5429 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
5430 REG or MEM subregs, pass rtx * instead of rtx to it.
5431 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
5432 rtx * instead of rtx to alter_subreg.
5433 * config/m32r/m32r.c (gen_split_move_double): Likewise.
5434 * config/pj/pj.c (pj_output_rval): Likewise.
5435
648fe28b
RH
54362002-03-22 Richard Henderson <rth@redhat.com>
5437
5438 PR target/3177
5439 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
5440 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
5441 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
5442 (ia64_expand_prologue): Look at int_regs, not words, for number
5443 of incomming int regs.
5444
e8dcd824
AM
54452002-03-22 Andrew MacLeod <amacleod@redhat.com>
5446
5447 * expr.c (expand_expr): A RESULT_DECL is part of a call.
5448
96327cdc
JH
5449Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
5450
5451 * toplev.c (flag_loop_optimize, flag_crossjumping):
5452 New static variables.
5453 (rest_of_compilation): Conditionalize crossjumping and
5454 loop optimizer.
5455 (parse_options_and_default_flags): Default loop_optimize and
5456 crossjumping.
5457 (lang_independent_options): Add -fcrossjumping and -floop-optimize
5458 * invoke.texi (crossjumping, loop-optimize): Document.
5459
bc185257
RS
54602002-03-22 Richard Sandiford <rsandifo@redhat.com>
5461
5462 * real.c (eiisneg): Move outside #ifdef NANS.
5463
0a2ed1f1
JH
5464Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
5465
5466 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
5467 frequencies match; avoid match on different loop depths.
5468 (try_crossjump_to_bb): Kill tests that no longer brings time
5469 savings.
5470 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
5471 updating code.
5472 (split_edge): Likewise.
5473
5474 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
5475 variable.
5476
5477 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
5478 * cfgrtl.c: Include insn-config.h
5479 (split_block) Dirtify block in presence of conditional execution
5480
4d72536e
RS
54812002-03-22 Richard Sandiford <rsandifo@redhat.com>
5482
5483 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
5484 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
5485 (function_arg): Constify CUMULATIVE_ARGS.
5486 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
5487 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
5488 (UNITS_PER_DOUBLE): New macro.
5489 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
5490 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
5491 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
5492 fp_regs and stack_words.
5493 (EABI_FLOAT_VARARGS_P): New macro.
5494 * config/mips/mips.c (struct mips_arg_info): New.
5495 (mips_arg_info): New function.
5496 (function_arg_advance): Use it. Add adjustment instructions here
5497 rather than in function_arg.
5498 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
5499 for VOIDmode at the beginning of the function.
5500 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
5501 (function_arg_pass_by_reference): Likewise.
5502 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
5503 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
5504 (mips_va_start): Likewise. Use the new stack_words field of
5505 CUMULATIVE_ARGS to set up overflow area. Reformat.
5506 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
5507 doubles and other types, aligning the overflow pointer for non-doubles
5508 too. Remove some code duplication. Replace hard-coded constants.
5509
e6f884cd
RS
55102002-03-22 Richard Sandiford <rsandifo@redhat.com>
5511
5512 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
5513 (CLASS_UNITS): Undefine.
5514 (CLASS_MAX_NREGS): Use FP_INC.
5515 * config/mips/mips.c (compute_frame_size): Likewise.
5516 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
5517
10cf9bde
NB
55182002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
5519
5520 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
5521 prototype, and handle lexing numbers and identifiers.
5522 (parse_identifier): Update to new form of parse_slow.
5523 (parse_number): Fast path only, use parse_slow otherwise.
5524 (_cpp_lex_direct): Update calls to parse_number.
5525
fbc2782e
DD
55262002-03-21 DJ Delorie <dj@redhat.com>
5527
5528 * bb-reorder.c (make_reorder_chain_1): Protect against
5529 when redundant edges are omitted.
5530 * predict.c (dump_prediction): Likewise.
5531
fba39eaf
RH
55322002-03-21 Richard Henderson <rth@redhat.com>
5533
5534 PR target/5996
5535 * fixinc/inclhack.def (solaris_stdio_tag): New.
5536 * fixinc/fixincl.x: Regenerate.
5537
eba80994
EB
55382002-03-21 Eric Botcazou <ebotcazou@multimania.com>
5539
5540 PR c/5597
5541 * c-typeck.c (process_init_element): Flag non-static
5542 initialization of a flexible array member as illegal.
5543
2a78758b
AM
55442002-03-22 Alan Modra <amodra@bigpond.net.au>
5545
5546 * config/rs6000/t-linux64: New.
5547 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
5548 t-ppccomm. Use t-rs6000 and t-linux64.
5549 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
5550 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
5551 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
5552 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 5553
2cb921f4
AH
55542002-03-21 Aldy Hernandez <aldyh@redhat.com>
5555
eba80994
EB
5556 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
5557 flag_really_no_inline instead of optimize == 0.
2cb921f4 5558
eba80994 5559 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 5560
eba80994 5561 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 5562
eba80994 5563 * flags.h (flag_really_no_inline): New.
2cb921f4 5564
659e5a7a 5565 * c-common.c (c_common_post_options): Initialize
eba80994 5566 flag_really_no_inline.
2cb921f4 5567
eba80994 5568 * toplev.c (flag_really_no_inline): New.
2cb921f4 5569
239b8b9d
JJ
55702002-03-21 Jakub Jelinek <jakub@redhat.com>
5571
5572 * config/avr/avr.md (length): Fix length computation for
5573 conditional branches.
5574
43577e6b
NB
55752002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
5576
5577 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
5578 sdbout.o, profile.o): Update.
5579 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
5580 langhook.
5581 * c-common.h (gettags): Move here from tree.h.
5582 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
5583 insert_block, getdecls, kept_level_p, global_bindings_p): New.
5584 * dbxout.c (dbxout_init): Use getdecls langhook.
5585 * expr.c (expand_expr): Use insert_block langhook.
5586 * fold-const.c: Include langhooks.h.
5587 (fold_range_test, fold_binary_op_with_conditional_arg,
5588 fold): Use global_bindings_p langhook.
5589 * integrate.c (expand_inline_function): Use insert_block langhook.
5590 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
5591 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
5592 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
5593 LANG_HOOKS_GETDECLS): New.
5594 (LANG_HOOKS_INITIALIZER): Update.
5595 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
5596 langhook.
5597 * langhooks.h (struct lang_hooks_for_decls): New.
5598 (struct lang_hooks): Update.
5599 * profile.c: Include langhooks.h.
5600 (output_func_start_profiler): Use new langhooks.
5601 * sdbout.c: Include langhooks.h.
5602 (sdbout_init, sdbout_finish): Use getdecls langhook.
5603 * stmt.c: Include langhooks.h.
5604 (expand_fixup, fixup_gotos): Use new langhooks.
5605 * stor-layout.c: Include langhooks.h.
5606 (variable_size): Use global_bindings_p langhook.
5607 * toplev.c (compile_file): Use getdecls langhook.
5608 * tree-inline.c (remap_block): Use insert_block langhook.
5609 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
5610 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
5611
5b19b10c
RH
56122002-03-21 Richard Henderson <rth@redhat.com>
5613
5614 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
5615 constants in .data when -fpic.
5616
e05af335
GP
56172002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5618
5619 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
5620 where appropriate.
5621
60ffc997
TT
56222002-03-21 Tom Tromey <tromey@redhat.com>
5623
5624 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
5625
75897075
RK
5626Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5627
a73afd69 5628 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 5629
75897075
RK
5630 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
5631
312687cf
EB
56322002-03-21 Eric Botcazou <ebotcazou@multimania.com>
5633 Richard Henderson <rth@redhat.com>
5634
5635 PR c/5354
5636 * c-common.c (c_expand_expr): Preserve result of a statement
5637 expression if needed.
5638
f0e1f482
JJ
56392002-03-21 Jakub Jelinek <jakub@redhat.com>
5640
5641 PR bootstrap/4195
5642 * genrecog.c (maybe_both_true_mode): Remove.
5643 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
5644 * machmode.def (Pmode): Likewise.
5645
c14b9960
JW
5646Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
5647
5648 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
5649 (nonlocal_mentioned_p_1): New function.
5650 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
5651 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
5652 (mark_constant_function): Recognize pure functions.
5653 * rtl.h (global_reg_mentioned_p): New prototype.
5654 * rtlanal.c (global_reg_mentioned_p,
5655 global_reg_mentioned_p_1): New function.
5656
aaa4d130
RO
56572002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5658
5659 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
5660 UNIX assert.h.
5661 * fixinc/fixincl.x: Regenerate.
5662
e5c4bd1b
JM
56632002-03-20 Jason Merrill <jason@redhat.com>
5664
5665 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
5666
852b81bb
MM
56672002-03-20 Michael Meissner <meissner@redhat.com>
5668
5669 * doc/invoke.texi (Optimize Options): Document that -O2 sets
5670 -fstrict-aliasing.
5671
86d8c251
BW
56722002-03-20 Bob Wilson <bob.wilson@acm.org>
5673
5674 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
5675 ".literal_position" directive before the constant pool.
5676
0a39c350
GP
56772002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5678
5679 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
5680 Add Craig Rodrigues.
5681 Add Brad Lucier to testers.
5682
71a83373
JJ
56832002-03-20 Jakub Jelinek <jakub@redhat.com>
5684
5685 PR target/4792
5686 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
5687 to if_then_else.
5688 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
5689 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
5690 instead of insn_extract.
5691
a29b099d
JJ
56922002-03-20 Jakub Jelinek <jakub@redhat.com>
5693
5694 PR bootstrap/4192
71a83373 5695 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
5696
5697 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
5698 stmt if some case has been output.
5699
048b1c95
JJ
57002002-03-20 Jakub Jelinek <jakub@redhat.com>
5701
5702 PR c/5972
5703 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
5704 movsfcc_1, movdfcc_1): Add %O2.
5705 * config/i386/i386.c (print_operand): Handle %ON.
5706 Print . before float condition codes in Sun as cmov syntax.
5707 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
5708 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
5709 no longer true.
5710
f4864588
PB
57112002-03-20 Philip Blundell <pb@nexus.co.uk>
5712
5713 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
5714 return instruction if PC was popped.
5715
3a307de4
BW
57162002-03-20 Bob Wilson <bob.wilson@acm.org>
5717
5718 * config/xtensa/xtensa.md: Remove unused type attributes.
5719 (adddi_carry, subddi_carry): Change type attribute to "multi".
5720
048b1c95 57212002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
5722
5723 PR optimization/5999, middle-end/5731
5724 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
5725 multiplications by reciprocals.
5726
7afff7cf
NB
57272002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
5728
5729 * Makefile.in: Update.
5730 * c-common.c: Include langhooks.h.
5731 (inline_forbidden_p): Use new hook.
5732 * diagnostic.c: Include langhooks.h.
5733 (format_with_decl, announce_function,
5734 default_print_error_function): Use new hook.
5735 * dwarf2out.c (dwarf2_name): Use new hook.
5736 * function.c: Include langhooks.h.
5737 (init_function_start): Use new hook.
5738 * langhooks-def.h (lhd_decl_printable_name): New.
5739 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
5740 (LANGHOOKS_INITIALIZER): Update.
5741 * langhooks.c (lhd_decl_printable_name): New.
5742 * langhooks.h (struct lang_hooks): New hook.
5743 * toplev.c (decl_name, decl_printable_name): Remove.
5744 (open_dump_file): Use new hook.
5745 (process_options): Remove old hook.
5746 * tree.h (decl_printable_name): Remove.
5747objc:
5748 * objc-act.c (objc_init): Remove old hook.
5749 (objc_printable_name): Export.
5750 * objc-act.h (objc_printable_name): New.
5751 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
5752
f78ce0b7
JB
57532002-03-19 Jim Blandy <jimb@redhat.com>
5754
5755 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
5756 the start_source_file debug hook, not the current line number.
5757
15b5aef3
RH
57582002-03-19 Richard Henderson <rth@redhat.com>
5759
5760 * flow.c (EH_USES): Provide default.
5761 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
5762 * doc/tm.texi (EH_USES): New.
5763
5764 * config/ia64/ia64.c (ia64_eh_uses): New.
5765 * config/ia64/ia64-protos.h: Update.
5766 * config/ia64/ia64.h (EH_USES): New.
5767
02a7a3fd
RH
57682002-03-19 Richard Henderson <rth@redhat.com>
5769
5770 * varasm.c (output_constant_def): Fix stupid typo.
5771
93f82d60
RH
57722002-03-19 Richard Henderson <rth@redhat.com>
5773
2842be05 5774 PR 5879
93f82d60
RH
5775 * except.c (current_function_has_exception_handlers): New.
5776 * except.h: Declare it.
5777 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
5778 Combine tests that disable all sibcalls for the function.
5779
ed4fbfa0
OH
57802002-03-19 Olivier Hainque <hainque@act-europe.fr>
5781
5782 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
5783 for INTEGER_CST.
5784
ebf0e888
RH
57852002-03-19 Richard Henderson <rth@redhat.com>
5786
1e82682b 5787 PR 5977, 5991
ebf0e888
RH
5788 * config/ia64/ia64.c: Revert 2002-03-01 patch.
5789 * config/ia64/ia64.h (INIT_EXPANDERS): New.
5790
e37b38d7
JB
57912002-03-19 Jim Blandy <jimb@redhat.com>
5792
5793 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
5794 name, even if the replacement list contains no tokens, as required
5795 by Dwarf.
5796
2a4ea326
JM
57972002-03-19 Jason Merrill <jason@redhat.com>
5798
f9d09ae5
JM
5799 * varasm.c (globalize_decl): Get the name from the RTL, not
5800 DECL_ASSEMBLER_NAME.
5801
2a4ea326
JM
5802 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
5803
99b96edb
BW
58042002-03-19 Bob Wilson <bob.wilson@acm.org>
5805
5806 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
5807 subdi_carry): Define.
5808
3774b567
DE
58092002-03-19 David Edelsohn <edelsohn@gnu.org>
5810
5811 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
5812 about -fpic/-fPIC if extra_warnings set.
5813
21ef78aa
DE
58142002-03-19 David Edelsohn <edelsohn@gnu.org>
5815
5816 * expr.c (expand_expr): Sign-extend CONST_INT generated from
5817 TREE_STRING_POINTER.
0c2fdcdf 5818 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 5819
91d4b3fd
RK
5820Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5821
5822 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
5823 in favor of SP if FRAME_POINTER_REQUIRED is false.
5824
2496c7bd
LB
58252002-03-19 Lars Brinkhoff <lars@nocrew.org>
5826
5827 * emit-rtl.c (gen_int_mode): New function.
5828 * rtl.h: Prototype for it.
5829 * combine.c (make_extraction, simplify_comparison), expmed.c
5830 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
5831 (convert_modes, store_field), optabs.c (expand_fix),
5832 simplify-rtx.c (neg_const_int, simplify_unary_real),
5833
5834 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
5835 Use it instead of GEN_INT (trunc_int_for_mode (...)).
5836
f735a153
JJ
58372002-03-19 Jakub Jelinek <jakub@redhat.com>
5838
5839 PR c/5656
5840 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
5841 convert_parm_for_inlining.
5842 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
5843 Define.
5844 * langhooks-def.h: Likewise.
5845 * objc/objc-lang.c: Likewise.
5846 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
5847 function.
5848 * tree-inline.c (initialize_inlined_parameters):
5849 Call convert_parm_for_inlining lang hook if needed.
5850 * c-typeck.c (c_convert_parm_for_inlining): New function.
5851 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
5852
1929c971
MM
58532002-03-18 Mark Mitchell <mark@codesourcery.com>
5854
b216cd4a 5855 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
5856 can be destroyed after expanding the argument.
5857 (expand_call): Likewise.
5858
c79ca0ac
EC
58592002-03-15 Eric Christopher <echristo@redhat.com>
5860
5861 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
5862 Fix register preference on last change.
5863 * config/mips/mips.c (mips_return_in_memory): New function.
5864 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
5865 * config/mips/mips-protos.h: Declare.
5866 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
5867 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
5868
07e2e444
AO
58692002-03-18 Alexandre Oliva <aoliva@redhat.com>
5870
1bfbbbcf
AO
5871 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
5872 a register too.
5873 (anddi3, iorsi3): Likewise.
5874
c066429e
AO
5875 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
5876 use %gprel for symbols that are going to be placed in linkonce
5877 sections.
5878
07e2e444
AO
5879 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
5880 RETURN_ADDRESS_POINTER_REGNUM to $ra.
5881 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
5882 not needed. Disregard leaf_function_p().
5883 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
5884 mips16 frame pointer.
5885 * config/mips/mips.md (store ra): Only to small SP offsets.
5886 2001-08-22 Graham Stott <grahams@redhat.com>
5887 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
5888 return a REG rtx for the return address register.
5889
eb8e00ea
BW
58902002-03-18 Bob Wilson <bob.wilson@acm.org>
5891
5892 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
5893 constant-pool addresses as "mode-dependent".
5894 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
5895
cbb92744
JJ
58962002-03-18 Jakub Jelinek <jakub@redhat.com>
5897
5898 PR target/5740
5899 * expr.c (emit_group_load): Use extract_bit_field if
5900 needed for CONCAT arguments.
5901
657d9449
RE
59022002-03-18 Richard Earnshaw <rearnsha@arm.com>
5903
91f3a802 5904 PR target/4863
657d9449
RE
5905 * arm.md (tablejump): Make this a define_expand. For PIC add the
5906 offset to the base of the table.
5907 (thumb_tablejump): Matcher for Thumb tablejump insn.
5908 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
5909 as the difference of two labels.
5910 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5911 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
5912 tables in the code.
5913 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
5914 * arm.c (get_jump_table_size): If the table is not in the text
5915 section, return zero.
c79ca0ac 5916
5d5603e2
BS
59172002-03-18 Bernd Schmidt <bernds@redhat.com>
5918
5919 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
5920 of gen_rtx_SUBREG.
5921 (arm_reload_out_hi): Use gen_lowpart instead of
5922 gen_rtx_SUBREG to access QImode components.
5923 * config/arm/arm.md: Disable zero_extend split for QImode
5924 subregs in BIG_ENDIAN mode.
5925 (storehi_bigend): Match use of least significant byte.
5926 (storeinthi): Remove extraneous SUBREG.
66c17b64 5927 Add missing construction of operands[2].
5d5603e2
BS
5928 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
5929 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
5930 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
5931
df15fbc7
AH
59322002-03-18 Aldy Hernandez <aldyh@redhat.com>
5933
2496c7bd
LB
5934 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
5935 any_operand.
df15fbc7 5936
b83b7fa3
RH
59372002-03-17 Richard Henderson <rth@redhat.com>
5938
5939 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
5940 explicitly.
5941
6f7c00fe
HPN
59422002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
5943
5944 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
5945 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
5946
155038f2
KG
59472002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5948
720d42fa
KG
5949 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
5950
155038f2
KG
5951 * predict.c (estimate_bb_frequencies): Delete unused variables.
5952
e6542f4e
RH
59532002-03-17 Richard Henderson <rth@redhat.com>
5954
5955 * config/ia64/ia64.c (ia64_attribute_table): Move before
5956 targetm definition. Make static.
5957
52dabb6c
NB
59582002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
5959
5960 * c-common.h (yyparse, c_common_parse_file): New.
5961 * c-lang.c: Include c-common.h.
5962 (LANG_HOOKS_PARSE_FILE): Redefine.
5963 * c-lex.c: Include c-common.h.
5964 (yyparse): Rename c_common_parse_file. Call yyparse.
5965 * c-parse.in (yyparse): Remove macro.
5966 * c-tree.h (yyparse_1): Remove.
5967 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
5968 (LANG_HOOKS_INITIALIZER): Update.
5969 * langhooks.h (struct lang_hoooks): New hook parse_file.
5970 * toplev.c (compile_file): Use parse_file hook.
5971 * tree.h (yyparse): Remove.
e6542f4e 5972 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 5973
b5ffe606
HPN
59742002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
5975
ba82f58b
HPN
5976 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
5977 float_truncate, not fix.
5978 ("*truncdfsf2_real"): Ditto.
5979 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
5980
b5ffe606
HPN
5981 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
5982
c8d1b2b7
AO
59832002-03-16 Alexandre Oliva <aoliva@redhat.com>
5984
cfb773f9
AO
5985 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
5986 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
5987 where appropriate. Make the second reference to
5988 leaf_function_p a function call, as intended. Reindented.
5989
4dffef52
AO
5990 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
5991 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
5992
4f5bd6d7
AO
5993 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
5994 add register to non-constant into sp.
5995
c8d1b2b7
AO
5996 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
5997 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
5998 (mips16_gp_pseudo_rtx): Lose.
5999 (INIT_EXPANDERS): Deleted.
6000 * config/mips/mips.c (mips_init_machine_status): New.
6001 (mips_free_machine_status): New.
6002 (mips_mark_machine_status): New.
6003 (override_options): Set them.
6004 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
6005 (struct machine_function): ... new. Replaced all references.
6006 (mips_add_gc_roots): Don't mark them.
6007 (embedded_pic_fnaddr_reg): New, extracted from...
6008 (embedded_pic_offset): ... here.
6009 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
6010 (movsi): Likewise.
6011
b3124fac
NB
60122002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
6013
6014 * cppinit.c: Revert -MD removal.
6015
121449b6
SC
60162002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6017
6018 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
6019 soft registers by default for 68HC12.
6020 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
6021 when compiling with -fomit-frame-pointer.
6022 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
6023 (expand_epilogue): Likewise.
6024 (m68hc11_gen_rotate): Use exg when rotating by 8.
6025
840e2ff1
SC
60262002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6027
6028 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
6029 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
6030 (splits): Remove unused add splits.
6031 ("*addhi3_68hc12"): Tune constraints.
6032 ("addhi_sp"): Try to use X instead of Y in all cases and if the
6033 constant fits in 8-bits and D is dead use abx/aby instructions.
6034 ("*addhi3"): Remove extern declaration of ix_reg.
6035 ("*subsi3"): Optimize and provide new split.
6036 ("subhi3"): Cleanup.
6037 ("*subhi3_sp"): Avoid saving X if we know it is dead.
6038 (arith splits): For 68hc12 save the address register on the stack
6039 and do the arithmetic operation with a pop.
6040
3c9a5efe
SC
60412002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6042
6043 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
6044 allocating QImode in address registers.
6045 ("*movqi_m68hc11"): Likewise.
6046
e41f3392
JH
6047Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
6048
6049 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
6050
576786b0
NB
60512002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
6052
6053 * cppinit.c (print_help): Display -MD and -MMD.
6054 Don't display usage string. Update assertion syntax and
6055 typo.
6056 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
6057 (cpp_handle_option): Update.
6058
1ac458d4
CD
60592002-03-15 Chris Demetriou <cgd@broadcom.com>
6060
6061 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
6062 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
6063 and define it so that regardless of target CPU size,
6064 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
6065 of "int" rather than "long."
6066
1fcd592b
RH
60672002-03-15 Richard Henderson <rth@redhat.com>
6068
6069 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
6070 size as a tree.
6071
a0df6910
SC
60722002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6073
6074 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
6075 ("tstqi" split): Avoid using memory for tstqi on address register.
6076 (splits): Remove constraints.
6077 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
6078 ("cmpdf", "cmpsf"): Remove since not used.
6079 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
6080 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
6081
015a2e59
SC
60822002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6083
6084 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
6085 ("neghi2"): Tighten constraints.
6086 ("one_cmplsi2"): Optimize and simplify split.
6087 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
6088
cd28557c
SC
60892002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6090
6091 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
6092 and split of AND operation to clear the upper bits.
6093 ("*logicalsi3_zextqi"): Likewise.
6094 ("*logicallhi3_zexthi_ashift8"): Likewise.
6095 ("*logicalsi3_silshr16"): Likewise.
6096 ("logicalsi3_silshl16"): Likewise.
6097 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
6098
932657df
SC
60992002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6100
6101 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
6102 (m68hc11_indirect_p): New function.
6103 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
6104 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
6105 TARGET_M6812.
6106 (asm_print_register): Likewise.
6107 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
6108 (m68hc11_indirect_p): Declare.
6109 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
6110 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
6111 (TARGET_SWITCHES): New option -mrelax.
6112 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
6113 destination.
6114 ("iorsi3", "xorsi3"): Likewise.
6115 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
6116 ("*andhi3_mem"): New to handle destination in memory with bclr
6117 and a scratch register.
6118 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
6119 ("*andhi3_const"): New when operand2 is constant.
6120 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
6121 ("*andhi3_gen"): Cleanup of the old "andhi3".
6122 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
6123 ("xorqi3"): Update constraints.
6124
fdffea1a
SC
61252002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6126
6127 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
6128 for reg_equiv_memory_loc when the operand is a register that does
6129 not get a hard register (stack location).
6130 (tst_operand): After reload, accept all memory operand.
6131 (symbolic_memory_operand): Fix detection of symbolic references.
6132 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
6133 accept symbols and any constant.
6134
6272bc68
SC
61352002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6136
6137 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
6138 note on the insn that sets the soft frame register.
6139 (must_parenthesize): ix and iy are also reserved names.
6140 (print_operand_address): One more place where parenthesis are required
6141 to avoid confusion with register names.
6142 (m68hc11_gen_movhi): Allow push of stack pointer.
6143 (m68hc11_check_z_replacement): Fix handling of parallel with a
6144 clobber.
6145 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
6146 the replacement register is.
6147 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
6148 and D8_REGS classes.
6149 (MODES_TIEABLE_P): All modes are tieable except QImode.
6150
1d2d9def
SC
61512002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6152
6153 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
6154 (___subdi3): Likewise.
6155 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
6156 (__map_data_section): Optimize 68hc11 case.
6157
a0ccf503
SC
61582002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6159
6160 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
6161 than a shift to avoid adding a register with itself.
6162 (m68hc11_memory_move_cost): Take into account NO_REGS.
6163 (m68hc11_register_move_cost): Update and use memory move cost
6164 for soft registers.
6165 (m68hc11_address_cost): Make cost of valid offset not 0 so that
6166 it gives more opportunities to cse to optimize.
6167 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
6168 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
6169
6e4ae815
MM
61702002-03-15 Mark Mitchell <mark@codesourcery.com>
6171
6172 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
6173 * c-common.def (CLEANUP_STMT): New tree node.
6174 * c-common.h (CLEANUP_DECL): New macro.
6175 (CLEANUP_EXPR): Likewise.
6176 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
6177 * expr.c (expand_expr): Tidy.
6178 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
6179 * tree-inline.c (initialize_inlined_parameters): Clean up
6180 new local variables.
6181
a42519be
JJ
61822002-03-15 Jakub Jelinek <jakub@redhat.com>
6183
6184 PR bootstrap/4128
6185 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
6186 before movrXX only, use reg_overlap_mentioned_p.
6187 Only special case NE if just one insn can be generated.
6188
15409448
JM
61892002-03-15 Jason Merrill <jason@redhat.com>
6190
6191 * varasm.c (assemble_variable): Call resolve_unique_section before
6192 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
6193 of error_mark_node.
6194
3a4edb44
RE
61952002-03-15 Richard Earnshaw <rearnsha@arm.com>
6196
6197 PR target/5170
6198 * arm.md (split pattern for thumb shiftable immediates): Add comment
6199 explaining non-obvious test.
6200
32defa36
RE
62012002-03-15 Richard Earnshaw <rearnsha@arm.com>
6202
6203 PR target/5712
6204 * arm.md (movaddr, movaddr_insn): Delete.
6205
5cc90635
JM
62062002-03-15 Jason Merrill <jason@redhat.com>
6207
6208 * toplev.c (wrapup_global_declarations): Clarify variable handling.
6209 -fkeep-static-consts doesn't apply to comdats.
6210
ecb0eece
RH
62112002-03-14 Richard Henderson <rth@redhat.com>
6212
6213 * c-decl.c: Include c-pragma.h.
6214 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
6215 (finish_function): Tidy.
6216 * c-pragma.c: Include c-common.h.
6217 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
6218 (handle_pragma_weak): Use them.
6219 (init_pragma): Register pending_weaks.
6220 * c-pragma.h (maybe_apply_pragma_weak): Declare.
6221 * print-tree.c (print_node): Print DECL_WEAK.
6222 * varasm.c (mark_weak_decls): Remove.
6223 (remove_from_pending_weak_list): Remove.
6224 (add_weak): Remove.
6225 (asm_emit_uninitialised): Call globalize_decl for weak commons.
6226 (weak_decls): Make a tree_list.
6227 (declare_weak): Cons weak_decls directly.
6228 (globalize_decl): Remove weak_decls elements directly.
6229 (weak_finish): Simplify weak_decls walk. Don't weaken unused
6230 symbols. Don't pretend to handle aliases.
6231 (init_varasm_once): Update weak_decls registry.
6232 * Makefile.in: Update dependencies.
6233
98d2b17e
RH
62342002-03-14 Richard Henderson <rth@redhat.com>
6235
6236 PR target/5312
6237 * config/ia64/ia64.c: Include tm_p.h last.
6238 (gen_nop_type): Remove duplicate definition.
6239 (cycle_end_fill_slots): Set sched_data for second L slot.
6240 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
6241 (nop_cycles_until): Fix typos.
6242
f2f4927e
JJ
62432002-03-15 Jakub Jelinek <jakub@redhat.com>
6244
6245 PR optimization/5891
6246 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
6247
5025a549
DM
62482002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
6249
6250 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
6251 descriptors correctly.
6252
03e9dbc9
MM
62532002-03-14 Michael Meissner <meissner@redhat.com>
6254
6255 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
6256 100, allowing MAX_UNROLLED_INSNS to be overridden.
6257
6258 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
6259 --param.
6260
6261 * unroll.c (params.h): Include.
6262 (MAX_UNROLLED_INSNS): Delete, now in params.h.
6263
6264 * doc/invoke.texi (--param max-unroll-insns): Document.
6265
6266 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
6267
12249385
RE
62682002-03-14 Richard Earnshaw <rearnsha@arm.com>
6269
6270 * arm.md: Fix warnings about constraints in peepholes and splits.
6271
f0cce04a
ZW
62722002-03-14 Zack Weinberg <zack@codesourcery.com>
6273
6274 * cpphash.h (struct lexer_state): Remove line_extension member.
6275 * cpplib.c (dequote_string, do_linemarker): New functions.
6276 (linemarker_dir): New data object.
6277 (DIRECTIVE_TABLE): No longer need to interpret #line in
6278 preprocessed source. Delete obsolete comment about return
6279 values of handlers.
6280 (end_directive, directive_diagnostics, _cpp_handle_directive):
6281 Don't muck with line_extension.
6282 (directive_diagnostics): No need to issue warnings for
6283 linemarkers here.
6284 (_cpp_handle_directive): Issue warnings for linemarkers here,
6285 when appropriate. Dispatch linemarkers to do_linemarker, not
6286 do_line.
6287 (do_line): Code to handle linemarkers split out to do_linemarker.
6288 Convert escape sequences in filename argument, both places.
6289
6290 * cppmacro.c (quote_string): Rename cpp_quote_string and
6291 export. All callers changed.
6292 * cpplib.h (cpp_quote_string): Prototype.
6293 * cppmain.c (print_line): Call cpp_quote_string on to_file
6294 before printing it.
6295
6296 * doc/cpp.texi: Document that escapes are now interpreted in
6297 #line and in linemarkers, and that non-printing characters are
6298 converted to octal escapes when linemarkers are generated.
6299
6300Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
6301
6302 * emit-rtl.c (try_split): Use delete_insns.
6303 * recog.c (split_all_insns): Fix terminating condition.
6304
c882c7ac
RE
63052002-03-14 Richard Earnshaw <rearnsha@arm.com>
6306 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
6307
6308 PR target/5828
6309 * arm.c (arm_output_epilogue): Fix floating-point register save
6310 adjustment when using a frame pointer.
6311
3f26edaa
RS
63122002-03-14 Richard Sandiford <rsandifo@redhat.com>
6313
6314 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
6315 * config/mips/mips.c (compute_frame_size): Retrofit them here.
6316 (save_restore_insns, mips_expand_epilogue): And here.
6317 (build_mips16_call_stub): And here.
6318 (mips_function_value): Use the new macros to decide whether a single
6319 or complex float can be returned in floating-point registers. Return
6320 a parallel rtx in the complex case.
6321
1e3881c2
JH
6322Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
6323
6324 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
6325 call after liveness analysis.
6326
6327 * recog.c (split_insn): Use delete_insn_and_edges.
6328
6329 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
6330 instructions to have branch prediction notes.
6331 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
6332
200ef634
GK
63332002-03-14 Geoffrey Keating <geoffk@redhat.com>
6334
6335 * configure.in: Don't pass -Wno-long-long to a ADA compiler
6336 that doesn't support it.
6337 * configure: Regenerate.
6338
0b82d204
JJ
63392002-03-13 Jakub Jelinek <jakub@redhat.com>
6340
6341 PR target/5626
6342 * config/sparc/sparc.md (normal_branch, inverted_branch,
6343 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
6344 inverted_fp_branch): Adjust calls to output_cbranch.
6345 Set length attribute.
6346 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
6347 output_v9branch. Set length attribute.
6348 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
6349 predicates.
6350 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
6351 (output_cbranch): Likewise. Handle far branches.
6352 (output_v9branch): Handle far branches.
6353 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
6354 Adjust prototypes.
6355 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
6356 noov_compare64_op predicates.
6357
7a8de19b
JM
63582002-03-13 Jason Merrill <jason@redhat.com>
6359
6360 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
6361 into the function and constify it.
6362 * gthr-dce.h, gthr-solaris.h: Likewise.
6363
2a55fd42
DE
63642002-03-13 David Edelsohn <edelsohn@gnu.org>
6365
6366 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
6367 * config/rs6000/rs6000.c (rs6000_va_arg): Use
6368 std_expand_builtin_va_arg if not ABI_V4.
6369
19c5b1cf
JM
63702002-03-13 Jason Merrill <jason@redhat.com>
6371
6372 * varasm.c (globalize_decl): New fn.
6373 (assemble_start_function): Use it.
6374 (asm_emit_uninitialized): Use it.
6375 (assemble_alias): Use it.
6376 (assemble_variable): Use it.
6377
2a15f5e1
HPN
63782002-03-13 Hans-Peter Nilsson <hp@axis.com>
6379
6380 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 6381 2002-03-12 internal visibility change.
2a15f5e1
HPN
6382 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
6383 visibility into SYMBOL_REF_FLAG.
6384
c0a3eeac
UW
63852002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
6386
6387 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
6388 VOIDmode operand. Add compile-time optimization for constant results.
6389
a1652cee
JM
63902002-03-12 Jason Merrill <jason@redhat.com>
6391
6392 * c-typeck.c (convert_for_assignment): Don't allow conversions
6393 between pointers and references. Only allow lvalues to convert to
6394 reference.
6395
c52a375d
HP
63962002-03-13 Hartmut Penner <hpenner@de.ibm.com>
6397
f0cce04a
ZW
6398 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
6399 before prologue, to avoid scheduling problems.
c52a375d 6400
e387e99b
JJ
64012002-03-13 Jakub Jelinek <jakub@redhat.com>
6402
6403 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
6404 (ELIMINABLE_REGS): Add sfp->sp.
6405 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
6406
64072002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
6408
6409 PR optimization/5892
6410 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
6411
4061c1a3
JJ
64122002-03-13 Jakub Jelinek <jakub@redhat.com>
6413
6414 * loop.c (basic_induction_var): Don't call convert_modes if mode
6415 classes are different.
6416
5b43fed1
RH
64172002-03-12 Richard Henderson <rth@redhat.com>
6418
9f53e965
RH
6419 PR optimization/5901
6420 * function.c (reposition_prologue_and_epilogue_notes): Position
6421 the markers after/before the last/first insn not deleted.
6422
64232002-03-12 Richard Henderson <rth@redhat.com>
6424
6425 PR optimization/5878
5b43fed1
RH
6426 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
6427 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
6428 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
6429
6430 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
6431 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
6432 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
6433
6434 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
6435 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
6436 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
6437 also. Don't set it if not flag_pic.
6438 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
6439 to be INVALID_REGNUM when not used.
6440
4e9bb42b
AH
64412002-03-13 Aldy Hernandez <aldyh@redhat.com>
6442
5b43fed1
RH
6443 * expmed.c (store_bit_field): Reset alias set for memory.
6444 (extract_bit_field): Same.
4e9bb42b 6445
2f9834e8
KG
64462002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6447
6448 * c-common.c (c_tree_code_type, c_tree_code_length,
6449 c_tree_code_name, add_c_tree_codes): Delete.
6450 * c-common.h (add_c_tree_codes): Delete.
6451 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
6452 Define.
6453 * c-objc-common.c (c_objc_common_init): Don't call
6454 add_c_tree_codes, instead set lang_unsafe_for_reeval.
6455 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
6456 objc_tree_code_name, add_objc_tree_codes): Delete.
6457 (objc_init): Don't call add_objc_tree_codes.
6458 * objc/objc-lang.c (tree_code_type, tree_code_length,
6459 tree_code_name): Define.
6460 * toplev.c (lang_independent_init): Don't set
6461 tree_code_length[IDENTIFIER_NODE].
6462 * tree.c (tree_code_type, tree_code_length, tree_code_name):
6463 Delete definitions, moved to language front-ends.
6464 * tree.def (IDENTIFIER_NODE): Hardwire the length.
6465 * tree.h (tree_code_type, tree_code_length, tree_code_name):
6466 Const-ify.
6467 (tree_code_length): Change type to unsigned char.
6468
36ad2436
RH
64692002-03-12 Richard Henderson <rth@redhat.com>
6470
6471 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
6472 internal visibility change.
6473
0ae02efa
BW
64742002-03-12 Bob Wilson <bob.wilson@acm.org>
6475
6476 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
6477 validize_mem() instead of change_address to avoid clobbering
6478 memory attributes.
6479
35bb2bee
NB
64802002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
6481
6482 * c-lex.h (position_after_whitespace): Remove.
6483
62ae2529
JJ
64842002-03-12 Jakub Jelinek <jakub@redhat.com>
6485
6486 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
6487 (lex_string): Use unsigned char pointers.
6488
6a45951f
UW
64892002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
6490
6491 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
6492 is not a valid memory_operand.
6493
e2fb85da
BW
64942002-03-12 Bob Wilson <bob.wilson@acm.org>
6495
6496 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
6497 * config/xtensa/lib1funcs.asm: Fix copyright to include
6498 special case for libgcc files.
6499 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
6500 (__divsi3): Likewise.
6501 (__umodsi3): Likewise.
6502 (__modsi3): Likewise.
6503 * config/xtensa/lib2funcs.S: Fix copyright to include
6504 special case for libgcc files.
6505
5b8619f8
TR
65062002-03-12 Tom Rix <trix@redhat.com>
6507
6508 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 6509 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
6510 (ignore_library): Same.
6511
089c8f97
BW
65122002-03-12 Bob Wilson <bob.wilson@acm.org>
6513
6514 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
6515
958c70ff
BW
65162002-03-12 Bob Wilson <bob.wilson@acm.org>
6517
6518 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
6519 to function_section before writing out the constant pool.
6520
a65c591c
DE
65212002-03-12 David Edelsohn <edelsohn@gnu.org>
6522
6523 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
6524 zero_constant.
6525 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
6526
65272002-03-12 Alan Modra <amodra@bigpond.net.au>
6528
6529 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
6530 (adddi3): Likewise.
6531 (movdf): Likewise.
6532 (movdi): Likewise.
6533 (cmpsi splitter): Likewise.
6534 (modsi3): Fail if <= 0.
6535 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
6536 redundant test when HOST_BITS_PER_WIDE_INT != 32.
6537 (reg_or_sub_cint64_operand): Likewise.
6538 (num_insns_constant_wide): Optimize sign extension.
6539 (rs6000_legitimize_address): Likewise.
6540
17720332
AM
65412002-03-12 Andrew MacLeod <amacleod@redhat.com>
6542
6543 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
6544 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
6545
cd49f073
AM
65462002-03-12 Andrew MacLeod <amacleod@redhat.com>
6547
6548 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
6549 address calculation.
6550
6a4e49c1
UW
65512002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
6552
6553 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
6554 scratch register to DImode / TImode.
6555 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
6556 register used does not overlap the target.
6557
54b6670a
KG
65582002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6559
6560 * Makefile.in (debug.o): Depend on debug.h.
6561 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
6562 * debug.c (do_nothing_debug_hooks): Likewise.
6563 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
6564 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
6565 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
6566 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
6567 * dwarfout.c (dwarf_debug_hooks): Likewise.
6568 * integrate.c (output_inline_function): Likewise.
6569 * objc/objc-act.c (synth_module_prologue): Likewise.
6570 * sdbout.c (sdb_debug_hooks): Likewise.
6571 * toplev.c (debug_hooks): Likewise.
6572 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
6573
2465bf76
KG
65742002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6575
6576 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
6577 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
6578 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
6579 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
6580 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
6581 * defaults.h (POINTER_SIZE): Define.
6582 * doc/tm.texi (POINTER_SIZE): Document default.
6583
53f3e9ca
KG
65842002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6585
6586 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
6587
44d3eb5b
RH
65882002-03-11 Richard Henderson <rth@redhat.com>
6589
6590 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
6591 if rebuild_label_notes_after_reload.
6592
4a085d2e
HPN
65932002-03-12 Hans-Peter Nilsson <hp@axis.com>
6594
6595 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
6596 emit pic register load if "internal" visibility.
6597 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
6598 (cris_expand_builtin_va_arg): Do all computations on trees.
6599
bc204393
RH
66002002-03-11 Richard Henderson <rth@redhat.com>
6601
6602 * rtlanal.c: Include recog.h.
6603 (keep_with_call_p): Fix thinko.
6604 * Makefile.in (rtlanal.o): Update dependencies.
6605
6b8b9d7b
CM
66062002-03-11 Chris Meyer <cmeyer@gatan.com>
6607
6608 * genflags.c (gen_insn): Use IS_VSPACE.
6609 * genoutput.c (output_insn_data): Likewise.
6610 (process_template): Likewise.
6611
6c40858f
RH
66122002-03-11 Richard Henderson <rth@redhat.com>
6613
6614 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
6615
40adaa27
NB
66162002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
6617
6618 * Makefile.in: Update.
6c40858f 6619 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 6620 Update documentation.
6c40858f
RH
6621 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
6622 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 6623
049b03f4
ZW
66242002-03-11 Zack Weinberg <zack@codesourcery.com>
6625
6626 * Makefile.in: Give texi2pod its input file as a command line
6627 argument, not on stdin.
6628
61eece67
DN
66292002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
6630 Daniel Berlin <dan@dberlin.org>
6631
6632 C++ alias analysis improvement.
f0cce04a 6633 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
6634 classes too.
6635
a65c591c
DE
66362002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
6637
ff080aba
UW
6638 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
6639
1682dbb1
DR
66402002-03-11 Douglas B Rupp <rupp@gnat.com>
6641
fa2d765a
DR
6642 * toplev.c (vms_fopen): Remove, not needed.
6643
6f1fd286
DR
6644 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
6645
b230e057
DR
6646 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
6647
cb9a8e97
DR
6648 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
6649 for FP, already done later.
6650
1682dbb1
DR
6651 * toplev.c (debug_args): Add entry for VMS_DEBUG.
6652 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
6653
3fcaac1d
RS
66542002-03-11 Richard Sandiford <rsandifo@redhat.com>
6655
6656 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
6657 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
6658 LARGEST_EXPONENT_IS_NORMAL for the given mode.
6659 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
6660 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
6661 (ediv, emul, eldexp, esqrt): Likewise.
6662 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
6663 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
6664 (saturate): New function.
6665 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
6666 (make_nan): Use a saturation value instead of a NaN if
6667 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
6668 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
6669 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
6670 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
6671 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
6672 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
6673 !ROUND_TOWARDS_ZERO.
6674 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
6675 (ROUND_TOWARDS_ZERO): Document.
6676
d25558be
AJ
66772002-03-11 Andreas Jaeger <aj@suse.de>
6678
6679 * cfg.c (dump_flow_info): Remove unused variable.
6680
c71f9ae7
HPN
66812002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
6682
6683 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
6684 computations on trees.
6685
561c9153
RH
66862002-03-10 Richard Henderson <rth@redhat.com>
6687
932b4e3e 6688 PR 5693:
561c9153
RH
6689 * reload.c (copy_replacements_1): New.
6690 (copy_replacements): Use it to recurse through the rtx.
6691
26b738be
RH
66922002-03-10 Richard Henderson <rth@redhat.com>
6693
6694 * loop.c (strength_reduce): Compute number of iterations as
6695 unsigned HOST_WIDE_INT.
6696
8d8a083e
RH
66972002-03-10 Richard Henderson <rth@redhat.com>
6698
6699 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
6700 to move away from the end of the block.
6701
32810ba3
NB
67022002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
6703
6704 PR preprocessor/5899
6705 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 6706
2b03d201
KG
67072002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6708
f90c544c
KG
6709 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
6710
2b03d201
KG
6711 * attribs.c (decl_attributes): Fix signed/unsigned warning.
6712
3ec1b4cb
HPN
67132002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
6714
6715 * config/mmix/mmix.c: Improve comments.
6716 (mmix_target_asm_function_prologue): Drop variable
6717 empty_stack_frame. Don't allocate unused slot above fp.
6718 (mmix_target_asm_function_epilogue): Mirror prologue changes.
6719 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
6720 brace in first column.
6721 (enum reg_class): Ditto.
6722 (FIRST_PARM_OFFSET): Now 0.
6723 (USER_LABEL_PREFIX): Remove #if 0:d definition.
6724
27e486c5
KG
67252002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6726
6727 * combine.c (make_extraction): Fix error in last change.
6728
0139adca
KG
67292002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6730
6731 * c4x.c (c4x_fp_reglist): Const-ify.
6732 * cris.c (cris_print_operand): Likewise.
6733 * i386.c (ix86_va_arg): Likewise.
6734 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
6735 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
6736 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
6737 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
6738 * mcore.h (regno_reg_class): Likewise.
6739 * mips.c (gen_int_relational): Likewise.
6740 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
6741 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 6742 * pdp11.c (move_costs): Likewise.
0139adca
KG
6743 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
6744 * s390.c (s390_branch_condition_mnemonic, regclass_map):
6745 Likewise.
6746 * s390.h (regclass_map): Likewise.
6747 * sh.c (shift_amounts): Likewise.
a4334c36 6748 * sh.md (rotlsi3): Likewise.
0139adca 6749
889b90a1
GK
67502002-03-09 Geoffrey Keating <geoffk@redhat.com>
6751
6752 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
6753 (ne0+5): Use new clobber to generate proper shift pattern.
6754 Patch by Michael Matz <matz@kde.org>.
6755
2877e0ae
AS
67562002-03-09 Andreas Schwab <schwab@suse.de>
6757
6758 * gcc.c (validate_all_switches): Also handle `%W{...}'.
6759
79b51cd7
GK
67602002-03-09 Geoffrey Keating <geoffk@redhat.com>
6761
6762 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
6763
e0f1be5c
JJ
67642002-03-09 Jakub Jelinek <jakub@redhat.com>
6765
6766 PR middle-end/5877
6767 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
6768 even for non-representable constants.
6769
0a7ec763
RK
6770Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6771
93fe8e92
RK
6772 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
6773 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
6774 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
6775 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
6776 (pop_function_context): Compute MAY_SHARE parameter for
6777 fixup_var_refs.
6778 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
6779 (gen_mem_addressof): Call fixup_var_refs with new parm.
6780
0a7ec763
RK
6781 * combine.c (make_extraction): Don't make extension of CONST_INT.
6782
a85cd407
AO
67832002-03-09 Alexandre Oliva <aoliva@redhat.com>
6784
9445b814
AO
6785 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
6786 in o32 and o64 ABIs.
6787 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
6788 but getting fixed-size structs passed in registers regardless of
6789 padding in o32 and o64 ABIs.
6790
a85cd407
AO
6791 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
6792 offset before loading address of argument passed by transparent
6793 reference.
6794
c51fbe40
JDA
67952002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
6796
6797 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
6798
918e70dd
AO
67992002-03-09 Alexandre Oliva <aoliva@redhat.com>
6800
6801 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
6802 marker such that registers after it are saved.
6803
3070dd00
KG
68042002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6805
6806 * sparc.c (arith_4096_operand): Fix error in last change.
6807
e25d11b0
AO
68082002-03-08 Alexandre Oliva <aoliva@redhat.com>
6809
6810 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
6811 defaults for MEABI.
6812
41daaf0e
AH
68132002-03-08 Aldy Hernandez <aldyh@redhat.com>
6814
5b43fed1
RH
6815 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
6816 vectors.
41daaf0e 6817
fa139b00
AH
68182002-03-08 Aldy Hernandez <aldyh@redhat.com>
6819
5b43fed1 6820 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 6821
c51d95ec
JH
6822Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
6823
6824 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
6825 removed; fix return value.
6826 * combine.c (combine_instructions): Dirtify blocks where we failed to
6827 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
6828 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
6829
3b25fbfe
KG
68302002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6831
6832 * gcse.c (insert_insn_end_bb): Fix typo in last change.
6833
189ae0f4
JH
6834Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
6835
6836 * recog.c (peephole2_optimize): Re-distribute EH edges.
6837
24965e7a
NB
68382002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
6839
6840 * expr.c (expand_expr): Use unsave lang hook.
6841 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
6842 (LANG_HOOKS_INITIALIZER): Update.
6843 * langhooks.h (struct lang_hooks): New hook unsave.
6844 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
6845 (unsave_expr_1): Remove unused lang_unsave_expr_now.
6846 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
6847 (unsave_expr_now): Remove.
6848 * tree.h (unsave_expr_now, lang_unsave,
6849 lang_unsave_expr_now): Remove.
6850 (lhd_unsave): New.
6851
1e4e95d6
AJ
68522002-03-08 Andreas Jaeger <aj@suse.de>
6853
6854 * flow.c (propagate_block_delete_insn): Remove unused variable.
6855
054ef905
KH
68562002-03-08 Kazu Hirata <kazu@hxi.com>
6857
6858 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
6859 insn length for memory load/store.
6860
5304400d 68612002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 6862
5304400d
CR
6863 * doc/install.texi (--with-libiconv-prefix): Document.
6864
81034129
MB
68652002-03-08 Michael Y. Brukman <myb2@cornell.edu>
6866
6867 * doc/sourcebuild.texi: Fix typo.
6868
71db7d03
JJ
68692002-03-08 Jakub Jelinek <jakub@redhat.com>
6870
6871 PR c/3711
6872 * builtins.c (std_expand_builtin_va_arg): Do all computations on
6873 trees.
6874
127c1ba5
RK
6875Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6876
6877 * rtl.c (copy_most_rtx): Move from here ...
6878 * emit-rtl.c (copy_most_rtx): ... to here.
6879
8a13c092
AO
68802002-03-08 Alexandre Oliva <aoliva@redhat.com>
6881
5faae4f7
AO
6882 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
6883 SUBTARGET_CPP_SIZE_SPEC.
6884 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
6885
8a13c092
AO
6886 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
6887
4ec59de2
MH
68882002-03-07 Matt Hiller <hiller@redhat.com>
6889
6890 * gensupport.c (first_dir_md_include): Renamed from include;
6891 change all references.
6892 (last_dir_md_include): Renamed from last_include; change all
6893 references.
6894 (init_md_reader): Unconditionally initialize base_dir whether or
6895 not filename is a relative path.
6896
12f61e77
AO
68972002-03-07 Alexandre Oliva <aoliva@redhat.com>
6898
95356058
AO
6899 * config/fp-bit.c (_unord_f2): Compile it in even if
6900 US_SOFTWARE_GOFAST is enabled.
6901
12f61e77
AO
6902 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
6903 NULL_RTX. Set all HFmode operations as NULL_RTX.
6904 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
6905 NULL_RTX, try reversing the comparison and the operands.
6906
6d7a1c4c
UW
69072002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
6908
6909 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
6910 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
6911 and MATCH_OP_DUP.
6912
66d54344
JH
6913Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
6914
6915 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
6916
068473ec
JH
6917Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
6918
6919 * basic-block.h (fixup_abnormal_edges): Declare.
6920 * reload1.c (fixup_abnormal_edges): New function.
6921 * reg-stack.c (convert_regs): Use it.
6922
6923 * gcse.c (insert_insn_end_bb): Handle trapping insns.
6924
6925 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
6926
71925bc0
RS
69272002-03-07 Richard Sandiford <rsandifo@redhat.com>
6928
6929 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
6930 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
6931 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
6932 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
6933 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
6934 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
6935 unless x and y could be infinite.
6936 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
6937 Check that the common type of both arguments is a real, even for
6938 targets without unordered comparisons. Allow an integer argument
6939 to be compared against a real.
6940 (expand_tree_builtin): Use expand_unordered_cmp.
6941 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
6942 * cse.c (fold_rtx): Likewise. Fix indentation.
6943 * fold-const.c (fold_real_zero_addition_p): New.
6944 (fold): Use it, and the new HONOR_... macros.
6945 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
6946 * jump.c (reversed_comparison_code_parts): After searching for
6947 the true comparison mode, use HONOR_NANS to decide whether it
6948 can be safely reversed.
6949 (reverse_condition_maybe_unordered): Remove IEEE check.
6950 * simplify-rtx.c (simplify_binary_operation): Use the new macros
6951 to decide which simplifications are valid. Allow the following
6952 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
6953 and (a - -b) to (a + b).
6954 (simplify_relational_operation): Use HONOR_NANS.
6955 * doc/tm.texi: Document the MODE_HAS_... macros.
6956
145d3bf2
RE
69572002-03-07 Richard Earnshaw <rearnsha@arm.com>
6958
6959 * combine.c (simplify_comparison): If simplifying a logical shift
6960 right and compare with constant, force the comparison to unsigned.
6961
76a773f3
AH
69622002-03-07 Aldy Hernandez <aldyh@redhat.com>
6963
5b43fed1 6964 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 6965
5b43fed1
RH
6966 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
6967 -mabi=no-altivec
6968 (alt_reg_names): Remove % for vrsave.
76a773f3 6969
ab55f58c
RH
69702002-03-06 Richard Henderson <rth@redhat.com>
6971
5ddec02e 6972 PR optimization/5844
ab55f58c
RH
6973 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
6974 if used indicates we've already emitted one copy of an operand.
6975 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
6976 (gen_split): Supply a non-null used.
6977
e16e3291
UW
69782002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
6979
5b43fed1 6980 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 6981
1e4e95d6 6982 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
6983 but simply fail if the expression is too complex to simplify.
6984 (simplify_gen_binary): Handle simplify_plus_minus failures.
6985
2ca6672b
JH
6986Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
6987
6988 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
6989 consistently call delete_trivially_dead_insns after CSE and GCSE;
6990 fix DFI_life dumping; do jump threading after liveness; do crossjumping
6991 after liveness2; update comment in last crossjumping.
6992 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
6993
31d0dd4f
JL
6994Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
6995
d094b0b3
JL
6996 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
6997 after completing fast dead code elimination.
6998
31d0dd4f
JL
6999 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
7000 COMPARE operator.
1e4e95d6 7001
f2b958b1
PE
70022002-03-06 Phil Edwards <pme@gcc.gnu.org>
7003
7004 * version.c: Fix misplaced leading blanks on first line.
7005
a2877a09
JH
7006Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
7007
7008 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
7009
fe477d8b
JH
7010Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
7011
7012 * cfgcleanup.c (mentions_nonequal_regs): New function.
7013 (thread_jump): Use it.
7014 * toplev.c (rest_of_compilation): Run jump threading after
7015 liveness.
7016
2041cde4
JJ
70172002-03-06 Jakub Jelinek <jakub@redhat.com>
7018
7019 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
7020 patch.
7021
82d68d46
JH
7022Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
7023
7024 * predict.c (estimate_bb_frequencies): Do not reload the
7025 frequencies from notes.
7026
3dec4024
JH
7027Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
7028
7029 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
7030 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
7031
7032 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
7033 delete_noop_moves): Return indeger.
7034 * flow.c (ndead): New variable.
7035 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
7036 BB argument; update callers.
7037 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
7038 (life_analysis): Do not call purge_all_dead_edges.
7039 (update_life_info): Return number of deleted insns; print statistics.
7040 (update_life_info_in_dirty_blocks): likewise.
7041 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
7042 return number of insns deleted.
7043
7044 * cse.c: Include timevar.h
7045 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
7046 iterate until stabilizes; print statistics; return number of killed
7047 insns.
7048 * Makefile.in: (cse.o): Add timevar.h dependency
7049 * rtl.h (delete_trivially_dead_insns): New.
7050 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
7051 * toplev.c (rest_of_compilation): Update callers.
7052
7053 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
7054 (try_optimize_cfg): Do not update liveness.
7055 (cleanup-cfg): Loop until try_optimize_cfg and dead code
7056 removal stabilizes; use delete_trivially_dead_insns.
7057
7058 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
7059
c7544dd8
ZW
70602002-03-05 Zack Weinberg <zack@codesourcery.com>
7061
7062 * cppmain.c (setup_callbacks): Disable #pragma and #ident
7063 callbacks when processing assembly language.
7064
50b424a9
JDA
70652002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7066
7067 * pa.h (ASM_FILE_END): Define.
7068 * som.h (ASM_FILE_END): Delete.
7069
7070 * pa.c (function_arg): Don't pass floats in general registers in
7071 indirect calls if TARGET_ELF32.
7072
6185f217
RH
70732002-03-05 Richard Henderson <rth@redhat.com>
7074
7075 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
7076
3020a4b2
DS
70772002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
7078
7079 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
7080
65649daa
JJ
70812002-03-05 Jakub Jelinek <jakub@redhat.com>
7082
7083 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
7084 -r command line. Don't hide any symbols if not building
7085 shared libgcc.
7086
5a1a3e5e
JH
7087Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
7088
7089 * cfg.c (dump_flow_info): Warn about profile mismatches.
7090 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
7091 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
7092
170c56da
JJ
70932002-03-05 Jakub Jelinek <jakub@redhat.com>
7094
7095 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
7096 wide volatile memory by parts.
7097
6d051694
JJ
70982002-03-05 Jakub Jelinek <jakub@redhat.com>
7099
7100 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
7101 is NULL.
7102
28bcfd4d
RH
71032002-03-05 Richard Henderson <rth@redhat.com>
7104
5b43fed1 7105 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 7106
75227a33
GK
71072002-03-04 Geoffrey Keating <geoffk@redhat.com>
7108
7109 * toplev.c (documented_lang_options): Document more
7110 language-specific options.
7111 * doc/invoke.texi (Warning Options): Correct documentation for
7112 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
7113 * c-decl.c (c_decode_option): Use a table to handle warning options.
7114
4f1aac42
HPN
71152002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
7116
7117 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
7118 parameter to mmix_encode_section_info.
7119 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
7120 relocatably. Always produce ELF, not mmo if linking relocatably.
7121 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
7122 first is non-zero, don't add symbol prefix.
7123 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
7124 prototype accordingly.
7125
12345543
KW
71262002-03-04 Krister Walfridsson <cato@df.lth.se>
7127
7128 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
7129
8e97db8f
JM
71302002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
7131
7132 * configure.in: Increase required makeinfo version to 4.1.
7133 * configure: Regenerate.
7134
06487868
GK
71352002-03-04 Geoffrey Keating <geoffk@redhat.com>
7136
7137 * .cvsignore: Remove *.info* and genrtl*; these files are generated
7138 elsewhere now.
7139
cff42170
JM
71402002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
7141
7142 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
7143 * doc/invoke.texi: Fix @math uses.
7144
974a7f56
JH
7145Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
7146
7147 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
7148 removal
7149
3b7d0e98
AH
71502002-03-03 Aldy Hernandez <aldyh@redhat.com>
7151
5b43fed1
RH
7152 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
7153 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 7154
5b43fed1 7155 * config/rs6000/t-ppcendian: New.
3b7d0e98 7156
65f2f288
HB
71572002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7158
7159 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
7160 nonimmediate_src_operand and nonimmediate_lsrc_operand to
7161 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
7162
8ce0a8a5
RH
71632002-03-03 Richard Henderson <rth@redhat.com>
7164
7165 * toplev.c (rest_of_decl_compilation): Revert last two changes.
7166
ba31d94e
ZW
71672002-03-03 Zack Weinberg <zack@codesourcery.com>
7168
7169 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
7170 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
7171 tree.c, config/m68k/m68k.c:
7172 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
7173 REAL_ARITHMETIC blocks unconditional. Delete some further
7174 #ifdef blocks predicated on REAL_ARITHMETIC.
7175 * flags.h, toplev.c: Delete remaining references to
7176 flag_pretend_float.
7177
7178 * doc/invoke.texi: Remove documentation of -fpretend-float.
7179 * doc/tm.texi: Describe the various REAL_* macros as provided by
7180 real.h, not by the target configuration files.
7181
7182 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
7183 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
7184 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
7185 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
7186 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
7187 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
7188 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
7189 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
7190 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
7191 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
7192 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
7193 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
7194 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
7195 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
7196 config/xtensa/xtensa.h:
7197 Do not define, undefine, or mention in comments any of
7198 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
7199 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
7200 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
7201 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
7202 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
7203 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
7204 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
7205 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
7206 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
7207
9a571cfd
KG
72082002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7209
e81dd381
KG
7210 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
7211 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
7212 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
7213 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
7214 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
7215 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
7216 Delete.
7217 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 7218 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 7219
9a571cfd
KG
7220 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
7221 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
7222 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
7223
ca7558fc
KG
72242002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7225
7226 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
7227 lieu of explicit sizeof/sizeof.
7228 * i386.c (override_options, ix86_init_mmx_sse_builtins,
7229 ix86_expand_builtin): Likewise.
7230 * mips.c (mips_add_gc_roots): Likewise.
7231 * mmix.c (mmix_output_condition): Likewise.
7232 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
7233 altivec_init_builtins): Likewise.
7234 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
7235 * cppexp.c (Nsuff, parse_number): Likewise.
7236 * cppinit.c (builtin_array_end): Likewise.
7237 * gcc.c (n_default_compilers, process_command): Likewise.
7238 * genpreds.c (output_predicate_decls): Likewise.
7239 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
7240 * lcm.c (N_ENTITIES): Likewise.
7241 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 7242
41c78c88
RH
72432002-03-03 Richard Henderson <rth@redhat.com>
7244
7245 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
7246 for types or labels.
7247
9e9b71e6
RH
72482002-03-03 Richard Henderson <rth@redhat.com>
7249
7250 * c-decl.c (start_decl): Initialized variables are not common.
7251
c26a6db8
PB
72522002-03-02 Per Bothner <per@bothner.com>
7253
7254 * gcc.c (option_map): Suport new --bootclasspath option.
7255 --CLASSPATH is now just an alias for --classpath.
7256
9e8aab55
RH
72572002-03-02 Richard Henderson <rth@redhat.com>
7258
7259 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
7260 load if "internal" visibility.
7261 * doc/extend.texi: Document visibility meanings.
7262
b3bbd220
RH
72632002-03-02 Richard Henderson <rth@redhat.com>
7264
7265 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
7266 to functions as well.
7267
b14707c3
RH
72682002-03-02 Richard Henderson <rth@redhat.com>
7269
7270 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
7271 (handle_visibility_attribute): Don't call assemble_visibility.
7272 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
7273 without asmspec. Invoke assemble_alias when needed.
7274 * varasm.c (maybe_assemble_visibility): New.
7275 (assemble_start_function, assemble_variable, assemble_alias): Use it.
7276
b2003250
RH
72772002-03-02 Richard Henderson <rth@redhat.com>
7278
7279 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
7280 invoke ENCODE_SECTION_INFO with first call flag.
7281
7282 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
7283 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 7284 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
7285 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
7286 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
7287 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
7288 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
7289 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
7290 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
7291 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
7292 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
7293 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
7294 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
7295 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
7296 config/mcore/mcore-protos.h, config/mcore/mcore.c,
7297 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
7298 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 7299 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
7300 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
7301 config/sh/sh.h, config/sparc/sparc.h,
7302 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
7303 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
7304 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
7305 FIRST argument. As needed, examine it and do nothing.
7306
ba31d94e 7307 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
7308 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
7309 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
7310
7311 * config/arm/t-pe (pe.o): Add dependencies.
7312
5c60f03d
KG
73132002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7314
7315 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
7316 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
7317 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
7318 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
7319 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
7320 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
7321 * defaults.h (BITS_PER_UNIT): Define.
7322 * doc/tm.texi (BITS_PER_UNIT): Document default value.
7323
86855e8c
KH
73242002-03-02 Kazu Hirata <kazu@hxi.com>
7325
7326 * config/h8300/h8300-protos.h: Add a prototype for
7327 compute_a_shift_length.
7328 * config/h8300/h8300.c (h8300_asm_insn_count): New.
7329 (compute_a_shift_length): Likewise.
7330 (h8300_adjust_insn_length): Do not adjust insn length of shift
7331 insns.
7332 * config/h8300/h8300.md (anonymous shift patterns): Use
7333 compute_a_shift_length.
7334
f6041ed8
RK
7335Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7336
35aa3c1c
RK
7337 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
7338 trunc_int_for_mode.
7339
f6041ed8
RK
7340 * emit-rtl.c (offset_address): Call update_temp_slot_address.
7341
27b41650
KG
73422002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7343
7344 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
7345 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
7346 * flags.h (flag_zero_initialized_in_bss): Declare.
7347 * toplev.c (flag_zero_initialized_in_bss): New flag.
7348 (lang_independent_options): Add flag_zero_initialized_in_bss.
7349 * tree.c (initializer_zerop): New function.
7350 * tree.h (initializer_zerop): Declare.
7351 * varasm.c (assemble_variable): If we can emit bss, put zero
7352 initializers in the bss section.
7353
ca734b39
AM
73542002-03-02 Alan Modra <amodra@bigpond.net.au>
7355
7356 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
7357 like more than one symbol per .weak directive.
7358
49b72306
RH
73592002-03-01 Richard Henderson <rth@redhat.com>
7360
7361 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
7362 adjust argument_pointer by pretend_args_size.
7363 (ia64_va_start): Adjust va_start address by -pretend_args_size.
7364
fbf0fe41
KH
73652002-03-01 Kazu Hirata <kazu@hxi.com>
7366
7367 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
7368
0010687d
JH
7369Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
7370
7371 * toplev.c (rest_of_compilation): Delete dead jumptables before
7372 loop.
7373 * flow.c (delete_dead_jumptables): Make global.
7374 * rtl.h (delete_dead_jumptables): Declare.
7375
9429c84c
DE
73762002-03-01 David Edelsohn <edelsohn@gnu.org>
7377
7378 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
7379 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 7380 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 7381
f0b6f9a6
KH
73822002-03-01 Kazu Hirata <kazu@hxi.com>
7383
7384 * config/h8300/h8300-protos.h: Fix formatting.
7385 * config/h8300/h8300.c: Likewise.
7386 * config/h8300/h8300.h: Likewise.
7387
bc8db8a1
KH
73882002-03-01 Kazu Hirata <kazu@hxi.com>
7389
7390 * config/h8300/h8300.c (print_operand): Support 16-bit
7391 constant addresses.
7392 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
7393
32b069d3
RH
73942002-02-28 Richard Henderson <rth@redhat.com>
7395
7396 * expmed.c (store_bit_field): Prevent generation of CONCATs;
7397 pun complex values as integers; use gen_lowpart instead of
7398 gen_rtx_SUBREG.
7399 (extract_bit_field): Likewise.
7400
79c4e63f
AM
74012002-03-01 Alan Modra <amodra@bigpond.net.au>
7402 David Edelsohn <edelsohn@gnu.org>
7403
7404 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
7405 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
7406 (SUPPORTS_WEAK): Likewise.
7407 * output.h (add_weak): Add tree param.
7408 * varasm.c (add_weak): Likewise. Save decl.
7409 (struct weak_syms): Add decl field.
7410 (mark_weak_decls): New function.
7411 (init_varasm_once): ggc_add_root mark_weak_decls.
7412 (assemble_start_function): Use ASM_WEAKEN_DECL.
7413 (assemble_variable): Likewise.
7414 (assemble_alias): Likewise.
7415 (declare_weak): Pass decl to add_weak.
7416 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
7417 (remove_from_pending_weak_list): Declare and define for
7418 ASM_WEAKEN_DECL.
7419 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
7420 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
7421 * defaults.h (SUPPORTS_WEAK): Likewise.
7422 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
7423 .weak for code sym. Do emit .size for descriptor sym.
7424 (ASM_DECLARE_FUNCTION_SIZE): Define.
7425 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
7426 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
7427 .lglobl unless TARGET_XCOFF. Formatting fixes.
7428 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
7429 .weak for code sym.
7430 (HANDLE_PRAGMA_WEAK): Remove.
7431 (ASM_WEAKEN_LABEL): Remove.
7432 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
7433
6f30f1f1
JM
74342002-03-01 Jason Merrill <jason@redhat.com>
7435
7436 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
7437 (TARGET_EXPR_CLEANUP): New macro.
7438
7879b81e
SE
74392002-02-28 Steve Ellcey <sje@cup.hp.com>
7440
7441 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
7442 to take ptr_extend into account as third type of extension.
7443 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
7444 fields used by SUBREG_PROMOTED_UNSIGNED_P.
7445 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
7446 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
7447 * calls.c (precompute_arguments): Use new macro.
7448 (expand_call): Ditto.
7449 * combine.c (nonzero_bits): Ditto.
7450 (record_promoted_value): Ditto.
7451 * expr.c (store_expr): Ditto.
7452 (expand_expr): Ditto.
7453 * function.c (assign_parms): Ditto.
7454
42d579d8
AO
74552002-02-28 Alexandre Oliva <aoliva@redhat.com>
7456
7457 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
7458 override -shared and -shared-libgcc.
7459
e0054185
DB
74602002-02-28 David O'Brien <obrien@FreeBSD.org>
7461
7462 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
7463 of "ultrasparc".
7464 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
7465 to be broken.
7466
abda4f1c
RH
74672002-02-28 Richard Henderson <rth@redhat.com>
7468
7469 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
7470 4 cycle latency from MM producers.
7471 (ia64_internal_sched_reorder): Likewise with pipeline flush.
7472
c0f08649
JJ
74732002-02-28 Jakub Jelinek <jakub@redhat.com>
7474
7475 * mklibgcc.in: Don't use GNU make extension.
7476
f79f2651
NB
74772002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
7478
7479 * c-parse.in (STATIC): New terminal.
7480 (scspec): New non-terminal. Update productions accordingly.
7481 (program): Remove bogus ifc / end ifc.
7482 (array_declarator): Simplify production using STATIC.
7483
001e3fee
JM
74842002-02-28 Jim Meyering <meyering@lucent.com>
7485
7486 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
7487 \a still means TARGET_BELL.
7488
89076bb3
RH
74892002-02-28 Richard Henderson <rth@redhat.com>
7490
7491 * haifa-sched.c (sched_emit_insn): New.
7492 (schedule_block): Use last_scheduled_insn to track last insn.
7493 * sched-int.h (sched_emit_insn): Prototype.
7494 * config/ia64/ia64.c (last_issued): Remove.
7495 (ia64_variable_issue): Don't set it.
7496 (nop_cycles_until): Use sched_emit_insn.
7497
e3aaacf4
AM
74982002-02-28 Andrew MacLeod <amacleod@redhat.com>
7499
7500 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
7501 extended constants.
7502
7f473594
KH
75032002-02-28 Kazu Hirata <kazu@hxi.com>
7504
7505 * config/h8300/h8300.c: Fix formatting.
7506 * config/h8300/h8300.h: Likewise.
7507
b96c434c
MM
75082002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
7509
7510 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
7511 which may overwrite the high byte of the frame pointer.
7512
9b420a6a
BT
75132002-02-28 Bo Thorsen <bo@suse.de>
7514
7515 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
7516 (STARTFILE_SPEC): Add 64 bit files.
7517 (ENDFILE_SPEC): Likewise.
7518
6f30f1f1 75192002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
7520
7521 * c-decl.c (finish_function): Only warn about missing return
7522 statement with -Wreturn-type.
7523
70da1d03
JH
7524Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
7525
7526 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
7527
7528 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
7529 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
7530
38c1593d
JH
7531Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
7532
7533 * basic-block.h (BB_REACHABLE): Renumber.
7534 (BB_DIRTY, BB_NEW): New flags.
7535 (clear_bb_flags): Declare.
7536 (update_life_info_in_dirty_blocks): Declare.
7537 * cfg.c (clear_bb_flags): New function.
7538 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
7539 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
7540 reorder_insns, emit_insn_after): Mark block as dirty.
7541 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
7542 (update_life_info_in_dirty_blocks): New function.
7543 * recog.c (apply_change_group): Dirtify block.
7544
7545 * cse.c (cse_insn): Reorder emitting of jump insn to keep
7546 cfg consistent.
7547 * gcse.c (delete_null_pointer_checks): Likewise.
7548
7549 * toplev.c (dump_file_index): Move cse2 after bp,
7550 add DFI_null
7551 (dump_file_info): Similary.
7552 (rest_of_compilation): Avoid most of CFG rebuilds;
7553 do first if converision after null pointer checks, do cse2
7554 after branch prediction; avoid full liveness rebuild after
7555 initializing subregs.
7556 * invoke.texi (-d options): Document -du, renumber.
7557
7558 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
7559 (notice_new_block): Do not set BB_UPDATE_LIFE.
7560 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
7561 merge_blocks_move_successor_nojumps, merge_blocks,
7562 try_crossjump_to_edge): Likewise.
7563 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
7564 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
7565 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
7566 (merge_of_block): Do not use life_data_ok.
7567 (find_if_case_1): Do not use SET_UPDATE_LIFE.
7568 (if_convert): Use BB_DIRTY mechanizm to update life.
7569 * lcm.c (optimize_mode_switching): Update
7570 update_life_info_in_dirty_blocks
7571
63e1b1c4
NB
75722002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
7573
7574 * Makefile.in (integrate.o): Update.
7575 * c-decl.c (copy_lang_decl): Rename.
7576 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
7577 * integrate.c: Include langhooks.h.
7578 (copy_decl_for_inlining): Update to use langhook.
7579 * langhooks-def.h (lhd_do_nothing_t,
7580 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
7581 (LANG_HOOKS_INITIALIZER): Update.
7582 * langhooks.c (lhd_do_nothing_t): New.
7583 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
7584 * tree.h (copy_lang_decl): Remove.
7585objc:
7586 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
7587
f472fa29
AM
75882002-02-27 Andrew MacLeod <amacleod@redhat.com>
7589
ba31d94e 7590 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
7591 POST_DEC, and POST_MODIFY.
7592
273cf2e4
ZW
75932002-02-27 Zack Weinberg <zack@codesourcery.com>
7594
7595 * c-typeck.c (digest_init): Remove unused parameter; all
7596 callers changed.
7597
4e07d762
GK
75982002-02-27 Geoffrey Keating <geoffk@redhat.com>
7599
7600 * expmed.c (expand_shift): Correctly test for low part of a
7601 subreg.
7602
6bc627b3
UW
76032002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
7604
7605 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
7606 insn UIDs with insn addresses.
7607
f458d1d5
ZW
76082002-02-27 Zack Weinberg <zack@codesourcery.com>
7609
7610 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
7611 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
7612 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
7613 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
7614 gcc.c, toplev.c: Delete code implementing -traditional mode.
7615
7616 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
7617 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
7618 Document removal of -traditional mode for compilation, and
7619 remove documentation only relevant to that mode.
7620
7621 * config/nextstep.h, config/ptx4.h, config/svr4.h,
7622 config/convex/convex.h, config/d30v/d30v.h,
7623 config/i386/dgux.h, config/i386/osf1elf.h,
7624 config/i386/osfelf.h, config/i386/osfrose.h,
7625 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
7626 config/m68k/hp310.h, config/m88k/dgux.h,
7627 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
7628 config/m88k/m88k.h, config/m88k/openbsd.h,
7629 config/mips/abi64.h, config/mips/osfrose.h,
7630 config/mips/svr4-5.h, config/mips/svr4-t.h,
7631 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
7632 config/stormy16/stormy16.h: Remove all references to
7633 -traditional from target specs. Delete all mention of the
7634 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
7635 delete a couple of commented-out definitions of
7636 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
7637 to -traditional.
7638
7639 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
7640 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
7641
e0b3a8ff
ZW
76422002-02-27 Zack Weinberg <zack@codesourcery.com>
7643
7644 * mklibgcc.in: Don't use \n in a line subject to
7645 interpretation by echo.
7646
5c6a85b7
GS
76472002-02-27 Graham Stott <grahams@redhat.com>
7648
72b05af1
GS
7649 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
7650 Constify NAME.
7651
7d104885
GS
7652 * loop.c (prescan_loop): Handle PARALLEL.
7653
8ed805d2
GS
7654 * unroll.c (loop_iterations): Return 0 if the add_val for
7655 a BIV is REG.
7656
fd478a0a
GS
7657 * final.c (output_operand_lossage): Constify PFX_STR.
7658
5c6a85b7
GS
7659 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
7660
cd98ad03
JH
7661Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
7662
7663 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
7664 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
7665
639ae55b
JH
7666Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
7667
7668 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
7669
e808ec9c
NB
76702002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
7671
7672 * cpplex.c (_cpp_lex_token): Handle directives in macro
7673 arguments.
7674 * cpplib.c (_cpp_handle_directive): Save and restore state
7675 if parsing macro args when entering a directive.
7676 * cppmacro.c (collect_args): No need to handle directives
7677 in macro arguments.
7678 (enter_macro_context, replace_args): Use the original macro
7679 definition in case it was redefined whilst collecting arguments.
7680doc:
7681 * cpp.texi: Update.
7682
f585a356
DE
76832002-02-26 David Edelsohn <edelsohn@gnu.org>
7684
7685 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
7686 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
7687 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
7688 method on AIX.
7689 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
7690 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
7691 (load_toc_v4_PIC_2): Same.
7692
76932002-02-26 Alan Modra <amodra@bigpond.net.au>
7694
7695 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
7696
d699058e
RH
76972002-02-26 Richard Henderson <rth@redhat.com>
7698
7699 * config/alpha/alpha.md (ashldi_se): Re-enable.
7700
eadccfbb
RH
77012002-02-26 Richard Henderson <rth@redhat.com>
7702
7703 * config/alpha/alpha.c (alpha_encode_section_info): Examine
7704 MODULE_LOCAL_P; improve commentary.
7705
7080ada1
ZW
77062002-02-26 Zack Weinberg <zack@codesourcery.com>
7707
7708 * doc/cpp.texi: Clarify documentation of relationship between
7709 #line and #include.
7710
b42cff6b
KH
77112002-02-26 Kazu Hirata <kazu@hxi.com>
7712
7713 * config/h8300/h8300-protos.h: Update the prototype for
7714 compute_logical_op_length. Add the prototype for
7715 compute_logical_op_cc.
7716 * config/h8300/h8300.c (compute_logical_op_length): Figure out
7717 code from operands.
7718 (compute_logical_op_cc): New.
7719 * config/h8300/h8300.md: Combine all the logical op patterns
7720 in HImode and SImode. Use compute_logical_op_cc.
7721
831c4e87
KC
77222002-02-26 Kelley Cook <kelleycook@comcast.net>
7723
7724 * config/i386/i386.c (print_operand): Don't append ATT-style
7725 length suffixs to x87 opcodes when in Intel mode.
7726
ff88fe10
RS
77272002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
7728
7729 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
7730 (init_emit_once): Update calls.
7731 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
7732 (init_syntax_once): Prototype.
7733
d4108589
JDA
77342002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7735
7736 * pa-linux.h (LIB_SPEC): Update definition.
7737 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
7738
e013f3c7
RH
77392002-02-26 Richard Henderson <rth@redhat.com>
7740
7741 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
7742 if we emitted a stop bit.
7743
9e944a16
JJ
77442002-02-26 Jakub Jelinek <jakub@redhat.com>
7745
7746 * configure.in (libgcc_visibility): Substitute.
7747 * configure: Rebuilt.
7748 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
7749 defined symbols .hidden.
7750
47bd70b5
JJ
77512002-02-26 Jakub Jelinek <jakub@redhat.com>
7752
7753 * attribs.c (c_common_attribute_table): Add visibility.
7754 (handle_visibility_attribute): New function.
7755 * varasm.c (assemble_visibility): New function.
7756 * output.h (assemble_visibility): Add prototype.
7757 * tree.h (MODULE_LOCAL_P): Define.
7758 * crtstuff.c (__dso_handle): Use visibility attribute.
7759 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
7760 for MODULE_LOCAL_P symbols too.
7761 * config/ia64/ia64.c (ia64_encode_section_info): Handle
7762 MODULE_LOCAL_P symbols the same way as local symbols.
7763 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
7764 into .sdata/.sbss by the user.
7765 * doc/extend.texi (Function Attributes): Document visibility
7766 attribute.
7767
6d73371a
JJ
77682002-02-26 Jakub Jelinek <jakub@redhat.com>
7769
7770 PR debug/5770
7771 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
7772 STRING_CST initializer spanning the whole variable without
7773 embedded zeros.
7774 If expand_expr returned MEM, don't use it.
7775
06e224f7
AO
77762002-02-26 Alexandre Oliva <aoliva@redhat.com>
7777
7778 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
7779 generate a die for the lexical block.
7780
40367e2d
KH
77812002-02-26 Kazu Hirata <kazu@hxi.com>
7782
7783 * config/h8300/h8300-protos.h: Add a prototype for
7784 compute_logical_op_length.
7785 * config/h8300/h8300.c (compute_logical_op_length): New.
7786 * config/h8300/h8300.md (anonymous logical patterns): Use
7787 compute_logical_op_length for length.
7788
0e98f924
AH
77892002-02-26 Aldy Hernandez <aldyh@redhat.com>
7790
831c4e87
KC
7791 * dwarf2out.c (modified_type_die): Do not call type_main_variant
7792 for vectors.
7793 (gen_type_die): Same.
0e98f924 7794
831c4e87 7795 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 7796
a50cfd52
DE
77972002-02-26 Daniel Egger <degger@fhm.edu>
7798
831c4e87
KC
7799 * config/rs6000/rs6000.md: Swap define_insn attributes to
7800 fix incorrect generation of merge high instructions instead
7801 of merge low.
a50cfd52 7802
b7997284
AH
78032002-02-26 Aldy Hernandez <aldyh@redhat.com>
7804
831c4e87
KC
7805 * c-typeck.c (really_start_incremental_init): Use
7806 bitsize_zero_node for vectors.
b7997284 7807
376aec5d
AH
78082002-02-26 Aldy Hernandez <aldyh@redhat.com>
7809
831c4e87
KC
7810 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
7811 ("*set_vrsave_internal"): Same.
376aec5d 7812
3b40e71b
RH
78132002-02-25 Richard Henderson <rth@redhat.com>
7814
7815 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
7816 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
7817
232b8f52
JJ
78182002-02-25 Jakub Jelinek <jakub@redhat.com>
7819
7820 PR target/5755
7821 * config/i386/i386.c (ix86_return_pops_args): Only pop
7822 fake structure return argument if it was passed on the stack.
7823
67282790
JM
78242002-02-25 Jason Merrill <jason@redhat.com>
7825
7826 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
7827 RESULT_DECL.
7828
5c181756
AO
78292002-02-25 Alexandre Oliva <aoliva@redhat.com>
7830
7831 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
7832 link with shared_name only.
7833 * doc/invoke.texi (Link Options): Document new behavior.
7834
6786d201
AH
78352002-02-25 Aldy Hernandez <aldyh@redhat.com>
7836
831c4e87 7837 * c-typeck.c (push_init_level): Handle vectors.
6786d201 7838
7d6040e8
AO
78392002-02-25 Alexandre Oliva <aoliva@redhat.com>
7840
7841 * config/sparc/sparc.c (const64_high_operand): Zero-extend
7842 operands of SPARC_SETHI_P.
7843 (input_operand): Likewise.
7844 (sparc_emit_set_const32): Likewise.
7845 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
7846 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
7847 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
7848 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
7849 (movdi_insn_sp64_vis): Likewise.
7850 (movdi split, movdf split): Use SETHI32.
7851 * doc/md.texi: Document SPARC constraints L, M and N.
7852
b188f760
AH
78532002-02-25 Aldy Hernandez <aldyh@redhat.com>
7854
831c4e87
KC
7855 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
7856 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 7857
831c4e87
KC
7858 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
7859 gen_get_vrsave_internal.
b188f760 7860
8041889f
RK
7861Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7862
7863 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
7864
a47ed310
NB
78652002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
7866
7867 * cpplex.c (cpp_interpret_charconst): Get signedness or
7868 otherwise of wide character constants correct.
7869 * cppexp.c (lex): Get signedness of wide charconsts correct.
7870
cb8f73be
RK
7871Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7872
7873 * optabs.c (widen_operand): Only call convert_modes for
7874 promoted SUBREG if signedness matches.
7875 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
7876
2450e0b8
NB
78772002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
7878
7879 * cpplib.c (glue_header_name): Use local buffer to build up
7880 header name.
7881
70b6aaed
NB
78822002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
7883
7884 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
7885
6be580c7
KH
78862002-02-23 Kazu Hirata <kazu@hxi.com>
7887
7888 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
7889 H8/300[HS] separately.
7890 * config/h8300/h8300.md: Remove the early clobber constraint
7891 from bit field patterns.
7892
35dad9f1
KH
78932002-02-23 Kazu Hirata <kazu@hxi.com>
7894
7895 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
7896 register_operand.
7897 (mulhisi3): Likewise.
7898 (umulqisi3): Likewise.
7899 (umulhisi3): Likewise.
7900
ab8e2228
NB
79012002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
7902
7903 * cppinit.c (output_deps): Correct test for stdout output.
7904 (init_dependency_output): Cure warning.
7905
ac6f8a15
RK
7906Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7907
7908 * expr.c (store_expr): When converting expression to promoted
7909 equivalent type, allow using SUBREG_REG of TARGET as the target
7910 of the expansion of EXP.
7911 * loop.c (basic_induction_var, case SUBREG): Always look inside.
7912 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
7913 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
7914 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
7915 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
7916
f282ffb3
JM
79172002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
7918
7919 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
7920 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
7921 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
7922
44c5edc0
JJ
79232002-02-23 Jakub Jelinek <jakub@redhat.com>
7924
7925 PR optimization/5747
7926 * loop.c (scan_loop): Update reg info if move_movables created new
7927 pseudos.
7928
f98e43c0
DE
79292002-02-23 David Edelsohn <edelsohn@gnu.org>
7930
7931 * gcc.c (init_gcc_spec): Revert last change.
7932
e72247f4
DE
79332002-02-23 David Edelsohn <edelsohn@gnu.org>
7934
7935 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
7936 gpc_reg_operand constraint.
7937
79382002-02-23 Alan Modra <amodra@bigpond.net.au>
7939
7940 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
7941 Simplify comparison of `low'.
7942 (add_operand): Fix formatting.
7943 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 7944 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
7945 (rs6000_stack_info): Remove redundant test setting push_p.
7946 (output_toc): Fix formatting.
7947 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
7948 cc_reg_not_cr0_operand constraint.
7949 (booldi3, boolcdi3 splitters): Same.
7950
a5c30531
AH
79512002-02-23 Aldy Hernandez <aldyh@redhat.com>
7952
831c4e87 7953 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 7954
43710f9f
DE
79552002-02-22 David Edelsohn <edelsohn@gnu.org>
7956
7957 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
7958 gcc invoked with -shared-libgcc.
7959
3256b817
JJ
79602002-02-22 Jakub Jelinek <jakub@redhat.com>
7961
7962 PR c++/5748
7963 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
7964 decl if any of elements was TREE_USED.
7965
9e0625a3
AO
79662002-02-22 Alexandre Oliva <aoliva@redhat.com>
7967
7968 * config/sparc/sol2.h: Don't include sys/mman.h.
7969 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
7970 (arith_4096_operand): Don't throw high bits away.
7971 (const64_operand): Take sign extension of CONST_INTs into account.
7972 (const64_high_operand, sparc_emit_set_const32): Likewise.
7973 (GEN_HIGHINT64): Likewise.
7974 (sparc_emit_set_const64_quick1): Likewise.
7975 (const64_is_2insns): Likewise.
7976 (print_operand): Use trunc_int_for_mode for sign extension.
7977 * config/sparc/sparc.h (SMALL_INT32): Likewise.
7978 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
7979 chars. Assume CONST_INT is already properly sign-extended.
7980 (movdi split): Sign-extend each SImode part.
7981 (andsi3 split): Don't mask high bits off, so that result
7982 remains properly sign-extend.
7983 (iorsi3 split): Likewise.
7984 (xorsi3 split): Likewise.
7985
54fec3d5
RS
79862002-02-22 Richard Sandiford <rsandifo@redhat.com>
7987
7988 * fold-const.c (fold): Fix typo in comments.
7989
667ada9b
DN
79902002-02-21 Diego Novillo <dnovillo@redhat.com>
7991
7992 * Makefile.in (langhooks.o): Update dependencies.
7993
29ac78d5
DN
79942002-02-21 Diego Novillo <dnovillo@redhat.com>
7995
7996 * langhooks.c: Include flags.h.
7997
6aa77e6c
AH
79982002-02-21 Aldy Hernandez <aldyh@redhat.com>
7999
8000 * testsuite/gcc.dg/attr-alwaysinline.c: New.
8001
8002 * c-common.c (c_common_post_options): Set inline trees by
8003 default.
8004
8005 * doc/extend.texi (Function Attributes): Document always_inline
8006 attribute.
8007 Update documentation about inlining when not optimizing.
8008
8009 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
8010
8011 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
8012 unless DECL_ALWAYS_INLINE.
8013
8014 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
8015 unless DECL_ALWAYS_INLINE.
8016 (c_disregard_inline_limits): Disregard if always_inline set.
8017
8018 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
8019 Disregard if always_inline set.
8020 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
8021 unless DECL_ALWAYS_INLINE.
8022
8023 * attribs.c (handle_always_inline_attribute): New.
8024 (c_common_attribute_table): Add always_inline.
8025
8026 * config/rs6000/altivec.h: Add prototypes for builtins
8027 requiring the always_inline attribute.
8028
c410d49e
EC
80292002-02-21 Eric Christopher <echristo@redhat.com>
8030
8031 * expmed.c (store_bit_field): Try to simplify the subreg
8032 before generating a new one when when the mode size of
8033 value is less than maxmode.
8034
e3c8ea67
RH
80352002-02-21 Richard Henderson <rth@redhat.com>
8036
8037 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
8038 than gen_rtx_PLUS to form the sum.
8039 * explow.c (force_reg): Rearrange to not allocate new pseudo
8040 when force_operand returns a register.
8041 * expr.c (expand_assignment): Allow offset_rtx expansion to
8042 return a sum. Do not force addresses into registers.
8043 (expand_expr): Likewise.
8044 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
8045 to canonicalize arithmetic that didn't simpify.
8046 (simplify_plus_minus): New argument force; update
8047 all callers. Don't split CONST unless we can do something with it,
8048 and wouldn't lose the constness of the operands.
8049
8050 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
8051 that we generated earlier.
8052
c1a046e5
TT
80532002-02-21 Tom Tromey <tromey@redhat.com>
8054
8055 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8056 (output_line_info): Use constant `1', with a long explanatory
8057 comment.
8058 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
8059
31fbaad4
R
8060Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
8061
8062 * jump.c (redirect_jump): If old label has no UID, don't try to
8063 delete it.
8064
a7f52356
R
8065Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
8066
8067 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
8068 If input is constant, do shifts at compile time.
8069
924fcc4e
JM
80702002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
8071
8072 * doc/extend.texi: Fix some more overfull hboxes.
8073
e5a20888
JJ
80742002-02-21 Jakub Jelinek <jakub@redhat.com>
8075
8076 PR optimization/4994
8077 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
8078 register moves.
8079
80802002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
8081
8082 PR c++/4574
8083 * expr.h (expand_and): Add mode argument.
8084 * expmed.c (expand_and): Add mode argument.
8085 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
8086 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
8087 * except.c (expand_builtin_extract_return_addr): Likewise.
8088 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
8089 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
8090 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
8091 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
8092 * config/c4x/c4x.md: Use GEN_INT (x) instead of
8093 gen_rtx (CONST_INT, VOIDmode, x).
8094
7133e992
JJ
80952002-02-21 Jakub Jelinek <jakub@redhat.com>
8096
8097 PR c/4697:
8098 * stmt.c (warn_if_unused_value): Move side effects test once more.
8099
e2ec05a6
TG
81002002-02-20 Torbjorn Granlund <tege@swox.com>
8101
8102 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 8103 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 8104
9dd791c8
AO
8105Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
8106
8107 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
8108 SUBREG or ZERO_EXTEND.
8109
7ab56274
R
8110Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
8111
8112 * sh.h (current_function_anonymous_args): Remove.
8113 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
8114 of current_function_varargs and current_function_stdarg is set.
8115 * sh.c (sh_expand_prologue): Check current_function_varargs /
8116 current_function_stdarg / TARGET_SH5 instead of
8117 current_function_anonymous_args.
8118
8119 * sh64.h (TARGET_VERSION): Define.
8120
b1765bde
DE
81212002-02-20 David Edelsohn <edelsohn@gnu.org>
8122
8123 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
8124 VRSAVE_REGNO on TARGET_ALTIVEC.
8125
81262002-02-20 Alan Modra <amodra@bigpond.net.au>
8127
8128 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
8129 bits of SImode const_int.
8130 (includes_rshift_p): Likewise.
8131 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 8132 mode.
b1765bde
DE
8133 (rs6000_output_function_epilogue): Pad traceback table to word.
8134 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
8135 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
8136 mask64_operand with correct mode.
b1765bde
DE
8137 (FUNCTION_ARG_REGNO_P): Correct parentheses.
8138
149d6f9e
JJ
81392002-02-20 Jakub Jelinek <jakub@redhat.com>
8140
8141 PR debug/4461
8142 * varasm.c (get_pool_constant_mark): New.
8143 * rtl.h (get_pool_constant_mark): Add prototype.
8144 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
8145 be represented if it has not been output.
8146
4161da12
AO
81472002-02-20 Alexandre Oliva <aoliva@redhat.com>
8148
8149 * combine.c (do_SUBST): Sanity check substitutions of
8150 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
8151 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
8152 CONST_INT into its operand.
8153 (known_cond): Likewise, for ZERO_EXTEND.
8154 * simplify-rtx.c (simplify_unary_operation): Fix condition to
8155 allow for simplification of wide modes. Reject CONST_INTs in
8156 ZERO_EXTEND when their actual mode is not given.
8157
3704ef74
AO
81582002-02-20 Alexandre Oliva <aoliva@redhat.com>
8159
8160 * c-decl.c (pushdecl): If no global declaration is found for an
8161 extern declaration in block scope, try a limbo one.
8162
7552da58
JJ
81632002-02-20 Jakub Jelinek <jakub@redhat.com>
8164
8165 PR c++/4401
8166 * c-common.c (pointer_int_sum): Moved from...
8167 * c-typeck.c (pointer_int_sum): ...here.
8168 * c-common.h (pointer_int_sum): Add prototype.
8169
00fae85d
JJ
81702002-02-20 Jakub Jelinek <jakub@redhat.com>
8171
8172 PR c++/5713
8173 * c-decl.c (duplicate_decls): Return 0 if issued error about
8174 redeclaration.
8175
4636c87e
JJ
81762002-02-20 Roger Sayle <roger@eyesopen.com>
8177 Jakub Jelinek <jakub@redhat.com>
8178
8179 PR c/4389
8180 * tree.c (host_integerp): Ensure that the constant integer is
8181 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
8182 when pos is zero or non-zero respectively. Clarify comment.
8183 * c-format.c (check_format_info_recurse): Fix host_integerp
8184 usage; the pos argument should be zero when assigning to a
8185 signed HOST_WIDE_INT.
8186
59bef189
RH
81872002-02-20 Richard Henderson <rth@redhat.com>
8188
8189 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
8190 of the operand, rather than assuming TImode.
8191 (ix86_expand_binop_builtin): Cope with commutative patterns
8192 using nonimmediate_operand for both operands.
8193 (ix86_expand_timode_binop_builtin): Likewise.
8194 (ix86_expand_store_builtin): Validate operand 1.
8195 (ix86_expand_unop1_builtin): Likewise.
8196
9338ffe6 81972002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 8198
9338ffe6
PB
8199 PR 5705
8200 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
8201
f322b423
RH
82022002-02-20 Richard Henderson <rth@redhat.com>
8203
8204 PR c/5615
8205 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
8206
d94084f7
TT
82072002-02-20 Tom Tromey <tromey@redhat.com>
8208
8209 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8210 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8211 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8212 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
8213 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
8214 unconditionally.
8215
37fa124a
AM
8216Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
8217
8218 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
8219 for (const_int 0) in X not just INTVAL.
8220
6e5bb5ad
JM
82212002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
8222
8223 * doc/extend.texi: Avoid or reduce overfull hboxes.
8224
420e7dfa
DN
82252002-02-20 Diego Novillo <dnovillo@redhat.com>
8226
8227 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
8228 operations if the field does not start at a mode boundary.
8229
1b7a2af6
JS
82302001-02-20 Joel Sherrill <joel@OARcorp.com>
8231
8232 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
8233 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
8234 Also done for -Acpu and -Amachine.
8235
56cd5b95
NB
82362002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
8237
8238 * cppinit.c (init_dependency_output): Take deps output file
8239 from -o if none given with -MF. Suppress normal output.
c410d49e 8240 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
8241 * doc/cpp.texi, doc/invoke.texi: Update.
8242
042cdf71
ZW
82432002-02-19 Zack Weinberg <zack@codesourcery.com>
8244
8245 * toplev.c (output_quoted_string): Write unprintable
8246 characters with octal escapes.
8247
c1f11548
DE
82482002-02-19 David Edelsohn <edelsohn@gnu.org>
8249
8250 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
8251 really_call_used[VRSAVE_REGNO] if not Altivec.
8252
82532002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 8254
c1f11548
DE
8255 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
8256 MODE_MASK.
8257 (constant_pool_expr_1): Fix formatting.
8258 (rs6000_legitimize_reload_address): Likewise.
8259
c964d90e
RK
8260Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8261
8262 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
8263 now that we have one.
8264
ae34ac46
ZW
82652002-02-19 Zack Weinberg <zack@codesourcery.com>
8266
8267 * tree.h (struct tree_common): Remove aux. Add unused_0 at
8268 end of first block of bitfields (which was only seven bits);
8269 rename dummy to unused_1; remove comment which is no longer true.
8270
293c28ee
GS
82712002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
8272
8273 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
8274
7b8781c8
PB
82752002-02-19 Philip Blundell <pb@nexus.co.uk>
8276
0cb6c58d 8277 PR 5399
7b8781c8
PB
8278 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
8279 if generating PIC.
8280
8281 PR 5054
8282 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
8283 arm_is_longcall_p rather than inspecting call-type cookie
8284 directly.
8285 (call_value_insn) [TARGET_THUMB]: Likewise.
8286
5c464583
GS
82872002-02-19 Graham Stott <grahams@redhat.com>
8288
8289 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
8290
71c061e6
DE
82912002-02-19 David Edelsohn <edelsohn@gnu.org>
8292
8293 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
8294 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 8295 (FP_SAVE_INLINE): Delete.
71c061e6
DE
8296
8297 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
8298 * config/rs6000/eabi.asm: Remove ABI save restore routines.
8299 * config/rs6000/t-ppccomm: Build crtsavres.o.
8300 * config/rs6000/crtsavres.asm: New file.
8301
3a7731fd
PB
83022002-02-19 Philip Blundell <philb@gnu.org>
8303
8304 * config/arm/arm.c (use_return_insn): Don't reject interrupt
8305 functions.
8306 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
8307 (output_return_instruction): Allow interrupt functions to return with
8308 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
8309 (arm_expand_prologue): Subtract 4 before stacking LR in an
8310 interrupt function.
8311
14f583b8
PB
83122002-02-19 Philip Blundell <pb@nexus.co.uk>
8313
8314 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
8315 decl, not just FUNCTION_DECL.
8316 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
8317 (arm_assemble_integer): Likewise.
8318 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
8319 marked local.
c410d49e 8320
4cb7482c
MG
83212002-02-19 matthew green <mrg@eterna.com.au>
8322
8323 * config.gcc (sparc-*-netbsdelf*): Enable target.
8324 (sparc64-*-netbsd*): New target.
8325 * config/sparc/netbsd-elf.h: New file.
8326 * config/sparc/t-netbsd64: New file.
8327
2df3a718
GS
83282002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
8329
8330 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
8331
77f6c1eb
RS
83322002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
8333
8334 * doc/invoke.texi: explicitly list the style guidelines that
8335 -Weffc++ checks for.
8336
fd973d56
JH
8337Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
8338
8339 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
8340
30518e45
NB
83412002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
8342
8343 PR other/5718
8344 * gcc.c (cpp_unique_options): Treat -o as indicating object file
8345 only if not -E. If -E, pass -o through to the preprocessor.
8346
39ea5704
KH
83472002-02-19 Kazu Hirata <kazu@hxi.com>
8348
8349 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
8350 register number with an appropriate macro.
8351
7355dba7
BM
83522002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
8353
8354 * doc/rtl.texi (Constants): Close @code tag.
8355
91c8aa9e
AH
83562002-02-19 Aldy Hernandez <aldyh@redhat.com>
8357
8358 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
8359 ("mmx_uavgv4hi3"): Same.
8360 ("pmulhrwv4hi3"): Same.
8361
8362 * tree-inline.c (walk_tree): Handle vectors.
8363
8364 * c-common.c (constant_expression_warning): Handle vectors.
8365 (overflow_warning): Same.
8366
8367 * sched-deps.c (sched_analyze_2): Handle vectors.
8368
8369 * rtlanal.c (rtx_unstable_p): Handle vectors.
8370 (rtx_varies_p): Same.
8371 (count_occurrences): Same.
8372 (regs_set_between_p): Same.
8373 (modified_between_p): Same.
8374 (modified_in_p): Same.
8375 (volatile_insn_p): Same.
8376 (volatile_refs_p): Same.
8377 (side_effects_p): Same.
8378 (may_trap_p): Same.
8379 (inequality_comparisons_p): Same.
8380 (replace_regs): Same.
8381 (computed_jump_p_1): Same.
8382
8383 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
8384 argument.
8385 (inner_mode_array): New.
8386 (copy_rtx): Handle vectors.
8387 (copy_most_rtx): Same.
8388 (rtx_equal_p): Same.
8389 (get_mode_alignment): Adjust for vectors.
8390
8391 * resource.c (mark_referenced_resources): Handle vectors.
8392 (mark_set_resources): Same.
8393
8394 * reload1.c (eliminate_regs): Handle vectors.
8395 (elimination_effects): Same.
8396 (scan_paradoxical_subregs): Same.
8397
8398 * reload.c (subst_reg_equivs): Handle vectors.
8399
8400 * regrename.c (scan_rtx): Handle vectors.
8401
8402 * regclass.c (reg_scan_mark_refs): Handle vectors.
8403
8404 * recog.c (find_single_use_1): Handle vectors.
8405
8406 * local-alloc.c (equiv_init_varies_p): Handle vectors.
8407 (contains_replace_regs): Same.
8408 (memref_referenced_p): Same.
8409
8410 * integrate.c (copy_rtx_and_substitute): Handle vectors.
8411 (subst_constants): Same.
8412
8413 * genattrtab.c (attr_copy_rtx): Handle vectors.
8414 (encode_units_mask): Same.
8415 (clear_struct_flag): Same.
8416 (count_sub_rtxs): Same.
8417
8418 * gcse.c (want_to_gcse_p): Handle vectors.
8419 (oprs_unchanged_p): Same.
8420 (hash_expr_1): Same.
8421 (oprs_not_set_p): Same.
8422 (expr_killed_p): Same.
8423 (compute_transp): Same.
8424 (store_ops_ok): Same.
8425
8426 * function.c (purge_addressof_1): Do not allow paradoxical subregs
8427 of vectors.
8428 (fixup_var_refs_1): Same.
8429 (instantiate_virtual_regs_1): Same.
8430
8431 * fold-const.c (operand_equal_p): Handle vectors.
8432 (fold): Same.
8433 (rtl_expr_nonnegative_p): Same.
8434
8435 * flow.c (mark_used_regs): Handle vectors.
8436
8437 * df.c (df_uses_record): Handle vectors.
8438
8439 * cselib.c (cselib_subst_to_values): Handle vectors.
8440 (cselib_mem_conflict_p): Same.
8441 (hash_rtx): Same.
8442
8443 * cse.c (canon_reg): Handle vectors.
8444 (fold_rt): Same.
8445 (cse_process_notes): Same.
8446 (count_reg_usage): Same.
8447 (canon_hash): Same.
8448
8449 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
8450
8451 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
8452
8453 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
8454 (gen_rtx): Handle CONST_VECTOR.
8455 (gen_const_vector_0): New.
8456 (copy_rtx_if_shared): CONST_VECTORs can be shared.
8457 (reset_used_flags): Same.
8458 (copy_insn_1): Same.
8459 (initializer_constant_valid_p): Handle VECTOR_CST.
8460
8461 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
8462
8463 * doc/rtl.texi (Constants): Document const_vector.
8464 (CONST0_RTX): Update for vectors.
8465 (RTL sharing): Same.
8466
8467 * print-tree.c (print_node): Add case for VECTOR_CST.
8468
8469 * tree.h (TREE_VECTOR_CST_ELTS): New.
8470 (struct tree_vector): New.
8471 (union tree_node): Add vector node.
8472 (build_vector): Add prototype.
8473
8474 * tree.def (VECTOR_CST): New.
8475
8476 * tree.c (build_vector): New.
8477
8478 * expmed.c (make_tree): Handle CONST_VECTOR.
8479
8480 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
8481 (CONST_VECTOR_ELT): New.
8482 (CONST_VECTOR_NUNITS): New.
8483
8484 * machmode.h (GET_MODE_INNER): New.
8485 (DEF_MACHMODE): Accept 8th arg.
8486
8487 * machmode.def: Add 8th argument for vector inner mode.
8488 Add inner vector modes for vectors.
8489
8490 * rtl.def (VEC_CONST): Remove.
8491 (CONST_VECTOR): New.
8492
8493 * expr.c (clear_storage): Allow vectors.
8494 (is_zeros_p): Handle VECTOR_CST.
8495
8496 * varasm.c (output_constant_pool): Handle vectors.
8497 (rtx_const): Add veclo and vechi fields.
8498 (kind): Add RTX_VECTOR.
8499 (decode_rtx_const): Add case for vector.
8500
8501 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 8502
91c8aa9e
AH
8503 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
8504 constants. Force easy vector constants into memory.
8505 (easy_vector_constant): New.
8506 (emit_easy_vector_constant): New.
8507 (rs6000_legitimize_reload_address): Do not generate bad reloads on
8508 darwin.
8509
8510 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
8511 instruction does.
8512 ("altivec_lvxl"): Same.
8513 (altivec_lvebx): Same.
8514 (altivec_lvehx): Same.
8515 (altivec_lvewx): Same.
8516 ("*movv4si_const0"): New.
8517 ("*movv4sf_const0"): New.
8518 ("*movv8hi_const0"): New.
8519 ("*movv16qi_const0"): New.
8520
d4d6d0ce
KH
85212002-02-18 Kazu Hirata <kazu@hxi.com>
8522
8523 * config/h8300/h8300.c (notice_update_cc): Use
8524 cc_status.value2.
8525
4915d3aa
KH
85262002-02-18 Kazu Hirata <kazu@hxi.com>
8527
8528 * config/h8300/h8300.md (divmod patterns): Change the
8529 constraints for operands[1] to register_operand.
8530
82be00ee
KH
85312002-02-18 Kazu Hirata <kazu@hxi.com>
8532
8533 * config/h8300/h8300-protos.h: Remove the prototype for
8534 p_operand.
8535 * config/h8300/h8300.c (p_operand): Remove.
8536 * config/h8300/h8300.md: Replace p_operand with
8537 const_int_operand.
8538
1768c26f
PB
85392002-02-18 Philip Blundell <pb@nexus.co.uk>
8540
8541 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
8542 comment.
8543 (output_return_instruction): Allow use of LDR to unstack
8544 return addresss even for interrupt handlers or when
8545 interworking. If compiling for ARMv5, use interworking-safe
8546 return instructions by default. Remove duplicated code and
8547 lengthy "strcat" sequences.
8548
ccd84f51
FS
85492002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8550
8551 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
8552 (LINK_EH_SPEC): Define.
8553 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
8554
2c153108
UW
85552002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
8556
8557 * config/s390/s390.c (s390_emit_prologue): Do not set the
8558 frame_related flag for call-clobbered registers.
8559
e95d6b23
JH
8560Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
8561
8562 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
8563 (construct_container): Fix handling of SSE operands.
8564 (ix86_expand_builtin): Fix handling of 64bit pointers.
8565 (mmx_maskmovq_rex): New pattern.
8566
c43a12b5
JH
8567Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
8568
8569 * regrename.c (kill_set_value): Handle subregs properly.
8570
aeb85a15
DB
85712002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
8572
8573 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 8574 from objc_class_name.
aeb85a15 8575
a615ca3e
RH
85762002-02-17 Richard Henderson <rth@redhat.com>
8577
8578 * config/alpha/alpha.c (some_small_symbolic_operand,
8579 some_small_symbolic_operand_1, split_small_symbolic_operand,
8580 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
8581 Handle small SYMBOL_REFs anywhere, not just inside memories.
8582 * config/alpha/alpha-protos.h: Update.
8583 * config/alpha/alpha.h (PREDICATE_CODES): Update.
8584 * config/alpha/alpha.md (small symbolic operand splitter): Update.
8585
ddb28441
RM
85862002-02-17 Roland McGrath <roland@frob.com>
8587
8588 * config.gcc (powerpc-*-gnu-gnualtivec*,
8589 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
8590 * config/rs6000/gnu.h: New file.
8591 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
8592 Grok "gnu" in rs6000_abi_name.
8593 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
8594 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
8595 Grok -mcall-gnu analogous to -mcall-linux et al.
8596 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
8597 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
8598 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
8599
f6f8ada3
JJ
86002002-02-17 Jakub Jelinek <jakub@redhat.com>
8601
8602 PR c/3444:
8603 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
8604 shortening.
8605
e16b32fc
PT
86062002-02-17 Philipp Thomas <pthomas@suse.de>
8607
8608 * config/cris/cris.h: Undefine STARTFILE_SPEC and
8609 ENDFILE_SPEC before (re)defining them.
8610
f9477efd
KH
86112002-02-17 Kazu Hirata <kazu@hxi.com>
8612
8613 * config/h8300/h8300.c: Fix formatting.
8614 * config/h8300/h8300.h: Likewise.
8615
404ae494
PT
86162002-02-17 Philipp Thomas <pthomas@suse.de>
8617
8618 * doc/tm.texi: Explain why empty strings should not be
8619 marked for translation.
8620
a52453cc
PT
86212002-02-17 Philipp Thomas <pthomas@suse.de>
8622
8623 * final.c (output_operand_lossage): Changed to accept
8624 printf style arguments. Change calls where necessary.
8625 * output.h (output_operand_lossage): Change declaration
8626 accordingly. Update copyright.
8627 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
8628 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
8629 Update copyright date where necessary.
c410d49e 8630
a52453cc
PT
8631 * config/i386/i386.c (print_operand): Likewise. Remove use of
8632 sprintf.
8633
8634 * config/cris/cris.c (cris_operand_lossage): Likewise.
8635 Rename parameter so that exgettext recognizes it as
8636 translatable message.
8637 (LOSE_AND_RETURN): Rename parameter to msgid.
8638
1c11abc4
KH
86392002-02-17 Kazu Hirata <kazu@hxi.com>
8640
8641 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
8642 hard coded register number with an appropriate macro.
8643 (HARD_REGNO_MODE_OK): Likewise.
8644 (ARG_POINTER_REGNUM): Likewise.
8645 (STATIC_CHAIN_REGNUM): Likewise.
8646 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
8647 * config/h8300/h8300.md (define_constants): Define more
8648 register numbers.
8649
a5d17ff3
PT
86502002-02-17 Philipp Thomas <pthomas@suse.de>
8651
8652 * config/i386/i386.h: Don't mark empty strings for translation.
8653
1a7289c4
L
86542002-02-16 H.J. Lu <hjl@gnu.org>
8655
8656 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
8657
afb58288
ZW
86582002-02-16 Zack Weinberg <zack@codesourcery.com>
8659
8660 * cppinit.c (merge_include_chains): Check for brack being
8661 NULL before attempting to merge it with qtail.
8662
d2af4dbd
AC
86632002-02-16 Andrew Cagney <ac131313@redhat.com>
8664
8665 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
8666 DBX_DEBUG.
8667
2e1ed1e3
JDA
86682002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
8669
8670 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
8671
604c75b2
JDA
86722002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
8673
8674 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
8675 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
8676 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
8677
1a42b072
RK
8678Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8679
7303604f 8680 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
8681 now only if !TARGET_FIX.
8682 (*movsi_nt_vms_fix): New pattern.
8683
c2ea1ac6
DR
86842002-02-16 Douglas B Rupp <rupp@gnat.com>
8685
8686 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
8687 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
8688 (alpha_sa_mask, alpha_sa_size): Reflect above change.
8689 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
8690 (alpha_start_function, alpha_expand_epilogue): Likewise.
8691 (unicosmk_gen_dsib): Likewise.
8692
725e58b1
RK
8693Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8694
8695 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
8696
13e58269
UW
86972002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
8698
c410d49e 8699 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
8700 check_and_change_labels, s390_final_chunkify): Delete.
8701 (s390_split_branches, s390_chunkify_pool): New functions.
8702 (s390_function_prologue): Call them.
c410d49e 8703
13e58269
UW
8704 * config/s390/s390.h (S390_REL_MAX): Delete.
8705 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
8706
c410d49e 8707 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
8708 attribute calculation.
8709
8710
34d1b01d
DE
87112002-02-15 David Edelsohn <edelsohn@gnu.org>
8712
8713 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
8714 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
8715
be5cc51a
JDA
87162002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
8717
8718 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
8719 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
8720 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
8721
ee96ce90
RS
87222002-02-15 Richard Sandiford <rsandifo@redhat.com>
8723
8724 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
8725
05fa709d
RS
87262002-02-15 Richard Sandiford <rsandifo@redhat.com>
8727
8728 * reload.c (find_dummy_reload): Check that an output register
8729 is valid for its mode.
8730
4606272b
AO
87312002-02-14 Alexandre Oliva <aoliva@redhat.com>
8732
9a360704
AO
8733 * combine.c (known_cond): After replacing the REG of a SUBREG, try
8734 to simplify it.
8735
4606272b
AO
8736 * function.c (assign_parms): Demote promoted argument passed by
8737 transparent reference.
8738
e62d89a1
JS
87392001-02-14 Joel Sherrill <joel@OARcorp.com>
8740
8741 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
8742 -Acpu() and -Amachine() to eliminate warnings.
8743
6c4cf695
UW
87442002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
8745
8746 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
8747
037f11ef
KH
87482002-02-14 Kazu Hirata <kazu@hxi.com>
8749
8750 * config/h8300/h8300-protos.h: Update the prototype for
8751 const_costs.
8752 * config/h8300/h8300.c (const_costs): Treat SET as a little
8753 more expensive operation.
8754 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
8755 reference to const_costs.
8756
fdc76b09
HPN
87572002-02-14 Hans-Peter Nilsson <hp@axis.com>
8758
8759 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
8760
d76e6800
JJ
87612002-02-14 Jakub Jelinek <jakub@redhat.com>
8762
8763 PR c/5503:
8764 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
8765 use arguments from newtype.
8766
5ae590d7
EC
87672002-02-13 Eric Christopher <echristo@redhat.com>
8768
8769 * config/mips/mips.c (override_options): Add check for march/mipsX
8770 on the same command line. Fix error message in cpu processing.
8771 Remove architecture and ISA checks.
8772
b8513691
AH
87732002-02-14 Aldy Hernandez <aldyh@redhat.com>
8774
831c4e87 8775 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 8776
831c4e87 8777 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 8778
78c875e8
AH
87792002-02-14 Aldy Hernandez <aldyh@redhat.com>
8780
831c4e87
KC
8781 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
8782 alternatives.
8783 ("*movv8hi_internal1"): Same.
8784 ("*movv16qi_internal1"): Same.
8785 ("*movv4sf_internal1"): Same.
78c875e8 8786
831c4e87
KC
8787 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
8788 not push_reload for altivec modes.
78c875e8 8789
d76e6800 87902002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
8791
8792 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
8793 all RTEMS targets including removal of #includes from config/*/rtems*.h
8794 file and adding them to tm_file setting. Added xm_defines=POSIX to
8795 many targets.
8796 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
8797 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
8798 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
8799 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
8800 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
8801 config/m68k/rtemself.h: Ditto.
8802 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
8803 config/mips/rtems64.h: Ditto.
8804 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
8805 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
8806 Ditto.
8807 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
8808 config/sparc/rtemself.h: Ditto.
8809 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
8810 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
8811 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
8812 more like arm-elf.
8813 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
8814 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
8815 target made more similar to i386-elf.
8816 * config/i386/t-rtems-i386: Added soft float support and multilibs.
8817 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
8818 be similar to config/m68k/t-m68kelf.
8819 * gthr-rtems.h: Encapsulate with extern "C" for C++.
8820
8686336f
JH
8821Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
8822
8823 * regmove.c (kill_value): Handle subregs.
8824
558740bf
JH
8825Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
8826
8827 * i386.md (mul patterns): Allow memory operand to be first;
8828 add expanders where needed; fix constraints.
8829 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
8830 Allow memory operand to be the first.
8831
8832 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
8833 operands.
8834
21117a17
JJ
88352002-02-13 Jakub Jelinek <jakub@redhat.com>
8836
8837 PR c/5681:
8838 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
8839 GET_MODE (x).
8840
ec65b2e3
JJ
88412002-02-13 Jakub Jelinek <jakub@redhat.com>
8842
8843 PR optimization/5547:
8844 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
8845 all valid IA-32 address modes involving non-scaled %ebx and
8846 GOT/GOTOFF as displacement.
8847
ce50cae8
UW
88482002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
8849
8850 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
8851 after emitting ltorg insns.
8852
8853 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
8854 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
8855 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
8856 *abssf2): Fix "op_type" attribute.
8857
09eb789b
DR
88582002-02-13 Douglas B Rupp <rupp@gnat.com>
8859
2dbe67bb
DR
8860 * mkconfig.sh: Avoid using a subshell redirect.
8861 ($output.T): Change to $(output)T.
8862 (ENABLE_NLS): Remove unneeded undef.
8863
ea5b9a1f
DR
8864 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
8865 * config/alpha/x-vms (libsubdir): Define.
8866
3deb00ce
DR
8867 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
8868 register frame procedures. Optimize retrieving context.
8869
09eb789b
DR
8870 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
8871 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
8872 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
8873
1abade85
RK
8874Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8875
8876 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
8877 Make same change as for find_base_value.
8878
c283e63f
KH
88792002-02-13 Kazu Hirata <kazu@hxi.com>
8880
8881 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
8882 of QImode and SImode.
8883
86039100
KH
88842002-02-13 Kazu Hirata <kazu@hxi.com>
8885
8886 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
8887 length computation of movsi.
8888 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
8889
e1429da0
KH
88902002-02-13 Kazu Hirata <kazu@hxi.com>
8891
8892 * config/h8300/h8300.md (subqi3): Tighten the predicate for
8893 operands[2] to register_operand.
8894
aebfea10
JH
8895Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
8896
8897 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
8898
0ec4e2a8
AH
88992002-02-12 Aldy Hernandez <aldyh@redhat.com>
8900
831c4e87
KC
8901 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
8902 for altivec_lvx* and altivec_stvx*.
8903 ("*movv4si_internal"): Add constraint for loading from GPRs.
8904 ("*movv8hi_internal1"): Same.
8905 ("*movv16qi_internal1"): Same.
8906 ("*movv4sf_internal1"): Same.
0ec4e2a8 8907
831c4e87 8908 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 8909
831c4e87
KC
8910 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
8911 altivec_register_operand.
0ec4e2a8 8912
b007569d
HPN
89132002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
8914
8915 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
8916 handle SYMBOL_REF.
8917
e6834654
SS
89182002-02-13 Stan Shebs <shebs@apple.com>
8919
831c4e87
KC
8920 * c-typeck.c (digest_init): Handle vectors.
8921 (really_start_incremental_init): Same.
8922 (pop_init_level): Same.
8923 (process_init_element): Same.
e6834654 8924
831c4e87 8925 * varasm.c (output_constant): Same.
e6834654 8926
831c4e87
KC
8927 * expr.c (clear_storage): Same.
8928 (store_constructor): Same.
e6834654 8929
d9b3eb63
EC
89302002-02-12 Eric Christopher <echristo@redhat.com>
8931
8932 * explow.c (hard_function_value): Add comment explaining
8933 signed/unsigned comparison.
8934
56d44285
JJ
89352002-02-12 Jakub Jelinek <jakub@redhat.com>
8936
8937 * jump.c (never_reached_warning): Add finish argument.
8938 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
8939 real insn after end.
8940 * rtl.h (never_reached_warning): Adjust prototype.
8941 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
8942 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
8943 never_reached_warning.
8944
fc209487
GS
89452002-02-12 Graham Stott <grahams@redhat.com>
8946
8947 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
8948
1e41e866
KH
89492002-02-12 Kazu Hirata <kazu@hxi.com>
8950
8951 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
8952 logical shifts on H8/300.
8953 (shift_alg_si): Improve several shifts on H8/300.
8954 (get_shift_alg): Likewise.
8955
a36a47ad
GS
89562002-02-12 Graham Stott <grahams@redhat.com>
8957
8958 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
8959
0aacc8ed
RK
8960Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8961
8962 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
8963 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
8964
a02ac966
HPN
89652002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
8966
8967 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
8968 non-CONST_INT through default_assemble_integer.
8969 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
8970 <case 8>: Abort for CONST_DOUBLE.
8971
d6e06ddc
JDA
89722002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8973
8974 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
8975 is specified.
8976 * config/pa/pa-linux.h (LIB_SPEC): Delete.
8977 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
8978
515342a8
AH
89792002-02-11 Andrew Haley <aph@cambridge.redhat.com>
8980
8981 * config/stormy16/stormy16.md (zero_extendqihi2): New.
8982
cddd8b72
AO
89832002-02-11 Alexandre Oliva <aoliva@redhat.com>
8984
66df7a98
AO
8985 * regrename.c (regrename_optimize): Don't accept a
8986 part-clobbered register if the replaced register is not part
8987 clobbered.
8988
841404cd
AO
8989 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
8990 take padding into account when computing the argument value.
8991
1d1ade42
AO
8992 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
8993
cddd8b72
AO
8994 * combine.c (try_combine): Apply substitutions in
8995 CALL_INSN_FUNCTION_USAGE too.
8996
5c665b88
AH
89972002-02-11 Aldy Hernandez <aldyh@redhat.com>
8998
77f6c1eb
RS
8999 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
9000 __builtin_altivec_abs*.
9001 (bdesc_abs): New.
5c665b88 9002
77f6c1eb
RS
9003 * config/rs6000/rs6000.h (rs6000_builtins): Add
9004 ALTIVEC_BUILTIN_ABS*.
5c665b88 9005
77f6c1eb
RS
9006 * config/rs6000/altivec.h: Use const char for builtins expecting
9007 literals.
9008 (vec_abs): New versions for C and C++.
9009 (vec_abss): Same.
5c665b88 9010
3494f1b4
KH
90112002-02-10 Kazu Hirata <kazu@hxi.com>
9012
9013 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
9014 using Pmode.
9015
72431aef
KH
90162002-02-10 Kazu Hirata <kazu@hxi.com>
9017
9018 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
9019 constant definition from h8300.md.
9020 (FRAME_POINTER_REGNUM): Likewise.
9021 * config/h8300/h8300.md (define_constants): Add FP_REG.
9022
87e4ee91
KH
90232002-02-10 Kazu Hirata <kazu@hxi.com>
9024
9025 * config/h8300/h8300.c (print_operand): Remove redundant code.
9026
9c188705
KH
90272002-02-10 Kazu Hirata <kazu@hxi.com>
9028
9029 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
9030 * config/h8300/h8300.c (byte_reg): Make it static.
9031
fba78abb
RH
90322002-02-10 Richard Henderson <rth@redhat.com>
9033
9034 PR c/5623
9035 * c-typeck.c (incomplete_type_error): Handle flexible array members.
9036
65739e62
RH
90372002-02-10 Richard Henderson <rth@redhat.com>
9038
9039 PR c++/5624
9040 * tree.c (append_random_chars): Don't abort if main_input_filename
9041 does not exist.
9042
247cb9df
HPN
90432002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
9044
9045 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
9046
232bd029
KH
90472002-02-10 Kazu Hirata <kazu@hxi.com>
9048
65739e62 9049 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
9050 (pushhi1): Likewise.
9051
276ef573
JDA
90522002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
9053
9054 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
9055 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
9056
617e9ee5
DB
90572002-02-09 David O'Brien <obrien@FreeBSD.org>
9058
9059 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
9060 remove MASK_VIS.
9061 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
9062
6dfa4005
KH
90632002-02-09 Kazu Hirata <kazu@hxi.com>
9064
9065 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
9066 a half of an SImode register on H8/300.
9067
749e7b80
JH
9068Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
9069
9070 * i386.md (movdi_2): Add missing '!'.
9071
ca77d87c
KH
90722002-02-09 Kazu Hirata <kazu@hxi.com>
9073
9074 * config/h8300/h8300.h: Fix formatting. Remove commented-out
9075 definitions.
9076
16c96304
KH
90772002-02-09 Kazu Hirata <kazu@hxi.com>
9078
9079 * config/h8300/h8300.md (length): Correct the distance valid
9080 for the short branch.
9081
a364bc90
KH
90822002-02-09 Kazu Hirata <kazu@hxi.com>
9083
9084 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
9085
e4ec2cac
AO
90862002-02-09 Alexandre Oliva <aoliva@redhat.com>
9087
a138247b
AO
9088 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
9089 registers in SImode.
9090 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
9091 part-clobbered.
9092
2b1fd83f
AO
9093 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
9094 patch.
d9b3eb63 9095
fa5322fa
AO
9096 Contribute sh64-elf.
9097 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
9098 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
9099 (sh_cannot_modify_jumps_p): New function.
9100 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
9101 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
9102 (sh_ms_bitfield_layout_p): New function.
9103 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
9104 Zack Weinberg <zack@codesourcery.com>
9105 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
9106 expand_simple_binop instead of expand_binop.
9107 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
9108 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
9109 use of .quad and .uaquad.
9110 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
9111 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
9112 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
9113 * config/sh/sh.md (movdi_const, movdi_const_32bit,
9114 movdi_const_16bit): Make sure all CONSTs have modes.
9115 (sym2PIC): Ditto, but by adjusting all callers.
9116 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
9117 if the prologue calls the SHmedia argument decoder or register
9118 saver.
9119 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
9120 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
9121 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
9122 (sh_expand_epilogue): Don't emit USE of return target register.
9123 (prepare_move_operands): Legitimize DImode PIC addresses.
9124 (sh_media_register_for_return): Skip tr0, used to initialize the
9125 PIC register.
9126 (sh_expand_prologue): Remove explicit USE of return register.
9127 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
9128 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
9129 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
9130 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
9131 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
9132 EXTRA_CONSTRAINT_T.
9133 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
9134 (MOVI_SHORI_BASE_OPERAND_P): New.
9135 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
9136 (EXTRA_CONSTRAINT_T): Define in terms of them.
9137 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
9138 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
9139 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
9140 alternatives supporting TARGET_REGS.
9141 (UNSPEC_GOTPLT): New constant.
9142 (movdi split): Move incrementing of LABEL_NUSES...
9143 (movdi_const, movdi_const_32bit): Here. Use
9144 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
9145 (movdi_const_16bit): New.
9146 (call, call_value) [flag_pic]: Use GOTPLT.
9147 (call_pop, call_value_pop): New expands.
9148 (call_pop_compact, call_pop_rettramp): New insns.
9149 (call_value_pop_compact, call_value_pop_rettramp): New insns.
9150 (sibcall) [flag_pic]: Use GOT.
9151 (builtint_setjmp_receiver): Remove bogus, unused expand.
9152 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
9153 (*pt, *ptb, ptrel): New insns.
9154 (sym2GOT): Handle DImode GOT.
9155 (sym2GOTPLT, symGOTPLT2reg): New expands.
9156 (sym2PIC): New expand.
9157 (shcompact_return_tramp): Use GOTPLT to return trampoline.
9158 (shcompact_return_tramp_i): Use return register explicitly.
9159 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
9160 disable flag_reorder_blocks.
9161 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
9162 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
9163 clobbers, for clarity.
9164 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
9165 restoring of r0 in macl as MAYBE_DEAD.
9166 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
9167 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
9168 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
9169 alter_subreg all over.
9170 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
9171 reload, instead of emitting instructions that would require
9172 reloading.
9173 (casesi_load_media): Add missing modes.
9174 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
9175 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
9176 as used if the argument decoder is called.
9177 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
9178 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
9179 Pmode, then extend it to DImode if necessary.
9180 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
9181 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
9182 constants in FPU-enabled SHmedia, let them be loaded from memory.
9183 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
9184 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
9185 Adjust whitespace in assembly output templates.
9186 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
9187 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
9188 mode of if_then_else.
9189 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
9190 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
9191 sh.h.
9192 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
9193 Joern Rennecke <amylaar@redhat.com>
9194 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
9195 (SUBTARGET_CPP_PTR_SPEC): New.
9196 (SUBTARGET_CPP_SPEC): Remove.
9197 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
9198 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
9199 Fix typo in previous checkin.
9200 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
9201 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
9202 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
9203 Alexandre Oliva <aoliva@redhat.com>
9204 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
9205 what single FP register can hold for SHmedia target.
9206 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
9207 Alexandre Oliva <aoliva@redhat.com>
9208 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
9209 Do not split into SUBREG.
9210 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
9211 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
9212 and added new functions as specified in SH5 ABI r9.
9213 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
9214 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
9215 8-byte boundary.
9216 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
9217 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
9218 gen_consttable_4 and gen_consttable_8. Emit multiple labels
9219 and consttable_window_ends.
9220 2001-06-03 Graham Stott <grahams@redhat,com>
9221 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
9222 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
9223 * config/sh/sh.c (print_operand): Handle floating-point pair,
9224 vector and matrix registers.
9225 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
9226 vector modes into account.
9227 * config/sh/sh.md (movv2sf): Split move between registers into
9228 movdf.
9229 (movv4sf, movv16sf): Introduce insns that get split only after
9230 reload.
9231 * config/sh/shmedia.h: Fix Copyright dates.
9232 * config/sh/ushmedia.h: Likewise. Move loop counter
9233 declarations into conditionals that uses them.
9234 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
9235 loop boundary.
9236 * config/sh/sshmedia.h: Fix Copyright dates.
9237 (sh_media_PUTCFG): Fix constraints.
9238 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
9239 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
9240 ptrmemfunc_vbit_in_delta for SH5.
9241 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
9242 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
9243 * invoke.texi: Likewise.
9244 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
9245 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
9246 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
9247 GCC_pop_shmedia_regs_nofpu): New global symbols.
9248 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
9249 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
9250 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
9251 compact function with nonlocal labels.
9252 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
9253 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
9254 (initial_elimination_offset): Account for their stack space.
9255 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
9256 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
9257 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
9258 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
9259 least one of the operands to be a register.
9260 (movv2sf): Likewise. Renamed to movv2sf_i.
9261 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
9262 prepare_move_operands() before emitting SHmedia insns.
9263 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
9264 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
9265 Don't save nor initialize r12. Don't mis-align the stack.
9266 Pad the code with a nop.
9267 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
9268 stack.
9269 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
9270 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
9271 [__SHMEDIA__]: Implement.
9272 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
9273 * config/sh/sh.md: Set latency of `pt' closer to reality.
9274 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
9275 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
9276 Set move, load and store type attributes.
9277 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
9278 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
9279 profiling.
9280 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
9281 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
9282 * config/sh/sh.c (sh_media_register_for_return): New function.
9283 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
9284 branch-target register.
9285 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
9286 * config/sh/sh.md (return_media_i): Use any call-clobbered
9287 branch-target register.
9288 (return_media): If r18 wasn't copied in the prologue, copy it
9289 here.
9290 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
9291 Clear class FP0_REGS.
9292 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
9293 from elf.h.
9294 2001-03-08 DJ Delorie <dj@redhat.com>
9295 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
9296 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
9297 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
9298 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
9299 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
9300 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
9301 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
9302 return value correctly for call_cookie.
9303 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
9304 * config/sh/crt1.asm (start): Modified so as to call
9305 ___setup_argv_and_call_main.
9306 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
9307 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
9308 SHmedia mode.
9309 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
9310 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
9311 (STRIP_NAME_ENCODING): Use it.
9312 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
9313 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
9314 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
9315 prepare_scc_operands().
9316 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
9317 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
9318 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
9319 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
9320 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
9321 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
9322 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
9323 used in shcompact_incoming_args.
9324 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
9325 change.
9326 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
9327 mode.
9328 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
9329 Adjust accordingly.
9330 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
9331 Simplify. Adjust. Add sanity check.
9332 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
9333 FPU_SINGLE_BIT.
9334 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
9335 TARGET_SHCOMPACT.
9336 (udivsi3, divsi3): Use them.
9337 (force_mode_for_call): New insn.
9338 (call, call_value, sibcall_value): Emit it before SHcompact
9339 calls.
9340 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
9341 * config/sh/sh.md (call, call_value, sibcall): Make sure the
9342 call cookie is non-NULL before taking its value.
9343 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
9344 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
9345 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
9346 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
9347 block.
9348 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
9349 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
9350 temporary for stack adjusts. Use MACL and MACH to pass
9351 arguments to shcompact_incoming_args.
9352 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
9353 clobber r1.
9354 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
9355 (nested_trampoline): Load static chain address into r1.
9356 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
9357 2001-01-07 Alexandre Oliva <aoliva@redhat.com
9358 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
9359 fp_arith_reg_operand().
9360 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
9361 * config/sh/sh.md (casesi): Sign-extend the first two operands,
9362 and use signed compares for them.
9363 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
9364 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
9365 ones properly aligned.
9366 (find_barrier): Account for extra alignment needed for 8-byte wide
9367 constants.
9368 (machine_dependent_reorg): Require a label for the second 4-byte
9369 constant after an 8-byte one.
9370 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
9371 change.
9372 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
9373 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
9374 last_float when switching float modes.
9375 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
9376 auto-increment for general-purpose registers.
9377 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
9378 result.
9379 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
9380 for stack adjust.
9381 * config/sh/sh.c (sh_builtin_saveregs): Support using all
9382 registers for varargs.
9383 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
9384 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
9385 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
9386 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
9387 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
9388 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
9389 call_cookie accordingly.
9390 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
9391 (SHCOMPACT_BYREF): Likewise.
9392 (SHCOMPACT_FORCE_ON_STACK): New macro.
9393 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
9394 (sh_builtin_saveregs): Likewise.
9395 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
9396 shcompact_incoming_args): Use new shift values. Support
9397 sequences of consecutive and non-consecutive pushes/pops.
9398 * config/sh/sh.md (return): Don't explicitly use PR_REG.
9399 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
9400 * config/sh/sh.h (TEXT_SECTION): Define.
9401 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
9402 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
9403 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
9404 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
9405 return values on FPU-enabled SHmedia.
9406 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
9407 FPU-enabled SHmedia.
9408 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
9409 value is returned in a non-FP reg and is not returned by
9410 reference.
9411 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
9412 jump_ind.
9413 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
9414 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
9415 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
9416 quad-aligned to be passed by callee-copy reference.
9417 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
9418 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
9419 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
9420 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
9421 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
9422 copying low-numbered FP regs to r7 and r8.
9423 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
9424 FP regs to general-purpose regs only if the copy was passed on the
9425 stack.
9426 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
9427 copying FP reg to r9.
9428 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
9429 copy FP regs to general-purpose regs only in outgoing calls.
9430 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 9431 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
9432 HOST_WIDE_INT.
9433 * config/sh/sh.h (struct sh_args): Document all fields.
9434 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
9435 passed partially on the stack should not consider making
9436 sibcalls.
9437 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
9438 stack_regs only for incoming calls. When passing FP args,
9439 make sure there are FP regs available before modifying
9440 call_cookie.
9441 (SHCOMPACT_BYREF): Pass double args in general-purpose
9442 registers by reference.
9443 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
9444 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
9445 attempt to generate sibcalls if the caller got any arguments
9446 by reference.
9447 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
9448 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
9449 to 8-byte boundaries.
9450 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
9451 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
9452 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
9453 stored in the stack.
9454 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
9455 for the offsets to have the ISA bit set.
9456 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
9457 invocation. Use beq instead of bgt to mark end of sequence of
9458 loads.
9459 (shcompact_incoming_args): Fix store of r2. Use beq instead of
9460 bgt to mark end of sequence of stores.
9461 * config/sh/sh.c (arith_operand): Don't check whether
9462 CONST_OK_FOR_J for now.
9463 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
9464 instead of long for conversion.
9465 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
9466 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
9467 before passing it to fprintf.
9468 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
9469 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
9470 Call set_fpscr before reading/writing SR.
9471 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
9472 Call set_fpscr.
9473 * config/sh/lib1funcs.asm: Add `.align 2' directives before
9474 SHmedia code.
9475 (FMOVD_WORKS): Define on SH5 with FPU.
9476 (set_fpscr): Define on SH5. Remove separate _fpscr_values
9477 setting.
9478 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
9479 _fpscr_values.
9480 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
9481 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
9482 address.
9483 (ia_main_table): Ditto.
9484 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
9485 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
9486 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
9487 the definitions from sh.h.
9488 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
9489 TARGET_SH5.
9490 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
9491 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
9492 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
9493 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
9494 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
9495 Increment LABEL_NUSES.
d9b3eb63 9496
fa5322fa
AO
9497 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
9498 TARGET_SH5.
9499 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
9500 defined.
9501 * config/sh/elf.h (SIZE_TYPE): Likewise.
9502 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
9503 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
9504 shcompact_incoming_args): Load switch table addresses using
9505 datalabel.
9506 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
9507 (NO_BUILTIN_SIZE_TYPE): Define.
9508 (SIZE_TYPE): Don't define.
9509 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
9510 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
9511 definition of __SH5__=32 for -m5-compact-nofpu.
9512 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
9513 ADDR_DIFF_VEC.
9514 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
9515 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
9516 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
9517 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
9518 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
9519 (INSN_LENGTH_ALIGNMENT): Likewise.
9520 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
9521 * config/sh/sh.md (call, call_value, sibcall): Simplify
9522 copying of non-branch-target register.
9523 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 9524 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
9525 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
9526 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
9527 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
9528 floating-point values as structs.
9529 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
9530 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
9531 general-purpose register.
9532 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
9533 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
9534 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
9535 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
9536 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
9537 (ENCODE_SECTION_INFO): Enclose variables and constants in
9538 DATALABEL unspecs.
9539 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
9540 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
9541 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
9542 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
9543 only for LABEL_REFs. For SYMBOL_REFs, prepend
9544 SH_DATALABEL_ENCODING to the symbol name.
9545 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
9546 convert_mode().
9547 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
9548 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
9549 UNSPEC_DATALABEL.
9550 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
9551 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
9552 (DATALABEL_REF_P): Don't require CONST.
9553 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
9554 REL label.
9555 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
9556 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
9557 right.
9558 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
9559 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
9560 Use shallow_copy_rtx and PUT_MODE to change the mode of
9561 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
9562 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
9563 on SHmedia using GENERAL_REGs.
9564 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
9565 bltu_media_i): Fix reversion of conditions.
9566 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
9567 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
9568 * config/sh/sh.c (output_far_jump): Save r13 in macl.
9569 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
9570 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
9571 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
9572 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
9573 (GCC_nested_trampoline): Likewise.
9574 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
9575 * config/sh/sh.c (gen_datalabel_ref): Define.
9576 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
9577 (INITIALIZE_TRAMPOLINE): Likewise.
9578 (TRAMPOLINE_ADJUST_ADDRESS): Define.
9579 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
9580 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
9581 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
9582 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
9583 (ic_invalidate): Adjust for SH5.
9584 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
9585 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
9586 _nested_trampoline.
9587 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
9588 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
9589 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
9590 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
9591 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
9592 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
9593 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
9594 * config/sh/sh.c (target_reg_operand): Match only target-branch
9595 registers and pseudos that aren't virtual registers.
9596 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
9597 Copy operands that don't match target_reg_operand to pseudos.
9598 (call_media, call_value_media, sibcall_media): Use
9599 target_reg_operand instead of target_operand.
9600 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 9601 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
9602 * config/sh/sh.c (target_reg_operand): Match hardware registers
9603 other than branch-target registers.
9604 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
9605 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
9606 (fpscr_values) [SH5 == 32]: Define.
9607 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
9608 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
9609 Handle function addresses coming in SUBREGs.
9610 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
9611 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
9612 shcompact_return_trampoline): Use datalabel where appropriate.
9613 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
9614 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
9615 general-purpose register to copy one branch-target register to
9616 another.
9617 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
9618 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
9619 SYMBOL_REFs with VOIDmode.
9620 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
9621 bltu_media_i): New insns.
9622 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
9623 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
9624 (INIT_CUMULATIVE_ARGS): Likewise.
9625 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
9626 * machmode.def (V16SFmode): New mode.
9627 * c-common.c (type_for_mode): Support V2SF and V16SF.
9628 * tree.c (build_common_tree_nodes_2): Likewise.
9629 * tree.h (tree_index): Likewise.
9630 * calls.c (emit_call_1): Take args_so_far. Adjust all
9631 callers. Introduce CALL_POPS_ARGS.
9632 * tm.texi (CALL_POPS_ARGS): Document.
9633 * config/sh/crt1.asm: Implement in SHmedia mode.
9634 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
9635 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
9636 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
9637 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
9638 Implement divsi and udivsi in SHmedia mode. Introduce
9639 SHcompact trampolines.
9640 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
9641 only in SHmedia64.
9642 (regno_reg_class): Rewrite.
9643 (fp_reg_names): Remove.
9644 (sh_register_names, sh_additional_register_names): New.
9645 (print_operand): Added `u'. Support SUBREGs in addresses.
9646 Add parentheses around shifted CONSTs.
9647 (output_file_start): Output .mode and .abi directives.
9648 (shiftcosts, addsubcosts, multcosts): Adjust.
9649 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
9650 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
9651 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
9652 bytes, not registers. Take into account the need for the
9653 SHcompact incoming args trampoline. Adjust all callers.
9654 (sh_expand_prologue): Take stack_regs into account. Call
9655 incoming args trampoline. Keep stack aligned as per SH5 ABI.
9656 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
9657 stack aligned as per SH5 ABI.
9658 (sh_builtin_saveregs): Support SH5 ABI.
9659 (sh_build_va_list, sh_va_start): Likewise.
9660 (initial_elimination_offset): Take alignment into account.
9661 Compute location of PR according to the SH5 stack frame.
9662 (arith_reg_operand): Reject branch-target registers.
9663 (shmedia_6bit_operand): New.
9664 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
9665 (target_reg_operand): Match DImode only. Accept SUBREGs.
9666 (target_operand): New.
9667 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
9668 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
9669 SIBCALL_REGS for SHmedia.
9670 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
9671 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
9672 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
9673 (TARGET_SWITCHES): New SH5 flags.
9674 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
9675 VALID_REGISTER_P to disable unsupported registers.
9676 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
9677 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
9678 (FUNCTION_ARG_PADDING): Define.
9679 (FASTEST_ALIGNMENT): Adjust.
9680 (SH_REGISTER_NAMES_INITIALIZER): New.
9681 (sh_register_names): Declare.
9682 (DEBUG_REGISTER_NAMES): Define.
9683 (REGISTER_NAMES): Define based on sh_register_names.
9684 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
9685 (sh_additional_register_names): Declare.
9686 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
9687 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
9688 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
9689 (REGISTER_NATURAL_MODE): Define.
9690 (FIRST_PSEUDO_REGISTER): Adjust.
9691 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
9692 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
9693 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
9694 (VECTOR_MODE_SUPPORTED_P): Define.
9695 (REG_CLASS_CONTENTS): Adjust.
9696 (SMALL_REGISTER_CLASSES): Adjust.
9697 (REG_ALLOC_ORDER): Adjust.
9698 (INDEX_REG_CLASS): Adjust.
9699 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
9700 (CONST_OK_FOR_LETTER_P): Adjust.
9701 (PREFERRED_RELOAD_CLASS): Adjust.
9702 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
9703 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
9704 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
9705 (FIRST_FP_PARM_REG): Adjust.
9706 (CALL_POPS_ARGS): Define.
9707 (FUNCTION_ARG_REGNO_P): Adjust.
9708 (struct sh_args): New fields.
9709 (GET_SH_ARG_CLASS): Adjust.
9710 (INIT_CUMULATIVE_ARGS): Adjust.
9711 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
9712 (FUNCTION_ARG_ADVANCE): Adjust.
9713 (FUNCTION_ARG): Adjust.
9714 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
9715 (FUNCTION_ARG_CALLEE_COPIES): Define.
9716 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
9717 (STRICT_ARGUMENT_NAMING): Define.
9718 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
9719 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
9720 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
9721 (SETUP_INCOMING_VARARGS): Adjust.
9722 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
9723 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
9724 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
9725 (SUBREG_OK_FOR_INDEX_P): Adjust.
9726 (EXTRA_CONSTRAINT_S): Update.
9727 (EXTRA_CONSTRAINT_T): New.
9728 (EXTRA_CONSTRAINT): Adjust.
9729 (GO_IF_LEGITIMATE_INDEX): Adjust.
9730 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
9731 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
9732 (MOVE_MAX): Adjust.
9733 (MAX_MOVE_MAX): Define.
9734 (Pmode): Adjust.
9735 (CONST_COSTS): Adjust.
9736 (REGISTER_MOVE_COST): Adjust.
9737 (BRANCH_COST): Adjust.
9738 (TEXT_SECTION_ASM_OP): Adjust.
9739 (DBX_REGISTER_NUMBER): Adjust.
9740 (ASM_OUTPUT_DOUBLE_INT): New.
9741 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9742 (PREDICATE_CODES): Adjust.
9743 (PROMOTE_MODE): Adjust.
9744 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
9745 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
9746 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
9747 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
9748 (DR0_REG, DR2_REG, DR4_REG): Renumber.
9749 (TR0_REG, TR1_REG, TR2_REG): New.
9750 (XD0_REG): Renumber.
9751 (UNSPEC_COMPACT_ARGS): New.
9752 (type): Added pt and ptabs.
9753 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 9754 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
9755 (pt): New function unit.
9756 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
9757 Add whitespace between operands of SHmedia instructions.
9758 (movdicc): Fix.
9759 (adddi3_media, addsi3_media): Adjust constraints.
9760 (subsi3) [SHmedia]: Force operand 1 into a register.
9761 (udivsi3_i1_media, udivsi3_i4_media): New.
9762 (udivsi3): Support SHmedia.
9763 (divsi3_i1_media, divsi3_i4_media): New.
9764 (divsi3): Support SHmedia.
9765 (anddi3, iordi3, xordi3): Adjust constraints.
9766 (zero_extendhidi2, zero_extendqidi2): New.
9767 (extendsidi2, extendhidi2, extendqidi2): New.
9768 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
9769 (pop_e, pop_fpul, pop_4): Likewise.
9770 (movsi_media): Support FP and BT registers.
9771 (movsi_media_nofpu): New. Adjust splits to DImode.
9772 (lduw, ldub): Renamed to zero_extend* above.
9773 (movqi_media): Fix typo.
9774 (movdi_media): Support FP and BT registers.
9775 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
9776 (movdi_const_32bit): New.
9777 (shori_media): Require immediate operand. Use `u' for output.
9778 (movdf_media, movsf_media): Simplified.
9779 (movdf_media_nofpu, movsf_media_nofpu): New.
9780 (movdf, movsf): Adjust
9781 (movv2sf, movv2sf, movv16sf): New.
9782 (beq_media, beq_media_i): Adjust constraints. Don't use
9783 scratch BT register.
9784 (bne_media, bne_media_i): Likewise.
9785 (bgt_media, bgt_media_i): Likewise.
9786 (bge_media, bge_media_i): Likewise.
9787 (bgtu_media, bgtu_media_i): Likewise.
9788 (bgeu_media, bgeu_media_i): Likewise.
9789 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
9790 bunordered): Emit jump insn. Force operands to registers when
9791 needed.
9792 (jump_media, jump): Simplify.
9793 (call_compact, call_compact_rettramp): New.
9794 (call_value_compact, call_value_compact_rettramp): New.
9795 (call_media, call_value_media): Simplify.
9796 (sibcall_compact, sibcall_media): New.
9797 (call, call_value): Adjust for SHmedia and SHcompact.
9798 (sibcall, sibcall_value, untyped_call): Likewise.
9799 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
9800 (indirect_jump): Adjust for SHmedia.
9801 (casesi_jump_media): New.
9802 (nop): Re-enable for SHmedia.
9803 (call_site): Restrict to SH1.
9804 (casesi): Adjust for SHmedia.
9805 (casesi_shift_media, casesi_load_media): New.
9806 (return): Explicitly use PR register. Call return trampoline
9807 on SHcompact.
9808 (return_i): Explicitly use PR register.
9809 (shcompact_return_tramp, shcompact_return_tramp_i): New.
9810 (return_media): Adjust.
9811 (shcompact_incoming_args): New.
9812 (epilogue): Adjust.
9813 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
9814 (movstrsi): Disable on SH5.
9815 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
9816 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
9817 (subsf3, subsf3_media): Likewise.
9818 (mulsf3, mulsf3_media, mac_media): Likewise.
9819 (divsf3, divsf3_media): Likewise.
9820 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
9821 (floatsisf2, fux_truncsfsi2): Likewise.
9822 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
9823 constraints.
9824 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
9825 (cmpunsf_media, cmpsf): Likewise.
9826 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
9827 (abssf2, abssf2_media): Likewise.
9828 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
9829 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
9830 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
9831 (floatsidf2, fix_truncdfsi2): Likewise.
9832 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
9833 constraints.
9834 (cmpeqdf_media, cmpgtdf_media): Likewise.
9835 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
9836 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
9837 (absdf2, absdf2_media): Likewise.
9838 (extendsfdf2, extendsfdf2_media): Likewise.
9839 (truncsfdf2, truncsfdf2_media): Likewise.
9840 * config/sh/sh64.h: New file.
9841 * config/sh/t-sh64: New file.
9842 * config/sh/shmedia.h: New file.
9843 * config/sh/ushmedia.h: New file.
9844 * config/sh/sshmedia.h: New file.
9845 * configure.in: Added sh64-*-elf.
9846 * configure: Rebuilt.
9847 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
9848 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
9849 (reg_class_from_letter): Use `b' for TARGET_REGS.
9850 (print_operand): Support `%M', `%m', `AND' and
9851 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
9852 (andcosts): Adjust for SHmedia.
9853 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
9854 Likewise.
9855 (target_reg_operand): New function.
9856 * config/sh/sh-protos.h (target_reg_operand): Declare.
9857 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
9858 FP registers on SH5.
9859 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
9860 on SH4.
9861 (TARGET_REGISTER_P): New macro.
9862 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
9863 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
9864 (EXTRA_CONSTRAINT_S): New macro.
9865 (EXTRA_CONSTRAINT): Adjust.
9866 (FLOAT_TYPE_SIZE): Define to 32.
9867 (Pmode): DImode on SHmedia.
9868 (CONST_COSTS): Adjust for SHmedia literals.
9869 (PREDICATE_CODES): Added target_reg_operand.
9870 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
9871 * config/sh/sh.md: Remove all attrs from SHmedia insns.
9872 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
9873 (cmpdi): Accept SHmedia.
9874 (movdicc_false, movdicc_true): New insns.
9875 (movdicc): New expand.
9876 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
9877 no_new_pseudos.
9878 (addsi3_media): Match `S' constraint.
9879 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
9880 (negdi2): Expand for SHmedia.
9881 (one_cmpldi2): New expand.
9882 (zero_extendsidi2): Change from expand to insn.
9883 (extendsidi2): Add constraints.
9884 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
9885 LD/ST address. Fix SI immediate loading split.
9886 (movhi_media, movqi_media, lduw, ldub): New insns.
9887 (movhi, movqi): Accept SHmedia.
9888 (shori_media, movdi_media): Relax input constraints. Split
9889 symbolic constants.
9890 (movdf_media, movsf_media): New insn. New split to movdi.
9891 (movdf, movsf): Match on SHmedia.
9892 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
9893 bgeu_media): New insns and splits. New insns with `_i' suffix.
9894 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
9895 (bunordered): New expand.
9896 (jump_compact): Renamed from `jump'.
9897 (jump_media): New insn.
9898 (jump): New expand.
9899 (call_media, call_value_media): New insns.
9900 (call, call_value): Adjust.
9901 (indirect_jump_compact): Renamed from `indirect_jump'.
9902 (indirect_jump_media): New insn.
9903 (indirect_jump): New expand.
9904 (untyped_call, return): Accept SHmedia.
9905 (return_media): New insn.
9906 (prologue, epilogue, blockage): Accept SHmedia.
9907 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
9908 (sunordered): New expand.
9909 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
9910 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
9911 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
9912 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
9913 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
9914 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
9915 abssf2_media): New insns.
9916 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
9917 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
9918 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
9919 floatdidf2, floatsidf2_media, fix_truncdfdi2,
9920 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
9921 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
9922 absdf2_media): New insns.
9923 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
9924 (extendsfdf2_media, truncdfsf2_media): New insns.
9925 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
9926 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
9927 * config/sh/sh.h (CONST_OK_FOR_J): Document.
9928 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
9929 * config/sh/sh.md (adddi3): New expand.
9930 (adddi3_media, adddi3z_media): New insns.
9931 (adddi3_compact): Renamed from adddi3.
9932 (addsi3_media): Use add.l r63 to add constant zero.
9933 (subdi3): New expand.
9934 (subdi3_media): New insn.
9935 (subdi3_compact): Renamed from subdi3.
9936 (mulsidi3): New expand.
9937 (mulsidi3_media): New insn.
9938 (mulsidi3_compact): Renamed from mulsidi3.
9939 (umulsidi3): New expand.
9940 (umulsidi3_media): New insn.
9941 (umulsidi3_compact): Renamed from umulsidi3.
9942 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
9943 (ashlsi3, ashrsi3, lshrsi3): Use them.
9944 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
9945 (ashldi3, ashrdi3, lshrdi3): Use them.
9946 (zero_extendsidi2): New expand.
9947 (extendsidi2): New insn.
9948 (movsi_media): New insn. Split to movdi to load constants.
9949 (movsi): Enable for shmedia.
9950 (movdi_media): New insn. Use shori_media to load wide constants.
9951 (short_media): New insn.
9952 (movdi): Enable for shmedia.
9953 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
9954 * config/sh/sh.h (CPP_SPEC): Added `m5'.
9955 (SUBTARGET_CPP_SPEC): Added `!m5'.
9956 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
9957 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
9958 to all other SH variants.
9959 (TARGET_DEFAULT): Set to SH1_BIT.
9960 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
9961 (BITS_PER_WORD): Raise to 64 on shmedia.
9962 (MAX_BITS_PER_WORD): Change to 64.
9963 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
9964 (INT_TYPE_SIZE): Keep as 32.
9965 (UNITS_PER_WORD): Raise to 8 on shmedia.
9966 (MIN_UNITS_PER_WORD): Keep as 4.
9967 (POINTER_SIZE): Raise to 64 on shmedia.
9968 (CONST_OK_FOR_J): New macro.
9969 (CONST_OK_FOR_LETTER_P): Use it.
9970 (processor_type): Add PROCESSOR_SH5.
9971 * config/sh/sh.md: Conditionalize all expands, insns and
9972 splits to TARGET_SH1.
9973 (cpu): Added sh5.
9974 (addsi3_compact): Renamed from...
9975 (addsi3): Now an expand.
9976 (addsi3_media, subsi3_media): New insns.
9977 (subsi3): Don't negate constants with SHmedia.
9978
e4ec2cac
AO
9979 * hooks.c: New file.
9980 * hooks.h: New file.
9981 * Makefile.in (HOOKS_H): New.
9982 (TARGET_DEF_H): Added $(HOOKS_H).
9983 (OBJS): Added hooks.o.
9984 (cfgcleanup.o, bb-reorder.o): Added target.h.
9985 (hooks.o): Added dependencies.
9986 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
9987 (TARGET_INITIALIZER): this.
9988 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
9989 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
9990 * bb-reorder.c: Include target.h.
9991 (reorder_basic_blocks): Skip if cannot modify jumps.
9992 * cfgcleanup.c: Include target.h.
9993 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
9994
246a46e0
CD
99952002-02-08 Chris Demetriou <cgd@broadcom.com>
9996
831c4e87
KC
9997 * config/mips/mips.md (casesi_internal, casesi_internal_di):
9998 Protect jump delay slot instructions with .set noreorder and
9999 .set nomacro.
246a46e0
CD
10000
100012002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
10002
10003 * config/mips/mips.md (casesi_internal_di): Calculate
10004 the index into the target offset table correctly.
10005
fdf473ae
RH
100062002-02-08 Richard Henderson <rth@redhat.com>
10007
10008 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
10009 * final.c (output_addr_const): Accept and discard SUBREG.
10010 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
10011 mark them unknown instead.
10012 (simplify_subtraction): Handle RTX_UNKNOWN.
10013 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
10014
c50503ac
DE
100152002-02-08 David Edelsohn <edelsohn@gnu.org>
10016
10017 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
10018
3660d217
RH
100192002-02-08 Richard Henderson <rth@redhat.com>
10020
10021 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
10022
56547299
AJ
100232002-02-08 Andreas Jaeger <aj@suse.de>
10024
10025 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
10026 * config/i386/t-linux64: New file.
10027
1cf537c5
JJ
100282002-02-08 Jakub Jelinek <jakub@redhat.com>
10029
10030 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
10031 * c-parse.in (compstmt): Clear last_expr_type.
10032
5c7f5a5f
RH
100332002-02-07 Richard Henderson <rth@redhat.com>
10034
10035 * loop.c (strength_reduce): Sink final_value when not
10036 eliminating a biv.
10037
b1138bf3
DB
100382002-02-07 David O'Brien <obrien@FreeBSD.org>
10039
10040 * config/sparc/freebsd.h: Fix mismatched spec {.
10041
b6878a45
RH
100422002-02-07 Richard Henderson <rth@redhat.com>
10043
10044 * cfgrtl.c: Include recog.h and insn-config.h.
10045 (keep_with_call_p): Fix general_operand invocation.
10046 * Makefile.in (cfgrtl.o): Update dependencies.
10047
ae19f5ef
KH
100482002-02-07 Kazu Hirata <kazu@hxi.com>
10049
10050 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
10051 comment. Accept HImode only if TARGET_H8300.
10052
b137f9fc
EC
100532002-02-07 Eric Christopher <echristo@redhat.com>
10054
10055 * config/mips/crtn.asm: Cleanup #ifdefs.
10056
100572002-02-07 Eric Christopher <echristo@redhat.com>
10058
10059 * config/mips/crti.asm: Add changes for mips16. mips16 uses
10060 register 7 as RA instead of $31.
10061 * config/mips/crtn.asm: Ditto.
10062 * config/mips/mips.c (mips_move_2words): Add case for
10063 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
10064 (compute_frame_size): Fix typo.
10065 (save_restore_insns): Ditto. Make documentation about using
10066 register $7 as return register more precise.
10067 (mips_expand_epilogue): Fix comment. Add code to work around not
10068 being able to add to the stack pointer directly.
10069 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
10070 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
10071 epilogue.
10072
768070a0
TR
100732002-02-07 Tom Rix <trix@redhat.com>
10074
b137f9fc 10075 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
10076 immediates in ldu and stdu DS opcode field.
10077 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
10078 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
10079 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
10080
225909c3
JS
100812002-02-07 Jeff Sturm <jsturm@one-point.com>
10082
10083 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
10084 offset for stack bias.
10085
15fae023
L
100862002-02-07 H.J. Lu <hjl@gnu.org>
10087
10088 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
10089
fde5badd
UW
100902002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
10091
10092 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
10093
162f023b
JH
10094Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
10095
10096 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
10097 * i386.c (x86_order_regs_for_local_alloc): New global function.
10098 * i386.h (REG_ALLOC_ORDER): CLeanup.
10099 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
10100
9b462c42
RH
101012002-02-07 Richard Henderson <rth@redhat.com>
10102
85aa876c 10103 PR optimization/2463
9b462c42
RH
10104 * alias.c (find_base_value): Recall base values for fixed hard regs.
10105 * loop.c (loop_regs_update): Don't use single_set on non-insns.
10106
06e455a9
AO
101072002-02-07 Alexandre Oliva <aoliva@redhat.com>
10108
10109 * config/mips/mips.md (define_delay) [mips16]: Adjust required
10110 length.
10111
edd1967d
RH
101122002-02-06 Richard Henderson <rth@redhat.com>
10113
10114 PR c/5609
10115 * stmt.c (resolve_operand_name_1): Take more care with mixed
10116 named and unnamed operands.
10117
a2cd028f
JJ
101182002-02-06 Janis Johnson <janis187@us.ibm.com>
10119 Jan Hubicka <jh@suse.cz>
10120
10121 * loop.c (remove_constant_addition): Avoid clobbering a shared
10122 CONST expression.
10123
e8487c04
UW
101242002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10125
10126 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
10127 * config/s390/t-linux64: New file.
10128 * config/s390/libgcc-glibc.ver: New file.
10129
58d10f89
UW
101302002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10131
10132 * config/s390/linux64.h: Delete file.
10133 * config/s390/s390x.h: New file.
10134 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
10135 as target header file.
10136 * config/s390/linux.h (TARGET_VERSION): Define depending on
10137 DEFAULT_TARGET_64BIT.
10138 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
10139 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
10140 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
10141 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
10142 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
10143 (EXTRA_SPEC): New define.
10144 * config/s390/s390.h (TARGET_VERSION): Define depending on
10145 DEFAULT_TARGET_64BIT.
10146 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
10147
5ce89b2e
JM
101482002-02-06 Jason Merrill <jason@redhat.com>
10149
10150 * c-decl.c (finish_function): Warn about a non-void function with
10151 no return statement and no abnormal exit.
10152 (current_function_returns_abnormally): New variable.
10153 (start_function): Clear it.
10154 (struct c_language_function): Add returns_abnormally.
10155 (push_c_function_context): Save it.
10156 (pop_c_function_context): Restore it.
10157 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
10158 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
10159 an explicit return type.
10160 * c-tree.h: Declare current_function_returns_abnormally.
10161 (C_FUNCTION_IMPLICIT_INT): New macro.
10162 * c-typeck.c (build_function_call): Set it.
10163 (c_expand_return): Set current_function_returns_value even if the
10164 value is erroneous.
10165
caaf2272
JJ
101662002-02-06 Jakub Jelinek <jakub@redhat.com>
10167
10168 PR c/5420:
10169 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
10170 unsafe for reevaluation.
10171
d5129288
JJ
101722002-02-06 Jakub Jelinek <jakub@redhat.com>
10173
10174 PR c/5482:
10175 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
10176 EXPR_STMT, but COMPOUND_STMT, recurse into it.
10177
7fb75099
RH
101782002-02-06 Richard Henderson <rth@redhat.com>
10179
10180 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
10181 be a general_operand. Dest for function value must be a pseudo.
10182
d3a8b6a6
NC
101832002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
10184
10185 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
10186 as SYMBOL_REFs from the constant pool.
10187
3c1299c5
AO
101882002-02-06 Alexandre Oliva <aoliva@redhat.com>
10189
10190 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
10191 passed by invisible reference.
10192
c2c9f6c9
RH
101932002-02-05 Richard Henderson <rth@redhat.com>
10194
10195 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
10196
a824924d
HPN
101972002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
10198
10199 Implement using "base addresses" in insn operands as default.
10200 * config/mmix/mmix.c (mmix_conditional_register_usage): if
10201 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
10202 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
10203 used to read the rtx value.
10204 (mmix_target_asm_function_epilogue): Fix spacing.
10205 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
10206 (mmix_legitimate_address): Ditto.
10207 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
10208 should be loaded with a GETA insn. Don't allocate needless extra
10209 char for nul termination and fix misleading comment.
10210 (mmix_print_operand_address): Handle constants if
10211 TARGET_BASE_ADDRESSES.
10212 (mmix_output_register_setting): Use base addressing if
10213 TARGET_BASE_ADDRESSES and the number of insns is 3.
10214 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
10215 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
10216 to use R as constraint, add LDA to match s.
10217 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
10218 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
10219 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
10220 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
10221 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
10222 order with other fixed registers.
10223 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
10224 other parameter/call-clobbered registers.
10225 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
10226 -mbase-addresses, -mno-base-addresses.
10227 (MMIX Options): Ditto.
10228
73c342b9
JDA
102292002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
10230
10231 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
10232
ef238c58
AH
102332002-02-06 Aldy Hernandez <aldyh@redhat.com>
10234
831c4e87 10235 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 10236
ad08e60e
JT
102372002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
10238
10239 * config/netbsd.h (WCHAR_TYPE): Define.
10240 (WCHAR_TYPE_SIZE): Ditto.
10241 (WINT_TYPE): Ditto.
10242 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
10243 (WCHAR_UNSIGNED): Ditto.
10244 (WCHAR_TYPE_SIZE): Ditto.
10245 (WINT_TYPE): Ditto.
10246 * config/arm/netbsd.h: Likewise.
10247 * config/i386/netbsd-elf.h: Likewise.
10248 * config/i386/netbsd.h: Likewise.
10249 * config/m68k/netbsd-elf.h: Likewise.
10250 * config/m68k/netbsd.h: Likewise.
10251 * config/ns32k/netbsd.h: Likewise.
10252 * config/sparc/netbsd.h: Likewise.
10253 * config/vax/netbsd.: Likewise.
10254
f913c102
AO
102552002-02-05 Alexandre Oliva <aoliva@redhat.com>
10256
10257 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
10258 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
10259 (TARGET_INITIALIZER): this.
10260 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
10261 (BITFIELD_NBYTES_LIMITED): Markup fix.
10262 * tree.h (default_ms_bitfield_layout_p): Declare.
10263 (record_layout_info): Added prev_field.
10264 * tree.c (default_ms_bitfield_layout_p): New fn.
10265 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
10266 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
10267 * stor-layout.c: Include target.h.
10268 (start_record_layout): Initialize prev_field.
10269 (place_field): Handle MS bit-field layout, and disregard
10270 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
10271 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
10272 * Makefile.in (stor-layout.o): Adjust dependencies.
10273
c13db5d1
JM
102742002-02-05 Jason Merrill <jason@redhat.com>
10275
c13db5d1
JM
10276 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
10277
4505024e
AJ
102782002-02-05 Andreas Jaeger <aj@suse.de>
10279
10280 * crtstuff.c: Fix comments.
10281
794ad79d
RH
102822002-02-05 Richard Henderson <rth@redhat.com>
10283
2e279a9b
RH
10284 PR fortran/3393
10285 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
10286 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
10287
794ad79d
RH
10288 PR fortran/3392
10289 * config/mips/mips.c (function_arg): Handle TImode.
10290 (function_arg_advance): Likewise.
10291
8f909017
AH
102922002-02-05 Aldy Hernandez <aldyh@redhat.com>
10293
c13db5d1
JM
10294 * config/rs6000/altivec.h (vec_step_help): Rename to
10295 __vec_step_help.
8f909017 10296
66daa9e3
AH
102972002-02-05 Aldy Hernandez <aldyh@redhat.com>
10298
c13db5d1 10299 * config/rs6000/altivec.h: Fix typos.
66daa9e3 10300
2696e97b
JT
103012002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
10302
10303 * config/arm/netbsd.h: Correct a comment.
10304
3deb2758
AH
103052002-02-05 Aldy Hernandez <aldyh@redhat.com>
10306
c13db5d1
JM
10307 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
10308 building void typed builtins.
3deb2758 10309
c13db5d1
JM
10310 * config/rs6000/altivec.h (vec_ld*): Fix typos.
10311 (vec_step): Implement for C++.
3deb2758 10312
c13db5d1 10313Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
10314
10315 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
10316
ebbb0a63
RH
103172002-02-04 Richard Henderson <rth@redhat.com>
10318
10319 * combine.c (nonzero_bits): Re-introduce special case for
10320 sp/fp/ap wrt REGNO_POINTER_ALIGN.
10321
ae4b4a02
AH
103222002-02-05 Aldy Hernandez <aldyh@redhat.com>
10323
c13db5d1
JM
10324 * doc/extend.texi: Warn about unsupported usage of altivec
10325 builtins.
ae4b4a02 10326
c13db5d1
JM
10327 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
10328 (altivec_predicate_*): New.
ae4b4a02 10329
c13db5d1
JM
10330 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
10331 Add C++ version of vec_*() functions.
ae4b4a02 10332
c13db5d1
JM
10333 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
10334 (bdesc_2arg): Remove altivec predicates.
10335 (altivec_expand_builtin): Handle predicates.
10336 (altivec_init_builtins): Handle predicates.
10337 (altivec_expand_predicate_builtin): New.
ae4b4a02 10338
f6bcf44c
JDA
103392002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10340
10341 * pa.c (DO_FRAME_NOTES): Move forward.
10342 (store_reg): Revise handling of frame notes.
10343 (load_reg): Likewise.
10344 (set_reg_plus_d): Likewise.
10345 (hppa_expand_prologue): Likewise.
10346 (hppa_expand_epilogue): Likewise.
b137f9fc 10347
703b0080
JDA
103482002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10349
10350 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
10351
6f9fdf4d
JJ
103522002-02-04 Jakub Jelinek <jakub@redhat.com>
10353
10354 PR c/4475, c++/3780:
10355 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
10356 * c-common.h (SWITCH_TYPE): Define.
10357 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
10358 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
10359 Rename spareness variable to sparseness.
10360 (expand_end_case_type): Renamed from expand_end_case, use orig_type
10361 if non-NULL instead of TREE_TYPE (orig_index).
10362 * tree.h (expand_end_case_type): Renamed from expand_end_case.
10363 (expand_end_case): Define using expand_end_case_type.
10364 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
10365 to expand_end_case_type.
10366 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
10367
79109502
JDA
103682002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10369
10370 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
10371 (BIGGEST_ALIGNMENT): Change to 128.
10372
e62a5987
JDA
103732002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10374
10375 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
10376
219f24a4
JDA
103772002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
10378
10379 * pa.md (call_internal_reg_64bit): Remove unused variable.
10380
3cb66fd7
NC
103812002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
10382
10383 * config/arm/arm.h (machine_function): Add uses_anonymous_args
10384 field.
831c4e87 10385 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 10386 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
10387 replace uses with cfun->machine->uses_anonymous_args.
10388 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
10389
10390 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
10391 any geenral register.
b137f9fc 10392
5d5603e2 103932001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
10394
10395 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
10396 the entry block.
10397
563c12b0
RH
103982002-02-04 Richard Henderson <rth@redhat.com>
10399
10400 * combine.c (force_to_mode): Remove STACK_BIAS code.
10401 (nonzero_bits): Likewise. Replace sp/fp special case with
10402 REGNO_POINTER_ALIGN.
10403
10404 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
10405 (HARD_FRAME_POINTER_REGNUM): New.
10406 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
10407 (FIXED_REGS, CALL_USED_REGS): Update.
10408 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
10409 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
10410 (HARD_REGNO_NREGS): Update for SFP.
10411 (STACK_POINTER_OFFSET): Include bias here ...
10412 (FIRST_PARM_OFFSET): ... not here.
10413 (STACK_BIAS): Remove.
10414 (INIT_EXPANDERS): New.
10415 (STARTING_FRAME_OFFSET): Do not include bias.
10416 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
10417 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
10418 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
10419 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
10420 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
10421 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
10422 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
10423 (MUST_SAVE_REGISTER): Likewise.
10424 (sparc_flat_function_prologue): Likewise.
10425 (sparc_flat_function_epilogue): Likewise.
10426 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
10427 (sparc_init_modes): SFP is GENERAL_REGS.
10428 (sparc_builtin_saveregs): SFP does not have bias applied.
10429
14691f8d
RH
104302002-02-04 Richard Henderson <rth@redhat.com>
10431
10432 * config/alpha/alpha.c (current_function_is_thunk): Don't check
10433 current_function_is_thunk.
10434 (alpha_sa_mask): Distinguish between current_function_is_thunk
10435 called from ASM_OUTPUT_MI_THUNK and not.
10436 (alpha_does_function_need_gp): Thunks always need gp.
10437 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
10438 (alpha_output_mi_thunk_osf): New.
10439 * config/alpha/alpha-protos.h: Update.
10440 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
10441
af702de8
RS
104422002-02-04 Richard Sandiford <rsandifo@redhat.com>
10443
10444 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
10445 function types, not when they're taken away.
10446
5b1cacd8
JL
10447Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
10448
10449 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
10450 CODE_LABEL and jump table when replacing a table jump with a
10451 simple jump.
10452
f3e9edff
UW
104532002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10454
10455 * config/s390/s390-protos.h (legitimize_la_operand,
10456 s390_secondary_input_reload_class, s390_plus_operand,
10457 s390_expand_plus_operand): Add prototypes.
10458
10459 config/s390/s390.c (s390_secondary_input_reload_class,
10460 s390_plus_operand, s390_expand_plus_operand): New functions.
10461
10462 (struct s390_address): New member 'pointer'.
10463 (s390_decompose_address): Compute it.
10464 (legitimate_la_operand_p): Use it.
10465 (legitimize_la_operand): New function.
10466 (movti, movdi, movdf splitters): Call it.
10467
10468 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
10469 (PREDICATE_CODES): Add s390_plus_operand.
10470
10471 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
10472 (la_ccclobber): Allow GENERAL_REGS as output operand.
10473
10474 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
10475 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
10476 (*la_64, *la_31, reload_indi, reload_insi): ... these.
10477
3c9a08ec
UW
104782002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10479
10480 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
10481 register names for regular asm () construct.
10482
ac300a45
JJ
104832002-02-04 Jakub Jelinek <jakub@redhat.com>
10484
10485 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
10486 registers.
10487
fa852403
JJ
104882002-02-04 Jakub Jelinek <jakub@redhat.com>
10489
10490 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
10491 pat for recog.
10492
fecaac37
HP
104932002-02-04 Hartmut Penner <hpenner@de.ibm.com>
10494
831c4e87
KC
10495 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
10496 constant pool to be identical by string address and index.
fecaac37 10497
10c45943
AG
104982002-02-04 Anthony Green <green@redhat.com>
10499
10500 * output.h (SECTION_OVERRIDE): Define.
10501 * varasm.c (named_section): Obey SECTION_OVERRIDE.
10502
69474c3c
JT
105032002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
10504
10505 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
10506 by existing arm*-*-netbsd* (a.out) target.
10507 (ns32k-*-netbsdelf*): Likewise.
10508 (sparc-*-netbsdelf*): Likewise.
10509 (vax-*-netbsdelf*): Likewise.
10510
939a46f6 105112002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
10512
10513 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
10514 headers and libobjc headers.
10515
105162002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
10517
10518 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
10519 (_mingw.h): Remove duplicate include.
10520
2fd95d71
JT
105212002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
10522
10523 * config.gcc: Set cpu_type to m68k for 68010, as well.
10524 (m68010-*-netbsdelf*): New...
10525 (m68k*-*-netbsdelf*): ...targets.
10526 * config/m68k/netbsd-elf.h: New file.
10527
0ea6f6a0
KH
105282002-02-02 Kazu Hirata <kazu@hxi.com>
10529
10530 * config/h8300/h8300.c (hand_list): Move inside function_arg.
10531
cbf1b2da
KH
105322002-02-02 Kazu Hirata <kazu@hxi.com>
10533
10534 * config/h8300/h8300.c (h8_push_ops): Move inside
10535 h8300_init_once.
10536 (h8_pop_ops): Likewise.
10537 (h8_move_ops): Likewise.
10538
0869f126
KH
105392002-02-02 Kazu Hirata <kazu@hxi.com>
10540
10541 * config/h8300/h8300.c (os_task): Make it static.
10542 (monitor): Likewise.
10543 (pragma_saveall): Likewise.
10544
90e65b70
AO
105452002-02-02 Alexandre Oliva <aoliva@redhat.com>
10546
10547 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
10548 constant is a valid sign-extension for Pmode.
10549
9cbcd983
KH
105502002-02-02 Kazu Hirata <kazu@hxi.com>
10551
10552 * config/h8300/h8300.c: Fix formatting.
10553
7a27efc4
KH
105542002-02-02 Kazu Hirata <kazu@hxi.com>
10555
10556 * config/h8300/h8300.md: Fix formatting.
10557
54175a44
KH
105582002-02-02 Kazu Hirata <kazu@hxi.com>
10559
10560 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
10561 predicates of operands[1]. Split the patterns for each
10562 processor variant.
10563
eceb1755
KH
105642002-02-02 Kazu Hirata <kazu@hxi.com>
10565
10566 * config/h8300/h8300.md (xor patterns): Tighten the predicates
10567 of operands[1] to register_operand.
10568
0fef3fd0
NB
105692002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
10570
10571 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
10572 * cpphash.c (_cpp_init_hashtable): Similarly.
10573 * cppinit.c (cpp_create_reader): Default the signed_char flag.
10574 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
10575 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
10576 (cpp_handle_option): Handle the new options.
10577 * cpplex.c (cpp_interpret_charconst): Use new flag.
10578 * cpplib.h (struct cpp_options): New member signed_char.
10579 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
10580 (cpp_options): Handle -fsigned-char and -funsigned-char.
10581 (static_specs): Remove signed_char_spec.
10582 (do_spec1): Don't handle %c.
10583 * system.h: Poison SIGNED_CHAR_SPEC.
10584 * tradcif.y (yylex): Use flag_signed_char.
10585 * tradcpp.h (flag_signed_char): New.
10586 * tradcpp.c (flag_signed_char): New.
10587 (main): Handle new command-line options.
10588 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
10589config:
10590 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
10591 * avr/avr.h: Remove old comments.
10592 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
10593 (CC1_SPEC): Pass -fsigned-char if -mic*.
10594 (SIGNED_CHAR_SPEC): Remove.
10595doc:
10596 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
10597
0617ed52
EC
105982002-02-01 Eric Christopher <echristo@redhat.com>
10599
10600 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
10601 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
10602 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
10603 (ASM_OUTPUT_REG_POP): Ditto.
10604
dfd48d76
NB
106052002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
10606
10607 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
10608 patch.
10609
4a23409e
JJ
106102002-02-02 Jakub Jelinek <jakub@redhat.com>
10611
10612 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
10613
d3c52658
JJ
106142002-02-02 Jakub Jelinek <jakub@redhat.com>
10615
10616 PR c/5304:
10617 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
10618 unconditionally.
10619
02c5a3bd
JJ
106202002-02-01 Janis Johnson <janis187@us.ibm.com>
10621
10622 * cfganal.c: Include tm_p.h.
10623 (keep_with_call_p): Fix the test that determines if a register holds
10624 the return value of a call.
10625
3968de80
DD
106262002-02-01 DJ Delorie <dj@redhat.com>
10627
10628 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
10629 we are given conflicting registers, switch to the other one we
10630 had allocated for us.
10631 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
10632 as TImode so we know when the "other" register is available.
10633
1338ea6c
DB
106342002-02-01 David O'Brien <obrien@FreeBSD.org>
10635
10636 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
10637 sparc/sparc_bi.h.
10638
f015be23
JJ
106392002-02-01 Janis Johnson <janis187@us.ibm.com>
10640
10641 * cfganal.c (keep_with_call_p): New function.
10642 (flow_call_edges_add): Prevent splitting a block between a call and
10643 a single-set instruction that should be kept in the same block.
10644
63708ffc
CR
106452002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
10646
10647 * doc/install.texi (avr): Update outdated URL.
10648
5ee4950e
AH
106492002-01-30 Andrew Haley <aph@cambridge.redhat.com>
10650
831c4e87
KC
10651 * config/stormy16/stormy16.md (pushqi): New.
10652 (popqi): New.
10653 (pushhi): New.
10654 (pophi): New.
10655 (movhi): Remove stack operands.
10656 (movqi): Likewise.
10657 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
10658 nonimmediate_nonstack_operand.
10659 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
10660 New.
10661 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
10662 New.
5ee4950e 10663
b88c0704
JM
106642002-01-31 Jason Merrill <jason@redhat.com>
10665
10666 * Makefile.in (c-parse.c): Handle .output file.
10667 * objc/Make-lang.in (objc-parse.c): Likewise.
10668
ac282977
AO
106692002-02-01 Alexandre Oliva <aoliva@redhat.com>
10670
10671 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
10672 the -me[lb] option is given. Don't output the default flag
10673 twice.
10674
bebc7e8b
ZW
106752002-01-31 Zack Weinberg <zack@codesourcery.com>
10676
10677 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
10678 the primary source file; this has not been done yet.
10679 * c-decl.c (c_expand_body): Reset input_filename from
10680 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
10681
5809eb5f
KH
106822002-01-31 Kazu Hirata <kazu@hxi.com>
10683
10684 * rtlanal.c (subreg_regno_offset): Do not use
10685 SUBREG_REGNO_OFFSET.
10686 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
10687 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
10688
8512bbd7
JM
106892002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
10690
10691 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
10692 version rather than GNATS version in --version output.
10693
74cb3cc8
RS
106942002-01-31 Richard Sandiford <rsandifo@redhat.com>
10695
10696 * ifcvt.c (noce_process_if_block): Make a copy of the destination
10697 when copying back from a temporary.
10698
874b5b14
RH
106992002-01-30 Richard Henderson <rth@redhat.com>
10700
10701 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
10702 and new_dest are the same.
10703
e803a64b
RH
107042002-01-30 Richard Henderson <rth@redhat.com>
10705
89cf7be5 10706 PR opt/5076
e803a64b
RH
10707 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
10708 * rtl.c (note_insn_name): Update.
10709 * emit-rtl.c (remove_unnecessary_notes): Kill it.
10710 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
10711 to perform loop rotation.
10712 (expand_exit_loop_top_cond): New.
10713 * tree.h (expand_exit_loop_top_cond): Declare it.
10714 * c-semantics.c (genrtl_while_stmt): Use it.
10715 (genrtl_for_stmt): Likewise.
10716
0b51254d
AO
107172002-01-30 Alexandre Oliva <aoliva@redhat.com>
10718
10719 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
10720 arguments to 64-bit boundaries on 64-bit ABIs.
10721
71cef493
SE
107222002-01-30 Steve Ellcey <sje@cup.hp.com>
10723
10724 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
10725
6169e5fd
JM
107262002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
10727
10728 * c-decl.c (grokdeclarator): Handle type being a typedef for an
10729 invalid type.
10730
86f808dc
DB
107312002-01-30 David O'Brien <obrien@FreeBSD.org>
10732
10733 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
10734 * config/sparc/sparc_bi.h: Remove file.
10735 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
10736
5748ebeb
RH
107372002-01-30 Richard Henderson <rth@redhat.com>
10738
10739 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
10740
20d32cc2
ZW
107412002-01-30 Zack Weinberg <zack@codesourcery.com>
10742
10743 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
10744
b88c0704 107452002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
10746
10747 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
10748 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
10749 (reg_save): Use DW_CFA_offset_extended_sf instead.
10750
10751 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
10752
37060e78
JJ
107532002-01-29 Jakub Jelinek <jakub@redhat.com>
10754
10755 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
10756 in cselib_lookup.
10757
d18dba68
AH
107582002-01-29 Aldy Hernandez <aldyh@redhat.com>
10759
bebc7e8b
ZW
10760 * rs6000.md ("*call_value_local32"): Remove constraints.
10761 ("*call_value_local64"): Same.
10762 ("*call_value_indirect_nonlocal_aix32"): Same.
10763 ("*call_value_nonlocal_aix32"): Same.
10764 ("*call_value_indirect_nonlocal_aix64"): Same.
10765 ("*call_value_nonlocal_aix64"): Same.
10766 ("*call_value_nonlocal_sysv"): Same.
d18dba68 10767
80a8aac6
RH
107682002-01-29 Richard Henderson <rth@redhat.com>
10769
10770 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
10771
12beba6f
RH
107722002-01-29 Richard Henderson <rth@redhat.com>
10773
10774 * expr.c (force_operand): Ignore flag_pic for detecting pic
10775 address loads.
10776 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
10777 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
10778 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
10779 instead of open-coded loop.
10780 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
10781 be fixed when in use.
10782
2583081e
RH
107832002-01-29 Richard Henderson <rth@redhat.com>
10784
10785 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
10786 * sched-rgn.c (propagate_deps): Update them.
10787 * sched-deps.c (sched_analyze_insn): Update them. Flush the
10788 clobbers list when either gets too long.
10789
3b8d200e
JJ
107902002-01-29 Jakub Jelinek <jakub@redhat.com>
10791
10792 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
10793 and INDEX_REGS the same as GENERAL_REGS.
10794 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
10795
2d3115eb
NB
107962002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
10797
bebc7e8b 10798 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 10799
ecbe845e
UW
108002002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
10801
bebc7e8b 10802 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 10803 movstrsix_31): Remove, replace by ...
bebc7e8b 10804 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
10805 movstrsi_long): ... these. New.
10806 (movstrdi, movstrsi): Adapt.
10807
10808 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 10809 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
10810 Remove unnecessary CC clobber.
10811 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
10812 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
10813
10814 (divmoddi4): Don't partially initialize TImode register.
10815
0b32fca5
GK
108162002-01-29 Geoffrey Keating <geoffk@redhat.com>
10817
10818 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
10819
08ef5437
RH
108202002-01-29 Richard Henderson <rth@redhat.com>
10821
10822 * flow.c (print_rtl_and_abort): Remove.
10823 (print_rtl_and_abort_fcn): Remove.
10824 (verify_local_live_at_start): Use dump_bb instead.
10825 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
10826 (verify_wide_reg_1): Return 2 on mode test failure.
10827
8469e54e
NB
108282002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
10829
10830 PR c/3325, c/3326, c/2511, c/3347
10831 * c-decl.c (enum_decl_context): Remove BITFIELD.
10832 (grokdeclarator): Take bitfield width as an input.
10833 Ensure bitfields are given the correct type. Perform
10834 bitfield width validation with build_bitfield_integer_type
10835 rather than waiting for finish_struct.
10836 (grok_typename, grok_typename_in_parm_context, start_decl,
10837 push_parmdecl, grokfield, start_function): Update calls to
10838 grokdeclarator.
10839 (build_bitfield_integer_type): New function.
10840 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 10841 and build_bitfield_integer_type.
8469e54e
NB
10842 * tree.c (build_nonstandard_integer_type): New function.
10843 * tree.h (build_nonstandard_integer_type): New prototype.
10844objc:
10845 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
10846
ffdeea47
JJ
108472002-01-29 Jakub Jelinek <jakub@redhat.com>
10848
10849 PR other/1502:
10850 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
10851 don't ignore unrecognized -W* options.
10852 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
10853 * cpplib.h (cpp_handle_option): Adjust prototype.
10854 * c-decl.c (c_decode_options): Pass 0 as last argument to
10855 cpp_handle_option.
10856
10857 PR c/2896:
10858 * gcc.c (cpp_unique_options): Split from cpp_options.
10859 (cpp_options): Source cpp_unique_options.
10860 (default_compilers): Use cpp_unique_options instead of cpp_options
10861 when used together with cc1_options.
10862 (static_specs): Add cpp_unique_options.
10863 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
10864 when used together with cc1_options.
10865
1a275226
KH
108662002-01-29 Kazu Hirata <kazu@hxi.com>
10867
10868 * config/h8300/h8300-protos.h: Update the prototype of
10869 output_a_shift.
10870 * config/h8300/h8300.c (output_a_shift): Remove an unused
10871 argument 'insn'. Remove redundant code.
10872 * config/h8300/h8300.md: Adust to the new prototype of
10873 output_a_shift.
10874
a11d9dfc
KH
108752002-01-29 Kazu Hirata <kazu@hxi.com>
10876
10877 * config/h8300/h8300-protos.h: Update the prototypes of
10878 emit_a_rotate and expand_a_rotate.
10879 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
10880 first argument to 'enum rtx_code'.
10881 (expand_a_rotate): Likewise.
10882
871f73e3
KH
108832002-01-28 Kazu Hirata <kazu@hxi.com>
10884
10885 * config/h8300/h8300-protos.h: Update the prototype of
10886 output_simode_bld.
10887 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
10888 'log2'.
10889 * config/h8300/h8300.md: Adjust to the new prototype.
10890
5fc4b751
KH
108912002-01-28 Kazu Hirata <kazu@hxi.com>
10892
10893 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
10894 redundant code.
10895
2d67bd7b
JDA
108962002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
10897
10898 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
10899 is a fixed register before returning pic_offset_table_rtx.
10900 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
10901 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
10902
5a852b3e
JM
109032002-01-28 Jason Merrill <jason@redhat.com>
10904
6bb28965 10905 * dwarf2.h: Sync with src version.
5a852b3e 10906
3bca17dd
PK
109072002-01-28 Paul Koning <pkoning@equallogic.com>
10908
10909 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
10910 BT_FN_VOID_PTR_VAR.
10911 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
10912 * doc/extend.texi (__builtin_prefetch): Update documentation:
10913 first argument is now const void ptr.
10914
7dc3f8c0
KH
109152002-01-28 Kazu Hirata <kazu@hxi.com>
10916
10917 * config/h8300/h8300-protos.h: Remove an unused prototype.
10918
e83cb5f0
RZ
109192002-01-28 Roman Zippel <zippel@linux-m68k.org>
10920
10921 * toplev.c (lang_independent_init): Round up identifier size.
10922
5721cd84
RE
109232002-01-28 Richard Earnshaw <rearnsha@arm.com>
10924
10925 * config.gcc: Revert previous change.
10926
d534119e
AP
109272002-01-28 Andris Pavenis <pavenis@latnet.lv>
10928
10929 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
10930
5a721dab
RE
109312002-01-28 Richard Earnshaw <rearnsha@arm.com>
10932
10933 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
10934 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
10935 other non-elf netbsd config frags.
10936 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
10937 collect2 will does that.
10938 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
10939 shared-lib frobbing will work.
10940
da1775d6
KH
109412002-01-28 Kazu Hirata <kazu@hxi.com>
10942
10943 * config/h8300/h8300.h: Fix formatting.
10944 * config/h8300/h8300.md: Likewise.
10945
8f2e963b
LR
109462002-01-28 Loren J. Rittle <ljrittle@acm.org>
10947
10948 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
10949 the old, removed AAA_standards fix.
10950 * fixinc/fixincl.x: Rebuilt.
10951
fdae5767
HPN
109522002-01-28 Hans-Peter Nilsson <hp@axis.com>
10953
10954 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
10955 atexit call in crtbegin, hooked in after call to frame_dummy;
10956 register EH before registering __fini__start.
10957
2a2ecb63
AH
109582002-01-28 Aldy Hernandez <aldyh@redhat.com>
10959
10960 * config/rs6000/altivec.h: Remove spurious semicolons.
10961
8ed43adf
KH
109622002-01-27 Kazu Hirata <kazu@hxi.com>
10963
10964 * config/h8300/h8300.md: Replace dead bit extraction patterns
10965 with ones that work.
10966
917afb0c
RK
10967Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10968
10969 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
10970 if not STRICT_ALIGNMENT.
10971 * rtl.h (MEM_ALIGN): Likewise.
10972
f70a54cb
CR
109732002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
10974
10975 * doc/invoke.texi (-fdump-translation-unit): Revert this
10976 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
10977
d8fd4914
KH
109782002-01-27 Kazu Hirata <kazu@hxi.com>
10979
10980 * config/h8300/h8300.md (define_constants): New.
10981 (anonymous patterns) Use defined constants appropriately.
10982
15e0e275
KH
109832002-01-27 Kazu Hirata <kazu@hxi.com>
10984
10985 * config/h8300/h8300.c (function_arg): Remove redundant code.
10986
37a0f8a5
RH
109872002-01-26 Richard Henderson <rth@redhat.com>
10988
10989 * sched-deps.c (reg_pending_uses_head): New.
10990 (reg_pending_barrier): Rename from reg_pending_sets_all.
10991 (find_insn_list): Don't mark inline.
10992 (find_insn_mem_list): Remove.
10993 (add_dependence_list, add_dependence_list_and_free): New.
10994 (flush_pending_lists): Replace only_write param with separate
10995 for_read and for_write parameters. Update all callers. Use
10996 add_dependence_list_and_free.
10997 (sched_analyze_1): Do not add reg dependencies here; just set
10998 the pending bits. Use add_dependence_list.
10999 (sched_analyze_2): Likewise.
11000 (sched_analyze_insn): Replace schedule_barrier_found with
11001 reg_pending_barrier. Add all dependencies for pending reg
11002 uses, sets, and clobbers.
11003 (sched_analyze): Don't add reg dependencies for calls, just
11004 set pending bits. Use regs_invalidated_by_call. Treat
11005 sched_before_next_call as a normal list, not a fake insn.
11006 (init_deps): No funny init for sched_before_next_call.
11007 (free_deps): Free pending mems lists. Don't zero reg_last.
11008 (init_deps_global): Init reg_pending_uses.
11009 (finish_deps_global): Free it.
11010 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
11011 (find_insn_mem_list): Remove.
11012 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
11013 (propagate_deps): Use them. Zero temp mem lists.
11014
cea3bd3e
RH
110152002-01-26 Richard Henderson <rth@redhat.com>
11016
11017 * Makefile.in (CRTSTUFF_CFLAGS): New.
11018 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
11019 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
11020 crtstuff.c instead of alpha assembly version.
11021 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
11022 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
11023 not FORCE_{INIT,FINI}_SECTION_ALIGN.
11024 (__do_global_dtors_aux): Mark used.
11025 (frame_dummy, __do_global_ctors_aux): Mark used.
11026 (fini_dummy, init_dummy): Remove.
11027
11028 * config/alpha/crtbegin.asm: Remove file.
11029 * config/alpha/crtend.asm: Remove file.
11030 * config/alpha/t-crtbe: Remove file.
11031 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
11032 (LINK_EH_SPEC): New.
11033
11034 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
11035 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
11036 calling constructors.
11037 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
11038
11039 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
11040 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
11041 CRT_END_INIT_DUMMY hack.
11042 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
11043 FORCE_{INIT,FINI}_SECTION_ALIGN.
11044
11045 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
11046 FORCE_{INIT,FINI}_SECTION_ALIGN.
11047
11048 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
11049 invocation sequence.
11050 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
11051
11052 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
11053 (FORCE_CODE_SECTION_ALIGN): New.
11054
60ffa0e5
RH
110552002-01-26 Richard Henderson <rth@redhat.com>
11056
11057 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
11058
61334ebe
RH
110592002-01-26 Richard Henderson <rth@redhat.com>
11060
11061 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
11062 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
11063
1d788fb6
KH
110642002-01-26 Kazu Hirata <kazu@hxi.com>
11065
11066 * config/h8300/h8300.md: Remove bit extraction patterns that
11067 cannot be triggered.
11068 Restrict each bit extraction pattern to a variant on which the
11069 pattern is tested.
11070
87611f88
JM
110712002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
11072
11073 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
11074
cd74ec59
KH
110752002-01-26 Kazu Hirata <kazu@hxi.com>
11076
11077 * config/h8300/h8300.md: Remove bit test patterns that cannot
11078 be triggered.
11079 Restrict each bit test pattern to a variant on which the
11080 pattern is tested.
11081
93051e0f
KG
110822002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11083
11084 * builtins.c (expand_builtin_strncat): Remove redundant check for
11085 INTEGER_CST.
11086
216c995f
DB
110872002-01-25 David O'Brien <obrien@FreeBSD.org>
11088
11089 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
11090 default setting.
11091 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
11092 existing setting.
11093
33c7f925
GK
110942002-01-25 Geoffrey Keating <geoffk@redhat.com>
11095
11096 * dbxout.c (dbxout_init): Use assemble_name rather than just
11097 stripping off the first character.
11098 (dbxout_source_file): Likewise.
11099
6cd444b4
DD
111002002-01-25 DJ Delorie <dj@redhat.com>
11101
11102 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
11103 using rtx_equal_p, not by comparing pointers.
11104
751551d5
SE
111052002-01-25 Steve Ellcey <sje@cup.hp.com>
11106
11107 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
11108 for PIC_OFFSET_TABLE_REGNUM.
11109 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
11110
e564e618
DB
111112002-01-25 David O'Brien <obrien@FreeBSD.org>
11112
11113 * config.gcc (x86_64-*-freebsd*): New target.
11114 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
11115 value.
11116 (i[34567]86-*-freebsd*): Don't include svr4.h.
11117 * config/i386/freebsd64.h: New file.
11118
ff3aaf17
DR
111192002-01-25 Douglas B Rupp <rupp@gnat.com>
11120
4857d29d
DR
11121 * config/alpha/x-vms (version): Make static.
11122
11123 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
11124 in previous checkin.
11125
ff3aaf17
DR
11126 * Makefile.in (install-headers-cp): New target.
11127 * config.gcc (alpha-dec-*vms*): Install headers with
11128 install-headers-cp
11129
48d79c43
JH
11130Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
11131
11132 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
11133 avoid it's copies.
11134
995b5904
RK
11135Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11136
11137 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
11138 of compare_tree_int.
11139 (expand_builtin_strncat): Likewise.
11140 * c-decl.c (finish_struct): Use tree_low_cst.
11141 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
11142 * tree.c (compare_tree_int): Likewise.
11143
75eefe3f
UW
111442002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
11145
11146 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
11147 adjustments even if they are implemented by more than two insns.
11148
5a133afd
JH
11149Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
11150
995b5904 11151 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
11152 * df.h (struct ref): Kill B.
11153 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
11154
11155 * basic-block.h (PROP_EQUAL_NOTES): New flag.
11156 * flow.c (propagate_one_insn): Use it.
11157 (mark_used_regs): Handle NIL.
11158
ead39bdf 111592002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
11160
11161 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
11162 to help folding.
11163
01a2ccd0
DE
111642002-01-25 David Edelsohn <edelsohn@gnu.org>
11165
11166 * rs6000.md (prefetch): Make address V4SI mode so that the address
11167 is restricted to legitimate form for instruction.
11168
fd29f6ea
BW
111692002-01-25 Bob Wilson <bob.wilson@acm.org>
11170
11171 * doc/install.texi (xtensa-*-elf): New target.
11172 (xtensa-*-linux*): New target.
11173 * doc/contrib.texi: Add myself.
11174
55492b32
NC
111752002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
11176
11177 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
11178 purpose register to hold an SImode (or smaller) value.
11179
72c7c913
JJ
111802002-01-25 Jakub Jelinek <jakub@redhat.com>
11181
11182 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
11183 registry only.
11184 * crtstuff.c: Likewise.
11185
c4df4ceb
KH
111862002-01-25 Kazu Hirata <kazu@hxi.com>
11187
11188 * config/h8300/h8300.md (negation patterns): Tighten
11189 predicates to register_operand.
11190
70e531f5
AH
111912002-01-24 Aldy Hernandez <aldyh@redhat.com>
11192
3bca17dd
PK
11193 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
11194 mode, not Pmode.
70e531f5 11195
3bca17dd 11196 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 11197
a4f76ef9
AO
111982002-01-24 Alexandre Oliva <aoliva@redhat.com>
11199
11200 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
11201 modes.
11202
9bf25b09
KH
112032002-01-24 Kazu Hirata <kazu@hxi.com>
11204
11205 * config/h8300/h8300.c (print_operand): Remove support for
11206 operand character 'A'.
11207 * config/h8300/h8300.md (three anonymous patterns): Replace
11208 operand character 'A' with either 'T' or 'S'.
11209
974af6a5
KH
112102002-01-24 Kazu Hirata <kazu@hxi.com>
11211
11212 * config/h8300/h8300.c (print_operand): Remove support for
11213 operand character 'U'.
11214
7a5bb7b8
AP
112152002-01-24 Andris Pavenis <pavenis@latnet.lv>
11216
3bca17dd 11217 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 11218
92a4639e
NC
112192002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
11220
11221 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
11222 values to be assigned to the stack pointer.
11223
467cb2da
HP
112242002-01-14 Hartmut Penner <hpenner@de.ibm.com>
11225
bebc7e8b 11226 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
11227 to const_double needs to be done right for big-endian systems.
11228
3b6cb920
JM
112292002-01-24 Jason Merrill <jason@redhat.com>
11230
b08dd119 11231 PR c++/2432
3b6cb920
JM
11232 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
11233 to can_throw_internal.
11234
f3077311
RH
112352002-01-23 Richard Henderson <rth@redhat.com>
11236
11237 * fold-const.c (fold): Change UINT_MAX test to check vs precision
11238 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
11239
e1d71275
AO
112402002-01-24 Alexandre Oliva <aoliva@redhat.com>
11241
11242 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
11243 (symGOT2reg): Use them, then set as GOT value as unchanging.
11244 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
11245 as a temporary, if possible.
11246 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
11247 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
11248
dc271dbe
KH
112492002-01-23 Kazu Hirata <kazu@hxi.com>
11250
11251 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
11252 accept to accept 0x80 as operands[2].
11253
1a9017f9
AO
112542002-01-24 Alexandre Oliva <aoliva@redhat.com>
11255
11256 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
11257
6932f033
RH
112582002-01-23 Richard Henderson <rth@redhat.com>
11259
11260 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
11261
709619d9
AH
112622002-01-23 Aldy Hernandez <aldyh@redhat.com>
11263
3bca17dd
PK
11264 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
11265 (parmlist_or_identifiers_1): Verify that only a parmlist follows
11266 an attribute.
709619d9 11267
3d709fd3
RH
112682002-01-23 Richard Henderson <rth@redhat.com>
11269
11270 * expr.c (move_by_pieces_1): Extend size before negation.
11271
88a446c0
RH
11272 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
11273 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
11274 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
11275 * config/m68k/t-m68kelf: Likewise.
11276
03984308
BW
112772002-01-23 Bob Wilson <bob.wilson@acm.org>
11278
11279 * config/xtensa/elf.h: New file.
11280 * config/xtensa/lib1funcs.asm: New file.
11281 * config/xtensa/lib2funcs.S: New file.
11282 * config/xtensa/linux.h: New file.
11283 * config/xtensa/t-xtensa: New file.
11284 * config/xtensa/xtensa-config.h: New file.
11285 * config/xtensa/xtensa-protos.h: New file.
11286 * config/xtensa/xtensa.c: New file.
11287 * config/xtensa/xtensa.h: New file.
11288 * config/xtensa/xtensa.md: New file.
11289 * config.gcc (xtensa-*-elf*): New target.
11290 (xtensa-*-linux*): New target.
11291 * cse.c (canon_hash): Compare rtx pointers instead of register
11292 numbers. This is required for the Xtensa port.
11293 * integrate.c (copy_insn_list): Handle case where the static
11294 chain is in memory and the memory address has to be copied to
11295 a register.
11296 * doc/invoke.texi (Option Summary): Add Xtensa options.
11297 (Xtensa Options): New node.
11298 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
11299
c3d5c3fa
ZW
113002002-01-23 Zack Weinberg <zack@codesourcery.com>
11301
a63bea75
ZW
11302 * diagnostic.c (internal_error): Do ICE suppression only
11303 when ENABLE_CHECKING is not defined.
11304
c3d5c3fa
ZW
11305 * c-typeck.c (require_complete_type): Return error_mark_node
11306 if type is error_mark_node.
11307
1398974c
JJ
113082002-01-23 Janis Johnson <janis187@us.ibm.com>
11309
11310 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
11311 -Os and issue a warning.
11312
807633e5
ZW
113132002-01-23 Zack Weinberg <zack@codesourcery.com>
11314
11315 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
11316 current (lack of) need for host configuration by hand.
11317
11318 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
11319 references. Documentation of some target macros moved from
11320 hostconfig.texi to tm.texi.
11321
cf8002d0
WC
113222002-01-23 Will Cohen <wcohen@redhat.com>
11323
11324 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
11325 defined.
11326
d1e76310
KH
113272002-01-23 Kazu Hirata <kazu@hxi.com>
11328
11329 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
11330 operand[3].
11331
b2115575
JM
113322002-01-23 Jason Merrill <jason@redhat.com>
11333
f893c16e
JM
11334 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
11335
b2115575
JM
11336 * function.c (assign_parms): Don't put args of inline functions
11337 into registers when not optimizing.
11338
6bacc7b0
NC
113392002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
11340
11341 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
11342 (prologue_use): New pattern.
11343 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
11344 preference to gen_rtx_USE.
11345 (thumb_expand_prologue): Use gen_prologue_use in preference to
11346 gen_rtx_USE.
11347 (thumb_expand_epilogue): Use gen_prologue_use in preference to
11348 gen_rtx_USE.
11349
a415f7bc
HPN
113502002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
11351
11352 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
11353
5372b3fb
NB
113542002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
11355
11356 PR c/3504
11357 * doc/extend.texi: Correct documentation of __alignof__.
11358
bd571ffc
ZW
113592002-01-22 Zack Weinberg <zack@codesourcery.com>
11360
11361 * params.h: Rename arguments of DEFPARAM so that it will be
11362 recognized as a translation keyword.
11363
333c8841
AH
113642002-01-22 Aldy Hernandez <aldyh@redhat.com>
11365
bd571ffc
ZW
11366 * extend.texi: Document altivec functions.
11367 Fix N-bit adjectives in X86 builtin documentation.
333c8841 11368
38979c65
AO
113692002-01-22 Alexandre Oliva <aoliva@redhat.com>
11370
11371 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
11372 auto_inc_dec values.
11373
7458a9f0
RE
113742002-01-22 Richard Earnshaw <rearnsha@arm.com>
11375
11376 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
11377 after backslash.
11378 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
11379
129bd0c4
AO
113802002-01-22 Alexandre Oliva <aoliva@redhat.com>
11381
11382 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
11383
8b9b74a9
RH
113842002-01-22 Richard Henderson <rth@redhat.com>
11385
11386 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
11387 copy_insn not copy_rtx.
11388
d0c9db30
AM
113892002-01-23 Alan Modra <amodra@bigpond.net.au>
11390
11391 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
11392 "nonzero" as that might add "1" bits. Ensure "constop" is
11393 properly sign extened.
11394 (force_to_mode): Tweak for sign extended constop.
11395
1e7e480e
RH
113962002-01-22 Richard Henderson <rth@redhat.com>
11397
11398 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
11399 for_each_rtx instead of assuming we're already looking at the MEM.
11400 (split_small_symbolic_mem_operand): Likewise.
11401 * config/alpha/alpha.h (PREDICATE_CODES): Update.
11402 * config/alpha/alpha.md (small symbolic memory splitters): Update.
11403
114042002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
11405
11406 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
11407 sequence number for the literal.
11408 (divmoddi_internal_er): Likewise.
11409
b7f2fb96
CR
114102002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
11411
11412 PR java/4972
11413 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
11414 in LIBICONV variable.
11415 * configure: Regenerated.
11416
f66a0046
KW
114172002-01-22 Krister Walfridsson <cato@df.lth.se>
11418
11419 * dependence.c (build_def_use): Remove array_idx.
11420
e3b0efd1
KW
11421 * dwarfout.c (last_filename): Remove.
11422 (output_compile_unit_die): Remove last_filename.
11423
d8086cbb
RS
114242002-01-22 Roger Sayle <roger@eyesopen.com>
11425 Richard Henderson <rth@redhat.com>
11426
11427 PR opt/3640
11428 * fold-const.c (fold): Optimize unsigned comparisons against
11429 UINT_MAX (and similar unsigned constants).
11430
e8d52ba0
JJ
114312002-01-22 Janis Johnson <janis187@us.ibm.com>
11432
d8086cbb 11433 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 11434 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 11435 against the predicate.
11303d15 11436
e8d52ba0
JJ
11437 PR target/5379
11438 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
11439 for the address operand.
11440
cc7b420e
RH
114412002-01-22 Richard Henderson <rth@redhat.com>
11442
11443 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
11444
816e265a
CR
114452002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
11446
11447 PR other/5450
cc7b420e
RH
11448 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
11449 preprocessor flags.
816e265a 11450
7c884404
JT
114512002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
11452
11453 * config.gcc (x86_64-*-netbsd*): New target.
11454 * config/i386/netbsd64.h: New file.
11455
2b672c08
AH
114562002-01-22 Aldy Hernandez <aldyh@redhat.com>
11457
d8086cbb 11458 * regrename.c (kill_value): Fix typo.
2b672c08
AH
11459
114602002-01-22 Aldy Hernandez <aldyh@redhat.com>
11461
d8086cbb 11462 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 11463
d8086cbb 11464 * config/rs6000/rs6000.h: Same.
2b672c08 11465
d8086cbb
RS
11466 * function.c (instantiate_virtual_regs): Remove
11467 STARTING_FRAME_PHASE.
11468 (assign_stack_local_1): Same.
11469 Calculate frame phase.
2b672c08 11470
4b02997f
NC
114712002-01-22 Nick Clifton <nickc@redhat.com>
11472
11473 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
11474 variable declaration to outer scope in order to simplify
11475 future extensions.
11476 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
11477 arm_hard_regno_mode_ok.
11478 * config/arm/arm-protos.h: Add a prototype for
11479 arm_hard_regno_mode_ok.
11480 * config/arm/arm.c (soft_df_operand): Remove now redundant
11481 check for DImode values using IP_REGNUM.
11482 (nonimmediate_soft_df_operand): Remove now redundant check for
11483 DImode values using IP_REGNUM.
11484 (arm_hard_regno_mode_ok): New function. New check: make sure
11485 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
11486
11487 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
11488 note with a USE.
11489 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
11490
8a827ab2
JM
114912002-01-22 Jason Merrill <jason@redhat.com>
11492
11493 * c-semantics.c (genrtl_compound_stmt): Only check nesting
11494 consistency if this COMPOUND_STMT is scoped.
11495
cf403648
KH
114962002-01-22 Kazu Hirata <kazu@hxi.com>
11497
11498 * predict.c: Fix formatting.
11499 * print-tree.c: Likewise.
11500 * protoize.c: Likewise.
11501 * real.h: Likewise.
11502 * rtl.h: Likewise.
11503 * sbitmap.h: Likewise.
11504 * scan.c: Likewise.
11505 * sched-deps.c: Likewise.
11506 * sched-vis.c: Likewise.
11507 * sdbout.c: Likewise.
11508 * sibcall.c: Likewise.
11509 * ssa.c: Likewise.
11510 * ssa-ccp.c: Likewise.
11511 * ssa-dce.c: Likewise.
11512 * stmt.c: Likewise.
11513 * stor-layout.c: Likewise.
11514 * system.h: Likewise.
11515
aea9695c
RK
11516Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11517
a8765ae7
RK
11518 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
11519 if fits in bounds of base type.
11520
aea9695c
RK
11521 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
11522 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
11523 (add_bound_info, default): If can't find a context, make a
11524 SAVE_EXPR.
11525 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
11526
58bf601b
HPN
115272002-01-22 Hans-Peter Nilsson <hp@axis.com>
11528
11529 * c-typeck.c (parser_build_binary_op): If result from
11530 build_binary_op is ERROR_MARK just return error_mark_node without
11531 further processing.
11532
f982f805
JT
115332002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
11534
11535 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
11536 Split a.out-specific bits into...
11537 * config/netbsd-aout.h: ...this.
11538 * config/netbsd-elf.h: New file.
11539 * config/alpha/netbsd-elf.h: Remove.
11540 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
11541 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 11542 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
11543 (ENDFILE_SPEC): Likewise.
11544 (LINK_SPEC): Likewise.
11545 (CPP_SPEC): Likewise.
11546 (ASM_SPEC): Likewise.
11547 (LIB_SPEC): Likewise.
11548 (SWITCH_TAKES_ARG): Likewise.
11549 (TARGET_MEM_FUNCTIONS): Likewise.
11550 (CPP_PREDEFINES): Redefine.
11551 (ASM_FINAL_SPEC): Remove redefinition.
11552 (ASM_COMMENT_START): Redefine.
11553 (FUNCTION_PROFILER): Define.
11554 (TARGET_VERSION): Redefine.
11555 Comment and formatting cleanup.
11556 * config/i386/netbsd.h: Include <netbsd-aout.h>.
11557 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
11558 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
11559 big- or little-endian.
11560 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
11561 * config.gcc (*-*-netbsd*): Add definitions common to all
11562 NetBSD configs.
11563 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
11564 gnu_ld definitions. Add netbsd-elf.h to and remove
11565 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
11566 tmake_file, and don't lose previous tmake_file contents.
11567 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
11568 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
11569 gnu_ld definitions. Add netbsd-elf.h to tm_file.
11570 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
11571 (mipsel-*-netbsd*): Rename this to...
11572 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
11573 mips/little.h to tm_file for mips*el-*.
11574 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
11575 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
11576 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
11577
2e396476
JDA
115782002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
11579
11580 * pa-protos.h (reg_before_reload_operand): New function prototype.
11581 * pa.c (reg_before_reload_operand): New function implementation.
11582 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
11583 contraints to "*m".
11584
3b5708e7
FS
115852002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11586
11587 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
11588
85e79f96
JDA
115892002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
11590
11591 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
11592 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
11593 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
11594 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
11595 (ENDFILE_SPEC): Undefine.
11596 (STARTFILE_SPEC): Redefine for PA.
11597
38abadee
FS
115982002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11599
11600 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
11601
94f1d97c
DJ
116022002-01-21 Daniel Jacobowitz <drow@mvista.com>
11603
11604 * config.gcc: Add entries to supported PowerPC --with-cpu
11605 types.
11606
0333394e
JJ
116072002-01-21 Jakub Jelinek <jakub@redhat.com>
11608
11609 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
11610 true for 64-bit mode only SSE registers in 32-bit mode.
11611
e9d1b155
KH
116122002-01-21 Kazu Hirata <kazu@hxi.com>
11613
11614 * unwind-dw2.c: Fix formatting.
11615 * unwind-dw2-fde.c: Likewise.
11616 * unwind-dw2-fde.h: Likewise.
11617 * unwind-pe.h: Likewise.
11618 * varasm.c: Likewise.
11619 * varray.h: Likewise.
11620
07338cf8
HPN
116212002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
11622
11623 Remove workaround for register stack overwrite bug in mmix.
11624 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
11625 support for TARGET_REG_STACK_FILL_BUG.
11626 * config/mmix/mmix.h: Remove member has_call_without_parameters.
11627 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
11628 Delete.
11629 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
11630 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
11631 -mno-reg-stack-fill-bug-workaround.
11632 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
11633 machine member has_call_without_parameters.
11634 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
11635 -mreg-stack-fill-bug-workaround and
11636 -mno-reg-stack-fill-bug-workaround.
11637 (MMIX Options): Ditto.
11638
7192cbf1
KH
116392002-01-21 Kazu Hirata <kazu@hxi.com>
11640
11641 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
11642 as appropriate.
11643 Remove redundant code.
11644
d1552d7b
JM
116452002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
11646
11647 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
11648 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
11649 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
11650 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
11651 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
11652 out target macro definitions and non-target-specific comments
11653 mostly taken from old versions of the manual.
11654
ed168e45
KH
116552002-01-20 Kazu Hirata <kazu@hxi.com>
11656
11657 * config/h8300/h8300.h: Fix comment formatting.
11658 * config/ia64/aix.h: Likewise.
11659 * config/ia64/ia64-protos.h: Likewise.
11660 * config/ia64/ia64.c: Likewise.
11661 * config/ia64/ia64.h: Likewise.
11662 * config/ia64/ia64intrin.h: Likewise.
11663 * config/ia64/linux.h: Likewise.
11664 * config/ia64/unwind-aix.c: Likewise.
11665 * config/ia64/unwind-ia64.c: Likewise.
11666
005e3e05
KH
116672002-01-20 Kazu Hirata <kazu@hxi.com>
11668
11669 * config/h8300/h8300.c: Revise comments about shift code.
11670
64bead4c
KH
116712002-01-20 Kazu Hirata <kazu@hxi.com>
11672
11673 * config/h8300/h8300.c (function_arg): Update a comment.
11674
ed863595
KH
116752002-01-20 Kazu Hirata <kazu@hxi.com>
11676
11677 * config/h8300/h8300.md: Update the comments at the beginning
11678 of the file.
11679
5904dc87
KH
116802002-01-20 Kazu Hirata <kazu@hxi.com>
11681
11682 * config/i370/i370.c: Fix comment formatting.
11683 * config/i370/i370.h: Likewise.
11684 * config/i370/i370.md: Likewise.
11685 * config/i370/linux.h: Likewise.
11686
9702143f
RK
11687Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11688
cbafacd1
RK
11689 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
11690
9702143f
RK
11691 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
11692 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
11693 in incomplete case.
11694
6b6996b8
GS
116952002-01-20 Graham Stott <grahams@redhat.com>
11696
11697 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
11698
eab854f6
JDA
116992002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
11700
11701 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
11702
5b029315
TR
117032002-01-19 Tom Rix <trix@redhat.com>
11704
11705 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
11706
1d690052
AH
117072002-01-18 Aldy Hernandez <aldyh@redhat.com>
11708
d8086cbb 11709 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 11710
d8086cbb
RS
11711 * function.c (assign_stack_local_1): Adjust x_frame_offset with
11712 STARTING_FRAME_PHASE.
11713 (STARTING_FRAME_PHASE): New.
11714 (instantiate_virtual_regs): Check saneness of
11715 STARTING_FRAME_PHASE.
1d690052 11716
d8086cbb 11717 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 11718
4dd8c093
AO
117192002-01-19 Alexandre Oliva <aoliva@redhat.com>
11720
11721 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
11722
6f2a28d7
CR
117232002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
11724
11725 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
11726 be used for bootstrapping GCC 3.0.
11727
8763a465
KH
117282002-01-18 Kazu Hirata <kazu@hxi.com>
11729
11730 * config/h8300/h8300.md: Fix an insn length.
11731
3ef42a0c
KH
117322002-01-18 Kazu Hirata <kazu@hxi.com>
11733
11734 * bitmap.h: Fix comment formatting.
11735 * combine.c: Likewise.
11736 * cppfiles.c: Likewise.
11737 * c-pragma.h: Likewise.
11738 * c-typeck.c: Likewise.
11739 * df.c: Likewise.
11740 * dwarf2out.c: Likewise.
11741 * function.c: Likewise.
11742 * gcc.c: Likewise.
11743 * genattrtab.c: Likewise.
11744 * gthr-win32.h: Likewise.
11745 * haifa-sched.c: Likewise.
11746 * predict.c: Likewise.
11747 * rtlanal.c: Likewise.
11748 * rtl.h: Likewise.
11749 * unwind-dw2-fde.h: Likewise.
11750 * unwind-pe.h: Likewise.
11751 * vmsdbgout.c: Likewise.
11752
dd4dc3cd
RK
11753Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11754
11755 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
11756 if type_required and passed decl.
11757
5fb4cf24
AH
117582002-01-17 Aldy Hernandez <aldyh@redhat.com>
11759
d8086cbb
RS
11760 * config.gcc (cpu_type): Include altivec.h in powerpc
11761 extra_headers.
11762 Same for darwin.
5fb4cf24 11763
d8086cbb 11764 * config/rs6000/altivec.h: New.
5fb4cf24 11765
2705baf5
DE
117662002-01-17 David Edelsohn <edelsohn@gnu.org>
11767
11768 * doc/install.texi (*-ibm-aix*): Update assembler and exception
11769 handling information.
11770 * doc/trouble.texi (Interoperation): Add libstdc++ information
11771 for AIX.
11772 (Misunderstandings): Add template instantiation and static template
11773 member information for AIX.
11774
dbd680e1
JM
117752002-01-17 Jason Merrill <jason@redhat.com>
11776
821adc5e
JM
11777 * dbxout.c (dbxout_type): Support const and volatile.
11778
dbd680e1
JM
11779 * except.c (add_partial_entry): Remove backwards compatibility code.
11780 (end_protect_partials): Likewise.
11781
d0e82870
JJ
117822002-01-17 Jakub Jelinek <jakub@redhat.com>
11783
11784 * config/ia64/ia64.md (prologue_use): New.
11785 * config/ia64/ia64.c (ia64_expand_prologue): Use
11786 gen_prologue_use instead of gen_rtx_USE.
11787 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
11788 as CODE_FOR_pred_rel_mutex.
11789 (ia64_sched_reorder2): Likewise.
11790
f9f45c65
EC
117912002-01-16 Eric Christopher <echristo@redhat.com>
11792
11793 * config/mips/r3900.h: Reformat.
11794 (SUBTARGET_CPP_SIZE_SPEC): Remove.
11795 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
11796 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
11797 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
11798 * config/mips/t-elf: Remove mips3 multilib.
11799
c66c8b0e
L
118002002-01-16 H.J. Lu <hjl@gnu.org>
11801
11802 * config/mips/linux.h: Include "mips/abi64.h".
11803
5f083b72
L
118042002-01-16 H.J. Lu <hjl@gnu.org>
11805
11806 * config/mips/t-linux: New.
11807
11808 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
11809
11810 * config/mips/linux.h: Don't include "gofast.h".
11811 (INIT_SUBTARGET_OPTABS): Removed.
11812
af3c90a6
KH
118132002-01-16 Kazu Hirata <kazu@hxi.com>
11814
11815 * config/h8300/h8300-protos.h: Replace emit_a_shift with
11816 output_a_shift.
11817 * config/h8300/h8300.c: Likewise.
11818 * config/h8300/h8300.md: Likewise.
11819
a1bf0a16
KH
118202002-01-16 Kazu Hirata <kazu@hxi.com>
11821
11822 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
11823 spaces after an opcode name.
11824 (pushqi1_h8300hs): Likewise.
11825 (pushhi1_h8300hs): Likewise.
11826
88ab0d1c
KH
118272002-01-16 Kazu Hirata <kazu@hxi.com>
11828
11829 * doc/extend.texi: Replace "option" with "attribute"
11830 appropriately.
11831
51c561e3
JJ
118322002-01-16 Jakub Jelinek <jakub@redhat.com>
11833
11834 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
11835 (and:DI () (const_int -8)).
11836 (split_small_symbolic_mem_operand): Split
11837 (mem (and:DI () (const_int -8)).
11838
b8c1a6b8
JJ
118392002-01-16 Jakub Jelinek <jakub@redhat.com>
11840
11841 PR target/5309:
d8086cbb 11842 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
11843 same way as TYPE_IMUL.
11844 (ultrasparc_sched_reorder): Likewise.
11845 * config/sparc/sparc.md (type): Add comment to update
11846 ultrasparc_sched_reorder when making changes.
11847
1e4e4df2
KH
118482002-01-16 Kazu Hirata <kazu@hxi.com>
11849
11850 * doc/invoke.texi: Change the dump file name of block
11851 reordering pass from 28.bbro to 29.bbro.
11852 Mention -dk option.
11853
14d920c0
JH
11854Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
11855
11856 * i386.md (minsf splitter): Fix pasto.
11857
2e99323f
NC
118582002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
11859
11860 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
11861 to frame pointer initialisation instruction.
11862 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
11863 initialisation instruction.
ab8081c1
NC
11864 (soft_df_operand): Do not accept the IP register.
11865 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 11866
c4031a04
JJ
118672002-01-16 Jakub Jelinek <jakub@redhat.com>
11868
11869 PR target/5357:
11870 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
11871 MASK_V8 being both set.
11872
44b8152b
UW
118732002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
11874
11875 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
11876 insn for GOT register; add REG_MAYBE_DEAD notes instead.
11877 config/s390/s390.md (call, call_value): Add GOT register to
11878 CALL_INSN_FUNCTION_USAGE where needed.
11879 (call_exp, call_value_exp): New.
11880
1d6e90ac
NC
118812002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
11882
11883 * config/arm/arm.c: General formatting tidy up.
11884
118852002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
11886
11887 * calls.c (try_to_integrate): Use "(size_t)" intermediate
11888 cast and when casting an integer literal to "rtx" pointer.
11889 (expand_call): Likewise.
11890 * flow.c (try_pre_increment): Likewise.
11891 (find_use_as_address): Likewise.
11892 * integrate.c (expand_iline_function): Likewise.
11893 * regmove.c (try_auto_increment): Likewise.
11894
1d6e90ac 118952002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
11896
11897 * sched-rgn.c (passed): Use sbitmap_free.
11898 (header): Likewise.
11899 (inner): Likewise.
11900 (in_queue): Likewise.
11901 (in_stack): Likewise.
11902
31fce3c4
EC
119032002-01-15 Eric Christopher <echristo@redhat.com>
11904
11905 * flow.c (propagate_one_insn): Change to use fatal_insn.
11906
c99d986a
KH
119072002-01-15 Kazu Hirata <kazu@hxi.com>
11908
11909 * expmed.c (extract_fixed_bit_field): Remove unused code.
11910 * system.h: Poison SLOW_ZERO_EXTEND.
11911 * doc/tm.texi: Remove.
11912 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
11913 * config/arm/arm.h: Likewise.
11914 * config/avr/avr.h: Likewise.
11915 * config/clipper/clipper.h: Likewise.
11916 * config/convex/convex.h: Likewise.
11917 * config/d30v/d30v.h: Likewise.
11918 * config/dsp16xx/dsp16xx.h: Likewise.
11919 * config/elxsi/elxsi.h: Likewise.
11920 * config/fr30/fr30.h: Likewise.
11921 * config/h8300/h8300.h: Likewise.
11922 * config/i370/i370.h: Likewise.
11923 * config/i386/i386.h: Likewise.
11924 * config/m68k/m68k.h: Likewise.
11925 * config/mips/mips.h: Likewise.
11926 * config/ns32k/ns32k.h: Likewise.
11927 * config/pdp11/pdp11.h: Likewise.
11928 * config/pj/pj.h: Likewise.
11929 * config/s390/s390.h: Likewise.
11930 * config/sh/sh.h: Likewise.
11931 * config/stormy16/stormy16.h: Likewise.
11932 * config/v850/v850.h: Likewise.
11933 * config/vax/vax.h: Likewise.
11934 * config/we32k/we32k.h: Likewise.
11935
acfab996
AH
119362002-01-15 Aldy Hernandez <aldyh@redhat.com>
11937
d8086cbb
RS
11938 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
11939 (altivec_lvsl): Change constraint to b.
11940 (altivec_lvsr): Same.
11941 (altivec_lvebx): Same.
11942 (altivec_lvehx): Same.
11943 (altivec_lvewx): Same.
11944 (altivec_lvxl): Same.
11945 (altivec_lvx): Same.
11946 (altivec_stvx): Add parallel.
11947 (altivec_stvxl): Same.
11948 (altivec_stvehx): Same.
11949 (altivec_stvebx): Same.
11950 (altivec_stvebx): Same.
acfab996 11951
5e505bc9
AH
119522002-01-15 Aldy Hernandez <aldyh@redhat.com>
11953
d8086cbb 11954 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 11955
d8086cbb 11956 * config/rs6000/altivec.h: Delete.
5e505bc9 11957
d8086cbb 11958 * config/rs6000/altivec-defs.h: Add.
5e505bc9 11959
5c41fdfb
JDA
119602002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
11961
11962 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
11963 and UMOD modes.
11964
11965 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
11966 less than or equal to eight bytes.
11967
11968 * vax.md (andsi3): Remove constraints and change SET destination
11969 operand type to nonimmediate_operand.
11970 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
11971 when it is a CONST_INT.
11972
de097a2d
JM
119732002-01-15 Jason Merrill <jason@redhat.com>
11974
11975 * c-common.def (FILE_STMT): New code.
11976 * c-common.c (statement_code_p): It's a statement.
11977 * c-common.h (stmt_tree_s): Add x_last_filename.
11978 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
11979 (last_expr_filename): New macro.
11980 * c-semantics.c (begin_stmt_tree): Initialize it.
11981 (add_stmt): If the filename changed, also insert a
11982 FILE_STMT.
11983 (expand_stmt): Handle seeing one.
11984
4a913dd6
EC
119852002-01-15 Eric Christopher <echristo@redhat.com>
11986
11987 * flow.c (propagate_one_insn): Add error message and print out
11988 insn for debugging.
11989
006946e4
JM
119902002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
11991
11992 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
11993 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
11994 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
11995 TRAMPOLINE_ALIGNMENT.
11996 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
11997 to be in bits.
11998 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
11999 PCC_BITFIELD_TYPE_MATTERS.
12000 * config/interix.h (STDC_VALUE): Remove. Use
12001 STDC_0_IN_SYSTEM_HEADERS.
12002 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
12003 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
12004 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
12005
751a1458
CR
120062002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
12007
12008 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
12009 not work on this platform currently.
12010
57771fe8
JM
120112002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
12012
12013 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
12014 readonly_warning in _().
12015
0e83ceb1 120162002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 12017
0e83ceb1 12018 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 12019
8e2e89f7
KH
120202002-01-15 Kazu Hirata <kazu@hxi.com>
12021
0e83ceb1
DR
12022 * config/h8300/h8300.c (print_operand): Remove support for
12023 unused operand characters.
12024
8e2e89f7
KH
12025 * read-rtl.c: Fix formatting.
12026 * real.c: Likewise.
12027 * recog.c: Likewise.
12028 * regclass.c: Likewise.
12029 * regmove.c: Likewise.
12030 * reg-stack.c: Likewise.
12031 * reload1.c: Likewise.
12032 * rtlanal.c: Likewise.
12033
b531087a
KH
120342002-01-15 Kazu Hirata <kazu@hxi.com>
12035
12036 * config/i386/i386.c: Fix formatting.
12037
7c94ce7f
JJ
120382002-01-15 Jakub Jelinek <jakub@redhat.com>
12039
12040 * c-typeck.c (process_init_element): Don't save_expr
12041 COMPOUND_LITERAL_EXPR if just its initializer will be used.
12042
6041bf2f
DE
120432002-01-15 David Edelsohn <edelsohn@gnu.org>
12044
12045 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
12046 emit optional traceback table if optimize_size or TARGET_ELF.
12047 * config/rs6000/rs6000.md (prefetch): New.
12048
8559c8c0
AJ
120492002-01-15 Andreas Jaeger <aj@suse.de>
12050
12051 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
12052
70f122f2
KH
120532002-01-15 Kazu Hirata <kazu@hxi.com>
12054
12055 * mips-tfile.c: Fix formatting.
12056
6a7b4ca6
JH
12057Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
12058
12059 * unroll.c (final_reg_note_copy): Fix previous commit.
12060
e7afe229
KH
120612002-01-14 Kazu Hirata <kazu@hxi.com>
12062
12063 * config/h8300/h8300-protos.h: Remove the prototype for
12064 eq_operator.
12065 * config/h8300/h8300.c (eq_operator): Remove.
12066
7d378549
RH
120672002-01-14 Richard Henderson <rth@redhat.com>
12068
12069 * config/i386/i386.md (prefetch): Tidy.
12070 (prefetch_3dnow): Fix locality operand.
12071
ab093b81
RH
120722002-01-14 Richard Henderson <rth@redhat.com>
12073
12074 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
12075 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
12076
d300f51f
HPN
120772002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
12078
12079 * reload1.c (reload_combine): Pass reg_sum replacement through
12080 copy_rtx in loop performing multiple changes.
12081
655dd289
JJ
120822002-01-14 Jakub Jelinek <jakub@redhat.com>
12083
12084 * except.c (remove_unreachable_regions): New.
12085 (free_eh_status): Clear exception_handler_labels.
12086 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
12087 (find_exception_handler_labels): Don't add the same label more than
12088 once.
12089 (remove_exception_handler_label): Don't die if
12090 find_exception_handler_labels hasn't been called for the current
12091 function yet.
12092
1fba46a7
JH
12093Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
12094
12095 * toplev.c (rest_of_compilation): Rebuild jump labels after
12096 gcse.
12097
0975678f
JM
120982002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
12099
12100 * doc/extend.texi: Move documentation of X86 built-in functions
12101 here.
12102 * doc/invoke.texi: From here.
12103 * doc/sourcebuild.texi: Document location of documentation for
12104 machine built-in functions.
12105
969815c7
CF
121062002-01-13 Christopher Faylor <cgf@redhat.com>
12107
12108 * cppfiles.c (TEST_THRESHOLD): New macro.
12109 (SHOULD_MMAP): Ditto.
12110 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
12111 be used.
12112
494c950b
JH
12113Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
12114
12115 * unroll.c (final_reg_note_copy): Properly handle
12116 REG_LABEL
12117 (unroll_loops): Fix LOOP_CONDITION heuristics.
12118
69a0611f
GK
121192002-01-14 Geoffrey Keating <geoffk@redhat.com>
12120
12121 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
12122 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
12123
b90e45ae
JH
12124Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
12125
12126 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
12127 threaded loop.
12128
8377288b
TR
121292002-01-14 Tom Rix <trix@redhat.com>
12130
12131 * config/rs6000/rs6000.md: Fix typo with sradi.
12132
9f37ccb1
UW
121332002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
12134
12135 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
12136 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
12137 (clrstrdi, clrstrsi): Adapt callers.
12138
12139 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
12140
8559c8c0 12141 (movti splitter): Never use register 0 as base register.
9f37ccb1 12142
6c2d03d0
HP
121432002-01-14 Hartmut Penner <hpenner@de.ibm.com>
12144
8559c8c0
AJ
12145 * combine.c (simplify_shift_const): Always generate new rtx
12146 for shift expression instead of reusing given expression.
6c2d03d0 12147
d3e98208
RK
12148Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12149
12150 * config/alpha/alpha.c (alpha_expand_mov): Don't call
12151 alpha_legitimize_address unless mode is Pmode.
12152
9f339dde
GK
121532002-01-13 Geoffrey Keating <geoffk@redhat.com>
12154
12155 * doc/md.texi (Modifiers): Document the '*' constraint for the
12156 user.
12157
12158 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
12159 * doc/extend.texi (Function Attributes): 'interrupt' is valid
12160 for xstormy16 too.
12161
02a10130
RH
121622002-01-13 Richard Henderson <rth@redhat.com>
12163
12164 * reload.c (find_reloads): Use a hard reg destination as reload reg
12165 for an input reload of the source.
12166
61d47787
GP
121672002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12168
12169 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
12170 more generic.
12171
f0df8029
DR
12172Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
12173
12174 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
12175 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
12176
d2a37256
DR
12177 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
12178
a9e8a5ee
RK
12179Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12180
12181 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
12182
bc06712d
TR
121832002-01-12 Tom Rix <trix@redhat.com>
12184
8559c8c0 12185 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
12186 TARGET_POWERPC64.
12187
7cbe9bb7
RH
121882002-01-12 Richard Henderson <rth@redhat.com>
12189
38b29e64
RH
12190 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
12191
58605ba0
RH
12192 * doc/invoke.texi: Update Alpha options.
12193
7cbe9bb7
RH
12194 * doc/invoke.texi: Update i386 built-in function lists.
12195
9d560860
JH
12196Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
12197
12198 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
12199 referencing outside.
12200
bb93b973
RK
12201Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12202
12203 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
12204 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
12205 offsets, and change line folding.
12206 * optabs.c (expand_binop): Remove warnings.
12207 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 12208
f9f6b7df
GS
122092002-01-12 Graham Stott <grahams@redhat.com>
12210
12211 * attribs.c (handle_deprecated_attribute): constify WHAT.
12212 * diagnostic.c (warn_deprecated_use): Add braces, fixes
12213 dangling else warning and constify WHAT.
12214 * except.h (struct function, struct inline_remap): Move
12215 struct tag forward defs before all prototypes.
12216 (duplicate_eh_regions): Whitespace.
12217
4a692617
NC
122182002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
12219
12220 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
12221 MODE_BASE_REG_CLASS.
12222 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
12223
e37af218
RH
122242002-01-12 Richard Henderson <rth@redhat.com>
12225
12226 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
12227 (ix86_expand_vector_move): New.
12228 (bdesc_2arg): Remove andps, andnps, orps, xorps.
12229 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
12230 Remove old prefetch builtins. Special case the logicals removed above.
12231 (ix86_expand_builtin): Likewise.
12232 (safe_vector_operand): Use V4SFmode, not TImode.
12233 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
12234 (ix86_expand_timode_binop_builtin): New.
12235 * config/i386/i386-protos.h: Update.
12236 * config/i386/i386.h (enum ix86_builtins): Update.
12237 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
12238 Use ix86_expand_vector_move in vector move expanders.
12239 (movti_internal, movti_rex64): Add xorps alternative.
12240 (sse_clrv4sf): Rename and adjust from sse_clrti.
12241 (prefetch): Don't work so hard.
12242 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
12243 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
12244 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
12245
6f1a6c5b
RH
122462002-01-11 Richard Henderson <rth@redhat.com>
12247
12248 * config/i386/mmintrin.h: New file.
12249 * config/i386/xmmintrin.h: New file.
12250 * config.gcc (i?86-*-*): Add extra_headers.
12251 * simplify-rtx.c (simplify_unary_operation): Handle saturating
12252 truncation codes.
12253 (simplify_binary_operation): Handle saturating arithmetic codes.
12254 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
12255 not the lowpart subreg.
12256 (ix86_expand_builtin): Return a TImode dummy register instead of 0
12257 on error.
12258 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
12259
cdb574d3
MH
122602002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12261
12262 * conflict.c (conflict_graph_compute): Free regsets when finished.
12263 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 12264
cf11ac55
HB
122652002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12266
12267 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
12268 every where we allocate a register.
12269
76ac938b
MH
122702002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12271
12272 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
12273 * lcm.c (compute_earliest, compute_farthest): Likewise.
12274
a84b4898
JJ
122752002-01-11 Janis Johnson <janis187@us.ibm.com>
12276
12277 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
12278
aaef1c12
JJ
122792002-01-11 Janis Johnson <janis187@us.ibm.com>
12280
12281 * doc/rtl.texi (Insns): Fix 2 typos.
12282
5d22c1a5
JM
122832002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
12284
12285 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
12286 options. Use @table @gcctabopt for MMIX options. Add index
12287 entries for MMIX options. Start new paragraph with first
12288 heading of the machine-dependent options.
12289
3e92902c
CR
122902002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
12291
12292 PR other/5299
12293 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
12294 * combine.c (force_to_mode): Same.
12295 * reload1.c (clear_reload_reg_in_use): Same.
12296
96ae8197
NC
122972002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
12298
12299 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
12300 and 'subtargets'.
12301
9b780582
AJ
123022002-01-11 Andreas Jaeger <aj@suse.de>,
12303 Brad Lucier <lucier@math.purdue.edu>
12304
12305 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
12306 mcpu.
12307
12300dad
DR
12308Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
12309
12310 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
12311 Protect with IN_LIBGCC.
12312 (LINK_EH_SPEC): Add required trailing space.
12313
27511a9a
NP
12314Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
12315
9b780582 12316 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
12317 under the filename which contains them.
12318 (check_identifier, finish_decl_top_level,
12319 lookup_name_current_level_global, shadow_record_fields): Remove.
12320
4daeab16
AJ
123212002-01-11 Andreas Jaeger <aj@suse.de>
12322
12323 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
12324 march.
12325
40571d67
RH
123262002-01-10 Richard Henderson <rth@redhat.com>
12327
12328 * config/alpha/alpha.c (print_operand): Add 'J'.
12329 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
12330 new operand with the sequence number for the lituse. When splitting
12331 the insns, use gen_movdi_er_high_g and generate a sequence number.
12332 (gen_movdi_er_high_g): Print the sequence number if non-zero.
12333
6525c0e7
AH
123342002-01-10 Aldy Hernandez <aldyh@redhat.com>
12335
d8086cbb
RS
12336 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
12337 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
12338 stvxl.
12339 (altivec_expand_builtin): Same.
12340 (altivec_expand_stv_builtin): New.
12341
12342 * config/rs6000/rs6000.h (rs6000_builtins): Same.
12343
12344 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
12345 ("altivec_lvehx"): New.
12346 ("altivec_lvewx"): New.
12347 ("altivec_lvxl"): New.
12348 ("altivec_lvx"): New.
12349 ("altivec_stvx"): New.
12350 ("altivec_stvebx"): New.
12351 ("altivec_stvehx"): New.
12352 ("altivec_stvewx"): New.
12353 ("altivec_stvxl"): New.
6525c0e7 12354
cda94cbb
RH
123552002-01-10 Richard Henderson <rth@redhat.com>
12356
12357 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
12358 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
12359 care not to delete instructions twice.
12360
df2c9a44
ZW
123612002-01-10 Zack Weinberg <zack@codesourcery.com>
12362
12363 * toplev.c: Don't declare environ (it's not used anywhere).
12364 * configure.in: Don't check for declaration of environ.
12365 * config/i386/xm-mingw32.h: Don't #define environ.
12366 * config.in, configure: Regenerate.
12367
5dd8a9b1
ZW
123682002-01-10 Zack Weinberg <zack@codesourcery.com>
12369
12370 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
12371 * configure: Regenerate.
12372
12373 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
12374 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
12375 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
12376 alpha/xm-vms.h.
12377 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
12378 LIMITS_H_TEST here, not in m68k/x-next.
12379 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
12380 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
12381
12382 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
12383 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
12384 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
12385
12386 * config/i386/x-djgpp: Renamed i386/t-djgpp.
12387 * config/m88k/x-dolph: Renamed m88k/t-dolph.
12388 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
12389 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
12390 replacement of quadlib.asm with quadlib.c.
12391
12392 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
12393 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
12394 config/rs6000/xm-beos.h: Delete file.
12395
12396 * config.gcc: Update to match above changes.
12397
d10dd44c
KH
123982002-01-10 Kazu Hirata <kazu@hxi.com>
12399
12400 * config/h8300/h8300.h: Fix comment typos.
12401 * config/h8300/h8300.md: Likewise.
12402 * config/h8300/lib1funcs.asm: Likewise.
12403
04894c5a
DJ
124042002-01-10 Dale Johannesen <dalej@apple.com>
12405
12406 PR optimization/5269
12407 * unroll.c (precondition_loop_p): Make *increment be the correct
12408 sign when n_iterations known, to avoid confusing caller.
12409
adc9fe67
KH
124102002-01-10 Kazu Hirata <kazu@hxi.com>
12411
12412 * doc/extend.texi (deprecated): Fix a typo.
12413
b446e5a2
JH
12414Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
12415
12416 * basic-block.h (update_br_prob_note): Declare.
12417 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
12418 (try_forward_edges): Care negative frequencies and update note.
12419 (outgoing_edges_match): Tweek conditional merging heuristics.
12420 (try_crossjump_to_edge): use update_br_prob_note.
12421 * cfglayout.c (fixup_reorder_chain): Likewise.
12422 * cfrtl.c (update_br_prob_note): New.
12423 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
12424
12425 * i386.c (ix86_decompose_address): Return -1 if address contains
12426 shift.
12427 (legitimate_address_p): Require ix86_decompose_address to return 1.
12428
12429 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
12430 (cprop_insn): Likewise.
12431
a01da83b
KH
124322002-01-10 Kazu Hirata <kazu@hxi.com>
12433
12434 * toplev.c: Fix formatting.
12435 * tree.c: Likewise.
12436 * tree-dump.c: Likewise.
12437 * unroll.c: Likewise.
12438 * unwind-dw2.c: Likewise.
12439 * unwind-dw2-fde.c: Likewise.
12440 * unwind-dw2-fde-glibc.c: Likewise.
12441 * unwind-sjlj.c: Likewise.
12442
9f85bca7
JM
124432002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
12444
12445 * doc/invoke.texi: Document PDP-11 options.
12446
f48f56b1
KH
124472002-01-10 Kazu Hirata <kazu@hxi.com>
12448
12449 * config/h8300/h8300.h: Fix formatting.
12450
ead39bdf 124512002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
12452
12453 Add __attribute__ ((deprecated)).
12454 * extend.texi: Document __attribute__ ((deprecated)).
12455 * invoke.texi: Document -Wno-deprecated-declarations.
12456 * testsuite/g++.dg/other/deprecated.C: New C++ test.
12457 * testsuite/gcc.dg/deprecated.c: New C test.
12458 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
12459 (c_common_attribute_table): Add "deprecated" entry.
12460 (handle_deprecated_attribute): New function.
12461 * c-decl.c (deprecated_states): New enum.
12462 deprecated_state: State of "deprecated" handling.
12463 (start_decl): Set deprecated_state based on attributes.
12464 (grokdeclarator): Test for deprecated uses, propagate attribute.
12465 * c-typeck.c (build_component_ref): Test for deprecated fields.
12466 (build_external_ref): Test for deprecated primaries.
12467 * diagnostic.c (warn_deprecated_use) New function to issue
12468 warnings about __attribute__ ((depricated)) references.
12469 * flags.h (warn_deprecated_decl): Extern declared for
12470 -W[no-]deprecated-declarations option.
12471 * print-tree.c (print_node): Show deprecated flag status.
12472 * toplev.c (warn_deprecated_decl): Defined.
12473 (W_options): Added "deprecated-declaration".
12474 * toplev.h (warn_deprecated_use): Extern declared.
12475 * tree.h (struct tree_common): Define deprecated_flag.
12476 (TREE_DEPRECATED): New macro to access flag.
12477 * cp/call.c (build_call): Test for deprecated calls.
12478 * cp/class.c (add_implicitly_declared_members): Set global
12479 flag to tell grokdeclarator to not issue deprecated warnings.
12480 * cp/cp-tree.h: Add extern for adding_implicit_members.
12481 * cp/decl.c (deprecated_states): New enum.
12482 (start_decl): Set deprecated_state based on attributes.
12483 (grokdeclarator): Test for deprecated uses, propagate attribute.
12484 * cp/lex.c (do_identifier): Test for deprecated primaries.
12485 * cp/typeck.c (build_component_ref): Test for deprecated fields.
12486
ead39bdf 124872002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
12488
12489 Fix to assign attributes to inline member functions.
12490 * cp/decl.c (start_method): Handle attrlist.
12491
47073a38
KH
124922002-01-10 Kazu Hirata <kazu@hxi.com>
12493
12494 * combine.c (expand_field_assignment): Use subreg_lsb().
12495
d288e53d
DE
124962002-01-10 David Edelsohn <edelsohn@gnu.org>
12497
12498 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
12499 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
12500 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
12501 Recurse for any operand of AND as long as constant is non-zero.
12502
08a02ffa
KH
125032002-01-10 Kazu Hirata <kazu@hxi.com>
12504
12505 * config/h8300/h8300.md: Remove constraints from expanders.
12506
c203e7fe
KH
125072002-01-10 Kazu Hirata <kazu@hxi.com>
12508
12509 * varasm.c: Fix formatting.
12510 * varray.c: Likewise.
12511 * vmsdbgout.c: Likewise.
12512 * xcoffout.c: Likewise.
12513
bcb3bc6d
JH
12514Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
12515
12516 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 12517 update edge probabilities to match.
bcb3bc6d 12518
0a553c7e
JM
125192002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
12520
12521 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
12522 dependencies.
12523 * doc/languages.texi, doc/sourcebuild.texi: New files.
12524 * doc/configfiles.texi: Make a subsubsection. Update.
12525 * doc/configterms.texi: Add @node. Remove warning that this isn't
12526 instructions for building GCC.
12527 * doc/makefile.texi: Make a subsection.
12528 * doc/gccint.texi: Update.
12529
adc7fcb8
JH
12530Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
12531
12532 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
12533
5a4dd0b3
NP
12534Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
12535
12536 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
12537
3987b9db
JH
12538Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
12539
12540 * optabs.c (expand_fix): Look for wider integer modes first.
12541
12542 * i386.md (mov?f): Avoid the fake const double trick for medium
12543 memory model.
12544 (min?f*/max?f*): Prohibit memory operands for i387 variant.
12545 (fop_df_4): Disable for SSE compilation.
12546
ceb15948 125472002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
12548
12549 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 12550 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 12551
e1623399
RH
125522002-01-10 Richard Henderson <rth@redhat.com>
12553
12554 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
12555
c4abb293
RH
125562002-01-10 Richard Henderson <rth@redhat.com>
12557
12558 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
12559 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
12560
d2604ae9
KH
125612002-01-10 Kazu Hirata <kazu@hxi.com>
12562
12563 * combine.c (can_combine_p): Fix a comment typo.
12564
766c7ad1
ZW
125652002-01-09 Zack Weinberg <zack@codesourcery.com>
12566
12567 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
12568 empty list correctly. Change loop index $t to $f for
12569 consistency with rest of Makefile.
12570
95385cbb
AH
125712002-01-08 Aldy Hernandez <aldyh@redhat.com>
12572
12573 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
12574 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
12575
12576 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
12577 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
12578 (altivec_init_builtins): Same.
12579 (altivec_expand_unop_builtin): Return NULL_RTX on error.
12580 (altivec_expand_binop_builtin): Same.
12581 (altivec_expand_ternop_builtin): Same.
12582 (bdesc_dst): New.
12583
12584 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
12585 ("altivec_vctuxs"): Fix typo.
12586 ("altivec_vnmsubfp"): Same.
12587 ("altivec_dssall"): New.
12588 ("altivec_mfvscr"): New.
12589 ("altivec_dss"): New.
12590 ("altivec_lvsl"): New.
12591 ("altivec_lvsr"): New.
12592 ("altivec_dstt"): New.
12593 ("altivec_dstst"): New.
12594 ("altivec_dststt"): New.
12595 ("altivec_dst"): New.
12596
12597 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
12598 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
12599
e4ac76b4
RH
126002002-01-09 Richard Henderson <rth@redhat.com>
12601
12602 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
12603
c893e4a4
HPN
126042002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
12605
12606 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
12607 function.
12608 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
12609 prototype.
7387c700 12610 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 12611
f4f4d0f8
KH
126122002-01-09 Kazu Hirata <kazu@hxi.com>
12613
12614 * read-rtl.c: Fix formatting.
12615 * real.c: Likewise.
12616 * regclass.c: Likewise.
12617 * regrename.c: Likewise.
12618 * reg-stack.c: Likewise.
12619 * reload1.c: Likewise.
12620 * reload.c: Likewise.
12621 * rtl.c: Likewise.
12622
cc863bea
KH
126232002-01-09 Kazu Hirata <kazu@hxi.com>
12624
12625 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
12626 to extract items in the expr_list chain.
12627
7b4dfe3d
RH
126282002-01-09 Richard Henderson <rth@redhat.com>
12629
12630 * config/vax/vax.c (vax_rtx_cost): Never abort.
12631
1d969638
RH
12632 * config/vax/vax.h (REAL_ARITHMETIC): Define.
12633
7d5ab30e
JH
126342002-01-09 Jan Hubicka <jh@suse.cz>
12635
12636 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
12637
9503f3d1
RH
126382002-01-09 Richard Henderson <rth@redhat.com>
12639
12640 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
12641 Unify code from various alternatives.
12642
42bd17b7
RH
126432002-01-09 Richard Henderson <rth@redhat.com>
12644
12645 * regrename.c (copy_value): Ignore the copy if the source register
12646 is present in the value chain with a narrower mode.
12647
bdca3c33
HB
126482002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12649
cda94cbb
RH
12650 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
12651 for the c4x target. Also improve layout.
bdca3c33 12652
c73a5e94
RH
126532002-01-09 Richard Henderson <rth@redhat.com>
12654
12655 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
12656 * config/m32r/m32r.md (and ior xor splitters): Swap operands
12657 to match insn patterns.
12658
dd0a18c0
RH
126592002-01-09 Richard Henderson <rth@redhat.com>
12660
12661 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
12662 (copyprop_hardreg_forward_1): Likewise.
12663
1fd9ac1e
JDA
126642002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
12665
12666 * pa.md (decrement_and_branch_until_zero): Change predicate for
12667 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
12668
5cb265ec
BM
126692002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
12670
12671 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
12672 gets undefined. For Darwin.
12673
fcd8fa8b
HB
126742002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12675
12676 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
12677
bd3ab23a
MH
126782002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12679
12680 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
12681
21e16bd6
RH
126822002-01-08 Richard Henderson <rth@redhat.com>
12683
12684 * regrename.c (copy_value): Ignore overlapping copies.
12685
a5376276
RH
126862002-01-08 Richard Henderson <rth@redhat.com>
12687
12688 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
12689 as needed to avoid shared structure.
12690
18cf8dda
KH
126912002-01-08 Kazu Hirata <kazu@hxi.com>
12692
12693 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
12694 H8/300H and H8/S.
12695
16c484c7
JM
126962002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
12697
12698 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
12699 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
12700 documentation of obsolete macros.
12701 * system.h: Poison these macros.
12702 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
12703 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
12704 config/c4x/c4x.h, config/clipper/clipper.h,
12705 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
12706 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
12707 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
12708 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
12709 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
12710 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
12711 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
12712 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
12713 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
12714 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
12715 config/sparc/sparc.h, config/stormy16/stormy16.h,
12716 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
12717 definitions and commented out definitions of obsolete macros.
12718 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
12719 of MAX_INT_TYPE_SIZE.
12720
14b3e8ef
UW
127212002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
12722
12723 * config/s390/s390.c (s390_preferred_reload_class): Never
12724 return ADDR_REGS if it isn't a subset of the given class.
12725 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
12726 FP_REGS, but all superclasses as well.
12727
12728 * config/s390/s390.c (s390_function_profiler): Fix thinko.
12729
12730 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
12731 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
12732 must not be a const_int.
12733
a693284d
RH
127342002-01-08 Richard Henderson <rth@redhat.com>
12735
12736 * Makefile.in (toplev.o): Depend on options.h.
12737 (gcc.o): Depend on specs.h.
12738
b3ca30df
JJ
127392002-01-08 Jakub Jelinek <jakub@redhat.com>
12740
12741 * expr.c (store_expr): Convert VOIDmode constants back to target's
12742 mode.
12743
24dbb440
GP
127442002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12745
12746 * doc/invoke.texi: Markup gcc as @command. Refer to
12747 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
12748 of http://gcc.gnu.org/thanks.html.
12749
234e114c
DJ
127502002-01-08 Dale Johannesen <dalej@apple.com>
12751
12752 * config/rs6000/rs6000.md: Add missing int register
12753 target case to movdf_low.
12754
0d24f4d1
ZW
127552002-01-08 Zack Weinberg <zack@codesourcery.com>
12756
12757 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
12758 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
12759 (cppinit.o): Depend on except.h.
12760 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
12761 s-specs): New rules.
12762
12763 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
12764 Don't create specs.h/options.h/gencheck.h here. Remove
12765 unnecessary variable settings from last argument of AC_OUTPUT.
12766 * config.in, configure: Regenerate.
12767 * intl.c: Hardcode package name as "gcc".
12768
12769 * cppinit.c: Include except.h.
12770 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
12771 appropriate.
12772 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
12773 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
12774 (!)USING_SJLJ_EXCEPTIONS.
12775 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
12776
ed722f66
JM
127772002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
12778
12779 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
12780 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
12781 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
12782 documentation of obsolete macros.
12783 * system.h: Poison these macros.
12784 * config/d30v/d30v.h, config/ns32k/encore.h,
12785 config/stormy16/stormy16.h: Remove definitions and commented out
12786 definitions of obsolete macros.
12787
31e5e29a
NP
12788Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
12789
12790 * objc/objc-act.c (handle_class_ref): Mark the declaration of
12791 %sobjc_class_ref_%s as used - to prevent unwanted compiler
12792 warnings.
12793
bc1fa59c
UW
127942002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
12795
12796 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
12797 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
12798 to insn adjusting stack/frame pointer.
0d24f4d1 12799 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
12800 accept operands that cause the insn to be non-splittable.
12801
a8086abf
GS
128022002-01-08 Graham Stott <grahams@redhat.com>
12803
12804 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
12805 (C_TYPE_FIELDS_VOLATILE): Likewise.
12806 (C_TYPE_BEING_DEFINED): Likewise.
12807 (C_IS_RESERVED_WORD): Likewise.
12808 (C_TYPE_VARIABLE_SIZE): Likewise.
12809 (C_DECL_VARIABLE_SIZE): Likewise.
12810 (C_MISSING_PROTOTYPE_WARNED): Likewise.
12811 (C_SET_EXP_ORIGINAL_CODE): Likewise.
12812 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
12813 parenthesis.
12814 (C_DECL_ANTICIPATED): Likewise.
12815 (c_build_type_variant): Add parenthesis.
12816
3f595aa1
JM
128172002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
12818
12819 * gcc.c (option_map): Remove --version.
12820 (process_command): Handle -fversion following the GNU Coding
12821 Standards. Partially addresses PR other/704.
12822
5bc5a8f9
GS
128232002-01-08 Graham Stott <grahams@redhat.com>
12824
12825 * combine.c (combine_instructions): Fix typo.
12826
16ec4ebf
GS
128272002-01-08 Graham Stott <grahams@redhat.com>
12828
12829 * debug.h: Use "tree" and "rtx" throughout.
12830
12831 * debug.c: Likewise.
12832
4b69f385
NC
128332002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
12834
12835 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
12836 constant pool, use the pool's version of the symbol instead.
12837
57d1019b
RH
128382002-01-07 Richard Henderson <rth@redhat.com>
12839
12840 * regrename.c (find_oldest_value_reg): Ignore the value chain if
12841 the original register was copied in a mode with a fewer number of
12842 hard registers than the desired mode.
12843 (copyprop_hardreg_forward_1): Likewise.
12844 (debug_value_data): Fix loop test.
12845 * toplev.c (parse_options_and_default_flags): Reenable
12846 -fcprop-registers at -O1.
12847
128482002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 12849
0d24f4d1
ZW
12850 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
12851 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 12852
0d24f4d1
ZW
12853 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
12854 predicates.
fa066a23 12855
0d24f4d1 12856 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 12857
8f949e7e
JDA
128582002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
12859
12860 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
12861 (pa_output_function_prologue): Output local label at the beginning of
12862 the prologue when profiling.
12863 (hppa_profile_hook): Use the local label rather than the function label.
12864 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
12865
c62f2db5
AH
128662002-01-07 Aldy Hernandez <aldyh@redhat.com>
12867
0d24f4d1
ZW
12868 * config/rs6000/rs6000.c (print_operand): Remove extra space.
12869 (altivec_expand_unop_builtin): Fix thinko.
12870 (altivec_expand_binop_builtin): Same.
12871 (altivec_expand_ternop_builtin): Same.
12872 (altivec_expand_builtin): Same.
c62f2db5 12873
b5235ba7
RH
128742002-01-07 Richard Henderson <rth@redhat.com>
12875
12876 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
12877
7d8ac293
JM
128782002-01-07 Jason Merrill <jason@redhat.com>
12879
12880 * unwind-dw2.c (execute_cfa_program): Use < again.
12881
571a03b8
JJ
128822002-01-07 Jakub Jelinek <jakub@redhat.com>
12883
12884 * predict.c (combine_predictions_for_insn): Avoid division by zero.
12885
2e951384
JJ
128862002-01-07 Jakub Jelinek <jakub@redhat.com>
12887
12888 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
12889 Don't allow -1 - x -> ~x simplifications in the first pass.
12890
20e26713
AH
128912002-01-07 Aldy Hernandez <aldyh@redhat.com>
12892
0d24f4d1
ZW
12893 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
12894 arguments.
12895 (altivec_expand_binop_builtin): Same.
12896 (altivec_expand_unop_builtin): Same.
12897 (print_operand): Fix typo.
12898 (bdesc_1arg): Add vupk* variants.
20e26713 12899
0d24f4d1 12900 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 12901
0d24f4d1 12902 * rs6000.md: Add altivec_vupk* variants.
20e26713 12903
4dd57c18
JM
129042002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
12905
12906 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
12907 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
12908 and last update dates.
12909
0341c5d2
JJ
129102002-01-07 Janis Johnson <janis187@us.ibm.com>
12911
12912 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
12913
c7f3e0b0
MM
129142002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
12915
12916 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
12917 * config/avr/avr.h (CPP_SPEC): Likewise.
12918 (LINK_SPEC): Likewise.
12919 (CRT_BINUTILS_SPECS): Likewise.
12920 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
12921 * doc/invoke.texi (AVR Options): Document them.
12922
6ba4d630
JH
12923Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
12924
12925 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
12926 LABEL_NUSES.
12927
6253d571
GS
129282002-01-07 Graham Stott <grahams@redhat.com>
12929
0d24f4d1
ZW
12930 * config/i386/i386.h: Update copyright date.
12931 (HALF_PIC_PTR): Add parenthesis.
12932 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
12933 (CONSTANT_ALIGNMENT): Add parenthesis.
12934 (DATA_ALIGNMENT): Likewise.
12935 (LOCAL_ALIGNMENT): Likewise.
12936 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
12937 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
12938 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
12939 (HARD_REGNO_NREGS): Add paranethesis.
12940 (VALID_SSE_REG_MODE): Whitespace.
12941 (VALID_MMX_REG_MODE): Whitespace.
12942 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
12943 (ix86_hard_regno_mode_ok): Add parenthesis.
12944 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
12945 (RETURN_IN_MEMORY): Whitespace.
12946 (N_REG_CLASSES): Add parenthesis.
12947 (INTEGER_CLASS_P): Add parenthesis and wrap.
12948 (FLOAT_CLASS_P): Likewise.
12949 (SSE_CLASS_P): Likewise.
12950 (MMX_CLASS_P): Likewise.
12951 (MAYBE_INTEGER_CLASS_P): Likewise.
12952 (MAYBE_FLOAT_CLASS_P): Likewise.
12953 (MAYBE_SSE_CLASS_P): Likewise.
12954 (MAYBE_MMX_CLASS_P): Likewise.
12955 (Q_CLASS_P): Likewise.
12956 (GENERAL_REGNO_P): Uppercase macro parameter.
12957 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
12958 (FP_REGNO_P): Likewise.
12959 (ANY_FP_REGNO_P): Uppercase macro parameter.
12960 (SSE_REGNO_P): Likewise.
12961 (SSE_REGNO): Likewise.
12962 (SSE_REG_P): Likewise.
12963 (SSE_FLOAT_MODE_P): Likewise.
12964 (MMX_REGNO_P): Likewise.
12965 (MMX_REG_P):Likewise.
12966 (STACK_REG_P): Likewise.
12967 (NON_STACK_REG_P): Likewise.
12968 (STACK_TOP_P): Likewise.
12969 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
12970 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
12971 (SECONDARY_MEMORY_NEEDED): Likewise.
12972 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
12973 (MD_ASM_CLOBBERS): Whitespace and wrap.
12974 (MUST_PASS_IN_STACK): Whitespace and wrap.
12975 (RETURN_POPS_ARGS): Add parenthesis.
12976 (INIT_CUMULATIVE_ARGS): Likewise.
12977 (FUNCTION_ARG): Likewise.
12978 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
12979 (SETUP_INCOMING_VARARGS): Likewise.
12980 (BUILD_VA_LIST_TYPE): Add parenthesis.
12981 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
12982 parenthsis.
12983 (EXPAND_BUILTIN_VA_ARG): Likewise.
12984 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
12985 (INITIALIZE_TRAMPOLINE): Add parenthesis.
12986 (INITIAL_ELIMINATION_OFFSET): Likewise.
12987 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
12988 (REGNO_OK_FOR_BASE_P): Likewise.
12989 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
12990 (REGNO_OK_FOR_DIREG_P): Likewise.
12991 (REG_OK_FOR_INDEX_P): Whitespace.
12992 (REG_OK_FOR_BASE_P): Whitespace.
12993 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
12994 parenthesis.
12995 (FIND_BASE_TERM): Fix typo.
12996 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
12997 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
12998 (SYMBOLIC_CONST; Whitespace.
12999 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
13000 (ENCODE_SECTION_INFO): Whitespace.
13001 (FINALIZE_PIC): Remove do { ... } while (0).
13002 (PROMOTE_MODE): Wrap in do { ... } while (0).
13003 (CONST_COSTS): Whitespace.
13004 (RTX_COSTS): Add paramethesis, whitespace and wrap.
13005 (REGISTER_MOVE_COST): Add parenthesis.
13006 (MEMORY_MOVE_COST): Likewise.
13007 (EXTRA_CC_MODES): Whitespace.
13008 (SELECT_CC_MODE): Add parenthesis and whitespace.
13009 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
13010 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
13011 (ASM_OUTPUT_LABEL): Add paramethesis.
13012 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
13013 (ASM_OUTPUT_REG_POP): Likewise.
13014 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
13015 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 13016
07933f72
GS
13017 * config/i386/i386.c: Update copyright.
13018 (CHECK_STACK_LIMIT): Add parenthesis.
13019 (AT_BP): Uppercase macro parameter.
13020 (x86_64_int_parameter_registers): Constify.
13021 (x86_64_int_return_registers): Likewise.
13022 (ix86_compare_op0): Use rtx.
13023 (construct_container): Constify INTREG parameter.
13024 (function_arg): Use rtx.
13025
0b4d32c9
GS
13026 * diagnostic.h: Update copyright date.
13027 (output_buffer_state): Add parenthesis.
13028 (output_buffer_format_args): Likewise.
13029
6253d571
GS
13030 * combine.c (combine_instructions): Replace XEXP (links, 0)
13031 with link.
13032
68f3f6f1
L
130332002-01-06 H.J. Lu <hjl@gnu.org>
13034
13035 * cfgcleanup.c (thread_jump): Fix 2 typos.
13036
130372002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 13038
0d24f4d1 13039 * config.gcc: Add support for --enable-altivec.
480f7f3a 13040
13b8c631
CR
130412002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
13042
13043 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
13044
58ad89b1
JJ
130452002-01-06 Jakub Jelinek <jakub@redhat.com>
13046
13047 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
13048 __objc_class_name_*.
13049
e403b4bc
CR
130502002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
13051
13052 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
13053
e41c7831
RH
130542002-01-06 Richard Henderson <rth@redhat.com>
13055
13056 * reorg.c (emit_delay_sequence): Remove death notes, not merely
13057 nop them out. Increment label reference count for REG_LABEL.
13058 (fill_slots_from_thread): Frob label reference count around
13059 delete_related_insns.
13060
3b3b1e32
RH
130612002-01-05 Richard Henderson <rth@redhat.com>
13062
13063 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
13064 jump threading.
13065
c28abdf0
RH
130662002-01-05 Richard Henderson <rth@redhat.com>
13067
13068 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
13069 * integrate.c (output_inline_function): Likewise.
13070 * toplev.c (rest_of_compilation): Do it here instead. Move call
13071 to remove_unnecessary_notes after emitting abstract instance.
13072 Force an emitted nested function to have its parent emited as well.
13073 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
13074 for null.
13075 (rtl_for_decl_location): Do not look at reload data structures
13076 before reload has run.
13077
c4f2c499
KH
130782002-01-05 Kazu Hirata <kazu@hxi.com>
13079
13080 * cse.c: Fix formatting.
13081 * dwarf2asm.c: Likewise.
13082 * dwarf2out.c: Likewise.
13083 * explow.c: Likewise.
13084 * expmed.c: Likewise.
13085 * function.c: Likewise.
13086 * gcov.c: Likewise.
13087 * gencheck.c: Likewise.
13088 * genrecog.c: Likewise.
13089 * ggc-common.c: Likewise.
13090 * ggc-page.c: Likewise.
13091 * global.c: Likewise.
13092
cf0d9408
KH
130932002-01-05 Kazu Hirata <kazu@hxi.com>
13094
13095 * combine.c: Fix formatting.
13096
bedca03a
CR
130972002-01-05 Craig Rodrigues <crodrigu@bbn.com>
13098
13099 PR middle-end/1557
13100 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
13101
0134bf2d
DE
131022002-01-05 David Edelsohn <edelsohn@gnu.org>
13103
13104 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
13105 as 1 for __powerpc64__ as well.
13106
13107 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
13108
13109 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
13110 return it.
13111
9ca88d5a
DB
131122002-01-05 Daniel Berlin <dan@dberlin.org>
13113
13114 * lcm.c: Revert change, due to performance regression it causes on
13115 SPEC because it's slightly more conservative (sigh, I hate
13116 edge-based LCM).
0d24f4d1 13117
1c570418
JH
13118Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
13119
13120 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
13121
d83bb9f7
NB
131222002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
13123
13124 * doc/cppinternals.texi: Update.
13125
3e0f61ac
HPN
131262002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
13127
13128 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
13129 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
13130 negatives.
13131 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
13132 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
13133 kludge for pre-october-14th mmix versions to handle new-found bug
13134 with PUSHJ/PUSHGO and the register stack.
13135 * config/mmix/mmix.h (struct machine_function): Rename member
13136 has_call_value_without_parameters to has_call_without_parameters.
13137 All referers changed.
13138 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
13139 TARGET_MASK_BRANCH_PREDICT): New macros.
13140 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
13141 -mno-reg-stack-fill-bug-workaround.
13142 * config/mmix/mmix.md ("call"): Set struct machine member
13143 has_call_without_parameters.
13144
4deaa2f8
JH
13145Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
13146
13147 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
13148
9f16e871
JH
13149Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
13150
13151 * cfgcleanup.c: Include tm_p.h
13152 (mark_effect): Fix handling of hard register; fix handling of SET
13153
96eb1157
KH
131542002-01-04 Kazu Hirata <kazu@hxi.com>
13155
13156 * config/h8300/h8300.md (anonymous patterns): Check that
13157 operands are registers before using REGNO on them.
13158
48180d68
RM
131592002-01-03 Roland McGrath <roland@frob.com>
13160
13161 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
13162
b0832fe1
JJ
131632002-01-04 Jakub Jelinek <jakub@redhat.com>
13164
13165 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
13166 * c-common.h (genrtl_expr_stmt_value): Likewise.
13167 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
13168 (expand_expr_stmt_value): Add maybe_last argument.
13169 Don't warn about statement with no effect if it is the last statement
13170 in expression statement.
13171 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
13172 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
13173 expand_expr_stmt_value.
13174 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
13175 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
13176 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
13177 as maybe_last to expand_expr_stmt_value.
13178
c1e14513
JL
13179Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
13180
0d24f4d1
ZW
13181 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
13182 be passed in, do not build it.
13183 (c_begin_if_stmt): New function.
13184 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
13185 * c-common.h (c_expand_start_cond): Update prototype.
13186 (c_begin_if_stmt): Prototype new function.
13187 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
13188 * c-parse.in (if_prefix): Use c_begin_if_stmt,
13189 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 13190
b6ec437a
WC
131912002-01-04 William Cohen <wcohen@redhat.com>
13192
13193 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
13194 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
13195 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
13196 * config/pa/som.h (ASM_FILE_START): Likewise.
13197
ead39bdf 131982002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
13199
13200 * lcm.c: Include df.h.
13201 Add available_transfer_function prototype.
13202 (compute_available): Rework to use iterative dataflow framework.
13203 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
13204 with bb_info in df.h
13205 (available_transfer_function): New function.
13206
13207 * Makefile.in (lcm.o): add df.h to dependencies.
13208
551cc6fd
RH
132092002-01-04 Richard Henderson <rth@redhat.com>
13210
13211 * config/alpha/alpha.c (some_operand): Accept HIGH.
13212 (input_operand): Likewise; accept simple references to globals.
13213 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
13214 (alpha_const_double_ok_for_letter_p): Likewise.
13215 (alpha_extra_constraint): Likewise.
13216 (alpha_preferred_reload_class): Likewise. Do not force
13217 symbolic constants to memory.
13218 (alpha_legitimate_address_p): Accept simple references
13219 to small_symbolic_operand.
13220 (alpha_legitimize_address): New arg scratch. Be prepared to be
13221 called when no_new_pseudos. Emit simple symbolic references.
13222 Split integers into low, high, and rest.
13223 (alpha_expand_mov): Use alpha_legitimize_address.
13224 (some_small_symbolic_mem_operand): New.
13225 (split_small_symbolic_mem_operand): New.
13226 * config/alpha/alpha-protos.h: Update.
13227 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
13228 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
13229 (EXTRA_CONSTRAINT): Likewise.
13230 (PREFERRED_RELOAD_CLASS): Likewise.
13231 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
13232 (PREDICATE_CODES): Update.
13233 * config/alpha/alpha.md: New post-reload splitters to convert
13234 simplfied symbolic operands to the form that references $29.
13235 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
13236 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
13237
1eaea054
RH
132382002-01-03 Richard Henderson <rth@redhat.com>
13239
13240 * local-alloc.c (function_invariant_p): Update commentary.
13241
c4cc12b7
L
132422002-01-04 H.J. Lu <hjl@gnu.org>
13243
13244 * toplev.c (rest_of_compilation): Fix a typo when calling
13245 cleanup_cfg.
13246
173bf5be
KH
132472002-01-03 Kazu Hirata <kazu@hxi.com>
13248
13249 * c-common.c: Fix formatting.
13250 * diagnostic.c: Likewise.
13251 * doloop.c: Likewise.
13252 * dwarf2out.c: Likewise.
13253
187462ac
KH
132542002-01-03 Kazu Hirata <kazu@hxi.com>
13255
13256 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
13257 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
13258
5d8ebbd8
NB
132592002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
13260
13261 * cpperror.c: Update comments and copyright.
13262 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
13263 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
13264
518c1311
JDA
132652002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
13266
13267 * collect2.c (main): Use strcmp when testing for "-shared".
13268
d15a58c0
NB
132692002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
13270
13271 * cppmacro.c: Don't include intl.h. Update comments.
13272 (new_number_token): Allocate enough buffer for 64-bit unsigned
13273 integers; update prototype.
13274 * cppmain.c: Update comments.
13275
70f4f91c
WC
132762002-01-03 William Cohen <wcohen@redhat.com>
13277
13278 * function.h (struct function): Add profile.
13279 (current_function_profile): New.
13280 doc/extend.texi: Update documentation.
13281 * final.c (final_start_function): Use current_function_profile
13282 instead of profile_flag.
13283 (profile_after_prologue): Likewise.
13284 * function.c (expand_function_start): Likewise.
13285 (expand_function_start): Likewise.
c4cc12b7 13286 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
13287 (alpha_does_function_need_gp): Likewise.
13288 (alpha_expand_prologue): Likewise.
13289 * config/arm/arm.c (arm_expand_prologue): Likewise.
13290 thumb_expand_prologue: Likewise.
13291 * config/d30v/d30v.c (d30v_stack_info): Likewise.
13292 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
13293 (fr30_expand_prologue): Likewise.
13294 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
13295 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
13296 * config/i386/i386.h (FINALIZE_PIC): Likewise.
13297 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
13298 * config/i960/i960.c (i960_output_function_prologue): Likewise.
13299 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
13300 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
13301 (m32r_expand_prologue): Likewise.
13302 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
13303 (m88k_expand_prologue): Likewise.
13304 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
13305 * config/mips/mips.c (compute_frame_size): Likewise.
13306 (mips_expand_prologue): Likewise.
13307 (mips_can_use_return_insn): Likewise.
13308 * config/pa/elf.h (ASM_FILE_START): Likewise.
13309 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
13310 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
13311 * config/pa/som.h (ASM_FILE_START): Likewise.
13312 * config/romp/romp.c (romp_using_r14): Likewise.
13313 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
13314 (rs6000_stack_info): Likewise.
13315 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 13316 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
13317 * config/v850/v850.c (compute_register_save_size): Likewise.
13318
cb1ac742
JJ
133192002-01-03 Jakub Jelinek <jakub@redhat.com>
13320
13321 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
13322 gen_lowpart_common fails, use gen_lowpart_SUBREG.
13323
61d951df 133242002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 13325
61d951df
TC
13326 * darwin.c (machopic_output_possible_stub_label): Don't generate
13327 stub routines for pseudo-stubs which we've just defined.
13328
505ddab6
KH
133292002-01-03 Kazu Hirata <kazu@hxi.com>
13330
13331 * builtins.c: Fix formatting.
13332 * c-typeck.c: Likewise.
13333 * combine.c: Likewise.
13334 * expr.c: Likewise.
13335 * loop.c: Likewise.
13336
b7e30d8a
AS
133372002-01-03 Andreas Schwab <schwab@suse.de>
13338
13339 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
13340 and return true if _cpp_push_next_buffer pushed a new include
13341 file.
13342 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
13343 _cpp_pop_file_buffer did not push a new file.
13344 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
13345
ff81832f
EC
133462002-01-02 Eric Christopher <echristo@redhat.com>
13347
13348 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
13349 FIND_REG_INC_NOTE call. Update copyright.
13350 * loop.c (canonicalize_condition): Ditto.
13351 * reorg.c (delete_scheduled_jump): Ditto.
13352
8e42ace1
KH
133532002-01-03 Kazu Hirata <kazu@hxi.com>
13354
13355 * gcse.c: Fix formatting.
13356
fb2bf631
GS
133572002-01-03 Graham Stott <grahams@redhat.com>
13358
13359 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
13360 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 13361 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
13362
13363 * system.h: Move forward defs for struct tags rtx_def, union_tree,
13364 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 13365 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
13366
133672002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
13368
13369 * tree.h: Update copyright date.
13370 (IS_EXPR_CODE_CLASS): Add parenthesis.
13371 (TREE_SET_CODE): Add whitespace.
13372 (TREE_CHECK): Add parenthesis.
13373 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
13374 (CST_OR_CONSTRUCTOR_CHECK):
13375 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
13376 (TREE_SYMBOL_REFERENCED): Whitespace.
13377 (INT_CST_LT): Likewise.
13378 (INT_CST_LT_UNSIGNED): Likewise.
13379 (tree_real_cst): Unwrap comment.
13380 (tree_string): Likewise.
13381 (tree_complex): Likewise.
13382 (IDENTIFIER_POINTER): correct cast.
13383 (SAVE_EXPR_CONTEXT): Whitespace.
13384 (EXPR_WFL_FILENAME_NODE): Likewise.
13385 (EXPR_WFL_FILENAME): Remove parenthesis.
13386 (DECL_ORIGIN): Add parenthesis.
13387 (DECL_FROM_INLINE): Use NULL_TREE.
13388 (build_int_2): Whitespace.
13389 (build_type_variant): Add parenthesis.
13390
13391 * gcc/jcf-parse.c: Update copyright date.
13392 (yyparse): Constify resource_filename.
13393
f52eda29
GS
133942002-01-03 Graham Stott <grahams@redhat.com>
13395
13396 * rtl.h: Update copyright date.
13397 (RTL_CHECK1): Wrap long line.
13398 (RTL_CHECK2): Likewise.
13399 (RTL_CHECKC1): Wrap long line and whitespace.
13400 (RTL_CHECKC2): Likewise.
13401 (XWINT): Whitespace.
13402 (XINT): Likewise.
13403 (XSTR): Likewise.
13404 (XEXP): Likewise.
13405 (XVEC): Likewise.
13406 (XMODE): Likewise.
13407 (XBITMAP): Likewise.
13408 (XTREE): Likewise.
13409 (XBBDEF): Likewise.
13410 (XTMPL): Likewise.
13411 (X0WINT): Likewise.
13412 (X0INT):Likewise.
13413 (X0UINT): Likewise.
13414 (X0STR): Likewise.
13415 (X0EXP): Likewise.
13416 (X0VEC): Likewise.
13417 (X0MODE): Likewise.
13418 (X0BITMAP): Likewise.
13419 (X0TREE): Likewise.
13420 (X0BBDEF): Likewise.
13421 (X0ADVFLAGS): Likewise.
13422 (X0CSELIB): Likewise.
13423 (X0MEMATTR): Likewise.
13424 (XCWINT): Likewise.
13425 (XCINT): Likewise.
13426 (XCUINT): Likewise.
13427 (XCSTR): Likewise.
13428 (XCEXP): Likewise.
13429 (XCVEC): Likewise.
13430 (XCMODE): Likewise.
13431 (XCBITMAP): Likewise.
13432 (XCTREE): Likewise.
13433 (XCBBDEF): Likewise.
13434 (XCADVFLAGS): Likewise.
13435 (XCCSELIB): Likewise.
13436 (XC2EXP): Likewise.
13437 (INSN_UID): Likewise.
13438 (PREV_INSN): Likewise.
13439 (PATTERN): Likewise.
13440 (INSN_CODE): Likewise.
13441 (PUT_REG_NOTE_KIND): Likewise.
13442 (CODE_LABEL_NUMBER): Likewise.
13443 (NOTE_SOURCE_FILE): Likewise.
13444 (NOTE_BLOCK): Likewise.
13445 (NOTE_EH_HANDLER): Likewise.
13446 (NOTE_RANGE_INFO): Likewise.
13447 (NOTE_LIVE_INFO): Likewise.
13448 (NOTE_BASIC_BLOCK): Likewise.
13449 (NOTE_EXPECTED_VALUE): Likewise.
13450 (NOTE_LINE_NUMBER): Likewise.
13451 (LABEL_NAME): Likewise.
13452 (LABEL_NUSES): Likewise.
13453 (LABEL_ALTERNATE_NAME): Likewise.
13454 (ADDRESSOF_DECL): Likewise.
13455 (JUMP_LABEL): Likewise.
13456 (LABEL_NEXTREF): Likewise.
13457 (REGNO): Likewise.
13458 (ORIGINAL_REGNO: Likewise.
13459 (HARD_REGISTER_NUM_P): Add parenthesis.
13460 (SUBREG_REG): Whitespace.
13461 (SUBREG_BYTE): Likewise.
13462 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
13463 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
13464 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
13465 (ASM_OPERANDS_INPUT_VEC): Likewise.
13466 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
13467 (ASM_OPERANDS_INPUT): Likewise.
13468 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
13469 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
13470 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
13471 (ASM_OPERANDS_INPUT_MODE): Likewise.
13472 (ASM_OPERANDS_SOURCE_FILE): Likewise.
13473 (ASM_OPERANDS_SOURCE_LINE): Likewise.
13474 (MEM_SET_IN_STRUCT_P): Minor reformat.
13475 (TRAP_CONDITION): Whitespace.
13476 (TRAP_CODE): Likewise.
13477 (COND_EXEC_TEST): Likewise.
13478 (COND_EXEC_CODE): Likewise.
13479 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
13480 (PHI_NODE_P): Add parenthesis.
13481 (plus_constant): Whitespace and add parenthesis.
13482
e03f5d43
KH
134832002-01-03 Kazu Hirata <kazu@hxi.com>
13484
13485 * config/avr/avr.c: Fix comment typos.
13486 * config/c4x/c4x.md: Likewise.
13487 * config/dsp16xx/dsp16xx.h: Likewise.
13488 * config/dsp16xx/dsp16xx.md: Likewise.
13489 * config/i386/i386.md: Likewise.
13490 * config/ia64/ia64.c: Likewise.
13491 * config/m32r/m32r.h: Likewise.
13492 * config/m68hc11/m68hc11.md: Likewise.
13493 * config/mmix/mmix.c: Likewise.
13494 * config/mn10200/mn10200.c: Likewise.
13495 * config/romp/romp.c: Likewise.
13496 * config/sh/sh.c: Likewise.
13497 * config/stormy16/stormy16.c: Likewise.
13498 * config/stormy16/stormy16.h: Likewise.
13499 * config/stormy16/stormy16.md: Likewise.
13500
97e300e9
GS
135012002-01-03 Graham Stott <grahams@redhat.com>
13502
13503 * loop.h: Update copyright date.
0d24f4d1
ZW
13504 (LOOP_MOVABLES): Fix typo.
13505 (LOOP_REGS): Likewise.
13506 (LOOP_IVS): Likewise.
ff81832f 13507
745b26b3
GS
135082002-01-03 Graham Stott <grahams@redhat.com>
13509
13510 * cppinit.c: Update copyright date.
13511 Don't include output.h
13512 * Makefile.in: Update copyright date.
13513 Update dependency.
13514
0a379b7a
CR
135152002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
13516
13517 PR c/5226
13518 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
13519 (-pthread) Add to RS/6000 options.
13520
a8154559
KH
135212002-01-02 Kazu Hirata <kazu@hxi.com>
13522
13523 * except.c: Fix comment typos.
13524 * loop.c: Likewise.
13525 * varasm.c: Likewise.
13526 * doc/tm.texi: Fix a typo.
13527
e6ecc89b
JJ
135282002-01-02 Jakub Jelinek <jakub@redhat.com>
13529
13530 * c-typeck.c (output_init_element): Allow initializing static storage
13531 duration objects with compound literals.
13532
d1094b40
RH
135332002-01-02 Richard Henderson <rth@redhat.com>
13534
13535 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
13536 after abusing it.
13537
0c5d8c82
KG
135382002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13539
5e65297b
KG
13540 * gcc.c (default_compilers): Const-ify.
13541 * mips-tdump.c (stab_names): Likewise.
13542 * mips-tfile.c (map_coff_types, map_coff_storage,
13543 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
13544 pseudo_ops_t, pseudo_ops): Likewise.
13545 * protoize.c (default_include): Likewise
13546
0c5d8c82
KG
13547 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
13548 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
13549 Add array size in declaration.
13550 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
13551 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
13552 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
13553 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
13554 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
13555 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
13556 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
13557 emtens, make_nan): Const-ify.
13558 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
13559 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
13560
817e13c4
JM
135612002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
13562
13563 * config.gcc (ia64-*-*): Set extra_headers.
13564 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
13565 * config/alpha/t-osf: Remove.
13566 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
13567
98095e2b
DE
135682002-01-02 David Edelsohn <edelsohn@gnu.org>
13569
13570 * config/rs6000/t-aix43: Revert previous change.
13571
a4200657
JM
135722002-01-02 Jason Merrill <jason@redhat.com>
13573
13574 * c-decl.c (c_expand_body): Call outlining_inline_function when
13575 emitting an inline function out of line.
13576
54ba1f0d
RH
135772002-01-02 Richard Henderson <rth@redhat.com>
13578
13579 * dwarf2out.c (limbo_die_node): Add created_for member.
13580 (new_die): New argument created_for. Update all callers.
13581 (mark_limbo_die_list): New.
13582 (dwarf2out_init): Register limbo_die_list as a root.
13583 (dwarf2out_finish): Force insert limbo dies into their function
13584 context.
13585
323728aa
NS
135862002-01-02 Nathan Sidwell <nathan@codesourcery.com>
13587
13588 PR c++/5089
13589 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
13590
aefc5826
KH
135912002-01-02 Kazu Hirata <kazu@hxi.com>
13592
13593 * config/h8300/fixunssfsi.c: Update copyright.
13594 Fix comment typos.
13595 Fix formatting.
13596 * config/h8300/h8300.c: Update copyright.
13597 Eliminate warnings.
13598
b1c9bc51
KH
135992002-01-02 Kazu Hirata <kazu@hxi.com>
13600
13601 * config/romp/romp.c: Fix comment formatting.
13602 * config/romp/romp.h: Likewise.
13603 * config/romp/romp.md: Likewise.
13604 * config/s390/s390.c: Likewise.
13605 * config/stormy16/stormy16.c: Likewise.
13606 * config/stormy16/stormy16.h: Likewise.
13607
1574ef13
AO
136082002-01-02 Alexandre Oliva <aoliva@redhat.com>
13609
13610 * c-common.h (genrtl_expr_stmt_value): Declare.
13611 * c-semantics.c (genrtl_goto_stmt): Redirect to...
13612 (genrtl_goto_stmt_value): ... this new function. Pass new
13613 argument down to expand_expr_stmt_value, taking
13614 TREE_ADDRESSABLE into account.
13615 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
13616 STMT_EXPR as addressable, i.e., one whose result we want.
13617 * expr.c (expand_expr): Don't save expression statement value
13618 of labeled_blocks or loop_exprs.
13619 * stmt.c (expand_expr_stmt): Redirect to...
13620 (expand_expr_stmt_value): ... this new function. Use new
13621 argument to tell whether to save expression value.
13622 (expand_end_stmt_expr): Reset last_expr_type and
13623 last_expr_value if we don't have either.
13624 * tree-inline.c (declare_return_variable): Mark its use
13625 statement as addressable.
13626 * tree.h: Document new use of TREE_ADDRESSABLE.
13627 (expand_expr_stmt_value): Declare.
13628
252b88f7
TR
136292002-01-01 Tom Rix <trix@redhat.com>
13630
13631 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
13632 rs6000_emit_allocate_stack.
13633
29f7a208
JM
136342002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
13635
13636 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
13637 ${srcdir}/ginclude/ to every entry in extra_headers.
13638 * configure: Regenerate.
13639 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
13640 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
13641 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
13642 * ginclude/proto.h: Rename to config/convex/proto.h.
13643
2cc2d4bb
RK
13644Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13645
13646 * attribs.c (handle_vector_size_attribute): Use host_integerp
13647 and tree_int_cst; remove warnings.
13648 * caller-save.c (insert_restore): Add cast to get rid of warning.
13649 (insert_save): Likewise.
13650 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
13651 * regmove.c (find_matches): Add temporary var to kill a warning.
13652
f01c9bcd
DR
136532002-01-01 Douglas B Rupp <rupp@gnat.com>
13654
16b61764
DR
13655 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
13656 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
13657 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
13658 (vms-dwarf2eh.o): Add Makefile rule.
13659 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
13660 * config/alpha/vms-dwarf2eh.asm: New file.
13661
f01c9bcd
DR
13662 * gcc.c (delete_if_ordinary): Delete all versions.
13663
91312b81
HPN
136642002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
13665
13666 * config/mmix/mmix.md: Update FIXME to not mention
13667 define_constants.
13668 (MMIX_rJ_REGNUM): New define_constants constant.
13669 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
13670 "*movdicc_real"): Adjust contraints formatting.
13671 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
13672 for branch prediction.
13673 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
13674 output template.
13675 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
13676 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
13677 number. Delete related FIXMEs.
13678 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
13679 from number to MMIX_rJ_REGNUM.
13680 (TARGET_MASK_BRANCH_PREDICT): New.
13681 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
13682 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
13683 value. Add -mbranch-predict and -mno-branch-predict.
13684 (TARGET_VERSION): Drop date.
13685 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
13686 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
13687 for finding out global symbols.
13688 (mmix_asm_output_labelref): Revert condition for global symbol.
13689 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
13690 (mmix_print_operand_punct_valid_p): A '+' is valid.
13691
619acae7 13692See ChangeLog.6 for earlier changes.
This page took 1.617513 seconds and 5 git commands to generate.