]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Delete SEQUENCE rtl usage outside of reorg and ssa passes.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
2f937369
DM
12002-06-05 David S. Miller <davem@redhat.com>
2
3 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
4 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
5 emit_insns_before_scope, emit_insns_after,
6 emit_insns_after_scope): Delete declaration.
7 * ada/misc.c (insert_code_for): Use emit_insn* instead of
8 emit_insns_foo.
9 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
10 (alpha_set_memflags): Fix comment.
11 (set_frame_related_p): Use get_insns instead of gen_sequence.
12 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
13 emitting no insns.
14 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
15 gen_sequence.
16 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
17 * config/fr30/fr30.c (fr30_move_double): Likewise.
18 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
19 Likewise.
20 * config/ia64/ia64.c (spill_restore_mem): Likewise.
21 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
22 no insns.
23 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
24 instead of gen_sequence.
25 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
26 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
27 * config/sh/sh.c (sh_need_epilogue): Likewise.
28 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
29 attributes.
30 (setjmp pattern and split): Use them to avoid splitter which emits
31 no RTL.
32 * genattrtab.c (main): Emit include of function.h
33 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
34 get_insns instead of gen_sequence.
35 * config/cris/cris.c (cris_split_movdx): Likewise.
36 * emit-rtl.c (emit_insns*): Kill.
37 (try_split): Expect insn list instead of SEQUENCE.
38 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
39 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
40 Make them abort if a SEQUENCE is given and RTL checking is
41 enabled.
42 (emit_*_scope): Don't forget to set scope on final insn.
43 (gen_sequence): Move from here...
44 * ssa.c (gen_sequence): To here as private function.
45 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
46 comments.
47 (expand_builtin_return, expand_builtin_mathfn): Likewise.
48 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
49 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
50 (expand_builtin_expect_jump): Use get_insns and fix comments.
51 * calls.c (try_to_integrate): Use emit_insn_foo.
52 (expand_call, emit_library_call_value_1): Likewise.
53 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
54 (emit_move_insn_1): Use get_insns instead of gen_sequence.
55 (expand_expr): Use emit_insn_foo.
56 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
57 * except.c (build_post_landing_pads): Likewise.
58 * flow.c (attempt_auto_inc): Likewise.
59 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
60 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
61 * function.c (fixup_var_refs_insn): Use get_insns instead of
62 gen_sequence.
63 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
64 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
65 (fixup_stack_1, purge_addressof_1, expand_main_function,
66 get_arg_pointer_save_area): Likewise.
67 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
68 expand_function_end): Use emit_insn_foo.
69 (record_insns, keep_stack_depressed): Work with insn list instead
70 of SEQUENCE, fix comments.
71 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
72 noce_try_store_flag_constants, noce_try_store_flag_inc,
73 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
74 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
75 (noce_process_if_block): Use get_insns instead of gen_sequence.
76 * optabs.c (add_equal_note): Work with insn list, fix comments.
77 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
78 (expand_unop, expand_complex_abs, expand_unop_insn,
79 expand_no_conflict_block): Likewise.
80 (gen_move_insn): Use get_insns instead of gen_sequence.
81 (gen_cond_trap): Likewise.
82 * integrate.c (copy_rtx_and_substitute): Likewise.
83 (emit_initial_value_sets): Use emit_insn_foo.
84 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
85 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
86 now that RTL generators give insn lists.
87 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
88 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
89 instead of gen_sequence.
90 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
91 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
92 instead of gen_sequence.
93 * loop.c (move_movables, emit_prefetch_instructions,
94 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
95 Likewise.
96 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
97 (product_cheap_p): Likewise, and add commentary about RTL wastage
98 here.
99 * lcm.c (optimize_mode_switching): Use get_insns instead of
100 gen_sequence.
101 * profile.c (gen_edge_profiler): Likewise.
102 * regmove.c (copy_src_to_dest): Likewise.
103 * reg-stack.c (compensate_edge): Likewise and fix comment.
104 * gcse.c (process_insert_insn): Likewise.
105 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
106 * jump.c (delete_prior_computation): Update comment.
107 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
108 of gen_sequence, update comments to match.
109 * recog.c (peephole2_optimize): Work with insn lists instead of
110 SEQUENCE rtl.
111 * sched-vis.c (print_pattern): Abort on SEQUENCE.
112 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
113 Use get_insns instead of gen_sequence.
114 (copy_loop_body): Likewise and don't emit dummy NOTE.
115 * genrecog.c: Don't mention SEQUENCE rtl in comments.
116 * combine.c (try_combine): Expect insn lists from split generator.
117 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
118 hand.
119
43cf10b5
RS
1202002-06-11 Roger Sayle <roger@eyesopen.com>
121 Andreas Jaeger <aj@suse.de>
122
123 * cfgbuild.c: Update copyright years.
124
1062f15a
AS
1252002-06-11 Andreas Schwab <schwab@suse.de>
126
127 * config/m68k/m68k.h (PREDICATE_CODES): Define.
128
ce3649d2
EC
1292002-06-11 Eric Christopher <echristo@redhat.com>
130
131 * doc/tm.texi (Run-time Target): Add comment about flag_iso
132 and strict ANSI.
133 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
134 * config/mips/ecoffl.h: Ditto.
135 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
136 (CPP_PREDEFINES): Ditto.
137 * config/mips/elfl64.h: Ditto.
138 * config/mips/elfl.h: Ditto.
139 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
140 out until irix header consolidation.
141 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
142 with SUBTARGET_OS_CPP_BUILTINS.
143 * config/mips/iris6.h: Ditto.
144 (CPLUSPLUS_CPP_SPEC): Remove.
145 * config/mips/linux.h: Ditto.
146 * config/mips/netbsd.h: Ditto.
147 * config/mips/openbsd.h: Ditto.
148 * config/mips/rtems.h: Ditto.
149 * config/mips/rtems64.h: Ditto.
150 * config/mips/sni-svr4.h: Ditto.
151 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
152 ISA_MIPS32, ISA_MIPS64): New defines.
153 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
154 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
155 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
156 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
157 (TARGET_CPU_CPP_BUILTINS): Define.
158 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
159 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
160 (movdicc): Remove check for ISA_MIPS32.
161 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
162 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
163 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
164 sunge_sf, sunle_df, sunle_sf): New patterns.
165
bc3437ba
NB
1662002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
167
168 * Makefile.in: Update cppmain.o.
169 * cpphash.h (struct cpp_reader): Move some members to a
170 nested structure.
171 (trad_line): Rename saved_line.
172 (_cpp_read_logical_line_trad): Update.
173 (_cpp_remove_overlay): New.
174 * cppinit.c (cpp_create_reader): No need to set saved_line.
175 (cpp_destroy): Update.
176 (cpp_read_main_file): Only overlay if compiling.
177 * cpplex.c (continue_after_nul): Return false if in directive.
178 * cpplib.c (EXPAND): New.
179 (directive_table, SEEN_EOL): Update.
180 (end_directive): Remove overlay if traditional; don't skip
181 line in traditional #define.
182 (prepare_directive_trad): New.
183 (_cpp_handle_directive, run_directive): Update for traditional
184 directives.
185 (lex_macro_node): Simplify, don't use lex_identifier_trad.
186 * cpplib.h (struct options): Add preprocess_only.
187 * cppmain.c: Don't include intl.h.
188 (cpp_preprocess_file): Set options->preprocess_only.
189 (scan_translation_unit_trad): Fix, and print line numbers.
190 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
191 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
192 save_replacement_text, _cpp_create_trad_definition): Update for
193 variable renaming.
194 (_cpp_overlay_buffer): Save line number.
195 (_cpp_remove_overlay): Rename from restore_buff, restore line.
196 (_cpp_read_logical_line_trad): Don't handle overlays here.
197 (scan_out_logical_line): Process directives.
198
b25bb36a
DS
1992002-06-11 Danny Smith <dannysmith@users.sourforge.net>
200
201 * gthr-win32.h: Wrap functions in extern "C".
202 (__gthread_key_t): Typedef as unsigned long,
203 not win32 DWORD.
204 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
205 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
206 (__gthr_win32_once, __gthr_win32_key_create,
207 __gthr_win32_key_delete, __gthr_win32_getspecific,
208 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
209 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
210 __gthr_win32_mutex_unlock): Declare.
211 (__gthread_once,__gthread_key_create,
212 __gthread_key_delete, __gthread_getspecific,
213 __gthread_setspecific, __gthread_mutex_init_function,
214 __gthread_mutex_lock,__gthread_mutex_trylock,
215 __gthread_mutex_unlock): Call corresponding
216 __gthr_win32_* extern implementations if #defined
217 __GTHREAD_HIDE_WIN32API.
218 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 219 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
220 * config/i386/gthr-win32.c: New implementation file.
221 (__gthr_win32_once, __gthr_win32_key_create,
222 __gthr_win32_key_delete, __gthr_win32_getspecific,
223 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
224 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
225 __gthr_win32_mutex_unlock): New functions, based on
226 static inlines in gthr-win32.h.
227
a69c385e
BW
2282002-06-10 Bob Wilson <bob.wilson@acm.org>
229
230 * config/xtensa/xtensa.c (override_options): Don't warn about
231 using -fpic or -fPIC when PIC is enabled by default.
232
e654730d
RS
2332002-06-10 Roger Sayle <roger@eyesopen.com>
234
235 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
236
a5381466
ZW
2372002-06-10 Zack Weinberg <zack@codesourcery.com>
238
239 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 240 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
241 exists, substitute its pathname as @extra_modes_file@, define
242 EXTRA_MODES_FILE to be an appropriate string to #include it
243 with, and define EXTRA_CC_MODES to 1.
244
245 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
246 it's defined. Get rid of redundancy in calling sequence for
247 CC; don't use it to define CCmode, to avoid a warning.
248 * libgcc2.c: Include symcat.h for the sake of machmode.def.
249
250 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
251 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
252 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
253 New files.
254 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
255 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
256
257 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
258 defining extra CC modes.
259
852c6ec7
RS
2602002-06-10 Roger Sayle <roger@eyesopen.com>
261 Andreas Jaeger <aj@suse.de>
262
263 * cfgrtl.c (create_basic_block_structure): Remove index argument
264 and use last_basic_block++ instead. (create_basic_block): Update.
265 * cfgbuild.c (find_basic_blocks_1): Likewise.
266
267 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
268 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
269 * sched-ebb.c (schedule_ebbs): Likewise.
270 * sched-rgn.c (schedule_insns): Likewise.
271 * ssa-ccp.c (ssa_const_prop): Likewise.
272 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
273 * toplev.c (rest_of_compilation): Likewise.
274 * config/ia64/ia64.c (ia64_reorg): Likewise.
275
60c86d4e
RS
2762002-06-10 Roger Sayle <roger@eyesopen.com>
277
278 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
279 of matching registers.
280
9543a9d2
RS
2812002-06-10 Roger Sayle <roger@eyesopen.com>
282
283 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
284 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
285
38e18619
HPN
2862002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
287
288 * config/mmix/mmix.h: Improve comments.
289 (CPP_SPEC, CPP_PREDEFINES): Don't define.
290 (TARGET_CPU_CPP_BUILTINS): Define.
291 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
292 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
293 unused predicate.
294 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
295 compiler warning.
296 (mmix_constant_address_p): Remove another
297 redundant test before case.
298 (mmix_canonicalize_comparison): Remove unused function.
299 (mmix_print_operand_address): Don't test and adjust for operand in
300 non-canonical format.
301 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
302 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
303
ac17cd8f
ZW
3042002-06-10 Zack Weinberg <zack@codesourcery.com>
305
306 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
307 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
308 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
309 (gen_compare): Use CCmode unconditionally.
310
7b668f9e
JJ
3112002-06-10 Jakub Jelinek <jakub@redhat.com>
312
313 PR optimization/6759
314 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
315 the REQ_EQUAL note.
316
85d49058
JJ
3172002-06-10 Jakub Jelinek <jakub@redhat.com>
318
319 PR c/6660
320 * c-decl.c (grokfield): Allow user defined types if they declare
321 structs or unions for unnamed fields.
322
50f30e6b
JJ
3232002-06-10 Jakub Jelinek <jakub@redhat.com>
324
325 PR c/6809
326 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
327
156755ac
JJ
3282002-06-10 Jakub Jelinek <jakub@redhat.com>
329
330 PR optimization/6842
331 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
332 operand subreg cannot be simplified.
333
5d056e9b
JJ
3342002-06-10 Jakub Jelinek <jakub@redhat.com>
335
336 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
337 (compare_constant): Likewise.
338 (output_addressed_constants): Likewise.
339
2bf87216
JJ
3402002-06-10 Jakub Jelinek <jakub@redhat.com>
341
342 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
343 merge bb with itself.
344
135fd2d8
RH
3452002-06-10 Richard Henderson <rth@redhat.com>
346
347 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
348 (builtin_zapnot): Likewise.
349
350 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
351 reservation.
352
fce5a9f2
EC
3532002-06-10 Eric Christopher <echristo@redhat.com>
354
355 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
356 prototype and function.
357 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
358 (call_insn_operand): Remove half pic references.
359 (legitimate_address_p): Ditto.
360 * config/i386/i386.h: Remove half pic defines.
361
95b1627e
EC
3622002-06-10 Eric Christopher <echristo@redhat.com>
363
364 * doc/extend.texi (Return Address): Add note explaining the side-
365 effects of inlining on __builtin_return_address.
366
aea185b3
TT
3672002-06-10 Tom Tromey <tromey@redhat.com>
368
369 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
370 (c-common.o): Depend on langhooks.h.
371
afb03408
NB
3722002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
373
374 * cpphash.h (_cpp_read_logical_line_trad,
375 _cpp_expansions_different_trad): Update prototypes.
376 * cpplex.c (continue_after_nul): New.
377 * cppmain.c: Include cpphash.h.
378 (scan_translation_unit_trad): New.
379 (cpp_preprocess_file): Call it.
380 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
381 overlay.
382 (_cpp_expansions_different_trad): Update prototype.
383
2754d3c5
R
384Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
385
386 Fix cfi generation for SH[1-4]:
387
388 * sh.c (frame_insn): New function.
389 (output_stack_adjust): Add parameter emit_fn. All callers changed.
390 (push): Now returns rtx. Use frame_insn.
391 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
392 of a DF register.
393 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
394
ad854f24
ZW
3952002-06-10 Zack Weinberg <zack@codesourcery.com>
396
397 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
398 and gtype-desc.c.
399 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
400 (distclean): ... not here. But do delete all testsuite/*.log,
401 testsuite/*.sum files here. Delete mkheaders. Delete
402 po/*.gmo and the testsuite directory in a split tree build.
403
bf1660a6
JL
4042002-06-10 Jeffrey Law <law@redhat.com>
405
406 * alias.c (static_reg_base_value): New to hold RTL for
407 items allocated once per function for the aliasing code.
408 (init_alias_once_per_function): Initialize static_reg_base_value.
409 (init_alias_analysis): Avoid throw-away allocations of RTL by
410 using pre-computed values in static_reg_base_value.
411 * function.c (prepare_function_start): Call
412 init_alias_once_per_function appropriately.
413 * rtl.h (init_alias_once_per_function): Declare.
414 * caller-save (init_caller_save): Restructure slightly to
415 avoid lots of silly RTL generation.
416 * expr.c (init_expr_once): Likewise.
417 * reload1.c (reload_cse_regs_1): Allocate throw-away register
418 RTL object here. Pass it into children.
419 (reload_cse_simplify_operands): Use passed-in register RTL
420 object.
421 (reload_cse_simplify): Pass through throw-away register
422 RTL object.
423
8dc58484 4242002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 425
8dc58484
DB
426 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
427
ea16b5ee
RS
4282002-06-10 Richard Sandiford <rsandifo@redhat.com>
429
430 * gcc.c (process_command): Avoid assignment to read-only location.
431 Fix sizeof calculation.
432
6618c5d4
NB
4332002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
434
435 * cpphash.h (struct cpp_macro): Put comments on their own lines.
436 (_cpp_expansions_different_trad): New.
437 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
438 * cpptrad.c (canonicalize_text): New.
439 (scan_out_logical_line): Handle no arguments correctly.
440 (save_replacement_text): Commit memory when finished.
441 (_cpp_expansions_different_trad): New.
442
96e3ac4f
TJ
4432002-06-10 Tim Josling <tej@melbpc.org.au>
444
445 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
446 TREELANG and COBOL.
447 (lang_names): Add treelang and cobol.
448 (get_file_basename): Add code to support treelang and cobol as
449 4th and 5th users of c-common.c.
450
37a4aa31
GK
4512002-06-09 Geoffrey Keating <geoffk@redhat.com>
452
453 * Makefile.in (install-driver): Install driver as
454 $(target_alias)-gcc-$(version).
455 * gcc.c (spec_version): Make const.
456 (process_command): Handle -V and -b by using exec.
457 * doc/invoke.texi (Target Options): Restore -V option,
458 update docs for -b option.
459
02ef40d9
TJ
4602002-06-10 Tim Josling <tej@melbpc.org.au>
461
ad854f24
ZW
462 * configure.in (remaining_languages_check):
463 Added check that all languages specified were found.
02ef40d9
TJ
464 Exit if not found. Previous behaviour was silent failure.
465 * configure: Regenerated.
466
b38b97c4 4672002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 468
b38b97c4
TJ
469 First steps to making treelang documentation compliant, based on
470 instructions in sourcebuild.texi. Also add to gcc.c list of
471 default languages.
ad854f24 472
b38b97c4
TJ
473 * doc/contrib.texi: Add self as contributor of treelang.
474
475 * doc/frontends.texi: Add mention of treelang.
476
477 * doc/invoke.texi (Overall Options): Add mention of treelang.
478
479 * doc/standards.texi: Add mention of treelang.
480
ae9dbf1f
HPN
4812002-06-09 Hans-Peter Nilsson <hp@axis.com>
482
483 * config/cris/cris.c: Include ggc.h
484
1ce676a0
NB
4852002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
486
487 * cpphash.h (_cpp_push_text_context): Update.
488 (_cpp_arguments_ok): New.
489 * cppmacro.c (_cpp_arguments_ok): New, split out from...
490 (collect_args): ...here.
491 (_cpp_push_text_context): Change inputs.
492 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
493 replace_args_and_push): New.
494 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
495 Don't use IS macros directly.
496 (scan_out_logical_line): Handle function-like macro argument
497 collection.
498 (push_replacement_text): Update.
499 (replacement_length): Remove.
500 (_cpp_create_trad_definition): Don't skip whitespace before
501 checking for '('.
502
25f2e176
MM
5032002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
504
505 * config/avr/avr.c (avr_mcu_types): Update for new devices.
506 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
507 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
508 * config/avr/avr.md ("type" and "length" attributes): New type
509 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
510 output a single "call" or "rcall" insn depending on device size.
511 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
512
309323c2
DE
5132002-06-09 David Edelsohn <edelsohn@gnu.org>
514
515 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
516 synonym for 630. Add power4. Remove embedded processors. Use -m604
517 assembler option.
518 (CPP_CPU_SPEC): Add power3 and power4.
519 (PROCESSOR_DEFAULT): Change to 604e.
520 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
521 (CPP_CPU_SPEC): Similar additions.
522 (enum process_type): Add POWER4.
523 (RTX_COSTS): Add POWER4.
524 (CPP_CPU_SPEC): Similar additions.
525 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 526 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
527 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
528 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
529 branch adjustment.
530 (rs6000_issue_rate): Add Power4.
531 * config/rs6000/rs6000.md (cpu attr): Add power4.
532 (iu compare): Remove 604, 604e, 620, 630.
533 Add basic Power4 scheduling information.
534 (mfcr/mtcrf): Change type attribute to cr_logical.
535
1f8e4682
KG
5362002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
537
57d80297
KG
538 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
539 ATTRIBUTE_PRINTF_2.
540 * gengtype-lex.l: Fix format specifier warning.
541
1f8e4682
KG
542 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
543 not isspace.
544 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
545 lieu of isspace/IDchar.
546 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
547 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
548 ISSPACE.
549
5a9ee623
ZW
5502002-06-08 Zack Weinberg <zack@codesourcery.com>
551
552 * Makefile.in (LIBCPP_OBJS): Take out version.o.
553 * cpphash.h (cpp_reader): Take out print_version member.
554 * cppinit.c: (cpp_handle_option): Don't do anything with
555 -version. Just set help_only for --version, --target-help.
556 Just set verbose option for -v.
557 (cpp_post_options): Don't print a version string.
558
c16e5a35
MM
5592002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
560
561 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
562 (avr_section_type_flags): New, handle .noinit* sections.
563
79bc889e
JT
5642002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
565
566 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
567 and include netbsd_entry_point.
568 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
569 (NETBSD_ENTRY_POINT): Define.
570
6a79bb0a
JT
5712002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
572
573 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 574 if not already defined.
6a79bb0a
JT
575 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
576
e52b6b63
MM
5772002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
578
579 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
580 in a noreturn function.
581 (avr_output_function_prologue, avr_output_function_epilogue):
582 Correct function size calculation. Do not crash on empty function.
583 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
584
1569d670
JT
5852002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
586
587 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
588 netbsd_link_spec and netbsd_entry_point.
589 (LINK_SPEC): Use %(netbsd_link_spec).
590 (NETBSD_ENTRY_POINT): Define.
591
cfb06024
JT
5922002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
593
594 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
595 linker emulation.
596 (LINK_ARCH64_SPEC): Likewise.
597 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
598 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
599
5a9ee623
ZW
6002002-06-08 Marc Espie <espie@openbsd.org>
601
602 * lists.c (free_list): Fix typo in comment.
e3623158 603
272cdf58
AJ
6042002-06-08 Andreas Jaeger <aj@suse.de>
605
606 * lcm.c (optimize_mode_switching): Add unused attribute for
607 variable.
608
609 * sched-deps.c (sched_analyze): Remove unused variable.
610
bf3f2a12
GDR
6112002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
612
613 * diagnostic.def: Don't capitalize diagnostict descriptors.
614
523a5f2f
JT
6152002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
616
617 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
618 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
619 (NETBSD_ENTRY_POINT): Define.
620
a3e944f9
JT
6212002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
622
623 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
624 NETBSD_LINK_SPEC_ELF.
625 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
626 (NETBSD_ENTRY_POINT): Define.
627 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
628 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
629 netbsd_entry_point.
630 (NETBSD_ENTRY_POINT): Define.
631
854928a0
JT
6322002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
633
634 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
635 netbsd_link_spec and netbsd_entry_point.
636 (LINK_SPEC): Use %(netbsd_link_spec).
637 (NETBSD_ENTRY_POINT): Define.
638
6bb5d2e7
JT
6392002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
640
641 * config/netbsd-elf.h (LINK_SPEC): Rename to...
642 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
643 to specify program entry point.
644
e50126e8
JL
6452002-06-07 Jeff Law <law@redhat.com
646
647 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 648 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
649 than creating a new register.
650 (distribute_notes): Likewise.
651 * df.c (df_reg_use_gen): Likewise.
652 (df_reg_clobber_gen): Likewise.
653 (df_ref_record): Likewise.
654 * expr.c (use_regs): Likewise.
655 * flow.c (propagate_one_insn): Likewise.
656 (mark_set_1): Likewise.
657 (mark_used_reg): Likewise.
658 * reload.c (emit_reload_insns): Likewise.
659
bc9c18c3
RS
6602002-06-07 Roger Sayle <roger@eyesopen.com>
661
662 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
663 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
664 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
665 comparison code comp can be reversed.
666
437f1df1
RS
6672002-06-07 Roger Sayle <roger@eyesopen.com>
668
669 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
670 constants last in comparisons. Optimize (x+1.0)>0.0 into the
671 equivalent x > -1.0 when -ffast-math.
672
cd24b8a4
JT
6732002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
674
675 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
676 * config/mips/t-netbsd: New file.
677
09e77dee
ZW
6782002-06-07 Zack Weinberg <zack@codesourcery.com>
679
680 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
681 options their own entries.
682 (parse_option): Clarify comment.
683 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
684 special case. Replace if/strcmp chain for -W options with
685 use of new OPT_* entries for them.
686 (cpp_handle_options): Update to match.
687 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
688 * c-decl.c: Update call to cpp_handle_option.
689
942030dc
AD
6902002-06-07 Akim Demaille <akim@epita.fr>
691
692 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
693 Whitespace changes.
694
f2846820
JL
6952002-06-07 Jeffrey Law <law@redhat.com>
696
697 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
698 on empty lists.
699
4bafaa6f
L
7002002-06-07 H.J. Lu (hjl@gnu.org)
701
702 * configure.in: Add --enable-__cxa_atexit.
703 * configure: Regenerated.
704 * config.in: Likewise.
705
706 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
707 not defined.
708
caef5b46
GDR
7092002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
710
711 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
712
ac64a17c
JT
7132002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
714
715 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
716
97459791
JM
7172002-06-07 Jason Merrill <jason@redhat.com>
718
719 * cppexp.c (num_equality_op): Use a temporary variable to work
720 around gcc 3.0.4 bug.
721
4b1d52c7
GDR
7222002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
723
724 * diagnostic.c (diagnostic_build_prefix): Tidy.
725
c70f6ed3
NB
7262002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
727
728 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
729 scan_parameters, save_replacement_text, replacement_length): New.
730 (scan_out_logical_line): Take a macro and save parameters if
731 non-NULL.
732 (_cpp_logical_line_trad): Update.
733 (_cpp_create_trad_definition): Update to handle function-like
734 macros.
735 * cpplex.c (new_buff): Update.
736 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
737 * cpphash.h: ...here.
738 (CPP_ALIGN2, _cpp_save_parameter): New.
739 * cppmacro.c (save_parameter): Rename, export.
740 (parse_params): Update.
741
aec2ac46
AJ
7422002-06-07 Andreas Jaeger <aj@suse.de>
743
744 * config/mmix/mmix.c: Remove extra broken prototype for
745 mmix_init_machine_status.
746
9f313342
GK
7472002-06-06 Geoffrey Keating <geoffk@redhat.com>
748
749 * gengtype.c: Add comments before all the routines.
750
3fa1b448
JT
7512002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
752
753 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
754 from and add t-sh64 to ${tmake_file}.
755 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
756 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
757 * config/sh/t-netbsd-sh5-32: Remove.
758 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
759 MULTILIB_ENDIAN.
760 (MULTILIB_DIRNAMES): Define.
761
0d682900
JH
762Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
763
764 * i386.md (and promoting splitters): Disable QI to SImode promoting
765 when doing so changes immediate to be 32bit.
766
767 * rtl.h (emit_*_scope): Declare.
768 * emit-rtl.c (emit_*_scope): New global functions.
769 (try_split): Copy scope.
770 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
771 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
772 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
773 noce_process_if_block, find_cond_trap): Copy scopes.
774 * recog.c (peephole2_optimize): likewise.
775
c991649c
JL
7762002-06-06 Jeffrey Law <law@redhat.com>
777
778 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
779
8a5d66c4
R
780Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
781
782 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
783
d7f8491b
RO
7842002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
785
786 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
787 ($(docdir)/gccinstall.info): New target.
788 (info): Depend on it.
789 (gccinstall.dvi): New target.
790 (dvi): Depend on it.
791 * doc/.cvsignore: Ignore new info files.
792 * doc/install.texi (@setfilename): Reflect new info filename.
793
eaeb7de8
R
794Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
795
796 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
797 on an UNSPEC.
798
0c7aeb88
NP
799Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
800
801 PR objc/6834
802 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
803 c_common_get_alias_set.
aec2ac46 804 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 805
2a496e8b
JDA
8062002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
807
808 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
809 functions.
810 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
811 * avr/avr.c (avr_output_function_epilogue): Use above to determine
812 function size.
813 * pa/pa.c (pa_output_function_prologue): Likewise.
814
2ff581c3
DM
8152002-06-05 David S. Miller <davem@redhat.com>
816
817 * integrate.c (subst_constants): Handle 'B' RTL format.
818
b2e2d0cc
EC
8192002-06-05 Eric Christopher <echristo@redhat.com>
820
821 * varasm.c (make_decl_rtl): Fix comment for removed
822 halfpic.c.
823
0f81faf6
EC
8242002-06-05 Eric Christopher <echristo@redhat.com>
825
826 * Makefile.in: Remove missed halfpic bits.
827
33005162
EC
8282002-06-05 Eric Christopher <echristo@redhat.com>
829
830 * toplev.c: Remove half-pic.
831 * config/mips/mips.c: Ditto.
832 * config/mips/mips.h: Ditto. Remove unused defines.
833 * config/mips/openbsd.h: Update comment to reflect above.
834 * config/mips/mips.md: Remove half-pic constraints.
835 * halfpic.h: Delete.
836 * halfpic.c: Ditto.
837
80081028
JL
8382002-06-05 Jeffrey Law <law@redhat.com>
839
5a9ee623
ZW
840 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
841 rejects (mem (lo_sum (reg) (unspec))), but will allow
842 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 843
cbc69f84
NB
8442002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
845
846 * cpphash.h (_cpp_create_definition): Update prototype.
847 (_cpp_push_text_context, _cpp_create_trad_definition): New.
848 ( cpp_lex_identifier_trad): New.
849 (_cpp_set_trad_context): New.
850 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
851 * cpplib.c (SEEN_EOL): Update.
852 (lex_macro_node): Update for -traditional.
853 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
854 * cppmacro.c (_cpp_create_definition): Split into
855 create_iso_definition() and _cpp_create_trad_definition().
856 (warn_of_redefinition): Update prototype; handle traditional
857 macros.
858 (_cpp_push_text_context): New.
859 * cpptrad.c (skip_whitespace, push_replacement_text): New.
860 (lex_identifier): Call ht_lookup with correct start.
861 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
862 _cpp_set_trad_context): New.
863 (scan_out_logical_line): Update to handle changing contexts.
864
dbf87f32
R
865Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
866
867 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
868 (shl*-*-elf*): Add.
869 * config/sh/t-be (MULTILIB_ENDIAN): Set.
870 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
871 * t-sh (MULTILIB_ENDIAN): Set.
872 (MULTILIB_OPTIONS): Use it.
873 * t-sh64 (MULTILIB_OPTIONS): Likewise.
874 (MULTILIB_DIRNAMES): Likewise.
875
47b69537
GDR
8762002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
877
878 * toplev.h (report_error_function): Remove.
879
880 * diagnostic.h (location_t): New datatype.
881 (text_info): Likewise.
882 (diagnostic_info): Likewise.
883 (output_prefix): New macro.
884 (diagnostic_last_function_changed): Likewise.
885 (diagnostic_set_last_function): Likewise.
886 (diagnostic_last_module_changed): Likewise.
887 (diagnostic_set_last_module): Likewise.
888 (report_diagnostic): Now macro.
889 (diagnostic_set_info): Declare.
890
891 * diagnostic.c (report_problematic_module): Rename to
33005162 892 diagnostic_repor_current_module.
47b69537
GDR
893 (set_diagnostic_context): Remove.
894 (count_error): Rename to diagnostic_error_count.
895 (error_function_changed): Remove.
896 (record_last_error_function): Likewise.
897 (error_module_changed): Likewise.
898 (record_last_error_module): Likewise.
899 (context_as_prefix): Rename to diagnostic_build_prefix.
900 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
901 (diagnostic_set_info): New function.
902
903 * objc/objc-act.c: #include diagnostic.h
904 (error_with_ivar): Adjust call to count_error.
905 (warn_with_method): Likewise.
906 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
907
540eaea8
BW
9082002-06-05 Bob Wilson <bob.wilson@acm.org>
909
910 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
911 lang_hooks.types.make_type instead of make_node; set up
912 __va_list_tag type decl.
913 (xtensa_builtin_saveregs): Remove broken use of
914 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
915 for saved registers; add varargs alias set.
916
f23a084d
NB
9172002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
918
919config:
920 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
921 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
922 CPP_PREDEFINES and part of CPP_SPEC.
923 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
924 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
925
3fe3a596
JH
926Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
927
928 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
929
1fd9ba59
AM
9302002-06-05 Alan Modra <amodra@bigpond.net.au>
931
932 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
933
cea554e0
ZW
9342002-06-04 Zack Weinberg <zack@codesourcery.com>
935
936 * gengtype-yacc.y: Make sure all rules end with a semicolon.
937
07232638
BW
9382002-06-04 Bob Wilson <bob.wilson@acm.org>
939
940 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
941 typo in function prototype and include "ggc.h" header.
942
c4b50f1a
RH
9432002-06-04 Richard Henderson <rth@redhat.com>
944
945 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
946 (print_operand) ['U']: Likewise.
947 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
948 (alpha_expand_unaligned_store_words): Likewise.
949 (alpha_expand_builtin_vector_binop): Fix typo.
950 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
951 umulh, and cix insns.
952 (one_arg_builtins): Add cix builtins.
953 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
954 (alpha_expand_builtin): Fix typo in arity.
955 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
956 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
957 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
958 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
959 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
960 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
961 builtin_ctlz, builtin_ctpop): New.
962 * doc/extend.texi (Alpha Built-in Functions): Update.
963
aaab35ae
GK
9642002-06-04 Geoffrey Keating <geoffk@redhat.com>
965
afb0f770
GK
966 * gengtype.c (write_gc_root): Don't unnecessarily prevent
967 global variable-length arrays being roots.
968
aaab35ae
GK
969 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
970 * configure.in (config_gtfiles): New variable.
971 (all_gtfiles): Initialise from config_gtfiles.
972 * configure: Regenerate.
973
1ba7b414
NB
9742002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
975
976config/i386:
977 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
978 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
979 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
980 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
981 win32.h (CPP_SPEC): Remove cpp_cpu.
982 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
983 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
984
135ca7b2
JJ
9852002-06-04 Janis Johnson <janis187@us.ibm.com>
986
987 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
988
85d69216 9892002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
990 David Edelsohn <edelsohn@gnu.org>
991 Michael Matz <matz@kde.org>
85d69216
JL
992
993 * sched-int.h (struct deps): New field libcall_block_tail_insn.
994 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
995 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
996 is set, then mark the current insn as being part of a libcall
997 scheduling group.
998 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
999
1000 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
1001 insns against the issue rate.
1002
63f4a88e
JH
1003Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
1004
1005 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
1006 * final.c (final_scan_insn): Likewise.
1007 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
1008 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
1009 * haifa-sched.c (unlink_other_notes): Likeewise.
1010 (reemit_notes): Likewise.
1011 * print-rtl.c (print_rtx): Likewise.
1012 * sched-deps (sched-analyze): Likewise.
1013 * rtl.c (note_insn_name): Likewise.
1014 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
1015 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
1016 (RANGE_*): Kill.
1017
a5d1f75b
JT
10182002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
1019
1020 * varasm.c (mark_constants): Handle RTX format 'B'.
1021
82eda77e
NB
10222002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
1023
1024 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
1025 (struct cpp_context): Add traditional fields.
1026 * cppmacro.c (paste_all_tokens, push_ptoken_context,
1027 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
1028 * cpptrad.c (skip_comment, lex_identifier,
1029 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
1030
589005ff
KH
10312002-06-04 Kazu Hirata <kazu@cs.umass.edu>
1032
1033 * gbl-ctors.h: Fix formatting.
1034 * gcc.c: Likewise.
1035 * gccspec.c: Likewise.
1036 * gcov.c: Likewise.
1037 * gcov-io.h: Likewise.
1038 * gcse.c: Likewise.
1039 * ggc-common.c: Likewise.
1040 * ggc.h: Likewise.
1041 * ggc-page.c: Likewise.
1042 * ggc-simple.c: Likewise.
1043 * global.c: Likewise.
1044 * graph.h: Likewise.
1045 * gthr-dce.h: Likewise.
1046 * gthr.h: Likewise.
1047 * gthr-posix.h: Likewise.
1048 * gthr-rtems.h: Likewise.
1049 * gthr-solaris.h: Likewise.
1050 * gthr-win32.h: Likewise.
1051
e2500fed
GK
10522002-06-03 Geoffrey Keating <geoffk@redhat.com>
1053
1054 Merge from pch-branch:
33005162 1055
e2500fed
GK
1056 * gengtype.h (UNION_OR_STRUCT_P): New macro.
1057 * gengtype.c (write_gc_structure_fields): Use it.
1058 (write_gc_root): Use it here too.
1059
1060 * gengtype.c (write_gc_structure_fields): Assume that lengths
1061 of typenames fit into an 'int'; don't pass a size_t to "%d" in
1062 printf.
1063 (write_gc_marker_routine_for_structure): Likewise.
1064 (write_gc_types): Likewise.
1065 (write_gc_root): Likewise.
1066
1067 * varray.h (VARRAY_CLEAR): New.
1068 (varray_clear): Prototype.
1069 * varray.c (varray_clear): New.
1070 * cselib.c (reg_values_old): New.
1071 (used_regs_old): New.
1072 (cselib_init): Use cached varrays if available to avoid
1073 generating large amounts of garbage.
1074 (cselib_finish): Don't throw away old varrays.
1075
1076 * final.c (insn_addresses_): Move out of ifdef.
1077
1078 * varray.c (uses_ggc): Make more varray kinds GCable.
1079 * varray.h (union varray_data_tag): Let gengtype see
1080 fields 'generic' and 'te'.
1081 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
1082 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
1083 (reg_to_stack): Don't call VARRAY_FREE.
1084 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
1085 (insn_addresses_): Use gengtype to mark.
1086 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
1087 pointers; handle generic pointers in unused union fields.
1088 (get_output_file_with_visibility): Include cselib.h,
1089 insn-addr.h in gtype-desc.c.
1090 * function.c (prologue): Use gengtype to mark.
1091 (epilogue): Likewise.
1092 (sibcall_epilogue): Likewise.
1093 * dependence.c: Include gt-dependence.h, ggc.h.
1094 (struct def_use): Use gengtype to mark.
1095 (struct loop): Likewise.
1096 (struct induction): Likewise.
1097 (struct dependence): Likewise.
1098 (def_use_chain): Likewise.
1099 (dep_chain): Likewise.
1100 (loop_chain): Likewise.
1101 (induction_chain): Likewise.
1102 (init_dependence_analysis): Don't free anything, just clear pointers.
1103 (build_def_use): Use GGC to allocate def_use.
1104 (add_loop): Use GGC to allocate loop.
1105 (find_induction_variable): Use GGC to allocate induction.
1106 (check_node_dependence): Use GGC to allocate induction, dependence.
1107 (dump_node_dependence): Don't free varrays.
1108 (end_dependence_analysis): Likewise.
1109 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
1110 (struct elt_loc_list): Likewise.
1111 (struct elt_list): Likewise.
1112 * cselib.c: Don't include obstack.h.
1113 (hash_table): Use gengtype to mark.
1114 (reg_values): Use gengtype to mark.
1115 (used_regs): Use gengtype to mark.
1116 (cselib_obstack): Delete.
1117 (cselib_startobj): Delete.
1118 (empty_vals): Mark as deletable.
1119 (empty_elt_lists): Mark as deletable.
1120 (empty_elt_loc_lists): Mark as deletable.
1121 (new_elt_list): Use GGC to allocate struct elt_list.
1122 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
1123 (clear_table): Don't delete obstack; don't unnecessarily clear
1124 deletable variables.
1125 (new_cselib_val): Use GGC to allocate struct cselib_val.
1126 (cselib_init): Don't set up obstacks. Use GGC to allocate
1127 hash table.
1128 (cselib_finish): Just clear variables, don't free anything.
1129 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
1130 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
1131 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
1132 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
1133 (gt-reg-stack.h): New rule.
1134 (gt-dependence.h): New rule.
1135 (gtype-desc.o): Add cselib.h, insn-addr.h.
1136
1137 * varray.c: Use only necessary headers.
1138 (element_size): New.
1139 (uses_ggc): New.
1140 (varray_init): Take type, not size. Use GGC if appropriate.
1141 (varray_grow): Update for change to struct varray_head_tag.
1142 Use GGC if appropriate.
1143 * varray.h (struct const_equiv_data): Use gengtype.
1144 (enum varray_data_enum): New.
1145 (union varray_data_tag): Use gengtype.
1146 (struct varray_head_tag): Use gengtype. Replace size field with
1147 enum varray_data_enum.
1148 (varray_init): Update prototype.
1149 (VARRAY_SCHED_INIT): Delete.
1150 (VARRAY_*_INIT): Update for change to varray_init.
1151 (VARRAY_SCHED): Delete.
1152 (VARRAY_PUSH_SCHED): Delete.
1153 (VARRAY_TOP_SCHED): Delete.
1154 * tree.h: Update for change to length specifier.
1155 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
1156 (clone_body): Likewise.
1157 * ssa.h (ssa_definition): Use gengtype to mark.
1158 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
1159 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
1160 * rtl.h (struct rtvec_def): Update for change to length specifier.
1161 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
1162 (struct initial_value_struct): Update for change to length specifier.
1163 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
1164 (ggc_add_tree_varray_root): Delete prototype.
1165 (ggc_mark_rtx_varray): Delete prototype.
1166 (ggc_mark_tree_varray): Delete prototype.
1167 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
1168 (ggc_add_tree_varray_root): Delete.
1169 (ggc_mark_rtx_varray): Delete.
1170 (ggc_mark_tree_varray): Delete.
1171 (ggc_mark_rtx_varray_ptr): Delete.
1172 (ggc_mark_tree_varray_ptr): Delete.
1173 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
1174 (create_varray): Delete prototype.
1175 * gengtype.c (varrays): Delete.
1176 (create_varray): Delete.
1177 (adjust_field_type): Detect array of string pointers.
1178 (process_gc_options): Remove code to handle varray_type option.
1179 (set_gc_used_type): Remove TYPE_VARRAY case.
1180 (output_escaped_param): New.
1181 (write_gc_structure_fields): Use output_escaped_param on all
1182 parameters. Handle 'skip' with 'use_param' option. Handle
1183 arrays of strings. Remove TYPE_VARRAY handling.
1184 (write_gc_roots): Use boolean to detect 'length' option.
1185 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
1186 (struct_fields): Call adjust_field_type on array fields.
1187 (type): Remove VARRAY_TYPE case.
1188 (type_option): Likewise.
1189 * gengtype-lex.l: Don't consider varray_type a keyword.
1190 * function.h: Update for change to length specifier.
1191 (free_eh_status): Delete prototype.
1192 * function.c (free_after_compilation): Don't call free_eh_status.
1193 (reorder_blocks): Don't use VARRAY_FREE.
1194 * except.c (struct eh_status): Update for change to length specifier.
1195 remove varray_type specifier.
1196 (free_eh_status): Delete.
1197 * dwarf2out.c: Include gt-dwarf2out.h.
1198 (used_rtx_varray): Use gengtype to mark, move
1199 outside ifdefs.
1200 (incomplete_types): Likewise.
1201 (decl_scope_table): Likewise.
33005162 1202 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
1203 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
1204 * c-tree.h (struct lang_type): Update for change to length specifier.
1205 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
1206 * c-objc-common.c: Include gt-c-objc-common.h.
1207 (deferred_fns): Mark for gengtype.
1208 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
1209 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
1210 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
1211 (gtype-desc.o): Update dependencies.
1212 (dwarf2out.o): Add gt-dwarf2out.h.
1213 (varray.o): Update dependencies.
1214 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
1215 (gt-c-objc-common.h): New rule.
1216 (gt-dwarf2out.h): New rule.
1217 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
1218
1219 * doc/gty.texi (GTY Options): Correct spelling.
1220 (GGC Roots): Likewise.
1221 * Makefile.in (TEXI_CPP_FILES): New.
1222 (TEXI_GCC_FILES): New.
1223 (TEXI_GCCINT_FILES): New.
1224 (TEXI_CPPINT_FILES): New.
1225 ($(docdir)/cpp.info): Use new macros.
1226 ($(docdir)/gcc.info): Likewise.
1227 ($(docdir)/gccint.info): Likewise.
1228 ($(docdir)/cppinternals.info): Likewise.
1229 (cpp.dvi): Likewise.
1230 (gcc.dvi): Likewise.
1231 (gccint.dvi): Likewise.
1232 (cppinternals.dvi): Likewise.
1233
1234 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
1235 * doc/gccint.texi (Top): Include gty.texi.
1236 * doc/gty.texi: New file.
1237
1238 * bitmap.c: Include ggc.h, gt-bitmap.h.
1239 (bitmap_ggc_free): New.
1240 (bitmap_elem_to_freelist): New.
1241 (bitmap_element_free): Use bitmap_elem_to_freelist.
1242 (bitmap_element_allocate): Allow use of GGC.
1243 (bitmap_clear): Use bitmap_elem_to_freelist.
1244 (bitmap_copy): Update for change to bitmap_element_allocate.
1245 (bitmap_set_bit): Likewise.
1246 (bitmap_operation): Update for changes elsewhere.
1247 (bitmap_initialize): Allow to create bitmaps that will use GGC.
1248 * bitmap.h (struct bitmap_element_def): Use gengtype.
1249 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
1250 (bitmap_initialize): Add extra parameter.
1251 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
1252 (BITMAP_ALLOCA): Delete.
1253 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
1254 (BITMAP_GGC_ALLOC): New.
1255 * Makefile.in (gtype-desc.o): Add bitmap.h.
1256 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
1257 (GTFILES): Add bitmap.c.
1258 (gt-bitmap.h): New rule.
1259 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
1260 * basic-block.h: Update for changes to bitmap_initialize.
1261 * except.c (exception_handler_label_map): Move into...
1262 (struct eh_status): Here.
1263 (struct eh_region): Make 'aka' GCable.
1264 (free_eh_status): Don't need to specially handle
1265 exception_handler_label_map.
1266 (add_ehl_entry): Update for changes to exception_handler_label_map.
1267 (find_exception_handler_labels): Likewise.
1268 (remove_exception_handler_label): Likewise.
1269 (maybe_remove_eh_handler): Likewise.
1270 (for_each_eh_label): Likewise.
1271 (remove_eh_handler): Allocate 'aka' using GGC.
1272 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
1273 to list of includes.
1274
1275 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 1276 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
1277 (write_gc_types): Arrange for the tests with NULL to be inlined.
1278 (write_gc_roots): Update uses of procedure pointers.
1279 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
1280
1281 * Makefile.in (explow.o): Add dependency on gt-explow.h.
1282 (sdbout.o): Add dependency on gt-sdbout.h.
1283
1284 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
1285 (mem_attrs_htab): Likewise.
1286 (init_emit_once): Don't call ggc_add_deletable_htab.
1287 * fold-const.c (size_htab): Use gengtype to clear unused entries.
1288 (size_int_type_wide): Don't call ggc_add_deletable_htab.
1289 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
1290 parameters, use them, change callers.
1291 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
1292 (write_gc_roots): Handle 'if_marked' option.
1293 (main): Don't need to call set_gc_used_type any more.
1294 * ggc.h (ggc_htab_marked_p): Delete.
1295 (ggc_htab_mark): Delete.
1296 (struct ggc_cache_tab): New.
1297 (gt_ggc_cache_rtab): New declaration.
1298 * ggc-common.c (struct d_htab_root): Delete.
1299 (d_htab_roots): Delete.
1300 (ggc_add_deletable_htab): Delete.
1301 (ggc_htab_delete): Handle new htab-deleting mechanism.
1302 (ggc_mark_roots): Use new htab-deleting mechanism.
1303 * tree.c (type_hash_table): Use gengtype to clear unused entries.
1304 Make static.
1305 (init_obstacks): Don't call ggc_add_deletable_htab.
1306
1307 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
1308 (struct hashed_entry): Likewise.
1309 (nst_method_hash_list): Likewise.
1310 (cls_method_hash_list): Likewise.
1311 (HASH_ALLOC_LIST_SIZE): Delete.
1312 (ATTR_ALLOC_LIST_SIZE): Delete.
1313 * objc/objc-act.c (hash_init): Use ggc to allocate
1314 nst_method_hash_list, cls_method_hash_list.
1315 (hash_enter): Use ggc to allocate; allocate one entry at a time.
1316 (hash_add_attr): Likewise.
1317 (ggc_mark_hash_table): Delete.
1318 (objc_act_parse_init): Delete.
1319 (objc_init): Delete reference to objc_act_parse_init.
1320 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
1321 obstack.h. Replace references to 'struct hash_table' with htab_t.
1322 (struct symbol_hash_entry): Replace hash header with key field.
1323 (struct file_hash_entry): Replace hash header with key field.
1324 (struct demangled_hash_entry): Replace hash header with key field.
1325 (hash_string_eq): New.
1326 (hash_string_hash): New.
1327 (symbol_hash_newfunc): Delete.
1328 (symbol_hash_lookup): Modify to use htab_t.
1329 (file_hash_newfunc): Delete.
1330 (file_hash_lookup): Modify to use htab_t.
1331 (demangled_hash_newfunc): Delete.
1332 (demangled_hash_lookup): Modify to use htab_t.
1333 (tlink_init): Modify to use htab_t.
1334 * hash.h: Delete.
1335 * hash.c: Delete.
1336 * ggc.h: Delete forward structure declarations.
1337 Delete prototypes for deleted functions.
1338 * ggc-common.c: Don't include hash.h.
1339 (ggc_add_tree_hash_table_root): Delete.
1340 (ggc_mark_tree_hash_table_entry): Delete.
1341 (ggc_mark_tree_hash_table): Delete.
1342 (ggc_mark_tree_hash_table_ptr): Delete.
1343 * gengtype.c (write_gc_structure_fields): Allow param_is option.
1344 (write_gc_marker_routine_for_structure): Use visibility of
1345 the parameter if there is one.
1346 * function.c: Replace hash.h with hashtab.h. Replace references
1347 to 'struct hash_table *' with htab_t.
1348 (struct insns_for_mem_entry): Include a plain key.
1349 (fixup_var_refs_insns_with_hash): Update to use htab_t.
1350 (insns_for_mem_newfunc): Delete.
1351 (insns_for_mem_hash): Update to use htab_t.
1352 (insns_for_mem_comp): Likewise.
1353 (insns_for_mem_walk): Likewise.
1354 * c-lang.c: Include ggc.h.
1355 * Makefile.in (OBJS): Remove hash.o.
1356 (c-lang.o): Add GGC_H.
1357 (COLLECT2_OBJS): Remove hash.o.
1358 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
1359 (ggc-common.o): Remove hash.h.
1360 (function.o): Remove hash.h, add HASHTAB_H.
1361 (genautomata.o): Remove hash.h, add HASHTAB_H.
1362
1363 * varasm.c (mark_const_str_htab_1): Delete.
1364 (mark_const_str_htab): Delete.
1365 (const_str_htab_del): Delete.
1366 (const_str_htab): Use gengtype to mark.
1367 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
1368 allocate them.
1369 * tree.c (mark_tree_hashtable_entry): Delete.
1370 (mark_tree_hashtable): Delete.
1371 * tree.h (mark_tree_hashtable): Delete prototype.
1372 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
1373 (ggc_mark): Likewise.
1374 (ggc_calloc): New.
1375 (htab_create_ggc): New.
1376 * ggc-common.c (ggc_calloc): New.
1377 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
1378 (struct type): Add param_struct structure.
1379 * gengtype.c (param_structs): New.
1380 (adjust_field_type): Handle param_is option.
1381 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
1382 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
1383 (write_gc_structure_fields): Add new PARAM parameter. Update
1384 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
1385 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
1386 Use it to generate function name. Update callers.
1387 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
1388 Process them.
1389 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
1390 option.
1391 (main): Define PTR as pointer-to-scalar. Don't specially
1392 mark deferred_string or ehl_map_entry.
1393 * gengtype-yacc.y (PARAM_IS): Add new token.
1394 (externstatic): Use adjust_field_type.
1395 (type_option): Add PARAM_IS.
1396 * gengtype-lex.l: Add rule for typedef of function pointers.
1397 Add rule for PARAM_IS.
1398 (IWORD): Add size_t.
1399 * except.c (exception_handler_label_map): Use gengtype to mark.
1400 (type_to_runtime_map): Likewise.
1401 (mark_ehl_map_entry): Delete.
1402 (mark_ehl_map): Delete.
1403 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
1404 (t2r_mark_1): Delete.
1405 (t2r_mark): Delete.
1406 * Makefile.in (gtype-desc.o): Correct dependencies.
1407 (GTFILES): Add hashtab.h.
1408 (genautomata.o): Actually uses hashtab.h.
1409
1410 * Makefile.in (stringpool.o): Add $(GGC_H).
1411 (dwarf2asm.o): Likewise.
1412 (GTFILES): Add hashtable.h.
1413 * c-common.h (struct c_common_identifier): Use gengtype.
1414 * c-decl.h (c_mark_tree): Delete.
1415 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
1416 * c-tree.h (struct lang_identifier): Use gengtype.
1417 (union lang_tree_node): New.
1418 (c_mark_tree): Delete prototype.
33005162 1419 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
1420 dwarf2_debug_hooks.
1421 * gengtype-lex.l (IWORD): Allow 'bool'.
1422 (ptr_alias): Match.
1423 * gengtype-yacc.y (ALIAS): New token.
1424 (type_option): New rule.
1425 (option): Use type_option.
1426 * gengtype.c (process_gc_options): New.
1427 (set_gc_used_type): Use it.
1428 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
1429 Add new variable 't' to hold the type of the field being processed.
1430 Add more error checking. Use UNION_P when looking at 'desc' option.
1431 Handle language-specific structures containing other
1432 language-specific structures.
1433 (write_gc_types): Handle 'ptr_alias' option.
1434 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
1435 * ggc-common.c (ggc_pending_trees): Delete.
1436 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
1437 (ggc_mark_trees): Delete.
1438 (gt_ggc_m_tree_node): Delete.
1439 * ggc.h (ggc_pending_trees): Delete.
1440 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
1441 * hashtable.h (ht_identifier): Use gengtype.
1442 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
1443 * langhooks.h (struct lang_hooks): Delete mark_tree.
1444 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
1445 anyway.
1446 * system.h: Poison LANG_HOOKS_MARK_TREE.
1447 * tree.c (tree_node_structure): New.
1448 * tree.h (struct tree_common): Use gengtype.
1449 (struct tree_int_cst): Likewise.
1450 (struct tree_real_cst): Likewise.
1451 (struct tree_string): Likewise.
1452 (struct tree_complex): Likewise.
1453 (struct tree_vector): Likewise.
1454 (struct tree_identifier): Likewise.
1455 (struct tree_list): Likewise.
1456 (struct tree_vec): Likewise.
1457 (struct tree_exp): Likewise.
1458 (struct tree_block): Likewise.
1459 (struct tree_type): Likewise.
1460 (struct tree_decl): Likewise.
1461 (enum tree_structure_enum): New.
1462 (union tree_node): Use gengtype, with an alias.
1463 (tree_node_structure): Prototype.
1464 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
1465
1466 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
1467 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
1468 to LANG_HOOKS_FUNCTION_FINAL.
1469 * Makefile.in (GTFILES): Add bitmap.h.
1470 * except.c (struct eh_region): Mark field 'aka' to be skipped.
1471
1472 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
1473 (alpha_init_machine_status): Give proper type.
1474 * Makefile.in (c-lang.o): Depend on gtype-c.h.
1475 (optabs.o): Depend on gt-optabs.h.
1476 (GTFILES): Add optabs.o.
1477 (gt-optabs.h): Add rule.
1478 * optabs.c: Include gt-optabs.h.
1479
1480 * gengtype.c (set_gc_used_type): Correct some errors in last change.
1481 (write_gc_structure_fields): If a field which should be NULL is
1482 not, abort.
1483 * c-pragma.c: Move struct align_stack and variable alignment_stack
1484 out from the ifdef.
1485
1486 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
1487 * config/xtensa/xtensa.c: Include gt-cris.h.
1488 (struct machine_function): Use gengtype to mark.
1489 * config/mmix/mmix.h (struct machine_function): Use gengtype
1490 to mark.
1491 * config/cris/t-cris: Add dependencies for gt-cris.h.
1492 * config/cris/cris.c: Include gt-cris.h.
1493 (struct machine_function): Use gengtype to mark.
1494 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
1495 to mark.
1496 * doc/tm.texi (Per-Function Data): Delete references to
1497 mark_machine_status.
1498 * config/ia64/ia64.c (ia64_override_options): Don't set
1499 mark_machine_status.
1500 * config/i386/i386.c (override_options): Likewise.
1501 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
1502 * config/arm/arm.c (arm_init_expanders): Likewise.
1503 * config/alpha/alpha.c (override_options): Likewise.
33005162 1504 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
1505 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
1506 (write_gc_structure_fields): Don't handle 'really' option.
1507 Handle 'maybe_null' option.
1508 (write_gc_types): Handle 'maybe_null' option.
1509 * function.h (struct function): Don't use "really".
1510 (mark_machine_status): Delete declaration.
1511 (mark_lang_status): Delete declaration.
1512 (gt_ggc_mr_machine_function): Delete prototype.
1513 (gt_ggc_mr_language_function): Delete prototype.
1514 * function.c (mark_machine_status): Delete.
1515 (mark_lang_status): Delete.
1516 (gt_ggc_mr_machine_function): Delete.
1517 (gt_ggc_mr_language_function): Delete.
1518 * c-tree.h (mark_c_function_context): Delete prototype.
1519 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
1520 * c-decl.c (struct language_function): Rename from struct
1521 c_language_function. Update uses. Use gengtype to mark.
1522 (mark_c_function_context): Delete.
1523 * c-common.h (struct c_language_function): Rename from struct
1524 language_function.
1525 (mark_stmt_tree): Delete prototype.
1526 (c_mark_lang_decl): Delete prototype.
1527 (mark_c_language_function): Delete prototype.
1528 * c-common.c (mark_stmt_tree): Delete.
1529 (c_mark_lang_decl): Delete.
1530 (mark_c_language_function): Delete.
1531
1532 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
1533 (lang_bitmap): New typedef. Use where appropriate.
1534 (struct type): Add gc_used field, lang_struct field.
1535 (UNION_P): New macro.
1536 (new_structure): New prototype.
1537 (find_structure): Remove 'pos' parameter. Change all callers.
1538 * gengtype-lex.l: Update for changes to find_structure.
1539 * gengtype-yacc.y (typedef_struct): Use new_structure.
1540 (yacc_ids): Suppress warning.
1541 (type): Use new_structure.
1542 * gengtype.c (string_type): Update for changes to struct type.
1543 (find_structure): Just find a structure, don't worry about
1544 creating one.
1545 (new_structure): New.
1546 (note_yacc_type): Use new_structure.
1547 (set_gc_used_type): New.
1548 (set_gc_used): New.
1549 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
1550 (write_gc_types): Handle TYPE_LANG_STRUCT.
1551 (write_gc_marker_routine_for_structure): New.
1552 (main): Call set_gc_used. Add some calls to set_gc_used_type
1553 for places where GCC doesn't use gengtype properly yet.
1554 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
1555 (gt_ggc_m_tree_node): Likewise.
1556
1557 * varasm.c (copy_constant): Call expand_constant if we hit
1558 something we can't recognise.
1559
1560 * ggc-common.c (ggc_mark_rtvec_children): Delete.
1561 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
1562 (lang_mark_false_label_stack): Delete.
1563 * rtl.h (struct rtvec_def): Use gengtype to mark.
1564 * ggc.h (ggc_mark_rtvec): Delete.
1565 (gt_ggc_m_rtvec_def): Delete.
1566 (ggc_mark_nonnull_tree): Delete.
1567 (ggc_mark_rtvec_children): Delete prototype.
1568 (lang_mark_false_label_stack): Delete declaration.
1569
1570 * gengtype.h (note_yacc_type): Add prototype.
1571 * gengtype.c (note_yacc_type): New function.
1572 * gengtype-lex.l: Add lexer support for yacc files.
1573 * gengtype-yacc.y (start): Extract union from yacc files.
1574 (yacc_union): New rule.
1575 (yacc_typematch): New rule.
1576 (yacc_ids): New rule.
1577 (enum_items): Tweak for efficiency.
1578 (optionseq): Likewise.
1579
1580 * c-common.h (struct language_function): Use gengtype.
1581 (struct c_lang_decl): Likewise.
1582 * c-tree.h (struct lang_decl): Likewise.
1583 (struct lang_type): Likewise.
1584 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
1585 tree language substructures.
1586
1587 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
1588 ggc_mark_tree.
1589 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
1590
1591 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
1592
1593 * stmt.c (struct nesting): Add discriminator. Use gengtype to
1594 mark. Remove 'data.block.cleanup_ptr' field.
1595 (struct stmt_status): Use usual technique to mark struct nesting.
1596 (gt_ggc_mr_nesting_cond): Delete.
1597 (gt_ggc_mr_nesting_loop): Delete.
1598 (gt_ggc_mr_nesting_block): Delete.
1599 (gt_ggc_mr_nesting_case_stmt): Delete.
1600 (expand_start_cond): Set discriminator.
1601 (expand_start_loop): Likewise.
1602 (expand_start_null_loop): Likewise.
1603 (expand_start_bindings_and_block): Set discriminator. Don't set
1604 deleted fields.
1605 (expand_decl_cleanup): Replace 'cleanup_ptr' with
1606 &thisblock->data.block.cleanups.
1607 (expand_start_case): Set discriminator.
1608 (expand_start_case_dummy): Set discriminator.
1609
1610 * ggc-callbacks.c: Remove.
1611
1612 * gengtype.h (struct type): Add 'u.s.bitmap' field.
1613 (find_structure): Add 'pos' parameter.
1614 * gengtype-lex.l: Update callers to find_structure.
1615 * gengtype-yacc.y: Likewise.
1616 * gengtype.c (find_structure): Allow for structures to be defined
1617 in multiple language backends.
1618 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
1619 (counter): Rename to gc_counter.
1620 (write_gc_structure_fields): Fail when writing out fields for
1621 an incomplete structure. Ignore arrays of scalars. Handle
1622 'tree_vec' special.
1623 (write_gc_types): Reset counter for each procedure written.
1624
1625 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
1626 (free_case_nodes): Delete.
1627 (expand_end_case_type): Delete call to free_case_nodes.
1628
1629 * Makefile.in (cselib.o): Include gt-<filename>.h.
1630 (gcse.o): Likewise.
1631 (profile.o): Likewise.
1632 (alias.o): Likewise.
1633 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
1634 alphabetize backend files.
1635 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
1636 * alias.c: Use gengtype for roots.
1637 * c-common.h (struct stmt_tree_s): Use gengtype.
1638 * c-decl.c: Use gengtype for roots.
1639 * cselib.c: Use gengtype for roots.
1640 * expr.c: Use gengtype for roots.
1641 * fold-const.c: Use gengtype for roots.
1642 * gcse.c: Use gengtype for roots.
1643 * gengtype-lex.l: Handle typedefs of function types.
1644 Allow for empty array bounds.
1645 Allow processing to stop on initialisers.
1646 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
1647 (semiequal): New rule.
1648 * gengtype.c (create_file): Tidy output files.
1649 (get_output_file_with_visibility): Fix paren warning. Fix bug
1650 involving multiple input files mapping to one output file.
1651 (write_gc_structure_fields): Skip arrays of scalars.
1652 (write_gc_types): Tidy output files.
1653 (write_gc_root): New function.
1654 (write_gc_roots): Fix bugs, add support for roots that are
1655 structures.
1656 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
1657 (ggc_mark_tree_ptr): Delete.
1658 (ggc_add_rtx_root): Delete.
1659 (ggc_add_tree_root): Delete.
1660 (ggc_del_root): Delete.
1661 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
1662 allocate struct initial_value_struct.
1663 * profile.c: Use gengtype for roots.
1664 * sdbout.c: Use gengtype for roots.
1665 * varasm.c (mark_weak_decls): Delete unused prototype.
1666 (mark_const_hash_entry): Delete unused function.
1667 * config/darwin-protos.h: Use gengtype for roots.
1668 (machopic_add_gc_roots): Delete.
1669 * config/arm/arm.c: Use gengtype for roots.
1670 * config/arm/arm.h: Use gengtype for roots.
1671 * config/c4x/c4x-protos.h: Use gengtype for roots.
1672 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
1673 * config/d30v/d30v-protos.h: Use gengtype for roots.
1674 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
1675 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
1676 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
1677 * config/ia64/ia64-protos.h: Use gengtype for roots.
1678 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
1679 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
1680 * config/m68hc11/m68hc11.c (z_reg): Make global.
1681 (z_reg_qi): Make global.
1682 (m68hc11_add_gc_roots): Delete.
1683 * config/mcore/mcore-protos.h: Use gengtype for roots.
1684 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
1685 * config/mips/mips.c (mips_add_gc_roots): Delete.
1686 * config/mips/mips.h: Use gengtype for roots.
1687 * config/mmix/mmix.c (override_options): Use gengtype for roots.
1688 * config/mmix/mmix.h: Use gengtype for roots.
1689 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
1690 * config/mn10200/mn10200.h: Use gengtype for roots.
1691 * config/pa/pa.c: Use gengtype for roots, marking.
1692 (struct deferred_plabel): Use GGC, gengtype.
1693 (pa_add_gc_roots): Delete.
1694 (mark_deferred_plabels): Delete.
1695 * config/pj/pj-protos.h: Use gengtype for roots.
1696 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
1697 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
1698 machopic_add_gc_roots.
1699 * config/rs6000/rs6000.h: Use gengtype for roots.
1700 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
1701 (gt-darwin.h): Add rule.
1702 * config/sh/sh.c: Use gengtype for roots.
1703 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
1704 (gt-sh.h): Add rule.
1705 * config/sparc/sparc.c: Use gengtype for roots.
1706 (sparc_add_gc_roots): Delete.
1707 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
1708 (mark_ultrasparc_pipeline_state): Delete.
1709 * config/sparc/sparc.h: Use gengtype for roots.
1710
1711 * Makefile.in (c-parse.o): Update dependencies.
1712 (c-common.o): Likewise.
1713 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
1714 Add dependencies for the files they generate.
1715 * c-common.c: Replace ggc_add_* uses with GTY annotations.
1716 * c-common.h: Likewise.
1717 * c-decl.c: Likewise.
1718 (gt_ggc_mp_binding_level): Delete.
1719 * c-lang.c: Include gtype-c.h.
1720 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
1721 gt-c-parse.h.
1722 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
1723 (gt_ggc_mp_align_stack): Delete.
1724 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
1725 * function.c: Replace ggc_add_* uses with GTY annotations.
1726 (gt_ggc_mp_function): Delete.
1727 * function.h: Replace ggc_add_* uses with GTY annotations.
1728 * gengtype.c (lang_names): New.
1729 (NUM_BASE_FILES): New.
1730 (open_base_files): Create language base files.
1731 (startswith): New.
1732 (get_file_basename): New.
1733 (get_base_file_bitmap): New.
1734 (get_output_file_with_visibility): Rename from get_output_file.
1735 Add more mappings for various C/Objc filenames.
1736 (finish_root_table): New.
1737 (write_gc_roots): Handle dependencies and scoping properly.
1738 * gengtype.h: Add prototypes for new functions.
1739 * ggc-common.c (struct deletable_root): Delete.
1740 (deletables): Delete.
1741 (ggc_add_deletable_root): Delete.
1742 (ggc_mark_roots): No need to deal with deleted functionality.
1743 * ggc.h (ggc_add_deletable_root): Delete prototype.
1744 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
1745 (gtype-objc.h): Add rule to create.
1746 * objc/config-lang.in (gtfiles): New.
1747 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
1748 ggc_add_* with GTY markers. Include gtype-objc.h.
1749 (ggc_mark_imp_list): Delete.
1750 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
1751 * objc/objc-lang.c: Random Whitespace Change.
1752
1753 * except.h (exception_handler_labels): Delete.
1754 (get_exception_handler_labels): New.
1755 * except.c (exception_handler_labels): Delete.
1756 (struct eh_status): Add exception_handler_labels field.
1757 (doing_eh): Don't add exception_handler_labels as root.
1758 (free_eh_status): Don't need to free exception_handler_labels.
1759 (get_exception_handler_labels): New.
1760 (find_exception_handler_labels): Update for move of
1761 exception_handler_labels.
1762 (remove_exception_handler_label): Likewise.
1763 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
1764 * jump.c (rebuild_jump_labels): Likewise.
1765 * loop.c (find_and_verify_loops): Likewise.
1766 * sched-rgn.c (is_cfg_nonregular): Likewise.
1767
1768 * gengtype.c (write_gc_structure_fields): Handle variable-length
1769 TYPE_ARRAYs.
1770
1771 * varasm.c (struct weak_syms): Use GGC, gengtype.
1772 (mark_weak_decls): Delete.
1773 (weak_decls): Likewise.
1774 (add_weak): Likewise.
1775 (remove_from_pending_weak_list): Likewise.
1776 (init_varasm_once): Likewise.
1777
1778 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
1779 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
1780 stor-layout.c, regclass.c, and lists.c.
1781 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
1782 gt-regclass.h and gt-lists.h on s-gtype.
1783 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
1784 * except.c: Use gengtype for roots.
1785 * explow.c: Use gengtype for roots. Include gt-explow.h.
1786 * expr.h (init_stor_layout_once): Delete prototype.
1787 * function.c: Use gengtype for roots.
1788 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
1789 * gengtype-yacc.y (start): Can also be an externstatic.
1790 (externstatic): New production.
1791 (struct_fields): Correct array bounds inversion for 2-d arrays.
1792 * gengtype.c (variables): New variable.
1793 (note_variable): New function.
1794 (get_output_file): Include libfuncs.h into gtype-desc.c.
1795 (get_output_file_name): New function.
1796 (write_gc_structure_fields): Suppress warnings.
1797 (write_gc_types): Make static.
1798 (put_mangled_filename): New function.
1799 (write_gc_roots): New function.
1800 (main): Call write_gc_roots.
1801 * gengtype.h (note_variable): Prototype.
1802 (get_output_file_name): Prototype.
1803 (write_gc_types): Delete prototype.
1804 * ggc.h: Clean up unnecessary structure predefinitions.
1805 (struct ggc_root_tab): Define.
1806 (gt_ggc_m_rtx_def): Make function, not macro.
1807 (gt_ggc_m_tree_node): Likewise.
1808 * libfuncs.h: Use gengtype for roots.
1809 * lists.c: Use gengtype for roots. Include gt-lists.h.
1810 (init_EXPR_INSN_LIST_cache): Delete.
1811 * optabs.c: Use gengtype for roots.
1812 (gt_ggc_mp_optab): Delete.
1813 * optabs.h: Use gengtype for roots.
1814 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
1815 * rtl.h: Use gengtype for roots.
1816 (init_EXPR_INSN_LIST_cache): Delete prototype.
1817 * stor-layout.c: Use gengtype for roots.
1818 Include gt-stor-layout.h.
1819 (init_stor_layout_once): Delete.
1820 * toplev.c: Use gengtype for roots. Delete calls to deleted
1821 routines.
1822 * tree.c: Use gengtype for roots.
1823 * tree.h: Use gengtype for roots.
1824 * varasm.c: Use gengtype for roots.
33005162 1825
e2500fed
GK
1826 * Makefile.in (GTFILES): Add @all_gtfiles@.
1827 * configure: Regenerate.
1828 * configure.in: Construct all_gtfiles from the gtfiles definitions
1829 in config-lang.in.
1830 * gengtype-yacc.y (type): Warn about duplicate structure names.
1831 * gengtype.c (get_output_file): Handle .c files in language
1832 subdirectories.
1833
1834 * Makefile.in (GTFILES): Run gengtype on all the config files
1835 and on the target .c file.
1836 * except.c (mark_eh_region): Delete.
1837 (init_eh_for_function): Use GGC on struct eh_status.
1838 (mark_eh_status): Delete.
1839 (free_eh_status): Use GGC.
1840 (expand_eh_region_start): Use GGC to
1841 (collect_eh_region_array): Allocate last_region_number using GGC.
1842 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
1843 (remove_eh_handler): Let GGC free struct eh_region.
1844 (add_call_site): Use GGC to reallocate call_site_record array.
1845 * function.c (init_machine_status): Update calling sequence.
1846 (mark_machine_status): Likewise.
1847 (mark_lang_status): Likewise.
1848 (prepare_function_start): Update init_machine_status call.
1849 (mark_function_status): Delete.
1850 (maybe_mark_struct_function): Delete.
1851 (ggc_mark_struct_function): Delete.
1852 (gt_ggc_mp_function): New.
1853 (gt_ggc_mr_machine_function): New.
1854 (gt_ggc_mr_language_function): New.
1855 (init_function_once): Use canonical names.
1856 * function.h (struct function): Use gengtype.
1857 (init_machine_status): Return the structure.
1858 (mark_machine_status): Take a 'void *'.
1859 (mark_lang_status): Likewise.
1860 * ggc-common.c (ggc_mark_trees): Use canonical name for
1861 ggc_mark_struct_function.
1862 * tree.h (ggc_mark_struct_function): Delete prototype.
1863 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
1864 (alpha_init_machine_status): Likewise.
1865 (override_options): Use canonical name for alpha_mark_machine_status.
1866 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
1867 * config/arm/arm.h (struct machine_function): Use gengtype.
1868 * config/arm/arm.c (arm_mark_machine_status): Delete.
1869 (arm_init_machine_status): Update calling sequence.
1870 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 1871 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
1872 calling sequence.
1873 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 1874 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
1875 calling sequence.
1876 (d30v_mark_machine_status): Delete.
1877 * config/i386/i386.c: Include gt-i386.h.
1878 (struct machine_function): Use gengtype.
1879 (ix86_init_machine_status): Update calling sequence.
1880 (ix86_mark_machine_status): Delete.
1881 (override_options): Use canonical namke for ix86_mark_machine_status.
1882 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 1883 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
1884 sequence.
1885 (ia64_mark_machine_status): Delete.
33005162 1886 (ia64_override_options): Use canonical name for
e2500fed 1887 ia64_mark_machine_status.
33005162 1888 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
1889 sequence.
1890 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
1891 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
1892 * gengtype.c (get_output_file): Fix warning.
1893 (main): Add prototype to suppress warning.
1894 * tree.c: Remove tree_hash_mark prototype.
1895
1896 * tree.h (init_stmt): Delete prototype.
1897 * toplev.c (lang_independent_init): Don't call init_stmt.
1898 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
1899 (stmt_obstack): Delete.
1900 (POPSTACK): No need to free 'struct nesting'.
1901 (gt_ggc_mr_nesting_cond): Use canonical names.
1902 (gt_ggc_mr_nesting_loop): Use canonical names.
1903 (gt_ggc_mr_nesting_block): Use canonical names.
1904 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
1905 (mark_stmt_status): Delete.
1906 (init_stmt): Delete.
1907 (clear_last_expr): Clear both last_expr_type and last_expr_value.
1908 Use it everywhere that last_expr_type was cleared.
1909 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
1910 (zap_lists): Delete.
1911 * ggc.h (ggc_add_deletable_root): Prototype.
1912 (mark_stmt_status): Remove prototype.
1913 * ggc-common.c (ggc_add_deletable_root): New.
1914 (ggc_mark_roots): Handle deletable roots.
1915 * function.c (ggc_mark_struct_function): Use canonical name
1916 for mark_stmt_status.
1917 * emit-rtl.c (free_sequence_stack): New.
1918 (start_sequence): Use a freelist for sequences.
1919 (end_sequence): Likewise.
1920 (init_emit_once): Add free_sequence_stack as a deleteable root.
1921 * c-pragma.c Include gt-c-pragma.h.
1922 (struct align_stack): Use gengtype.
1923 (push_alignment): Use GGC for struct align_stack.
1924 (mark_align_stack): Delete.
1925 (gt_ggc_mp_align_stack): New.
1926 (init_pragma): Use canonical name for mark_align_stack.
1927 * c-decl.c: Include gt-c-decl.h.
1928 (struct binding_level): Use gengtype.
1929 (make_binding_level): Use GGC; handle the freelist here.
1930 (pop_binding_level): New.
1931 (pushlevel): Move code into make_binding_level.
1932 (push_label_level): Likewise.
1933 (poplevel): Move code into pop_binding_level.
1934 (pop_label_level): Likewise.
1935 (mark_binding_level): Delete.
1936 (gt_ggc_mp_binding_level): New.
1937 (c_init_decl_processing): Use canonical name for mark_binding_level.
1938 Add free_binding_level as deletable root.
1939 (mark_c_function_context): Use canonical name for mark_binding_level.
1940 * Makefile.in (c-decl.o): Add gt-c-decl.h.
1941 (c-pragma.o): Add gt-c-pragma.h.
1942 (GTFILES): Add c-decl.c and c-pragma.c.
1943 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
1944
1945 * tree.c (struct type_hash): Use gengtype.
1946 (init_obstacks): Use canonical name for type_hash_mark.
1947 (type_hash_mark): Delete.
1948 Include gt-tree.h.
1949 * rtl.h (struct mem_attrs): Use gengtype.
1950 * optabs.h (struct optab): Use gengtype.
1951 * optabs.c (expand_binop): Squish signed/unsigned warning.
1952 (mark_optab): Make local, use canonical name, use autogenerated
1953 marker procedure.
1954 (init_optabs): Use canonical name for mark_optab.
1955 (new_optab): Use GGC to allocate optabs.
1956 * ggc.h: Delete mark_optab prototype.
1957 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
1958 mem_attrs marker procedure.
1959 * gengtype.c (get_output_file): Include headers in gtype-desc.c
1960 explicitly rather than deducing them from file names.
1961 (write_gc_structure_fields): Handle arrays of structures.
1962 (main): Return non-zero exit code if errors occur during output.
1963 * emit-rtl.c (mem_attrs_mark): Delete.
1964 (init_emit_once): Use canonical name for mem_attrs marker procedure.
1965 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
1966 (tree.o): Depend on gt-tree.h.
1967 (GTFILES): Add rtl.h, optabs.h, tree.c.
1968 (gt-tree.h): Add it to s-gtype rule.
1969
1970 * .cvsignore: Ignore gengtype flex/bison generated files.
1971 * Makefile.in (GGC_H): Add gtype-desc.h.
1972 (OBJS): Add gtype-desc.o.
1973 (GEN): Add gengtype.
1974 (STAGESTUFF): Add gengtype.
1975 (varasm.o): Add gt-varasm.h.
1976 (stmt.o): Add gt-stmt.h.
1977 (except.o): Add gt-except.h.
1978 (integrate.o): Add gt-integrate.h.
1979 (GTFILES): New.
1980 Add new rules for new files.
1981 * configure: Regenerate.
1982 * configure.in: Correct defaults.h paths.
1983 * emit-rtl.c (mark_sequence_stack): Delete.
1984 (mark_emit_status): Delete.
1985 (start_sequence): Allocate sequence structures using GGC.
1986 (end_sequence): Allocate sequence structures using GGC.
1987 * except.c: Use gengtype for various structures. Include
1988 gt-except.h.
1989 * expr.c (mark_expr_status): Delete.
1990 * function.c: Use gengtype for various structures. Include
1991 gt-function.h.
1992 (mark_function_status): Use standard gt_ggc names for marker functions.
1993 (ggc_mark_struct_function): Likewise.
1994 * function.h: Use gengtype for various structures.
1995 * gengtype-lex.l: New file.
1996 * gengtype-yacc.y: New file.
1997 * gengtype.c: New file.
1998 * gengtype.h: New file.
1999 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
2000 the standard names. Remove some now-unnecessary prototypes.
2001 * integrate.c: Use gengtype for various structures. Include
2002 gt-integrate.h.
2003 (mark_hard_reg_initial_vals): Delete.
2004 * integrate.h (mark_hard_reg_initial_vals): Delete.
2005 * stmt.c: Use gengtype for various structures. Include
2006 gt-stmt.h.
2007 (mark_case_node): Delete.
2008 (mark_goto_fixup): Delete.
2009 (mark_stmt_status): Use standard gt_ggc names for marker functions.
2010 * system.h: Define GTY to empty. In flex/bison files,
2011 don't poison malloc or realloc, instead just define them to
2012 xmalloc and xrealloc.
2013 * varasm.c: Use gengtype for various structures. Include
2014 gt-varasm.h. Use standard gt_ggc names for marker functions.
2015 (mark_pool_constant): Delete.
2016 (mark_varasm_status): Delete.
2017 (decode_rtx_const): #if 0 out non-typesafe hack.
2018
2019 * function.h (free_lang_status): Mark as obsolete.
2020 * function.c (free_lang_status): Mark as obsolete.
2021 * c-decl.c (push_c_function_context): Use GC to allocate and free
2022 struct language_function.
2023 (pop_c_function_context): Likewise.
2024 * c-common.c (mark_c_language_function): Mark struct
2025 language_function.
2026
2027 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
2028 Document that the machine_function structures must be allocated
2029 using GC. Update mark_machine_status documentation.
2030 * function.h: Don't declare free_machine_status.
33005162 2031 * function.c (free_machine_status): Don't define.
e2500fed
GK
2032 (free_after_compilation): Don't call free_machine_status.
2033 (ggc_mark_struct_function): Mark f->machine. Call
2034 mark_machine_status only on non-NULL pointers.
2035 * system.h: Poison free_machine_status.
2036 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
2037 struct machine_function.
2038 (xtensa_free_machine_status): Delete.
2039 (override_options): Don't set free_machine_status.
2040 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
2041 free_machine_status.
2042 (rs6000_init_machine_status): Use GC on struct machine_function.
2043 (rs6000_free_machine_status): Delete.
2044 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
2045 machine_function.
2046 (ia64_mark_machine_status): Likewise.
2047 (ia64_free_machine_status): Delete.
2048 (ia64_override_options): Don't set free_machine_status.
2049 * config/i386/i386.c (override_options): Don't set
2050 free_machine_status.
2051 (ix86_init_machine_status): Use GC on struct machine_function.
2052 (ix86_mark_machine_status): Likewise.
2053 (ix86_free_machine_status): Delete.
2054 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
2055 machine_function.
2056 (d30v_mark_machine_status): Likewise.
2057 (d30v_free_machine_status): Delete.
2058 (d30v_init_expanders): Don't set free_machine_status.
2059 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
2060 machine_function.
2061 (arm_init_machine_status): Likewise.
2062 (arm_free_machine_status): Delete.
2063 (arm_init_expanders): Don't set free_machine_status.
2064 * config/alpha/alpha.c (override_options): Don't set
2065 free_machine_status.
2066 (alpha_init_machine_status): Use GC on struct machine_function.
2067 (alpha_mark_machine_status): Likewise.
2068 (alpha_free_machine_status): Delete.
2069
2070 * varasm.c (compare_constant): Fix typo.
2071
2072 * varasm.c: Don't include obstack.h.
2073 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
2074 (struct rtx_const): Give substructures names, improve formatting.
2075 (struct constant_descriptor): Delete.
2076 (struct constant_descriptor_tree): New, based on constant_descriptor.
2077 (const_hash_table): Is a hash table of trees.
2078 (mark_const_hash_entry): Is used for hashes of trees. Mark
2079 constant_descriptor_tree structure.
2080 (mark_const_str_htab_1): Mark deferred_string structure.
2081 (compare_constant): Rewrite to compare trees.
2082 (compare_constant_1): Delete.
2083 (record_constant): Delete.
2084 (record_constant_1): Delete.
2085 (output_constant_def): Use struct constant_descriptor_tree.
2086 Don't duplicate trees twice.
2087 (struct constant_descriptor_rtx): New.
2088 (struct pool_constant): Used for rtx constants.
2089 (init_varasm_status): Update for change to struct varasm_status.
2090 (mark_varasm_status): Likewise.
2091 (free_varasm_status): Delete.
2092 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
2093 (record_constant_rtx): Likewise.
2094 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
2095 (force_const_mem): Likewise.
2096 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
2097 * function.c (free_after_compilation): Don't use free_varasm_status.
2098 * function.h: Don't prototype free_varasm_status.
2099
2100 * ggc-common.c (ggc_realloc): Handle X being NULL.
2101
2102 * ggc-common.c (ggc_realloc): New function.
2103 * ggc.h: Prototype it.
2104 * emit-rtl.c (free_emit_status): Delete.
2105 (init_emit): Allocate emit subarrays using GC.
2106 (gen_reg_rtx): Reallocate subarrays using GC.
2107 (init_emit): Use GC to allocate 'struct emit_status' and its
2108 subarrays.
2109 (mark_emit_status): Mark structure and its subarrays.
2110 * stmt.c (free_stmt_status): Delete.
2111 * expr.c (free_expr_status): Delete.
2112 * function.h: Remove prototypes for deleted functions.
2113 * function.c (free_after_compilation): Don't use deleted functions.
2114 Don't call free() on x_parm_reg_stack_loc.
2115 (free_after_parsing): Don't use free_stmt_status.
2116 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
2117 (mark_function_status): Mark x_parm_reg_stack_loc.
2118
2119 * varasm.c (init_varasm_status): Use GC to allocate
2120 'struct varasm_status' and its fields x_const_rtx_hash_table
2121 and x_const_rtx_sym_hash_table.
2122 (mark_varasm_status): Mark them.
2123 (free_varasm_status): Use GC to free them.
2124 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
2125 (mark_expr_status): Mark the structure itself.
2126 (free_expr_status): Use GC to free the structure.
2127 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
2128 (mark_stmt_status): Mark the 'struct stmt_status' itself.
2129 (init_stmt_for_function): Allocate the structure for GC.
2130
2131 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
2132 (equate_type_number_to_die): Likewise.
2133 * tree.h (TYPE_SYMTAB_DIE): New macro.
2134 (struct die_struct): Predeclare.
2135 (struct tree_type): Add field symtab.die. Add a tag
2136 to the union type of field symtab.
2137
2138 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
2139 'struct rtvec_def *', not 'struct rtvec_def'.
2140
2141 * function.h (original_arg_vector): Make a real rtvec.
2142 * function.c (ggc_mark_struct_function): Adjust.
2143 * integrate.c (expand_inline_function): Adjust.
2144
b655555e
JT
21452002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
2146
2147 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
2148 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
2149 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
2150 (TARGET_VERSION_CPU): Define according to the
2151 default target.
2152 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
2153 TARGET_VERSION_CPU.
2154 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
2155 if TARGET_SHMEDIA64.
2156 (LINK_DEFAULT_CPU_EMUL): Define according to the
2157 default target.
2158 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
2159 (SUBTARGET_LINK_SPEC): Define.
2160 (LINK_SPEC): Use SH_LINK_SPEC.
2161 (ASM_SPEC): Remove.
2162 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
2163 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
2164 and TARGET_SHMEDIA64 which abort, for now.
2165 * config/sh/t-netbsd-sh5: New file.
2166 * config/sh/t-netbsd-sh5-32: New file.
2167 * config/sh/t-netbsd-sh5-64: New file.
2168
6d8fd7bb
RH
21692002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2170 Richard Henderson <rth@redhat.com>
2171
2172 * config/alpha/alpha.c (reg_or_const_int_operand): New.
2173 (some_operand, input_operand): Accept CONST_VECTOR.
2174 (alpha_extra_constraint): Add 'W'.
2175 (alpha_expand_zap_mask): New.
2176 (alpha_expand_builtin_vector_binop): New.
2177 (enum alpha_builtin): New.
2178 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
2179 (alpha_init_builtins, alpha_expand_builtin): New.
2180 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
2181 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
2182 (PREDICATE_CODES): Update.
2183 * config/alpha/alpha-protos.h: Update.
2184 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
2185 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
2186 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
2187 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
2188 (movv2si, movv2si_fix, movv2si_nofix): New.
2189 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
2190 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
2191 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
2192 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
2193 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
2194 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
2195 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
2196 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
2197 builtin_unpkbw, unpkbw): New.
2198 * doc/extend.texi (Alpha Built-in Functions): New.
2199
618939de
RH
22002002-06-03 Richard Henderson <rth@redhat.com>
2201
2202 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
2203 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
2204
73db7137
RH
22052002-06-03 Richard Henderson <rth@redhat.com>
2206
6933647a
RH
2207 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
2208
73db7137
RH
2209 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
2210 (const0_operand): New.
2211 (reg_or_fp0_operand, fp0_operand): Remove.
2212 * config/alpha/alpha.h (PREDICATE_CODES): Update.
2213 * config/alpha/alpha-protos.h: Update.
2214 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
2215 and fp0_operand with reg_or_0_operand and const0_operand.
2216
a6f7c915
DN
22172002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
2218
2219 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
2220
b2f02503
RS
22212002-06-03 Roger Sayle <roger@eyesopen.com>
2222
2223 * gcse.c (cprop_jump): Use single_set to get the pattern
2224 from the setcc argument.
2225
4fcc2065
GDR
22262002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
2227
33005162 2228 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
2229 diagnostic_context.
2230 (diagnostic_kind_count): Adjust definition.
2231
5204d665
JH
2232Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
2233
2234 * except.c (except.c): Do not rebuild CFG.
2235 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
2236 optimization.
2237
0478a14c
JH
2238Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
2239
2240 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
2241 * toplev.c: Include cfglahout.h
2242 * Makefile.in (toplev.c): Add dependnecy.
2243
30efe578
NB
22442002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
2245
2246 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
2247 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
2248 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
2249
a782515b
JT
22502002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
2251
2252 * config/ns32k/netbsd.h: Update copyright years.
2253 (TARGET_OS_CPP_BUILTINS): Define.
2254 (CPP_PREDEFINES): Remove.
2255 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
2256 (TARGET_CPU_CPP_BUILTINS): Define.
2257
0fb7aeda
KH
22582002-06-02 Kazu Hirata <kazu@cs.umass.edu>
2259
589005ff 2260 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
2261 * errors.h: Likewise.
2262 * except.c: Likewise.
2263 * explow.c: Likewise.
2264 * expmed.c: Likewise.
2265 * expr.c: Likewise.
2266 * expr.h: Likewise.
2267
1c8ec18b
KH
22682002-06-02 Kazu Hirata <kazu@cs.umass.edu>
2269
2270 * config/h8300/elf.h: Fix formatting.
2271 * config/h8300/rtems.h: Likewise.
2272
86cb04f6
JT
22732002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
2274
2275 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
2276
5d83269d
TT
22772002-06-02 Tom Tromey <tromey@redhat.com>
2278
2279 * fixinc/fixincl.x: Rebuilt.
2280 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
2281
62f6a494
NB
22822002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2283
2284config/i370:
2285 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
2286 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
2287 * mvs.h: Similarly.
2288 * oe.h: Similarly.
2289
0acb0203
JH
2290Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
2291
2292 * final.c (final): Allow notes to not have computed addresses;
2293 kill no longer needed STACK_REGS ifdef.
2294
ada8d98a
RH
22952002-06-02 Richard Henderson <rth@redhat.com>
2296
2297 * gcse.c (bypass_conditional_jumps): Fix typo last change.
2298
ba4f7968
JH
2299Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
2300
ada8d98a
RH
2301 * loop.c (emit_prefetch_instructions): Properly place the address
2302 computation.
ba4f7968
JH
2303
2304Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
2305
2306 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
2307 (set_block_for_insn): Turn into macro.
2308 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
2309 * cfglayout.c (insn_scopes): Kill.
2310 (scope_to_insns_initialize): Do not use insn_scopes.
2311 (scope_to_insns_finalize): Likewise.
2312 (duplicate_insn_chain): Likewise.
2313 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
2314 * cfgrtl.c (basic_block_for_insn): Kill.
2315 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
2316 (create_basic_block_structure): Use reorder_insns.
2317 (compute_bb_for_insn): Do not use basic_block_for_insn.
2318 (merge_blocks_nomove): Likewise.
2319 (update_bb_for_insn): Likewise.
2320 (verify_flow_info): Likewise.
2321 (set_block_for_insn): Kill.
2322 * combine.c (try_combine): Update gen_rtx_INSN call.
2323 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
2324 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
2325 scopes and BBs.
2326 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
2327 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
2328 Clear BB.
2329 (emit_insns_after): Simplify.
2330 (emit_copy_of_insn_after): Copy scope.
2331 * final.c (final_start_function): Lower scopes.
2332 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
2333 * integrate.c (copy_insn_list): Cope scopes.
2334 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
2335 * loop.c (loop_optimize): Do not care block notes.
2336 * print-rtl.c (print_rtx): Print BB.
2337 * recog.c (apply_change_group): Simplify.
2338 * rtl.c (copy_rtx): Handle 'B'.
2339 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
2340 * rtl.h (Field accessors): Update indexes.
2341 * sched-ebb.c (schedule_ebbs): Do not lower notes.
2342 * sched-rgn.c (schedule_insns): Likewise.
2343 * toplev.c (rest_of_compilation): Lower notes.
2344 * unroll.c (unroll_loop): Do not care scoping notes.
2345 (copy_loop_body): Copy scopes.
2346
537fc532
NB
23472002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2348
2349config/h8300:
2350 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
2351 SUBTARGET_SPEC.
2352 * rtems.h: Similarly.
2353 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
2354 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
2355 (TARGET_CPU_CPP_BUILTINS): Use.
2356
ab780373
RH
23572002-06-02 Richard Henderson <rth@redhat.com>
2358
2359 * alias.c: Include target.h.
2360 (mark_constant_function): Use targetm.binds_local_p instead
2361 of checking TREE_PUBLIC ourselves.
2362 * Makefile.in (alias.o): Add TARGET_H.
2363
b9305c66
NB
23642002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2365
2366 * c-lex.c: Update copyright and file description.
2367
0ac3e0c4
NB
23682002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2369
2370 * config/fr30/fr30.h: Update to new CPP macros.
2371
be3a1d46
NB
23722002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2373
2374 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
2375
ceeedfc1 23762002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 2377 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
2378
2379 * c-common.c (c_common_init): Override cpplib's default
2380 warn_long_long setting.
2381 * c-lex.c (lex_number): Replace with interpret_integer,
2382 interpret_float, narrowest_unsigned_type and
2383 narrowest_signed_type, taking advantage of the new
2384 cpplib functionality.
2385 * cpperror.c (_cpp_begin_message): If a warning is turned
2386 into an error, avoid printing "warning:".
2387 * cppexp.c (cpp_num_sign_extend): New.
2388 * cppinit.c: Update comment.
2389 * cpplib.h (cpp_num_sign_extend): New.
2390 * tree.h: Update comment.
2391
27e511e0
GDR
23922002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
2393
2394 * diagnostic.h (struct diagnostic_context): Add new member
33005162 2395 internal_error.
27e511e0
GDR
2396 (internal_error_function): Remove declaration.
2397 * diagnostic.c (internal_error_function): Remove definition..
2398 (internal_error): Adjust use.
2399
818b6b7f
RH
24002002-06-02 Richard Henderson <rth@redhat.com>
2401
2402 * rtl.h (CC0_P): New.
2403 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
2404 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
2405 (bypass_block): Save old dest block for dump text.
2406 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
2407 Allow only true SET insns, not single_set.
2408
167143a0
GDR
24092002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
2410
2411 * diagnostic.c (diagnostic_finish): Rename to output_flush.
2412 (clear_disgnostic_info): Rename to output_clear_data. Use false
2413 instead of 0 for boolean value.
2414 Adjust function call throughout.
2415
eae4bc56
JH
2416Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
2417
2418 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
2419 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
2420
9eb404a0
NB
24212002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2422
2423 * d30v.h (CPP_PREDEFINES): Replace with
2424 (TARGET_CPU_CPP_BUILTINS): New.
2425
53e8b0b8
RS
24262002-06-02 Roger Sayle <roger@eyesopen.com>
2427
2428 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
2429
92e34b67
JH
2430Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
2431
2432 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
2433
e7e9d242
RH
24342002-06-02 Richard Henderson <rth@redhat.com>
2435
2436 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
2437
9af145ae
MM
24382002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
2439
2440 Support for C++ constructors/destructors.
2441 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
2442 instead of looping if main() returns.
2443 (asm_file_start): Output global symbols that cause .data and .bss
2444 initialization code to be linked in, unconditionally for now.
2445 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
2446 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
2447 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
2448 (LIBSTDCXX): New.
2449 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
2450 (__tablejump__): New.
2451 (__do_copy_data, __do_clear_bss): New.
2452 (__do_global_ctors, __do_global_dtors): New.
2453 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
2454 _ctors, _dtors.
2455
0d66ad57
NB
24562002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2457
2458 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
2459 (CPP_SPEC, CPP_PREDEFINES): Kill.
2460 * c4x/rtems.h (CPP_PREDEFINES): Kill.
2461 (TARGET_OS_CPP_BUILTINS): New.
2462
5c856b23
JH
2463Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
2464
2465 * Makefile.in (tracer.o): New.
2466 * params.def (TRACER_*): New options.
2467 * rtl.h (tracer): Declare.
2468 * timevar.def (TV_TRACER): New.
2469 * toplev.c (dump_file_index): Add DFI_tracer.
2470 (dump_file_info): Add tracer.
2471 (flag_tracer): New.
2472 (lang_indepdenent_options): Add tracer.
2473 (rest_of_compilation): Call tracer.
2474 * tracer.c: New file.
2475 * invoke.texi (-ftracer): Document.
2476 (--param tracer-*): Document.
2477
e2405951
DB
24782002-06-01 Daniel Berlin <dberlin@dberlin.org>
2479
2480 * tree-inline.c (expand_call_inline): Make the statement
33005162 2481 expression we generate have a COMPOUND_STMT.
e2405951 2482
0e3f0221
RS
24832002-06-01 Roger Sayle <roger@eyesopen.com>
2484
2485 * gcse.c (cprop_cc0_jump): Function deleted.
2486 (cprop_jump): Take an additional argument which is the possibly
2487 NULL cc setting insn immediately before the conditional jump.
2488 When a MODE_CC set is present, substitute it into the JUMP_INSN
2489 before attempting the constant propagation.
2490 (cprop_insn): Recognize cc setters followed by conditional jumps
2491 as a special case. Use cprop_jump instead of cprop_cc0_jump.
2492 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
2493 (find_bypass_set): New function based upon find_avail_set used by
2494 cprop, but finds constant expressions available at the end of
2495 basic blocks.
2496 (bypass_block): New function. Given a basic block that begins
2497 with a conditional jump and multiple incoming edges, perform
2498 the jump bypass optimization.
2499 (bypass_conditional_jumps): New function. Call bypass_block with
2500 each suitable basic block in the CFG using a simple single pass.
2501
378393da
RS
25022002-06-01 Roger Sayle <roger@eyesopen.com>
2503
2504 * tree.c (real_minus_onep): New function to test for -1.0.
2505 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
2506
01c58f26
RS
25072002-06-01 Roger Sayle <roger@eyesopen.com>
2508
2509 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
2510 and "!p && !q" into "(p|q) == 0" under suitable conditions.
2511
91b12472
AJ
25122002-06-01 Andreas Jaeger <aj@suse.de>
2513
2514 * cppexp.c (cpp_classify_number): Cast precission to int for
2515 correct printf format.
2516
01e9ae86
MM
25172002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
2518
2519 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
2520 expected, but don't really exist: atmega83, atmega85, attiny10.
2521 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
2522 emulations for all devices.
2523 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
2524 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
2525
be1e06df
KH
25262002-06-01 Kazu Hirata <kazu@cs.umass.edu>
2527
2528 * config/h8300/h8300-protos.h: Add a prototype for
2529 h8300_shift_needs_scratch_p.
2530 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
2531 * config/h8300/h8300.h (OK_FOR_R): New.
2532 (OK_FOR_S): Likewise.
2533 (OK_FOR_T): Likewise.
2534 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
2535 * config/h8300/h8300.md (anonymous shift patterns): Use
2536 constraints R, S, and T.
2537
2ecfd709
ZD
2538Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2539
2540 * basic-block.h (struct basic_block_def): New field loop_father.
2541 (BB_VISITED): New flag.
2542 (struct loop): New field pred, removed field shared.
2543 (struct loops): New field parray.
2544 (LOOP_EXITS_DOMS): Removed.
2545 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
2546 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
2547 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
2548 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
2549 verify_loop_structure): Declare.
2550 * cfg.c (entry_exit_blocks): Initialize loop_father field.
2551 * cfganal.c (dfs_enumerate_from): New function.
2552 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
2553 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
2554 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
2555 flow_loop_dump, flow_loops_dump, flow_loops_free,
2556 flow_loop_tree_node_add, flow_loop_level_compute,
2557 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
2558 flow_loop_outside_edge_p): Modified for new infrastructure.
2559 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
2560 redirect_edge_with_latch_update, flow_loop_free): New static functions.
2561 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
2562 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
2563 find_common_loop, verify_loop_structure, loop_latch_edge,
2564 loop_preheader_edge): New functions.
2565 (flow_loops_cfg_dump): Do not show dominators, as this information
2566 does not remain up to date long.
2567 (flow_loops_find): Store results in new format.
2568 * predict.c (propagate_freq, estimate_probability,
2569 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
2570 infrastructure.
2571
d9763749 25722002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 2573
d9763749
AL
2574 * except.c (nothrow_function_p): Walk epilogue delay list
2575 checking the insn, not the chain for potential throws.
91b12472 2576
1e730c5c
ZW
25772002-05-31 Zack Weinberg <zack@codesourcery.com>
2578
2579 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
2580 (install): Refer to install-cpp directly.
2581 (uninstall-cpp): Folded into uninstall rule.
2582 * configure.in: Delete all code relating to --disable-cpp.
2583 * configure: Regenerate.
2584 * config/t-install-cpp: Delete.
2585
6f9b006d
RH
25862002-05-31 Richard Henderson <rth@redhat.com>
2587
2588 * configure.in (HAVE_AS_TLS): Add alpha tests.
2589 * configure: Rebuild.
2590 * config/alpha/alpha.c (TARGET_AS_TLS): New.
2591 (alpha_tls_size, alpha_tls_size_string): New.
2592 (overide_options): Set it. Always install machine_status hooks.
2593 (input_operand): Accept got tls predicates.
2594 (local_symbol_p): Merge into ...
2595 (local_symbolic_operand): ... here. Reject tls symbols.
2596 (global_symbolic_operand): Likewise.
2597 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
2598 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
2599 (tp16_symbolic_operand, tp32_symbolic_operand): New.
2600 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
2601 (alpha_encode_section_info): Handle TLS symbols.
2602 (alpha_strip_name_encoding): Likewise.
2603 (alpha_legitimate_address_p): Likewise.
2604 (alpha_legitimize_address): Likewise.
2605 (alpha_expand_mov): Early exit to avoid nop moves.
2606 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
2607 (alpha_init_machine_status, alpha_mark_machine_status,
2608 alpha_free_machine_status): Always define.
2609 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
2610 (print_operand, print_operand_address): Add TLS relocs.
2611 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
2612 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
2613 (TARGET_SWITCHES): Add -mtls-kernel.
2614 (alpha_tls_size, alpha_tls_size_string): New.
2615 (TARGET_OPTIONS): Add -mtls-size=.
2616 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
2617 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
2618 (ASM_OUTPUT_LABELREF): Skip %.
2619 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
2620 (PREDICATE_CODES): Update.
2621 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
2622 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
2623 UNSPEC_TP, UNSPECV_SET_TP): New.
2624 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
2625 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
2626 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
2627 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
2628 (call_value_osf_2_er): Accept anything as op4.
2629 * config/alpha/alpha-protos.h: Update.
2630 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
2631
39e5db1a
ZW
26322002-05-31 Zack Weinberg <zack@codesourcery.com>
2633
2634 * cppinit.c (append_include_chain): Always pay attention to
2635 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
2636 marker on argument.
2637
41077ce4
KH
26382002-05-31 Kazu Hirata <kazu@cs.umass.edu>
2639
2640 * target.h: Fix formatting.
2641 * timevar.h: Likewise.
2642 * tlink.c: Likewise.
2643 * toplev.c: Likewise.
2644 * toplev.h: Likewise.
2645 * tree.c: Likewise.
2646 * tree-dump.h: Likewise.
2647 * tree.h: Likewise.
2648 * tree-inline.h: Likewise.
2649 * unroll.c: Likewise.
2650 * unwind-dw2.c: Likewise.
2651 * unwind-dw2-fde.c: Likewise.
2652 * unwind-dw2-fde-glibc.c: Likewise.
2653 * unwind-dw2-fde.h: Likewise.
2654 * unwind.h: Likewise.
2655 * unwind-sjlj.c: Likewise.
2656 * varasm.c: Likewise.
2657 * varray.h: Likewise.
2658 * vmsdbg.h: Likewise.
2659 * vmsdbgout.c: Likewise.
2660 * xcoffout.h: Likewise.
2661
b2e426a0
IS
26622002-05-31 Igor Shevlyakov <igor@microunity.com>
2663
1e730c5c 2664 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
2665 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
2666
8b968bd1
MW
26672002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
2668
2669 * gcc.c (cpp_unique_options): Remove "-d" options.
2670 (cpp_debug_options): New spec string.
2671 (default_compilers): Use it.
2672 * objc/lang-specs.h: Likewise.
2673
5c35940c
NN
26742002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
2675
1e730c5c 2676 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
2677 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
2678 * gcc/mklibgcc.in: Likewise.
2679 * gcc/config/arc/t-arc: Likewise.
2680 * gcc/configure.in: Likewise.
2681 * gcc/configure: Regenerate.
2682
8b496ceb
SS
26832002-05-31 Stan Shebs <shebs@apple.com>
2684 Turly O'Connor <turly@apple.com>
2685
2686 * c-decl.c (struct binding_level): Change int field n_incomplete
2687 to tree list incomplete_list.
2688 (clear_binding_level): Init field with NULL.
2689 (pushdecl): Add incomplete type to list.
2690 (mark_binding_level): Mark the incomplete list.
2691 (finish_struct): Scan the incomplete list for types instead
2692 of all decls in the current binding level.
2693
4722213d
JDA
26942002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
2695
2696 * pa.c (output_millicode_call): Add missing '%' characters.
2697 (output_call): Likewise.
2698
1086fcb1
DE
26992002-05-31 David Edelsohn <edelsohn@gnu.org>
2700
2701 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
2702 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
2703
afdfb380 27042002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 2705
afdfb380
AL
2706 * varasm.c (mark_constant_pool): Walk epilogue delay list
2707 checking the insn, not the chain for potential constants.
1e730c5c 2708
f2df45f6
R
2709Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
2710
2711 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
2712
91ea38f9
JH
2713Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
2714
2715 * i386.c (classify_argument): Properly handle base types.
2716
2717 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
2718 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
2719 registers.
2720
10d1bb36
JH
2721Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
2722
2723 * gcse.c (gcse_emit_move_after): New.
2724 (pre_delete, hoist_store): Use it.
2725
2726 * reload1.c (emit_input_reload_insns): Use constrain_operands
2727 instead of constraint_accepts_reg_p to verify optimization.
2728 (constraint_accepts_reg_p): Kill
2729
2730 * reload1.c (reload_cse_delete_noop_set): Kill.
2731 (reload_cse_simplify): use delte_insn_and_edges.
2732
8a72fb76
ZD
27332002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2734
2735 * cfgloop.c (flow_loops_find): Initialize first and last fields
2736 correctly.
2737
a9da2e5b
NB
27382002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
2739
2740 * c-common.c (builtin_define_std): Correct logic.
2741
6248c4dd
JDA
27422002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
2743
2744 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
2745 (output_call): Likewise.
2746
d499455b
JDA
27472002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
2748
2749 * pa.c: Move output.h include after tree.h include.
2750 (pa_asm_output_mi_thunk): Constify identifier lab.
2751
2eb2901a
JT
27522002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
2753
2754 * config/ns32k/ns32k.h: Define named constants for the
2755 bits in target_flags and use them.
2756 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
2757
806bf413
JDA
27582002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
2759
2760 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
2761 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
2762 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
2763 default scheduling model.
2764 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
2765 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
2766 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
2767 * doc/install.texi (hppa*-*-*): Document default scheduling.
2768
6d8d2bbc
JDA
27692002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
2770
2771 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
2772
c8eb9785
JT
27732002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
2774
2775 * config.gcc (ns32k-*-netbsd*): Set tm_file to
2776 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
2777 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
2778 netbsd.h, or netbsd-aout.h.
2779
6e2e5b6a
JT
27802002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
2781
2782 * longlong.h (count_trailing_zeros): Add missing \, and clean up
2783 whitespace in __ns32000__ case.
2784
00182e1e
AH
27852002-05-31 Aldy Hernandez <aldyh@redhat.com>
2786
1e730c5c
ZW
2787 * expr.c (expand_expr): Output partially zeroed out vectors with
2788 output_constant_def.
00182e1e 2789
b4eb03fe
JT
27902002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
2791
2792 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
2793 (sh-*-netbsdelf*)
2794 (shl*-*-netbsdelf*): New targets.
2795 * config/sh/netbsd-elf.h: New file.
8fd0df91 2796 * config/sh/t-netbsd: New file.
b4eb03fe 2797
261376e7
RH
27982002-05-30 Richard Henderson <rth@redhat.com>
2799 Eric Botcazou <ebotcazou@multimania.com>
2800
2801 PR optimization/6822
2802 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
2803 to unsigned int for op1 comparisons. Use gen_int_mode.
2804
ce60bf25
EB
28052002-05-30 Eric Botcazou <ebotcazou@multimania.com>
2806
2807 * expmed.c (const_mult_add_overflow_p): New.
2808 * expr.h: Declare it.
2809 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
2810 Don't eliminate the biv if the giv has a constant multiplier and
2811 the rhs argument of the comparison does satisfy the predicate.
2812 Use expand_mult_add to compute the replacement constant.
2813
d18b1ed8
OS
28142002-05-30 Osku Salerma <osku@iki.fi>
2815
2816 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
2817 (c_common_get_alias_set): Handle it.
2818 * doc/extend.texi: Document it.
2819
a7943381
RH
28202002-05-30 Richard Henderson <rth@redhat.com>
2821
2822 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
2823 * toplev.c (process_options): Don't check it.
2824 * doc/tm.texi: Don't document it.
2825 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
2826 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
2827 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
2828 frame pointer optimization if current_function_profile.
2829
e11e816e
KH
28302002-05-30 Kazu Hirata <kazu@cs.umass.edu>
2831
2832 * langhooks.c: Fix formatting.
2833 * langhooks.h: Likewise.
2834 * lcm.c: Likewise.
2835 * libgcc2.c: Likewise.
2836 * lists.c: Likewise.
2837 * local-alloc.c: Likewise.
2838 * loop.c: Likewise.
2839 * loop.h: Likewise.
2840
28412002-05-30 Marc Espie <espie@openbsd.org>
2842
2843 * config.gcc (sparc64-*-openbsd*): New.
2844 * config/sparc/openbsd1-64.h: New.
2845 * config/sparc/openbsd64.h: New.
91f0fcee 2846
d35dfca9
JL
28472002-05-30 Jeff Law <law@redhat.com>
2848
2849 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
2850 a dead insn with a REG_RETVAL note when the entire libcall is not
2851 dead and remove the associated REG_LIBCALL note at the same time.
2852
81b40b72
R
2853Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
2854
2855 * lcm.c (output.h): #include.
2856 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
2857 as an ordinary block.
2858 (optimize_mode_switching): Don't pretend that the exit block is
2859 an ordinary block, or handle sucessors of entry block specially.
2860 Instead, split edges from entry block and to exit block, and
2861 put a computing definition on the thus gained post-entry-block,
2862 and a need on the pre-exit-block.
2863
c8ea9a0f
JH
2864Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
2865
2866 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
2867 * rtl.texi: Document 'B'
2868
348f0869
JT
28692002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
2870
2871 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
2872 at run-time.
2873 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
2874
9a171fcd
AH
28752002-05-30 Aldy Hernandez <aldyh@redhat.com>
2876
1e730c5c
ZW
2877 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
2878 const0_rtx instead of NULL_RTX when in error.
2879 (altivec_expand_abs_builtin): Same.
2880 (rs6000_expand_binop_builtin): Same.
2881 (altivec_expand_predicate_builtin): Same.
2882 (altivec_expand_stv_builtin): Same.
2883 (rs6000_expand_ternop_builtin): Same.
2884 (altivec_expand_builtin): Same.
9a171fcd 2885
62a35e60
DM
28862002-05-29 David S. Miller <davem@redhat.com>
2887
2888 * rtl.h (clear_emit_caches): Delete.
2889 * integrate.c (output_inline_function): Don't call it.
2890 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
2891 (clear_emit_caches): Delete definition.
2892 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
2893
cbc39da8
HPN
28942002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
2895
2896 * config/mmix/mmix.c: Include real.h.
2897 (mmix_constant_address_p): Remove redundant test before switch.
2898
50efa737
JT
28992002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
2900
2901 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
2902 only if not already defined.
2903
2e760b15
KH
29042002-05-29 Kazu Hirata <kazu@cs.umass.edu>
2905
2906 * config/h8300/h8300-protos.h: Remove prototypes for
2907 ok_for_bclr and small_power_of_two.
2908 * config/h8300/h8300.c (small_power_of_two): Remove.
2909 (ok_for_blcr): Likewise.
2910 (fix_bit_operand): Make WHAT deal with an integer instead of a
2911 constraint character.
2912 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
2913 (CONST_OK_FOR_P): Likewise.
2914 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
2915 CONST_OK_FOR_P any more.
2916 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
2917 of fix_bit_operand.
2918 (iorqi3): Likewise.
2919 (xorqi3): Likewise.
2920
e1c293ae
JT
29212002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
2922
2923 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
2924 (CPP_PREDEFINES): Make sure this is undefined.
2925 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
2926 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
2927 or -U__MIPSEB__ before defining one or the other. Instead,
2928 use %(subtarget_endian_default) if neither -EB nor -EL are
2929 specified.
2930 (SUBTARGET_EXTRA_SPECS): Define.
2931 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
2932 %(netbsd_cpp_spec).
2933
fde6d81f
HPN
29342002-05-29 Hans-Peter Nilsson <hp@axis.com>
2935
2936 * doc/md.texi (Patterns): Note pattern condition pitfall
2937 for unnamed insn.
2938
92898235
AH
29392002-05-29 Aldy Hernandez <aldyh@redhat.com>
2940
1e730c5c
ZW
2941 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
2942 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
2943 ternary operations from here...
2944 (rs6000_expand_builtin): ...to here.
2945 New argument expandedp.
2946 Change all instances of altivec_expand_binop_builtin to
2947 rs6000_expand_binop_builtin.
2948 (altivec_expand_unop_builtin): Rename to
2949 rs6000_expand_unop_builtin.
2950 (altivec_expand_binop_builtin): Rename to
2951 rs6000_expand_binop_builtin.
2952 (altivec_expand_ternop_builtin): Rename to
2953 rs6000_expand_ternop_builtin.
92898235 2954
67adf6a9
RH
29552002-05-29 Richard Henderson <rth@redhat.com>
2956
2957 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
2958 (TARGET_BI_ARCH): Likewise.
2959 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
2960 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
2961 (TARGET_64BIT_DEFAULT): Default to 0.
2962 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
2963
145aacc2
RH
29642002-05-29 Richard Henderson <rth@redhat.com>
2965
2966 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
2967 (get_pc_thunk_name): New.
2968 (output_set_got): Use it.
2969 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
2970 into linkonce sections.
2971
a5b49bbc
JT
29722002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
2973
2974 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
2975 (CPP_PREDEFINES): Make sure this is undefined.
2976 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
2977 (CPP_SUBTARGET_SPEC): Don't provide different versions for
2978 default-32 and default-64. Just always use %(netbsd_cpp_spec).
2979 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
2980 cpp_subtarget_spec64. Add netbsd_cpp_spec.
2981 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
2982 (CPP_PREDEFINES): Make sure this is undefined.
2983 (SUBTARGET_EXTRA_SPECS): Define.
2984 (CPP_SPEC): Use %(netbsd_cpp_spec).
2985
54374491
JL
29862002-05-29 Jeff Law <law@redhat.com>
2987
ae02eae8
JL
2988 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
2989
b862c2aa
JL
2990 * flow.c (propagate_one_insn): Do not remove a dead insn if it
2991 contains a REG_RETVAL note.
2992
d10791ba
JL
2993 * haifa-sched (sched_analyze): Remove another useless clearing
2994 of SCHED_GROUP_P I missed yesterday.
2995
54374491
JL
2996 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
2997 * pa.c (pa_asm_output_mi_thunk): New function.
2998 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
2999
92c392e6
NB
30002002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
3001 Marek Michalkiewicz <marekm@amelek.gda.pl>
3002
3003 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
3004 (avr_asm_only_p): Make non-static.
3005 (enum avr_arch): Remove.
3006 (avr_arch_types): New.
3007 (avr_mcu_types): Update.
3008 (avr_override_options): Use avr_arch_types table instead of switch.
3009 * avr.h (CPP_PREDEFINES): Die.
3010 (avr_base_arch_macro, avr_extra_arch_macro): New.
3011 (TARGET_CPU_CPP_BUILTINS): New.
3012 (CPP_SPEC, EXTRA_SPECS): Simplify.
3013 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
3014 CPP_AVR5_SPEC): Die.
3015
4528173e
JT
30162002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3017
3018 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
3019 NETBSD_OS_CPP_BUILTINS_AOUT.
3020 (SUBTARGET_EXTRA_SPECS): Define.
3021 (CPP_SPEC): Use %(netbsd_cpp_spec).
3022
bd09bdeb
RH
30232002-05-29 Richard Henderson <rth@redhat.com>
3024
3025 * config/i386/i386.c (ix86_output_function_epilogue): New.
3026 (TARGET_ASM_FUNCTION_EPILOGUE): New.
3027 (pic_label_name): Remove.
3028 (pic_labels_used): New.
3029 (ix86_asm_file_end): Emit one pc load stub for each register used.
3030 (output_set_got): Generate deep pc load to any register.
3031 (ix86_select_alt_pic_regnum): New.
3032 (ix86_save_reg): Don't save pic register if we can find a valid
3033 call-clobbered replacement.
3034 (ix86_expand_prologue): If we found a valid replacement, renumber
3035 pic_offset_table_rtx.
3036 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
3037 pic_offset_table_rtx after reload.
3038 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
3039 * config/i386/i386.md (set_got): Make insn, not expander.
3040 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
3041
002ff5bc
RH
30422002-05-29 Richard Henderson <rth@redhat.com>
3043
3044 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
3045 alignment for alloca.
3046
edfe8595
RH
30472002-05-29 Richard Henderson <rth@redhat.com>
3048
3049 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
3050 (print_operand_address): Only add rip for symbolic addresses
3051 for which we do not have another relocation type.
3052
cd7714ee
JT
30532002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3054
3055 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
3056 (EXTRA_SPECS): Add netbsd_cpp_spec.
3057 (CPP_SPEC): Use %(netbsd_cpp_spec).
3058 (CPP_PREDEFINES): Remove.
3059 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
3060 (EXTRA_SPECS): Define.
3061 (CPP_SPEC): Use %(netbsd_cpp_spec).
3062 (CPP_PREDEFINES): Remove.
3063
8dc901de
NB
30642002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
3065
3066 PR preprocessor/6844
3067 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
3068 NUL.
3069
2274b31a
EC
30702002-05-29 Eric Christopher <echristo@redhat.com>
3071
3072 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
3073 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
3074
5c7666c1
NC
30752002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
3076
3077 * config/fr30/fr30.md: Remove previous restriction on splits.
3078 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 3079 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
3080 as the assembler does not support ".bss".
3081
45beef47
JT
30822002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3083
3084 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
3085 (CPP_PREDEFINES): Remove.
3086 (SUBTARGET_EXTRA_SPECS): Define.
3087 (CPP_SPEC): Use %(netbsd_cpp_spec).
3088 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
3089 (CPP_PREDEFINES): Remove.
3090 (SUBTARGET_EXTRA_SPECS): Define.
3091 (CPP_SPEC): Use %(netbsd_cpp_spec).
3092 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
3093 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
3094 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
3095 Add netbsd_cpp_spec.
3096 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
3097
cd7ab83f
NB
30982002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
3099 Zack Weinberg <zack@codesourcery.com>
3100
3101 * cppexp.c (cpp_num): Move to cpplib.h.
3102 (CPP_ERROR): Remove.
3103 (interpret_float_suffix, interpret_int_suffix): New.
3104 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
3105 (cpp_classify_number, cpp_interpret_integer): New.
3106 (interpret_number): Remove.
3107 (eval_token): Update to use new routines.
3108 * cpphash.h (cpp_num_part): Move to cpplib.h.
3109 * cppinit.c (cpp_post_options): Set warn_long_long.
3110 * cpplib.h (struct cpp_options): Add warn_long_long.
3111 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
3112 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
3113 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
3114 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
3115 cpp_interpret_integer): New.
3116
61a8515c
JS
31172002-05-29 Joel Sherrill <joel@OARcorp.com>
3118
3119 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
3120
53a428b5
JT
31212002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3122
3123 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
3124 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
3125 (CPP_SUBTARGET_SPEC): Define.
3126 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
3127 (CPP_SPEC): Remove.
3128
45b1f7c7
CL
31292002-05-29 Chris Lattner <sabre@nondot.org>
3130
1e730c5c
ZW
3131 * ssa.c (rename_insn_1): Rename uses of undefined registers to
3132 prevent confusion if/when the register is defined.
45b1f7c7 3133
049746c2
HPN
31342002-05-29 Hans-Peter Nilsson <hp@axis.com>
3135
3136 PR target/6838
3137 * config/cris/cris.md: Fix typos and thinkos in comments.
3138 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
3139 second alternative.
3140 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
3141 ("*mov_sideqi_mem"): Similar, but for operand 3.
3142 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
3143 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
3144 Remove spurious mode specifier on operand 2.
3145
4d4d89e2
KH
31462002-05-29 Kazu Hirata <kazu@cs.umass.edu>
3147
3148 * config/h8300/h8300-protos.h: Remove the prototype for
3149 o_operand.
3150 Add prototypes for single_one_operand and single_zero_operand.
3151 * config/h8300/h8300.c (o_operand): Remove.
3152 (single_one_operand): New.
3153 (single_zero_operand): Likewise.
3154 (print_operand): For 'V' operand, and the operand with 0xff.
3155 For 'V' and 'W' operands, do not and the bit position with 7.
3156 * config/h8300/h8300.md (various anonymous patterns): Replace
3157 use of exact_log2 with single_one_operand/single_zero_operand.
3158
abd6ddec
UW
31592002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
3160
3161 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3162
da06d85a
UW
31632002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
3164
3165 * config/s390/s390.c (legitimate_pic_operand_p): Do not
3166 accept symbolic LARL operands.
2274b31a 3167 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 3168 epilogue insns.
2274b31a 3169
f8766020
HP
31702002-05-29 Hartmut Penner <hpenner@de.ibm.com>
3171
3172 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 3173 input registers as used.
f8766020 3174
66edd3b4
RH
31752002-05-28 Richard Henderson <rth@redhat.com>
3176
3177 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
3178 not current_function_uses_pic_offset_table and
3179 current_function_uses_const_pool; examine current_function_profile.
3180 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
3181 input to blockage if needed.
3182 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
3183 (legitimize_pic_address): Likewise. Set regs_ever_live for
3184 pic_offset_table_rtx when invoked during reload.
3185 * config/i386/i386.h (FINALIZE_PIC): Remove.
3186 * config/i386/i386.md (tablejump): Reformat. Do not set
3187 current_function_uses_pic_offset_table.
3188 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
3189 (blockage): Accept anything as operand 0.
3190
52f4fff6
JT
31912002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
3192
3193 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
3194 common CPP built-ins for all NetBSD a.out targets.
3195 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
3196 common CPP built-ins for all NetBSD ELF targets.
3197 * config/netbsd.h: Add missing notice.
3198 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
3199 for all NetBSD targets.
3200 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
3201 for all NetBSD targets using an LP64 code model.
3202 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
3203 NetBSD targets.
3204
e0e577a2
RH
32052002-05-28 Richard Henderson <rth@redhat.com>
3206
3207 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
3208 update if UPDATE_LIFE_LOCAL.
3209
32102002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
3211
3212 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
3213
f1a58d92 3214Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 3215 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
3216
3217 config/sh reorganization to factor out endianness and coff:
3218
3219 * config/sh/little.h: New file.
1e730c5c
ZW
3220 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
3221 defined, define to 0 to select big-endian.
f1a58d92 3222 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
3223 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
3224 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
3225 * config/sh/t-be: New file.
3226 * config/sh/t-le: New file.
f1a58d92
R
3227
3228 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
3229 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
3230 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
3231 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
3232 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3233 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
3234 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
3235 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
3236 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
3237 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
3238 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
3239 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
3240 (LINK_SPEC): Define to SH_LINK_SPEC.
3241 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
3242 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
3243 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
3244 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
3245 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
3246 * config/sh/coff.h: New file.
3247 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
3248 (TARGET_OBJFMT_CPP_BUILTINS): Define.
3249 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
3250 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
3251 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
3252 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
3253 (PTRDIFF_TYPE): Likewise.
3254 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
3255 (CPP_PREDEFINES): Don't define.
3256 (TARGET_OBJFMT_CPP_BUILTINS): Define.
3257 (LINK_SPEC): Define to SH_LINK_SPEC.
3258 (LINK_EMUL_PREFIX): Redefine.
3259 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
3260 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
3261 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
3262 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
3263 (TARGET_OS_CPP_BUILTINS): Define.
3264 (TARGET_DEFAULT): Redefine.
3265 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
3266 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
3267 (LINK_SPEC): Don't redefine.
3268 (LINK_DEFAULT_CPU_EMUL): Redefine.
3269 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
3270 * sh.c (sh_asm_named_section): Don't declare / define.
3271 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
3272 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
3273 (sh64-*-elf* tm_file): Likewise.
3274 (sh-*-rtemself* tm_file): Likewise.
3275 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
3276 (sh-*-linux* tmake_file): Add sh/t-le.
3277 (sh-*-rtems* tm_file): Add sh/coff.h
3278 (sh-*-* tm_file): Likewise.
3279
3280Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
3281
3282 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
3283 CONSTANT_POOL_ADDRESS_P.
3284
3285 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
3286
d10791ba 32872002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
3288 Jeff Law <law@redhat.com>
3289
64de6c0a
DE
3290 * optabs.c (expand_binop): Fix nwords sign warnings.
3291 generate pseudo for add_optab.
3292
33a3dfc4
DE
3293 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
3294 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
3295
972957ba 32962002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 3297
2274b31a 3298 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
3299 inherited from gas.h.
3300 (ASM_QUAD): Undef. OpenBSD does not support it.
3301
cc92b8ab
DS
33022002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
3303
3304 * doc/install.texi (binaries): Change mingw binaries
3305 link to www.mingw.org.
3306
f8088d55
ZD
33072002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3308
3309 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
3310
0b7ae565
RH
33112002-05-28 Richard Henderson <rth@redhat.com>
3312
3313 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
3314 bottom alignment for leaf functions.
3315
16069d69
ZW
33162002-05-28 Zack Weinberg <zack@codesourcery.com>
3317
3318 * config/pa/milli32.S, config/pa/lib1funcs.asm,
3319 config/sparc/sol2-g1.asm: Delete unused files.
3320
04653686
RH
33212002-05-28 Richard Henderson <rth@redhat.com>
3322
3323 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
3324
f3ea5f6a
RH
3325 * flow.c (calculate_global_regs_live): Rename call_used to
3326 invalidated_by_call. Initialize from regs_invalidated_by_call
3327 instead of call_used_regs.
3328
923c7cdf
RH
3329 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
3330 DECL_EXTERNAL.
3331
11ad4784
ZW
33322002-05-28 Zack Weinberg <zack@codesourcery.com>
3333
8abbd76a
ZW
3334 * tree.h: Don't include real.h.
3335 Forward-declare struct realvaluetype.
11ad4784
ZW
3336 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
3337 contain it.
3338 (TREE_REAL_CST_PTR): New accessor.
3339 (TREE_REAL_CST): Update.
3340 * real.h: Include machmode.h.
2274b31a 3341 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
3342 (build_real): Prototype here.
3343
3344 * tree.c: Include real.h.
2274b31a
EC
3345 (build_real): Allocate the REAL_VALUE_TYPE as a separate
3346 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
3347 (build_real_from_int_cst): Use build_real.
3348 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
3349 REAL_CST.
3350
3351 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
3352 fold-const.c, print-tree.c, real.c: Include real.h.
3353 * Makefile.in: Update dependency lists.
3354
bf77398c
ZD
33552002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3356
3357 * basic-block.h (last_basic_block): Declare.
3358 (expunge_block_nocompact): Declaration removed.
3359 (compact_blocks): Declare.
3360 * cfg.c (last_basic_block): New variable.
3361 (expunge_block_nocompact): Removed.
3362 (expunge_block): Do not compact basic blocks.
3363 (compact_blocks): New.
3364 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
3365 longer change.
3366 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
3367 last_basic_block.
3368 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
3369 real positions of blocks.
3370 (delete_unreachable_blocks): Simplified -- quadratic behavior now
3371 cannot occur.
3372 (cleanup_cfg): Compact blocks.
3373 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
3374 basic_block_info varray.
3375 (flow_delete_block): Comment update.
3376 (back_edge_of_syntactic_loop_p): Modify position check code.
3377 (verify_flow_info): Update checking.
3378 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
3379 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
3380 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
3381 indices no longer change.
3382 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
3383 last_basic_block.
3384 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
3385 * profile.c (branch_prob): Compact blocks.
3386 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
3387 last_basic_block.
3388
ae12a094
KH
33892002-05-28 Kazu Hirata <kazu@cs.umass.edu>
3390
3391 * config/h8300/h8300.md (two anonymous patterns): New.
3392
c6172f14
DM
33932002-05-28 David S. Miller <davem@redhat.com>
3394
3395 * config/sparc/sparc.md (cpu): Tidy.
3396 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
3397 'trap'.
3398 (in_call_delay): Delete reference to 'return' type.
3399 (eligible_for_return_delay, in_return_delay, define_delay
3400 referencing those): Delete.
3401 (rest of file): Use new type attributes as appropriate.
3402 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
3403 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
3404 * config/sparc/ultra1_2.md (us1_single): New reservation.
3405 (us1_ialuX): Likewise.
3406 * config/sparc/ultra3.md (us3_single): Likewise.
3407 (us3_ialuX): Likewise.
3408 (us3_imul, us3_idiv): Tweak.
2274b31a 3409
34a6c2ec
RH
34102002-05-28 Richard Henderson <rth@redhat.com>
3411
3412 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
3413 STRING_CST.
3414
9c075570
RH
34152002-05-28 Richard Henderson <rth@redhat.com>
3416
3417 * config.gcc: Obsolete mn10200.
3418
359b0bec
NB
34192002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
3420
3421 * cppexp.c (interpret_number): Optimize for single-digit
3422 and less-than-half-precision cases.
3423 (num_trim, num_positive, num_div_op): Cast constants.
3424
4075db8f
BT
34252002-05-27 Bo Thorsen <bo@suse.de>
3426
3427 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
3428 3.1 branch. The file was made by Jakub Jelinek.
3429 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
3430 support so multilib doesn't break. And don't define this at all
3431 when -Dinhibit_libc is used.
3432 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
3433 * config/i386/t-linux64: Implement full multilib support. Patch
3434 originally done by Andreas Jaeger and Jakub Jelinek.
3435
39f2f3c8
RS
34362002-05-27 Roger Sayle <roger@eyesopen.com>
3437
3438 * c-common.c: Add support for __attribute__((nothrow)) to specify
3439 that a function cannot throw an exception (using TREE_NOTHROW).
3440 (handle_nothrow_attribute): New function to process this attribute.
3441
3442 * doc/extend.texi: Document the new nothrow function attribute.
3443
d51b0053
L
34442002-05-27 H.J. Lu (hjl@gnu.org)
3445
3446 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
3447 (num_positive): Likewise.
3448 (num_div_op): Likewise.
3449
630363b4
NB
34502002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
3451
3452 * c-common.c (c_common_init): Always use intmax_t.
3453
d94cde01
NB
34542002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
3455
3456 * c-common.c (c_common_init): Use intmax_t for now.
3457
57f851a3
AH
34582002-05-24 Andrew Haley <aph@redhat.com>
3459
3460 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
3461 if T is a boolean type.
3462
d55bc081
ZD
34632002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3464
3465 * basic-block.h (last_basic_block): Defined as synonym for
3466 n_basic_blocks.
3467 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
3468 flow_depth_first_order_compute, flow_preorder_transversal_compute,
3469 flow_dfs_compute_reverse_init): Replaced relevant occurences of
3470 n_basic_blocks with last_basic_block.
3471 * cfgbuild.c (make_edges): Likewise.
3472 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
3473 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
3474 * combine.c (combine_instructions): Likewise.
3475 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
3476 iterative_dataflow_bitmap): Likewise.
3477 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
3478 calc_idoms, idoms_to_doms): Likewise.
3479 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
3480 Likewise.
3481 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
3482 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
3483 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
3484 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
3485 delete_null_pointer_checks, compute_code_hoist_vbeinout,
3486 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
3487 compute_store_table, build_store_vectors): Likewise.
3488 * haifa-sched.c (sched_init): Likewise.
3489 * ifcvt.c (if_convert): Likewise.
3490 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
3491 pre_edge_lcm, compute_available, compute_nearerout,
3492 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
3493 Likewise.
3494 * predict.c (estimate_probability, process_note_prediction,
3495 note_prediction_to_br_prob): Likewise.
3496 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
3497 * recog.c (split_all_insns, peephole2_optimize): Likewise.
3498 * regrename.c (copyprop_hardreg_forward): Likewise.
3499 * resource.c (init_resource_info): Likewise.
3500 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
3501 init_regions, schedule_insns): Likewise.
3502 * ssa-ccp.c (ssa_const_prop): Likewise.
3503 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
3504 * ssa.c (compute_dominance_frontiers,
3505 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
3506
3507 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
3508 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
3509 sizes consistently.
3510
71d2c5bd
JH
3511Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
3512
3513 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
3514 new.
3515 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
3516 hoist_insn_after, hoist_insn_to_edge): New.
3517
5149f070
JH
3518Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
3519
3520 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
3521 (PROP_FINAL): Include.
3522 * flow.c (life_analysis, update_life_info,
3523 init_propagate_block_info, mark_set_1, mark_used_rgs):
3524 Support SCAN_DEAD_STORE.
3525
c9220e3a
NB
35262002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
3527
3528 * c-common.c (c_common_init): Set CPP arithmetic precision.
3529 * cppexp.c (cpp_num_part): Move typedef ...
3530 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
3531 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
3532 (sanity_checks): Update.
3533
e34a3d31
GK
35342002-05-26 Geoffrey Keating <geoffk@redhat.com>
3535
3536 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
3537 (mkheaders): New rule.
3538 (install-mkheaders): New rule.
3539 * configure.in (all_outputs): Add mkheaders.
3540 * configure: Regenerate.
3541 * mkheaders.in: New file.
3542
9059e33c
JJ
35432002-05-26 Jakub Jelinek <jakub@redhat.com>
3544
3545 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
3546
291cc0fe
AJ
35472002-05-26 Andreas Jaeger <aj@suse.de>
3548
3549 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
3550
91318908
NB
35512002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
3552
3553 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
3554 right_shift): Remove.
3555 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
3556 HIGH_PART): New.
3557 (struct op): Use cpp_num.
3558 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
3559 num_part_mul, num_unary_op, num_binary_op, num_negate,
3560 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
3561 num_div_op, num_lshift, num_rshift, append_digit): New.
3562 (interpret_number, parse_defined, eval_token, reduce): Update
3563 for two-integer arithmetic.
3564 (binary_handler): New typedef.
3565 (optab): Update.
3566 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
3567 (_cpp_parse_expr, reduce): Update to handle two-integers.
3568 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
3569
331ca350
MM
35702002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
3571
3572 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
3573 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
3574 branch insn into account, do not assume 1.
3575 (avr_out_sbxx_branch): New function. Optimize cases of skipping
3576 over single word insn. Handle upper half of I/O space too.
3577 * config/avr/avr.md (*sbrx_branch): Use it.
3578 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
3579 (*sbix_branch, *sbix_branch_bit7): Likewise.
3580 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
3581 Use RTL peepholes to optimize register operand sign tests.
3582
bcb6a2be
MM
35832002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
3584
3585 * config/avr/avr.c (avr_asm_only_p): New variable.
3586 (avr_override_options): Set it here if AVR1.
3587 (asm_file_start): Test it here, report an error if set.
3588
ca7fd9cd
KH
35892002-05-26 Kazu Hirata <kazu@cs.umass.edu>
3590
3591 * alias.c: Fix formatting.
3592 * attribs.c: Likewise.
3593 * bb-reorder.c: Likewise.
3594 * bitmap.c: Likewise.
3595 * bitmap.h: Likewise.
3596 * builtins.c: Likewise.
3597
a65dc37d
JH
3598Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
3599
3600 * reload.c (find_valid_class): Accept new argument DEST,
3601 choose class accordingly.
3602 (push_reload): Update callers.
3603
9b89393b
AJ
36042002-05-26 Andreas Jaeger <aj@suse.de>
3605
3606 * combine.c (combine_instructions): Do not indent #if for
3607 traditional C.
3608
b53bb376
RH
36092002-05-25 Richard Henderson <rth@redhat.com>
3610
3611 * c-pragma.c (apply_pragma_weak): Convert value identifier to
3612 string for decl_attributes.
3613 (handle_pragma_weak): Call assemble_alias if we're modifying
3614 an existing decl.
3615
e133041b
RH
36162002-05-25 Richard Henderson <rth@redhat.com>
3617
3618 PR target/6788
3619 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
3620 using rtl instead of fprintf.
3621 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
3622 * config/sparc/sparc-protos.h: Update.
3623
81a75f0f
NB
36242002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
3625
3626 * Makefile.in (C_COMMON_H): Fix.
3627 Update other targets.
3628 * c-common.c: Don't include c-lex.h.
3629 (builtin_define_with_value): Make static and prototype.
3630 (builtin_define_std): Move from c-lex.h.
3631 * c-common.h (init_c_lex): Move from c-lex.h.
3632 * c-decl.c: Don't include c-lex.h.
3633 (make_pointer_declarator): Move from c-parse.in.
3634 * c-lex.c: Don't include c-lex.h.
3635 * c-lex.h: Remove.
3636 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
3637 (make_pointer_declarator): Move to c-decl.c.
3638 * c-pragma.c: Don't include c-lex.h.
3639 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
3640 * c-tree.h (make_pointer_declarator): New.
3641doc:
3642 * passes.texi, tm.texi: Update.
3643objc:
3644 * Make-lang.in: Update and correct.
3645 * objc-act.c: Don't include c-lex.h or cpplib.h.
3646treelang:
3647 * treetree.c: Don't include c-lex.h.
3648config:
3649 * darwin-c.c: Don't include c-lex.h.
3650 * c4x/c4x-c.c: Don't include c-lex.h.
3651 * c4x/t-c4x: Update.
3652 * i370/i370-c.c: Don't include c-lex.h.
3653 * i370/t-i370: Update.
3654 * i960/i960-c.c: Don't include c-lex.h.
3655 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
3656 * i960/t-960bare: Update.
3657 * i960/t-vxworks: Update.
3658 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
3659 * rs6000/t-darwin: Update.
3660 * rs6000/t-rs6000-c-rule: Update.
3661 * v850/v850-c.c: Don't include c-lex.h.
3662 * v850/v850.c: Don't include c-lex.h or cpplib.h.
3663
3664
04d2be8e
KH
36652002-05-25 Kazu Hirata <kazu@cs.umass.edu>
3666
3667 * tree.def: Fix typos.
3668 * doc/install.texi: Likewise.
3669
7b6e506e
RH
36702002-05-25 Richard Henderson <rth@redhat.com>
3671
3672 * configure.in (HAVE_AS_TLS): Add ia64 test.
3673 * configure: Rebuild.
3674 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
3675 (override_options): Set it.
3676 (TARGET_HAVE_TLS): New.
3677 (sdata_symbolic_operand): Look for 's'.
3678 (tls_symbolic_operand): New.
3679 (ia64_expand_load_address): Abort for tls symbols.
3680 (gen_tls_get_addr): New.
3681 (gen_thread_pointer): New.
3682 (ia64_expand_move): Split out from movdi. Handle tls symbols.
3683 (rtx_needs_barrier): Add new unspecs.
3684 (ia64_encode_section_info): Handle tls symbols.
3685 (ia64_strip_name_encoding): Strip two encoding chars.
3686 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
3687 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
3688 (TARGET_OPTIONS): Add tls-size.
3689 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
3690 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
3691 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
3692 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
3693 (movsf, movdf): Likewise.
3694 (movdi_symbolic): Use match_scratch. Don't split if we won't
3695 have a scratch availiable.
3696 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
3697 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
3698 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
3699 * config/ia64/ia64-protos.h: Update.
3700 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
3701 sdata_symbolic_operand.
3702 (ASM_OUTPUT_LABELREF): Strip two characters.
3703
8c1d52a3
KH
37042002-05-25 Kazu Hirata <kazu@cs.umass.edu>
3705
3706 * combine.c (simplify_set): Remove an unnecessary subreg.
3707
b47cae3d
MM
37082002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
3709
3710 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
3711
3712 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
3713
ce9e3a6d
GDR
37142002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
3715
3716 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
3717
fb2c6841
RS
37182002-05-25 Roger Sayle <roger@eyesopen.com>
3719
3720 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
3721 (cond (compare x y) 0) into the equivalent (cond x y).
3722
da7ac8f1
GDR
37232002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
3724
3725 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
3726
c7bdf0a6
ZW
37272002-05-24 Zack Weinberg <zack@codesourcery.com>
3728
3729 * config.gcc: Remove all stanzas for previously obsoleted
3730 systems. Where necessary, add explicit error stanzas to
3731 prevent removed systems from being misidentified as something
3732 else. Begin a fresh obsoletions list, with the systems that
3733 were reprieved last round.
3734 * doc/install.texi: Remove all mention of dead targets.
3735 * fixinc/mkfixinc.sh: Likewise.
3736
3737 * config/arm/arm.h: Bit 31 of target_flags is no longer
3738 reserved.
3739
3740 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
3741 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
3742 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
3743 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
3744 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
3745 config/alpha/osf12.h, config/alpha/osf2or3.h,
3746 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
3747 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
3748 config/clipper/clipper-protos.h, config/clipper/clipper.c,
3749 config/clipper/clipper.h, config/clipper/clipper.md,
3750 config/clipper/clix.h, config/convex/convex-protos.h,
3751 config/convex/convex.c, config/convex/convex.h,
3752 config/convex/convex.md, config/convex/fixinc.convex,
3753 config/convex/proto.h, config/elxsi/elxsi-protos.h,
3754 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
3755 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
3756 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
3757 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
3758 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
3759 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
3760 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
3761 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
3762 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
3763 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
3764 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
3765 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
3766 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
3767 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
3768 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
3769 config/m68k/altos3068.h, config/m68k/apollo68.h,
3770 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
3771 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
3772 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
3773 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
3774 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
3775 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
3776 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
3777 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
3778 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
3779 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
3780 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
3781 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
3782 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
3783 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
3784 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
3785 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
3786 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
3787 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
3788 config/mips/dec-osf1.h, config/mips/elflorion.h,
3789 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
3790 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
3791 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
3792 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
3793 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
3794 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
3795 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
3796 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
3797 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
3798 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
3799 config/ns32k/sequent.h, config/ns32k/tek6000.h,
3800 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
3801 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
3802 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
3803 config/sparc/rtems.h, config/we32k/we32k-protos.h,
3804 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
3805 Delete file.
3806
755ac5d4
RH
38072002-05-24 Richard Henderson <rth@redhat.com>
3808
3809 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
3810 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
3811 * config/i386/i386.c (tls_model_chars): Add leading space.
3812 (tls_symbolic_operand): Don't bias by 1.
3813 (legitimize_address): Don't unbias by 1.
3814
c429f12e
TM
38152002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
3816
3817 * lcm.c (optimize_mode_switching): Change bb used as indices
3818 to bb->index.
3819
8beda321
RH
38202002-05-24 Richard Henderson <rth@redhat.com>
3821
3822 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
3823 of update_life_info_in_dirty_blocks.
3824
90442291
JJ
38252002-05-24 Jakub Jelinek <jakub@redhat.com>
3826
3827 PR other/6782
3828 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
3829
3620711b
NB
38302002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
3831
3832 PR preprocessor/6780
3833 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
3834
2f8d482e
JB
38352002-05-24 Jim Blandy <jimb@redhat.com>
3836
3837 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
3838 entry with a type code of zero, marking the end of the compilation
3839 unit's macro info.
3840
95bfe95f
RH
38412002-05-24 Richard Henderson <rth@redhat.com>
3842
c7bdf0a6
ZW
3843 * varasm.c (asm_output_bss): Always output one byte.
3844 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 3845
7efda054
BM
38462002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3847
3848 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
3849 namespace.
3850
8a951190
AJ
38512002-05-24 Andreas Jaeger <aj@suse.de>
3852
3853 * ggc-page.c (alloc_page): Cast variables of type size_t to
3854 unsigned long, adjust printf format string.
3855 (ggc_alloc): Likewise.
3856 (ggc_print_statistics): Likewise.
3857 (ggc_print_statistics): Correct printf format string for SCALE to
3858 use unsigned long.
3859
f29e2ec0
DS
38602002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
3861
3862 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
3863
211a0cbe 38642002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 3865 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
3866
3867 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
3868 quoted strings.
3869 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 3870 directive in assembly file.
211a0cbe
GDR
3871 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
3872 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
3873 * config/pj/pj.h (ASM_FILE_START): Likewise.
3874 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
3875 * config/avr/avr.c (asm_file_end): Likewise.
3876 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 3877 char.
211a0cbe
GDR
3878 * toplev.h (output_clean_symbol_name): Declare
3879 * toplev.c (output_clean_symbol_name): Define.
3880 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
3881 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
3882
2f0552b6
AM
38832002-05-24 Alan Modra <amodra@bigpond.net.au>
3884
3885 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
3886
b326b2c1
VM
38872002-05-23 Vladimir Makarov <vmakarov@redhat.com>
3888
3889 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
3890 of size of unsigned.
3891
f996902d
RH
38922002-05-23 Richard Henderson <rth@redhat.com>
3893
3894 * configure.in (HAVE_AS_TLS): New test.
3895 * config.in, configure: Rebuild.
3896 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
3897 (ix86_tls_dialect_string, ix86_tls_dialect): New.
3898 (override_options): Set it.
3899 (tls_model_chars, tls_symbolic_operand): New.
3900 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
3901 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
3902 (local_exec_symbolic_operand): New.
3903 (get_pic_label_name): Merge into output_set_got.
3904 (ix86_asm_file_end): Emit pic_label_name if defined.
3905 (legitimate_constant_p, constant_address_p): New.
3906 (legitimate_pic_operand_p): New.
3907 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
3908 (legitimate_address_p): Likewise.
3909 (ix86_encode_section_info): Rename from i386_; handle tls decls.
3910 (ix86_strip_name_encoding): New.
3911 (get_thread_pointer): New.
3912 (legitimize_address): Handle tls symbols.
3913 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
3914 Remove UNSPEC_PLT.
3915 (struct machine_function): Add some_ld_name.
3916 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
3917 (print_operand) [&]: Use it. Handle UNSPEC_TP.
3918 (output_addr_const_extra): New.
3919 (maybe_get_pool_constant): New.
3920 (ix86_split_to_parts): Use it.
3921 (ix86_expand_move): Handle tls symbols.
3922 (ix86_tls_get_addr): New.
3923 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
3924 (TARGET_OPTIONS): Add tls-dialect.
3925 (CONSTANT_ADDRESS_P): Use new out-of-line function.
3926 (LEGITIMATE_CONSTANT_P): Likewise.
3927 (LEGITIMATE_PIC_OPERAND_P): Likewise.
3928 (TARGET_STRIP_NAME_ENCODING): New.
3929 (ASM_OUTPUT_LABELREF): New.
3930 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
3931 (OUTPUT_ADDR_CONST_EXTRA): New.
3932 (PREDICATE_CODES): Update.
3933 (ix86_tls_dialect, ix86_tls_dialect_string): New.
3934 * config/i386/i386.md: Regroup and renumber unspec constants.
3935 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
3936 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
3937 (tls_global_dynamic, tls_local_dynamic_base): New.
3938 (tls_local_dynamic_once): New.
3939 * config/i386/i386-protos.h: Update.
3940
821e35ba
RH
39412002-05-23 Richard Henderson <rth@redhat.com>
3942
3943 * genemit.c (gen_insn): Print file:lineno comment before function.
3944 (main): likewise.
3945 * gensupport.c (struct queue_elem): Add filename member.
3946 (queue_pattern): Initialize it; update all callers.
3947 (process_include): Don't free filename.
3948 (read_md_rtx): Set read_rtx_filename.
3949
0f1ffa23 39502002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
3951
3952 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 3953
8e9fadc3
RH
39542002-05-23 Richard Henderson <rth@redhat.com>
3955
3956 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
3957
244c2241
RH
39582002-05-23 Richard Henderson <rth@redhat.com>
3959
3960 * doc/extend.texi (C++98 Thread-Local Edits): Update with
3961 commentary from Mark.
3962
e0082a72
ZD
39632002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3964
3965 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
3966 Use FOR_EACH_BB macros to iterate over basic block chain.
3967 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
3968 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
3969 Likewise.
3970 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
3971 find_unreachable_blocks, create_edge_list, verify_edge_list,
3972 remove_fake_edges, add_noreturn_fake_exit_edges,
3973 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
3974 Likewise.
3975 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
3976 find_sub_basic_blocks): Likewise.
3977 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
3978 Likewise.
3979 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
3980 Likewise.
3981 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
3982 Likewise.
3983 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
3984 commit_edge_insertions, commit_edge_insertions_watch_calls,
3985 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
3986 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
3987 * conflict.c (conflict_graph_compute): Likewise.
3988 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
3989 df_modified_p, df_refs_unlink, df_dump): Likewise.
3990 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
3991 * final.c (compute_alignments): Likewise.
3992 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
3993 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
3994 count_or_remove_death_notes): Likewise.
3995 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
3996 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
3997 classic_gcse, compute_transp, cprop, compute_pre_data,
3998 compute_transpout, invalidate_nonnull_info,
3999 delete_null_pointer_checks_1, delete_null_pointer_checks,
4000 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
4001 compute_store_table, build_store_vectors, store_motion): Likewise.
4002 * global.c (global_conflicts, mark_elimination): Likewise.
4003 * graph.c (print_rtl_graph_with_bb): Likewise.
4004 * haifa-sched.c (sched_init): Likewise.
4005 * ifcvt.c (if_convert): Likewise.
4006 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
4007 compute_available, compute_nearerout, compute_rev_insert_delete,
4008 optimize_mode_switching): Likewise.
4009 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
4010 * predict.c (estimate_probability, note_prediction_to_br_prob,
4011 propagate_freq, counts_to_freqs, expensive_function_p,
4012 estimate_bb_frequencies): Likewise.
4013 * profile.c (instrument_edges, get_exec_counts,
4014 compute_branch_probabilities, compute_checksum, branch_prob,
4015 find_spanning_tree): Likewise.
4016 * recog.c (split_all_insns, peephole2_optimize): Likewise.
4017 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
4018 Likewise.
4019 * regclass.c (scan_one_insn, regclass): Likewise.
4020 * regmove.c (mark_flags_life_zones, regmove_optimize,
4021 record_stack_memrefs): Likewise.
4022 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
4023 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
4024 * resource.c (find_basic_block): Likewise.
4025 * sched-ebb.c (schedule_ebbs): Likewise.
4026 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
4027 find_single_block_region, find_rgns, schedule_insns)
4028 * sibcall.c (optimize_sibling_and_tail_recursive_call)
4029 * ssa-ccp.c (optimize_unexecutable_edges,
4030 ssa_ccp_df_delete_unreachable_insns): Likewise.
4031 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
4032 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
4033 rename_block, convert_to_ssa, compute_conservative_reg_partition,
4034 compute_coalesced_reg_partition, rename_equivalent_regs,
4035 convert_from_ssa): Likewise.
4036 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
4037 process_for_unwind_directive): Likewise.
4038
4039 * df.c (FOR_ALL_BBS): Removed.
4040 * gcse.c (struct null_pointer_info): Type of current_block field
4041 changed.
4042 (struct reg_avail_info): Type of last_bb field changed.
4043 * config/ia64/ia64.c (block_num): Removed.
4044 (need_copy_state): Type changed.
4045 (last_block): New.
4046
17645b15
NB
40472002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
4048
4049 * cppinit.c (mark_named_operators): Split out from init_builtins.
4050 (cpp_finish_options): Call it from here instead.
4051
79ed7328
JT
40522002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
4053
4054 * builtin-attrs.def: Update copyright years.
4055 (ATTR_NONNULL): New attribute identifier.
4056 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
4057 attribute tree lists.
4058 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
4059 format operand.
4060 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
4061 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
4062 attribute lists. Chain the appropriate nonnull attribute.
4063 * c-format.c (check_format_arg): Remove null format string
4064 warning.
4065 * testsuite/gcc.dg/format/null-1.c: New test.
4066
7d600178
RO
40672002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4068
4069 * Makefile.in (ADAC): Define.
4070 (SYSLIBS): Define.
4071 (.SUFFIXES): Move before language makefile fragments.
4072 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
4073
5ff225fc
MM
40742002-05-23 Mark Mitchell <mark@codesourcery.com>
4075
4076 * varasm.c (make_decl_rtl): Don't allow weak variables to be
4077 placed in common.
4078
0f72964f
JH
4079Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
4080
4081 * cfg.c (dump_flow_info): Print results of
4082 maybe_hot/probably_never_executed predicates.
4083 * toplev.c (open_dump_file): Print function frequency.
4084
c863f8c2
DM
40852002-05-23 David S. Miller <davem@redhat.com>
4086
4087 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
4088 regsets.
4089
b34c7881
JT
40902002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
4091
4092 * c-common.c (warn_nonnull): Declare.
4093 (c_common_attribute_table): Add "nonnull" attribute.
4094 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
4095 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
4096 check_function_arguments_recurse): New functions.
4097 * c-common.h (warn_nonnull): Declare extern.
4098 (check_function_arguments, check_function_arguments_recurse): New
4099 prototypes.
4100 * c-decl.c (c_decode_option): Add -Wnonnull option.
4101 * c-format.c (set_Wformat): Set warn_nonnull if enabling
4102 format checking.
4103 (format_check_context): New structure.
4104 (check_format_info_recurse): Remove recursion and rename to...
4105 (check_format_arg): ...this. Update comment.
4106 (check_format_info): Use check_function_arguments_recurse.
4107 * c-typeck.c (build_function_call): Call check_function_arguments
4108 instead of check_function_format.
4109 * doc/extend.texi: Document "nonnull" attribute.
4110 * doc/invoke.texi: Docuemnt -Wnonnull option.
4111 * testsuite/gcc.dg/nonnull-1.c: New test.
4112 * testsuite/gcc.dg/nonnull-2.c: New test.
4113
95479831
DM
41142002-05-23 David S. Miller <davem@redhat.com>
4115
4116 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
4117 * cfgcleanup.c (cleanup_cfg): If it is set do not
4118 attempt to delete trivially dead insns.
4119 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
4120 * toplev.c (rest_of_compilation): Document non-trivial aspect
4121 the RTL before optimize_save_area_alloca is run.
4122
a97d1398
NB
41232002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
4124
4125 * c-lex.c (indent_level): Remove.
4126 (cb_file_change, c_lex): Remove indent level handling.
4127 * c-lex.h (indent_level): Remove.
4128 * input.h (struct file_stack): Remove indent_level.
4129 * toplev.c (push_srcloc): Remove indent_level handling.
4130
66b408f2
JJ
41312002-05-23 Jakub Jelinek <jakub@redhat.com>
4132
4133 PR target/6753
4134 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
4135 of x in constraints for clarity.
4136 (sse_mov?fcc split): abort if op2 == op3.
4137 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
4138 sse_movsfcc_const0_4): Add earlyclobber.
4139 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
4140 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
4141 Use Y instead of x in constraints.
4142
5bf0ebab
RH
41432002-05-23 Richard Henderson <rth@redhat.com>
4144
9217ef40
RH
4145 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
4146 (C++98 Thread-Local Edits): New subsection.
4147
5bf0ebab
RH
4148 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
4149 (ix86_arch): Set type to enum processor_type.
4150
8a951190 4151 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
4152 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
4153
4832c9e1
JJ
41542002-05-23 Jakub Jelinek <jakub@redhat.com>
4155
4156 * configure.in: Fix as version test for binutils 2.12.1 releases
4157 (without dates).
4158 * configure: Rebuilt.
4159
c8c03509
RH
41602002-05-23 Richard Henderson <rth@redhat.com>
4161
4162 * config/i386/i386.c (get_pic_label_name): New.
4163 (load_pic_register): Remove.
4164 (output_set_got): New.
4165 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
4166 * config/i386/i386.md (UNSPEC_SET_GOT): New.
4167 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
4168 (prologue_set_got, prologue_get_pc): Remove.
4169 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
4170 (builtin_setjmp_receiver): Use gen_set_got.
4171 * config/i386/i386-protos.h: Update.
4172
d51f3632
JH
4173Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
4174
4175 * gcse.c (hash_expr): Do not use alias set for hashing.
4176
b0a93386
KB
41772002-05-22 Kevin Buettner <kevinb@redhat.com>
4178
4179 * dbxout.c (dbxout_class_name_qualifiers): New function.
4180 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
4181
bdee42b1
NB
41822002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
4183
4184 * cpperror.c (_cpp_begin_message): No special casing
4185 of CPP_FATAL_LIMIT.
4186 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
4187 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
4188 * cpplib.c (do_include_common): Use DL_ERROR.
4189 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
4190 (DL_ICE): Renumber.
4191 * fix-header.c (read_scan_file): Update.
4192
0e07aff3
RH
41932002-05-22 Richard Henderson <rth@redhat.com>
4194
4195 * config/i386/i386.c (ix86_expand_call): New function, extracted
4196 from md call patterns. Add pic_offset_table_rtx to
4197 CALL_INSN_FUNCTION_USAGE when needed.
4198 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
4199 (call_value_pop, call_value, untyped_call): Likewise.
4200 (call_exp, call_value_exp): Remove.
4201 * config/i386/i386-protos.h: Update.
4202
6f001fdf
RH
42032002-05-22 Richard Henderson <rth@redhat.com>
4204
4205 * varasm.c (default_section_type_flags): Check for VAR_DECL
4206 before using DECL_THREAD_LOCAL.
4207
cbaaba19
DE
42082002-05-22 David Edelsohn <edelsohn@gnu.org>
4209
4210 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
4211 (STARTFILE_SPEC): Delete PE crt0.o.
4212 * config/rs6000/aix51.h: Same.
4213 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
4214 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
4215 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
4216 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
4217 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
4218
c711ba8e
RH
42192002-05-22 Richard Henderson <rth@redhat.com>
4220
4221 * varasm.c (default_section_type_flags): Handle tls data and
4222 default sections.
4223 (default_unique_section): Handle tls sections.
4224
343f59d9
AM
42252002-05-23 Alan Modra <amodra@bigpond.net.au>
4226
4227 * configure.in (CROSS): Define NATIVE_CROSS.
4228 * configure: Regenerate.
4229 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
4230 (startfile_prefix_spec): New var.
4231 (static_specs): Add startfile_prefix_spec.
4232 (do_spec_2): Split out from..
4233 (do_spec): ..here.
4234 (main): Process startfile_prefix_spec.
4235 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
4236 dynamic linker.
4237 (STARTFILE_PREFIX_SPEC): Define.
4238 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 4239 absolute paths.
343f59d9 4240
df383483
KH
42412002-05-22 Kazu Hirata <kazu@cs.umass.edu>
4242
4243 * cpperror.c: Fix formatting.
4244 * cppexp.c: Likewise.
4245 * cppfiles.c: Likewise.
4246 * cpphash.c: Likewise.
4247 * cpphash.h: Likewise.
4248 * cppinit.c: Likewise.
4249 * cpplex.c: Likewise.
4250 * cpplib.c: Likewise.
4251 * cppmacro.c: Likewise.
4252 * cppmain.c: Likewise.
4253 * cppspec.c: Likewise.
4254
2dd36f90
JJ
42552002-05-22 Jakub Jelinek <jakub@redhat.com>
4256
4257 * combine.c (force_to_mode): Use gen_int_mode.
4258 Don't clear CONST_INT bits outside of mode.
4259
8dc02d7f
RH
42602002-05-22 Richard Henderson <rth@redhat.com>
4261
4262 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
4263 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
4264
45f79783
JJ
42652002-05-22 Jakub Jelinek <jakub@redhat.com>
4266
4267 PR c/6643
4268 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
4269 if DECL_SIZE_UNIT is INTEGER_CST.
4270
19f71cd7
RH
42712002-05-22 Richard Henderson <rth@redhat.com>
4272
4273 * flow.c (life_analysis): Delete broken reg_label check.
4274
d5bcfcce
RH
42752002-05-22 Richard Henderson <rth@redhat.com>
4276
4277 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
4278 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
4279
985d311b 4280Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
4281
4282 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
4283 (embed-bb.c): New rule.
985d311b 4284 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
4285 * config/sh/embed_bb.c: Delete.
4286
985d311b
R
4287Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
4288
4289 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
4290
f6d45746
KH
42912002-05-22 Kazu Hirata <kazu@cs.umass.edu>
4292
4293 * config/h8300/h8300.md (*andorqi3): New.
4294
e5f3b786
NB
42952002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
4296
4297 PR preprocessor/6517
4298 * Makefile.in: Update.
4299 * c-common.c (c_common_post_options): Add preprocessor
4300 errors to the error count.
4301 * c-lang.c (c_post_options): Kill.
4302 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
4303 * hooks.h: Add header guards.
4304 * langhooks-def.h: Include hooks.h.
4305 (LANG_HOOKS_POST_OPTIONS): Update.
4306 * langhooks.h (struct lang_hooks): Update post_options.
4307 * toplev.c (parse_options_and_default_flags): Update.
4308objc:
4309 * objc-lang.c (objc_post_options): Kill.
4310 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
4311
4c526be3
BK
43122002-05-21 Bruce Korb <bkorb@gnu.org>
4313
4314 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
4315 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
4316 * fixinc/fixincl.x: regen.
4c526be3 4317
f87c27b4
KH
43182002-05-21 Kazu Hirata <kazu@cs.umass.edu>
4319
4320 * cfgbuild.c: Fix formatting.
4321 * cfg.c: Likewise.
4322 * cfgcleanup.c: Likewise.
4323 * cfglayout.c: Likewise.
4324 * cfgloop.c: Likewise.
4325 * cfgrtl.c: Likewise.
4326
3d78f2e9
RH
43272002-05-21 Richard Henderson <rth@redhat.com>
4328
4329 * c-common.h (enum rid): Add RID_THREAD.
4330 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
4331 (grokdeclarator): Grok __thread.
4332 * c-parse.in (reswords): Add __thread.
4333 (rid_to_yy): Add RID_THREAD.
4334
4335 * tree.h (DECL_THREAD_LOCAL): New.
4336 (struct tree_decl): Add thread_local_flag.
4337 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
4338 * tree.c (staticp): TLS variables are not static.
4339
4340 * target-def.h (TARGET_HAVE_TLS): New.
4341 * target.h (have_tls): New.
4342 * output.h (SECTION_TLS): New.
4343 * varasm.c (assemble_variable): TLS variables can't be common for now.
4344 (default_section_type_flags): Handle .tdata and .tbss.
4345 (default_elf_asm_named_section): Handle SECTION_TLS.
4346 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
4347
4348 * flags.h (flag_tls_default): Declare.
4349 * toplev.c (flag_tls_default): Define.
4350 (display_help): Display help for it.
4351 (decode_f_option): Set it.
4352
4353 * doc/extend.texi (Thread-Local): New node describing language-level
4354 thread-local storage.
4355 * doc/invoke.texi (-ftls-model): Document.
4356
4357 * fixinc/inclhack.def (thread_keyword): New.
4358 * fixinc/fixincl.x: Rebuild.
4359
a151daf0
JL
43602002-05-21 Jeffrey A Law <law@redhat.com>
4361
8a951190 4362 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
4363 do not compute intermediate results into something that is
4364 not a register (such as a SUBREG or MEM).
4365
a151daf0
JL
4366 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
4367 (ix86_sched_reorder): Make sure to initialize scheduling
4368 data even when there's only one insn in the ready queue.
4369
96b1f73b
VM
43702002-05-21 Vladimir Makarov <vmakarov@redhat.com>
4371
4372 * genautomata.c (reserv_sets_hash_value): Fix a typo.
4373
dceb2b75
VM
43742002-05-21 Vladimir Makarov <vmakarov@redhat.com>
4375
4376 * genautomata.c (reserv_sets_hash_value): Define hash_value as
4377 set_el_t. Transform the hash value into unsigned.
4378 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
4379 (transform_3): Add code to process `(A,B)+(D,E)'.
4380
159d5964
NY
43812002-05-21 NIIBE Yutaka <gniibe@m17n.org>
4382
4383 * reload1.c (do_output_reload): Run delete_output_reload
4384 only if optimizing.
4385
cf5124f6
RS
43862002-05-21 Roger Sayle <roger@eyesopen.com>
4387
4388 PR middle-end/6600
4389 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
4390 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
4391 (can_store_by_pieces): ... and here to limit the largest mode used.
4392 Add a comment to document this function.
4393
380e6ade
RH
43942002-05-21 Richard Henderson <rth@redhat.com>
4395
4396 * flow.c (life_analysis): Fix test for deleted label.
4397
1f95326c
NB
43982002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
4399
4400 * doc/tm.texi: Fix typo.
4401
2a1dc0d8
ZW
44022002-05-21 Zack Weinberg <zack@codesourcery.com>
4403
4404 * c-common.c (c_common_init): Set options->unsigned_char from
4405 flag_signed_char.
4406 (cb_register_builtins): Define __STRICT_ANSI__ and
4407 __CHAR_UNSIGNED__ here...
4408 * cppinit.c (init_builtins): Not here.
4409 (cpp_create_reader): unsigned_char option defaults to 0, not
4410 !DEFAULT_SIGNED_CHAR.
4411 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
4412 and -funsigned-char.
4413
4414 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
4415 * cpphash.c (_cpp_init_hashtable): Don't set it.
4416 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
4417 directly. Clarify comment.
4418
d29146f2 44192002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 4420
f5eb2fc8
ZD
4421 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
4422 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
4423 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
4424 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 4425 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 4426 flow_preorder_transversal_compute): Too.
d29146f2 4427 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
4428 find_sub_basic_blocks): Too.
4429 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 4430 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
4431 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
4432 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
4433 * combine.c (this_basic_block): Type changed to basic_block.
4434 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
4435 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
4436 get_last_value, distribute_notes, distribute_links): Too.
4437 * final.c (compute_alignments): Too.
4438 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
4439 * function.c (thread_prologue_and_epilogue_insns): Too.
4440 * gcse.c (compute_code_hoist_vbeinout): Too.
4441 * global.c (build_insn_chain): Too.
4442 * ifcvt.c (find_if_block, find_cond_trap): Too.
4443 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
4444 * regmove.c (regmove_optimize): Too.
4445 * resource.c (find_basic_block): Too.
4446 * sched-ebb.c (schedule_ebbs): Too.
4447 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 4448
68bd6dd6
AJ
44492002-05-21 Andreas Jaeger <aj@suse.de>
4450
4451 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
4452
35a76aac
RH
44532002-05-21 Richard Henderson <rth@redhat.com>
4454
4455 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
4456 unspec names, not numbers.
4457
2870428f
JM
44582002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
4459
4460 * doc/sourcebuild.texi: Mention snapshot-README and
4461 snapshot-index.html as needing updating for new front ends.
4462
b0ad77d5
KG
44632002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4464
4465 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
4466 disabling checking, and avoid multiple evaluation of RTX.
4467
279be7c8
RE
44682002-05-21 Richard Earnshaw <rearnsha@arm.com>
4469
4470 * bitmap.c (bitmap_find_bit): Return early if we have the correct
4471 element cached.
4472
193a563a
JH
4473Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
4474
4475 * profile.c (gen_edge_profiler): Set alias set before the memory is
4476 used.
4477
31825e57
DM
44782002-05-20 David S. Miller <davem@redhat.com>
4479
4480 * cselib.c (max_value_regs): New.
4481 (cselib_lookup, cselib_invalidate_regno): Initialize it when
4482 adding new entries to the REG_VALUES table and we are dealing with
4483 a hard register.
4484 (clear_table): Initialize it.
4485 (cselib_invalidate_regno): Use it to determine which hard
4486 registers to scan when mode is not VOIDmode.
4487
68bd6dd6 44882002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
4489
4490 * tradcpp.c (fixup_newlines): Use old-style function header.
4491
e0a09fda
KW
44922002-05-20 Krister Walfridsson <cato@df.lth.se>
4493
4494 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
4495
e0c13c70
L
44962002-05-20 H.J. Lu (hjl@gnu.org)
4497
4498 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
4499
4500 * config/mips/mips.h (DFMODE_NAN): Defined.
4501 (SFMODE_NAN): Likewise.
4502
4c11675d 45032002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 4504
2a1dc0d8
ZW
4505 * combine.c (cant_combine_insn_p): Back out my
4506 previous patch.
4c11675d 4507
6a4d6760
KH
45082002-05-20 Kazu Hirata <kazu@cs.umass.edu>
4509
4510 * params.c: Fix formatting.
4511 * params.h: Likewise.
4512 * predict.c: Likewise.
4513 * prefix.c: Likewise.
4514 * print-rtl.c: Likewise.
4515 * print-tree.c: Likewise.
4516 * profile.c: Likewise.
4517
5715ca64
L
45182002-05-20 H.J. Lu (hjl@gnu.org)
4519
4520 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
4521
00b89f01
NC
45222002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
4523
4524 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
4525 switches straight on to the assembler, do not abbreviate them.
4526 * config/arm/elf.h (ASM_SPEC): As above.
4527 * config/arm/semi.h (ASM_SPEC): As above.
4528 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
4529 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
4530 -mcpu=xscale on to the assembler by default.
4531 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
4532
1441374b
RH
45332002-05-20 Richard Henderson <rth@redhat.com>
4534
4535 * cse.c (canon_hash): Reorder do_not_record test. Always
4536 allow pic_offset_table_rtx.
4537
c0fe508e
TM
45382002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
4539
4540 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
4541 (expand_binop): Ditto (3 times).
4542
f362c762
MM
45432002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
4544
4545 * Makefile.in (distclean): Remove QMTest stuff.
4546 (QMTEST_PATH): New variable.
4547 (QMTESTFLAGS): Likewise.
4548 (QMTESTRUNFLAGS): Likewise.
4549 (QMTEST): Likewise.
4550 (QMTEST_GPP_TESTS): Likewise.
4551 (QMTEST_DIR): Likewise.
4552 (QMTEST_DIR/context): New target.
4553 (qmtest-g++): Likeise.
4554 (qmtest-gui): Likewise.
4555 (QMTEST_DIR/gpp-expected.qmr): Likewise.
4556
16861f33
AH
45572002-05-19 Aldy Hernandez <aldyh@redhat.com>
4558
2a1dc0d8
ZW
4559 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
4560 an altivec register if TARGET_ALTIVEC.
16861f33 4561
2a1dc0d8
ZW
4562 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
4563 to ALTIVEC_VECTOR_MODE.
4564 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
4565 (rs6000_va_arg): Vectors may go in registers if they are not
4566 altivec vectors.
16861f33 4567
23459e15
KH
45682002-05-19 Kazu Hirata <kazu@cs.umass.edu>
4569
4570 * protoize.c: Fix formatting.
4571
174cc7d1
RH
45722002-05-19 Richard Henderson <rth@redhat.com>
4573
4574 * gensupport.c (init_include_reader): Merge into ...
4575 (process_include): ... here. Simplify composite path creation.
4576 Plug memory leaks. Fix file/line number tracking. Do not
4577 process_define_cond_exec. Return void.
4578 (process_rtx): Don't check process_include return value.
4579
918ed612
ZD
45802002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4581
4582 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
4583 fields.
4584 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
4585 traversing basic block chain.
4586 (create_basic_block_structure, create_basic_block): Declaration changed.
4587 (link_block, unlink_block): Declare.
4588 * cfg.c (entry_exit_blocks): Initialize new fields.
4589 (link_block, unlink_block): New.
4590 (expunge_block_nocompact): Unlink basic block.
4591 (dump_flow_info): Print prev_bb/next_bb fields.
4592 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
4593 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
4594 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
4595 * cfgrtl.c (create_basic_block_structure, create_basic_block,
4596 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
4597 (verify_flow_info): Check that list agrees with numbering.
4598
e0322d5c
NB
45992002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
4600
4601 * c-common.c (preprocessing_asm): New macro.
4602 * c-lex.h (builtin_define, builtin_assert): Use pfile.
4603doc:
4604 * tm.texi: Update.
4605config/alpha:
4606 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
4607 (CPP_SPEC): Simplify.
4608 (TARGET_CPU_CPP_BUILTINS): Update.
4609 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
4610 (CPP_SPEC): Simplify.
4611 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
4612 (TARGET_OS_CPP_BUILTINS): Update.
4613 * osf.h (CPP_XFLOAT_SPEC): Kill.
4614 (TARGET_OS_CPP_BUILTINS): Update.
4615 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
4616 * osf5.h (CPP_XFLOAT_SPEC): Kill.
4617 * vms.h (CPP_SUBTARGET_SPEC): Kill.
4618 (TARGET_OS_CPP_BUILTINS): Update.
4619
121f5c2c
RH
46202002-05-19 Richard Henderson <rth@redhat.com>
4621
4622 * varasm.c (default_binds_local_p): Fix typo.
4623
651c5ed9
MM
46242002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
4625
4626 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
4627 CONST_INT operand to the correct mode after adding 1 to it.
4628
bce0deb2
MM
46292002-05-19 Mark Mitchell <mark@codesourcery.com>
4630
4631 * config.gcc (powerpc-wrs-windiss*): New target.
4632
4aa74a4f
FS
46332002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4634
4635 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
4636 (ashrdi3): Use it.
4637
a15135c9
MM
46382002-05-18 Mark Mitchell <mark@codesourcery.com>
4639
4640 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
4641 alphasort.
4642 * config.in: Regenerated.
4643 * configure: Regenerated.
4644
47754fd5
RH
46452002-05-19 Richard Henderson <rth@redhat.com>
4646
4647 * target-def.h (TARGET_BINDS_LOCAL_P): New.
4648 * target.h (struct gcc_target): Move boolean fields to the end.
4649 Add binds_local_p.
4650 * varasm.c (default_binds_local_p): New.
4651 * output.h: Declare it.
4652
4653 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
4654 * config/cris/cris.c (cris_encode_section_info): Likewise.
4655 * config/i386/i386.c (i386_encode_section_info): Likewise.
4656 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
4657 * config/sh/sh.c (sh_encode_section_info): Likewise.
4658
4659 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
4660 (TARGET_BINDS_LOCAL_P): New.
4661
fc881338
RH
46622002-05-19 Richard Henderson <rth@redhat.com>
4663
4664 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
4665 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
4666 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
4667
4668 * toplev.c (display_help): Kill -a -ax help.
4669
68bd6dd6 4670 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
4671 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
4672 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
4673 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
4674 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
4675
4676 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
4677 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
4678
4679 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
4680 (ix86_output_function_block_profiler): Kill.
4681 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
4682 (m68hc11_function_block_profiler): Kill.
4683 * config/m68hc11/m68hc11-protos.h: Update.
4684 * config/m88k/m88k.c (output_block_profiler): Kill.
4685 (output_function_block_profiler): Kill.
4686 * config/m88k/m88k-protos.h: Update.
4687
772c5265
RH
46882002-05-19 Richard Henderson <rth@redhat.com>
4689
4690 * system.h (STRIP_NAME_ENCODING): Poison it.
4691 * output.h (STRIP_NAME_ENCODING): Remove.
4692 (default_strip_name_encoding): Declare.
4693 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
4694 * target.h (strip_name_encoding): New.
4695 * varasm.c (default_strip_name_encoding): New.
4696
4697 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
4698 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
4699 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
4700 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
4701 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
4702 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
4703 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
4704 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
4705 config/v850/v850.h: Use the hook, not the macro.
4706
4707 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
4708 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
4709 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
4710 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
4711 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
4712 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 4713 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
4714 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
4715 config/v850/v850.c, config/v850/v850.h:
4716 Move STRIP_NAME_ENCODING to out-of-line function and add
4717 TARGET_STRIP_NAME_ENCODING.
4718
4719 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
4720 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
4721 with TARGET_STRIP_NAME_ENCODING referencing existing function;
4722 make function static.
4723
4724 * xcoffout.c: Include target.h
4725 * Makefile.in (xcoffout.o): Update.
4726
4727 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
4728 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
4729 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
4730 reloc argument unused.
4731 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
4732
4733 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
4734 STRIP_NAME_ENCODING docs.
4735
8f9eb495
AJ
47362002-05-19 Andreas Jaeger <aj@suse.de>
4737
4738 * gengenrtl.c: Add prototype for excluded_rtx.
4739
4740 * real.h: Add prototype for exact_real_truncate.
4741
fb49053f
RH
47422002-05-18 Richard Henderson <rth@redhat.com>
4743
4744 * system.h (ENCODE_SECTION_INFO): Poison it.
4745 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
4746 * target.h (encode_section_info): New.
4747 * varasm.c (make_decl_rtl, output_constant_def): Use it.
4748 * hooks.c (hook_tree_int_void): New.
4749 * hooks.h: Declare it.
4750
4751 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
4752 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
4753 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
4754 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
4755 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
4756 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
4757 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
4758 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
4759 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
4760 config/mcore/mcore-protos.h, config/mcore/mcore.c,
4761 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
4762 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
4763 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
4764 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
4765 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
4766 referencing existing function. Make function static.
4767
4768 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 4769 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
4770 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
4771 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
4772 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 4773 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
4774 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
4775 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
4776 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
4777 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 4778 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
4779 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
4780 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
4781 Move ENCODE_SECTION_INFO to out-of-line function and add
4782 TARGET_ENCODE_SECTION_INFO.
4783
4784 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
4785 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
4786
4787 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
4788 from SUBTARGET_*
4789 (switch_to_section): Replace in_rdata case with in_readonly_data.
4790
4791 * config/h8300/h8300.c (h8300_encode_label): Make static.
4792 * config/h8300/h8300-protos.h: Update.
4793
4794 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
4795 from rs6000_encode_section_info; make static.
4796 (rs6000_xcoff_encode_section_info): New.
4797
4798 * config/v850/v850.c (v850_encode_data_area): Make static.
4799 * config/v850/v850-protos.h: Update.
4800
4801 * config/vax/vax.c: Include flags.h.
4802 (vms_select_section): Fix typo.
4803
4804 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
4805 ENCODE_SECTION_INFO docs.
4806
9fe08fd0
RH
48072002-05-18 Richard Henderson <rth@redhat.com>
4808
4809 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
4810 REGISTER_TARGET_PRAGMAS.
4811 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
4812
410b770f
RH
4813 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
4814
b64a1b53
RH
48152002-05-18 Richard Henderson <rth@redhat.com>
4816
4817 * system.h (SELECT_RTX_SECTION): Poison.
4818 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
4819 * target.h (select_rtx_section): New.
4820 * varasm.c (output_constant_pool): Use it.
4821 (default_select_rtx_section, default_elf_select_rtx_section): New.
4822 * output.h: Declare them.
4823
4824 * config/darwin.h (SELECT_RTX_SECTION): Move ...
4825 * config/darwin.c (machopic_select_rtx_section): ... here.
4826 * config/darwin-protos.h: Update.
4827
4828 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
4829 * config/nextstep.c (machopic_select_rtx_section): ... here.
4830 (nextstep_select_section): Rename variable to avoid macro clash.
4831 * config/nextstep-protos.h: Update.
4832
4833 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
4834 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
4835 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 4836 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
4837 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
4838 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 4839 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
4840 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
4841 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
4842 (SELECT_RTX_SECTION): Remove.
4843
4844 * config/darwin.h, config/elfos.h, config/nextstep.h,
4845 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
4846 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
4847 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
4848 config/sparc/lynx.h, config/xtensa/xtensa.c
4849 (TARGET_ASM_SELECT_RTX_SECTION): New.
4850
4851 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
4852 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
4853 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
4854 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
4855 (ia64_aix_select_rtx_section): New.
4856 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
4857 redefining.
4858 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 4859 Support ELF SHF_MERGE features.
b64a1b53
RH
4860 * config/mips/mips-protos.h: Update.
4861 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
4862 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
4863 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
4864 make static, fall back to default_elf_select_rtx_section.
4865 * config/rs6000/rs6000-protos.h: Update.
4866 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
4867 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
4868 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
4869 * config/romp/romp.c (romp_select_rtx_section): New.
4870 * config/s390/s390.c (s390_select_rtx_section): New.
4871 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
4872 declarations before target macro definition.
4873 (xtensa_emit_call): Use static buffer.
4874 (xtensa_select_rtx_section): New.
4875 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
4876 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
4877 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
4878
4879 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
4880 SELECT_RTX_SECTION docs.
4881
4882Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
4883
4884 * i386.md (movsi/movdi): Fix template.
4885 (sse2 patterns): Set attributes consistently.
4886
4887 * i386.md (pushqi2, ashrqi_*): Fix constraint.
4888
6835a09c
TM
48892002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
4890
4891 * optabs.c (complex_part_zero_p): New.
4892 * (expand_cmplxdiv_straight): Use it.
4893 * (expand_cmplxdiv_wide): Ditto.
4894 * (expand_binop): Ditto.
4895
d48bc59a
RH
48962002-05-18 Richard Henderson <rth@redhat.com>
4897
4898 * final.c (HAVE_READONLY_DATA_SECTION): New.
4899 (shorten_branches): Use it instead of ifdefs.
4900 * varasm.c (enum in_section): Add in_readonly_data.
4901 (text_section, data_section): Tidy.
4902 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
4903
4904 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
4905 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
4906 (READONLY_DATA_SECTION): Don't undef.
4907
4908 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
4909 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
4910 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
4911
4912 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
4913 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
4914 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
4915 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
4916
4917 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
4918 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
4919 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
4920 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
4921 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
4922 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
4923 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
4924 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
4925 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
4926
4927 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
4928 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
4929 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
4930 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
4931 config/pa/pa64-hpux.h, config/sparc/litecoff.h
4932 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
4933
4934 * config/elfos.h, config/netware.h, config/svr3.h,
4935 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
4936 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
4937 config/h8300/h8300.h, config/i386/i386-interix.h,
4938 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
4939 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
4940
4941 * config/elfos.h, config/netware.h, config/svr3.h,
4942 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
4943 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
4944 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
4945 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
4946
4947 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
4948 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
4949 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
4950 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
4951 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
4952 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
4953 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
4954 config/rs6000/sysv4.h, config/v850/v850.h
4955 (EXTRA_SECTIONS): Remove in_const/in_rdata.
4956 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
4957
4958 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
4959 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
4960 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
4961 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
4962 * config/alpha/alpha.c (alpha_start_function): Likewise.
4963 (alpha_write_linkage): Likewise.
4964 * config/m32r/m32r.c (m32r_select_section): Likewise.
4965 * config/m88k/m88k.c (m88k_select_section): Likewise.
4966 * config/mips/mips.c (mips_select_rtx_section): Likewise.
4967 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
4968 (rs6000_elf_select_section): Likewise.
4969 * config/v850/v850.c (v850_select_section): Likewise.
4970
4971 * config/1750a/1750a.h, config/i860/sysv3.h
4972 (READONLY_DATA_SECTION_ASM_OP): New.
4973 READONLY_DATA_SECTION_ASM_OP.
4974 * config/i386/interix.c, config/i386/winnt.c
4975 (i386_pe_unique_section): Always use .rdata prefix.
4976 * config/pa/som.h (readonly_data): Always switch to read-only section.
4977 (READONLY_DATA_SECTION): Predicate on flag_pic.
4978 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
4979 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
4980 (READONLY_DATA_SECTION): Update.
4981
e964a556
JT
49822002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
4983
4984 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 4985 is used without -Wformat.
e964a556
JT
4986 * c-common.h (warn_format_zero_length): Declare extern.
4987 * c-decl.c (warn_options): Add "format-zero-length".
4988 * c-format.c (warn_format_zero_length): Declare.
4989 (set_Wformat): Set warn_format_zero_length for -Wformat.
4990 (check_format_info): Only warn about zero-length formats if
4991 warn_format_zero_length is true. Include the format type
4992 name in the warning message.
4993 * doc/invoke.texi: Document -Wformat-zero-length.
4994 * testsuite/gcc.dg/format/zero-length-1.c: New test.
4995
d92b4486
KH
49962002-05-18 Kazu Hirata <kazu@cs.umass.edu>
4997
4998 * timevar.c: Fix formatting.
4999 * tlink.c: Likewise.
5000 * toplev.c: Likewise.
5001 * tree-dump.c: Likewise.
5002 * tree-inline.c: Likewise.
5003
43612ffb
NB
50042002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
5005
5006 * cppinit.c (cpp_post_options): If preprocessed, turn off
5007 traditional. If traditional, turn off column numbers.
5008 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
5009 * cpptrad.c (handle_newline): Update line_base.
5010 (skip_comment): Handle -Wcomment.
5011
f24a153a
ZW
50122002-05-17 Zack Weinberg <zack@codesourcery.com>
5013
5014 * cppinit.c (struct builtin): Remove unused fields.
5015 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
5016 (operator_array): New - was second half of builtin_array.
5017 (init_builtins): Simplify loop over builtin_array/operator_array.
5018
12403335
NB
50192002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
5020
5021 * defaults.h (UNIQUE_SECTION): Remove.
5022 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
5023
1f8c3c5b
RH
50242002-05-17 Richard Henderson <rth@redhat.com>
5025
5026 * expr.c (init_expr_once): Don't use start/end_sequence.
5027 Use rtx_alloc instead of emit_insn.
5028 * toplev.c (lang_dependent_init): Run init_expr_once here ...
5029 (lang_independent_init): ... not here.
5030
4664f4c4
JT
50312002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
5032
5033 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
5034
93febe68
MM
50352002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
5036
5037 * config/avr/avr.c (avr_regs_to_save): New function. Also check
5038 for fixed registers, possibly used for global register variables.
5039 (initial_elimination_offset, avr_output_function_prologue,
5040 avr_output_function_epilogue): Move common code to avr_regs_to_save.
5041
004cb263
NB
50422002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
5043
5044 * Makefile.in: Update for cpptrad.c.
5045 * cpphash.h (struct cpp_buffer): New members for buffer
5046 overlays.
5047 (struct cpp_reader): New members for traditional output.
5048 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
5049 * cppinit.c (cpp_create_reader): Set trad_line.
5050 (cpp_destroy): Free trad_out_base if used.
5051 (cpp_read_main_file): Overlay an empty buffer if traditional.
5052 (cpp_finish_options): Don't do builtins.
5053 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
5054 (cpp_handle_option): Handle it.
5055 * cpplex.c (continue_after_nul): New.
5056 (_cpp_lex_direct): Use handle_nul.
5057 * cpplib.h (struct cpp_options): New traditional option.
5058 * cpptrad.c: New file.
5059
bdcae02b
NB
50602002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
5061
5062 * c-common.c (c_common_init_options): Use C89 for Objective-C,
5063 and set the options flag.
5064 * cppinit.c (lang_flags): Remove objc.
5065 (lang_defaults): Remove OBJC and OBJCXX.
5066 (set_lang): Update.
5067 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
5068 (cpp_handle_option): Remove -+ and -lang-objc++.
5069 For ObjC, just set a flag.
5070 (print_help): Update.
5071 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
5072
0fca60ab
RO
50732002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5074
5075 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
5076 bootstrap with -mips3.
5077
dd3f0101
KH
50782002-05-17 Kazu Hirata <kazu@cs.umass.edu>
5079
5080 * final.c: Fix formatting.
5081 * fix-header.c: Likewise.
5082 * flow.c: Likewise.
5083 * fold-const.c: Likewise.
5084 * function.c: Likewise.
5085
5ca9299f
DM
50862002-05-17 David S. Miller <davem@redhat.com>
5087
5088 PR c/6689, PR optimization/6615
5089 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
5090 and make it a pointer to rtx. Update comments.
5091 (update_equiv_regs): When scanning for equivalences, record
5092 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
5093 it while making the equiv replacements.
5094
508bc172
RO
50952002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5096
5097 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
5098
5cd983a6
KK
50992002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
5100
5101 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
5102 when encoding visibility into SYMBOL_REF_FLAG.
5103
ce0f3925
RS
51042002-05-17 Richard Sandiford <rsandifo@redhat.com>
5105
5106 * expr.c (force_operand): Fix reversed move.
5107
06809951
GP
51082002-05-17 Kurt Wall <kwall@kurtwerks.com>
5109
5110 * doc/install.texi (Testing): Mention two common DejaGnu warnings
5111 that can be ignored.
5112
51132002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5114
5115 * doc/install.texi (Final install): Recommend to install into a
5116 "clean" target directory.
5117
1d5d7a21
RH
51182002-05-17 Richard Henderson <rth@redhat.com>
5119
5120 * config/ia64/ia64.md: Use braced strings instead of quoted strings
5121 for code blocks. Tidy whitespace.
5122
ae46c4e0
RH
51232002-05-17 Richard Henderson <rth@redhat.com>
5124
5125 * hooks.c (hook_tree_bool_false): New.
5126 * hooks.h: Declare it.
5127 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
5128 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
5129 * target.h (select_section, unique_section): New.
5130 (in_small_data_p): New.
5131 * varasm.c (resolve_unique_section): Use hooks instead of macros.
5132 (variable_section, output_constant_def_contents): Likewise.
5133 (default_select_section, default_unique_section): New.
5134 (categorize_decl_for_section, default_elf_select_section): New.
5135 * output.h: Declare them.
5136
5137 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
5138 (TARGET_ASM_SELECT_SECTION): New.
5139 (SELECT_SECTION): Move ...
5140 * config/darwin.c (machopic_select_section): ... here.
5141 * config/darwin-protos.h: Update.
5142
5143 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
5144 (SELECT_SECTION): Move ...
5145 * config/nextstep.c (nextstep_select_section): ... here.
5146 * config/nextstep-protos.h: Update.
5147
5148 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
5149 (TARGET_ASM_SELECT_SECTION): New.
5150 * config/svr3.h (SELECT_SECTION): Remove.
5151
5152 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
5153 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
5154 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
5155 (alpha_encode_section_info): Use it.
5156 * config/alpha/alpha-protos.h: Update.
5157 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
5158 (SELECT_SECTION, UNIQUE_SECTION): Remove.
5159 (TARGET_ASM_SELECT_SECTION): New.
5160 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
5161
5162 * config/arm/pe.h (UNIQUE_SECTION): Remove.
5163 (TARGET_ASM_UNIQUE_SECTION): New.
5164
5165 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
5166 (avr_unique_section): Rename from unique_section; make static.
5167 * config/avr/avr-protos.h: Update.
5168 * config/avr/avr.h (UNIQUE_SECTION): Remove.
5169
5170 * config/c4x/c4x.h (SELECT_SECTION): Remove.
5171
5172 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
5173 (TARGET_ASM_UNIQUE_SECTION): New.
5174 * config/i386/i386-interix.h: Likewise.
5175 * config/i386/win32.h: Likewise.
5176 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
5177 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
5178 * config/i386/sco5.h (SELECT_SECTION): Remove.
5179 (TARGET_ASM_SELECT_SECTION): New.
5180 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
5181
5182 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
5183 instead of SELECT_SECTION.
5184 * config/m68k/dpx2.h: Likewise.
5185 * config/rs6000/lynx.h: Likewise.
5186
5187 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
5188 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
5189 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
5190 (ia64_in_small_data_p): New.
5191 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
5192 (ia64_aix_select_section, ia64_aix_unique_section): New.
5193 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
5194 (SELECT_SECTION, UNIQUE_SECTION): Remove.
5195
5196 * config/m32r/m32r.h (SELECT_SECTION): Remove.
5197 (TARGET_ASM_SELECT_SECTION): New.
5198 * config/m32r/m32r.c (m32r_select_section): Take align argument.
5199 * config/m32r/m32r-protos.h: Update.
5200
5201 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
5202 (SELECT_SECTION): Move ...
5203 * config/m88k/m88k.c (m88k_select_section): ... here.
5204
5205 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
5206 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
5207 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
5208 (mcore_unique_section): Make static.
5209 * config/mcore/mcore-protos.h: Update.
5210
5211 * config/mips/elf.h (UNIQUE_SECTION): Remove.
5212 (TARGET_ASM_UNIQUE_SECTION): New.
5213 * config/mips/elf64.h: Likewise.
5214 * config/mips/iris6gld.h: Likewise.
5215 * config/mips/linux.h: Likewise.
5216 * config/mips/mips-protos.h: Update.
5217 * config/mips/mips.c (mips_select_section): Add align argument.
5218 * config/mips/mips.h (SELECT_SECTION): Remove.
5219 (TARGET_ASM_SELECT_SECTION): New.
5220
5221 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
5222 * config/mmix/mmix.c (mmix_select_section): Remove.
5223 (mmix_unique_section): Remove.
5224 * config/mmix/mmix-protos.h: Update.
5225
5226 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
5227 (SELECT_SECTION): Move ...
5228 * config/pa/pa.c (pa_select_section): ... here.
5229 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
5230
5231 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
5232 from rs6000_select_section and make static.
5233 (rs6000_elf_unique_section): Similarly.
5234 (rs6000_xcoff_select_section): From xcoff.h.
5235 (rs6000_xcoff_unique_section): Likewise.
5236 * config/rs6000/rs6000-protos.h: Update.
5237 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
5238 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
5239 * config/rs6000/xcoff.h: Likewise.
5240
5241 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
5242 (SELECT_SECTION): Move ...
5243 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
5244
5245 * config/v850/v850.h (SELECT_SECTION): Move ...
5246 * config/v850/v850.c (v850_select_section): ... here.
5247 (TARGET_ASM_SELECT_SECTION): New.
5248
5249 * config/vax/vms.h (SELECT_SECTION): Move ...
5250 * config/vax/vax.c (vms_select_section): ... here.
5251 (TARGET_ASM_SELECT_SECTION): New.
5252
5253 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
5254 for the target hooks.
5255
eaeb23a7
NC
52562002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
5257
5258 * config/arm/arm.c (emit_multi_reg_push): Do not set
5259 RTX_FRAME_RELATED_P on the SEQUENCE.
5260
a00fe19f
RH
52612002-05-16 Richard Henderson <rth@redhat.com>
5262
5263 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
5264 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
5265
5ccff482
RH
52662002-05-16 Richard Henderson <rth@redhat.com>
5267
5268 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
5269
068d7739
RH
5270 * config/ia64/ia64.c (saveable_obstack): Do not declare.
5271
0b17ab2f
RH
52722002-05-16 Richard Henderson <rth@redhat.com>
5273
5274 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
5275 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
5276 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
5277 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
5278 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
5279 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
5280 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
5281 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
5282 Revert "Basic block renumbering removal", and two followup patches.
5283
8ae86b3c
JT
52842002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
5285
5286 * lcm.c (optimize_mode_switching): Revert previous change.
5287
4e9f27af
ZD
52882002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5289
5290 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
5291 with only extant block numbers.
5292
3cdc1dbc
JT
52932002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
5294
5295 * lcm.c (optimize_mode_switching): Fix typo.
5296
fbfb3b09
ZD
52972002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5298
5299 * flow.c (calculate_global_regs_live): Queue blocks in program order.
5300
b4b0fb02
RO
53012002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5302
5303 * doc/install.texi (Configuration): Document PWDCMD.
5304
63b827c5
DJ
53052002-05-16 Dale Johannesen <dalej@apple.com>
5306
5307 * combine.c (cant_combine_insn_p): Reenable combinations
5308 involving hard regs unless CLASS_LIKELY_SPILLED_P.
5309
748d29c1
NB
53102002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
5311
5312 * c-common.c (cb_register_builtins): Handle more built-ins
5313 here rather than in gcc.c specs.
5314 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
5315 (cpp_options): Pass -O flags even when only preprocessing.
5316 * toplev.c (set_fast_math_flags): New prototype.
5317 (fast_math_flags_set_p): New.
5318 (set_no_fast_math_flags): Remove.
5319 (decode_f_option): Update.
5320 * toplev.h (set_fast_math_flags): Update.
5321 (fast_math_flags_set_p): New.
5322 (set_no_fast_math_flags): Remove.
5323config:
5324 * c4x/c4x.c (c4x_override_options): Update.
5325
5279d739
ZW
53262002-05-16 Zack Weinberg <zack@codesourcery.com>
5327
5328 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
5329 Default-define here.
5330 (builtin_define_with_value): Can now wrap the expansion in
5331 quotation marks if such is wanted.
a00fe19f 5332 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
5333 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
5334 here.
5335 (c_common_init): Set options->stdc_0_in_system_headers.
5336 * c-lex.h: Update prototype of builtin_define_with_value.
5337 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
5338 and REGISTER_PREFIX.
5339
5340 * cppinit.c (VERS, ULP, C, X): Kill.
5341 (builtin_array): Remove entries for __VERSION__,
5342 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
5343 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
5344 a constant.
5345 (init_builtins): Kill off a bunch of now-dead code.
5346 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
5347 -fno-leading-underscore.
5348 (cpp_handle_option): Remove code to set user_label_prefix.
5349 (cpp_post_options): Likewise.
5350
5351 * cpplib.h (struct cpp_options): Remove user_label_prefix.
5352 (stdc_0_in_system_headers): New.
5353 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
5354 stdc_0_in_system_headers) too to decide the value of __STDC__.
5355
5356 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 5357 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
5358 (initialize_builtins): Don't define __REGISTER_PREFIX__
5359 or __USER_LABEL_PREFIX__.
5360 (install_value): Wrap compound statement in dummy loop so the
5361 macro works properly in an if statement.
5362
5363
62e6ca55
JJ
53642002-05-16 Janis Johnson <janis187@us.ibm.com>
5365
5366 * loop.h (struct loop_info): Add member has_prefetch.
5367 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
5368 (prescan_loop): Initialize has_prefetch.
5369 (struct prefetch_info): Change prefetch_in_loop and
5370 prefetch_before_loop from bit fields to ints.
5371 (emit_prefetch_instructions): Several small fixes.
5372 (check_dbra_loop): Don't reverse loop that uses prefetch.
5373
1e6347d8
RO
53742002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5375
5376 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
5377 * configure.in: Likewise.
5378 * fixinc/check.tpl: Likewise.
5379 * fixinc/fixinc.dgux: Likewise.
5380 * fixinc/fixinc.svr4: Likewise.
5381 * fixinc/fixinc.winnt: Likewise.
5382 * fixinc/fixincl.sh: Likewise.
5383 * fixproto: Likewise.
5384 * configure: Regenerate.
5385
355e4ec4
ZD
53862002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5387
5388 Basic block renumbering removal:
5389 * basic_block.h (struct basic_block_def): Renamed index to sindex,
5390 added prev_bb and next_bb fields.
5391 (n_basic_blocks): Renamed to num_basic_blocks.
5392 (last_basic_block): New, index of last basic block.
5393 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
5394 traversing basic block chain.
5395 (BLOCK_NUM): index -> sindex.
5396 (create_basic_block_structure, create_basic_block): Declaration changed.
5397 (debug_num2bb): Declare.
5398 (expunge_block_nocompact): Declaration removed.
5399 (link_block, unlink_block, compact_blocks): Declare.
5400 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
5401 * cfg.c (entry_exit_blocks): Initialize new fields.
5402 (clear_edges, alloc_block, expunge_block, cached_make_edge,
5403 redirect_edge_pred, dump_flow_info, dump_edge_info,
5404 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
5405 free_aux_for_edges): Modified.
5406 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
5407 (expunge_block_nocompact): Removed.
5408 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
5409 find_unreachable_blocks, create_edge_list, print_edge_list,
5410 verify_edge_list, flow_edge_list_print, remove_fake_successors,
5411 remove_fake_edges, flow_reverse_top_sort_order_compute,
5412 flow_depth_first_order_compute, flow_preorder_transversal_compute,
5413 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
5414 flow_dfs_compute_reverse_execute): Modified.
5415 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
5416 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
5417 Modified.
5418 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
5419 merge_blocks_move_predecessor_nojumps,
5420 merge_blocks_move_successor_nojumps, merge_blocks,
5421 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
5422 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
5423 * cfglayout.c (skip_insns_after_block, label_for_bb,
5424 record_effective_endpoints, scope_to_insns_finalize,
5425 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
5426 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
5427 cfg_layout_duplicate_bb): Modified.
5428 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
5429 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
5430 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
5431 flow_loops_find, flow_loop_outside_edge_p): Modified.
5432 * cfgrtl.c (create_basic_block_structure, create_basic_block,
5433 flow_delete_block, compute_bb_for_insn, split_block,
5434 try_redirect_by_replacing_jump, redirect_edge_and_branch,
5435 force_nonfallthru_and_redirect, tidy_fallthru_edge,
5436 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
5437 commit_edge_insertions, commit_edge_insertions_watch_calls,
5438 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5439 purge_all_dead_edges): Modified.
5440 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
5441 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
5442 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
5443 Modified.
5444 * conflict.c (conflict_graph_compute): Modified.
5445 * df.c (FOR_ALL_BBS): Removed.
5446 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
5447 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
5448 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
5449 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
5450 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
5451 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
5452 * final.c (compute_alignments, final_scan_insn): Modified.
5453 * flow.c (verify_local_live_at_start, update_life_info,
5454 update_life_info_in_dirty_blocks, free_basic_block_vars,
5455 delete_noop_moves, calculate_global_regs_live,
5456 initialize_uninitialized_subregs, allocate_bb_life_data,
5457 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
5458 mark_used_reg, count_or_remove_death_notes): Modified.
5459 * function.c (thread_prologue_and_epilogue_insns): Modified.
5460 * gcse.c (struct null_pointer_info): Change typo of current_block
5461 to basic_block.
5462 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
5463 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
5464 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
5465 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
5466 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
5467 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
5468 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
5469 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
5470 pre_delete, one_pre_gcse_pass, compute_transpout,
5471 invalidate_nonnull_info, delete_null_pointer_checks_1,
5472 free_code_hoist_mem, compute_code_hoist_vbeinout,
5473 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
5474 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
5475 compute_store_table, build_store_vectors, insert_insn_start_bb,
5476 insert_store, replace_store_insn, free_store_memory, store_motion):
5477 Modified.
5478 * global.c (global_alloc, global_conflicts, mark_elimination,
5479 build_insn_chain): Modified.
5480 * graph.c (print_rtl_graph_with_bb): Modified.
5481 * haifa-sched.c (sched_init): Modified.
5482 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
5483 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
5484 if_convert): Modified.
5485 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
5486 compute_insert_delete, pre_edge_lcm, compute_available,
5487 compute_farthest, compute_nearerout, compute_rev_insert_delete,
5488 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
5489 Modified.
5490 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
5491 * loop.c (loop_dump_aux): Modified.
5492 * predict.c (combine_predictions_for_insn, estimate_probability,
5493 last_basic_block_p, process_note_prediction, process_note_predictions,
5494 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
5495 expensive_function_p, estimate_bb_frequencies,
5496 compute_function_frequency): Modified.
5497 * print-rtl.c (print_rtx): Modified.
5498 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
5499 get_exec_counts, compute_branch_probabilities, compute_checksum,
5500 branch_prob, find_spanning_tree): Modified.
5501 * recog.c (split_all_insns, peephole2_optimize): Modified.
5502 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
5503 convert_regs_1, convert_regs_2, convert_regs): Modified.
5504 * regclass.c (scan_one_insn, regclass): Modified.
5505 * regmove.c (mark_flags_life_zones, regmove_optimize,
5506 combine_stack_adjustments): Modified.
5507 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
5508 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
5509 * reorg.c (dbr_schedule): Modified.
5510 * resource.c (find_basic_block, init_resource_info): Modified.
5511 * sbitmap.c (sbitmap_intersection_of_succs,
5512 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
5513 sbitmap_union_of_preds): Modified.
5514 * sched-deps.c (init_dependency_caches): Modified.
5515 * sched-ebb.c (schedule_ebbs): Modified.
5516 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
5517 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
5518 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
5519 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
5520 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
5521 ssa_const_prop): Modified.
5522 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
5523 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
5524 * ssa.c (remove_phi_alternative, find_evaluations,
5525 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
5526 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
5527 make_regs_equivalent_over_bad_edges,
5528 make_equivalent_phi_alternatives_equival,
5529 compute_conservative_reg_partition,
5530 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
5531 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
5532 Modified.
5533
5a566bed
MM
55342002-05-16 Mark Mitchell <mark@codesourcery.com>
5535
5536 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
5537
48f6efae
NC
55382002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
5539
5540 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
5541 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
5542 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
5543 calling CONSTANT_POOL_ADDRESS_P.
5544 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
5545 to decide whether to define __arm__ or __thumb.
355e4ec4 5546 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
5547 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
5548
b166fadd
NB
55492002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
5550
5551 * config/arc/arc.h (CPP_PREDEFINES): Remove.
5552 (CPP_SPEC): Update.
5553 (TARGET_CPU_CPP_BUILTINS): New.
5554
601328bb
NB
55552002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
5556
5557 * cpphash.h (cpp_macro): Move here, and make expansion a union.
5558 * cppmacro.c (cpp_macro): Remove.
5559 (enter_macro_context, replace_args, warn_of_redefinition,
5560 _cpp_create_definition, cpp_macro_definition): Update.
5561
ff48be5c
JM
55622002-05-16 Jason Merrill <jason@redhat.com>
5563
5564 * config/mips/mips.c (mips_output_external): Don't do sdata
5565 optimization for a variable with DECL_COMDAT set.
5566
805c42ba
AH
55672002-05-15 Aldy Hernandez <aldyh@redhat.com>
5568
355e4ec4
ZD
5569 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
5570 Cleanups for accepting modifiers on pointers.
5571 Fix predicate typos.
5572 Allow long pointers as well as int pointers.
805c42ba 5573
34fb9ba5
RH
55742002-05-15 Richard Henderson <rth@redhat.com>
5575
5576 * varasm.c (merge_weak): Remove special case for extern and common.
5577
62e118f5
MH
55782002-05-15 Matt Hiller <hiller@redhat.com>
5579
5580 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 5581 XFAILing.
62e118f5
MH
5582 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
5583 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
5584 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
5585 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
5586 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
5587 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
5588
fefac463
AH
55892002-05-15 Aldy Hernandez <aldyh@redhat.com>
5590
355e4ec4 5591 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 5592
5f004351
AH
55932002-05-15 Aldy Hernandez <aldyh@redhat.com>
5594
355e4ec4
ZD
5595 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
5596 ("altivec_mfvscr"): Read from VSCR.
5597
5598 Add vscr sets for the following insns: altivec_vctuxs,
5599 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
5600 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
5601 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
5602 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
5603 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
5604 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
5605 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
5606 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
5607 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
5608 altivec_vsum2sws, altivec_vsumsws.
5609
5610 * config/rs6000/rs6000.h: Add VSCR fixed register.
5611 (CALL_REALLY_USED_REGISTERS): Add vscr.
5612 (CALL_USED_REGISTERS): Same.
5613 (FIXED_REGISTERS): Same.
5614 (REG_ALLOC_ORDER): Same.
5615 (reg_class): Add VSCR_REGS.
5616 (REG_CLASS_NAMES): Same.
5617 (REG_CLASS_CONTENTS): Same.
5618 (VSCR_REGNO): New.
5619 (REGISTER_NAMES): Add vscr.
5620 (DEBUG_REGISTER_NAMES): Same.
5621 (ADDITIONAL_REGISTER_NAMES): Same.
5622 (FIRST_PSEUDO_REGISTER): Increment.
5623 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 5624
033afd11
RH
56252002-05-15 Jakub Jelinek <jakub@redhat.com>
5626
5627 * fold-const.c (fold): Fix a typo.
5628
56292002-05-15 Eric Botcazou <ebotcazou@multimania.com>
5630
5631 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
5632 comparison against the highest or lowest integer value before
5633 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
5634 transformation and that of an unsigned comparison against 0
5635 right after.
5636
14285ace
RH
56372002-05-15 Richard Henderson <rth@redhat.com>
5638
5639 * varasm.c (merge_weak): Error for any weakening after definition.
5640 Adjust weakening after use warning to catch more cases.
5641 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
5642 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
5643
194734e9
JH
5644Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
5645
5646 * invoke.texi (-malign-double): Re-add lost warning.
5647
5648 * i386-protos.h (x86_output_mi_thunk): Declare.
5649 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
5650 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
5651
5652 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
5653 when flag_asynchronous_unwind_tables is set.
5654
5655 * flags.h (flag_reorder_functions): Declare.
5656 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 5657 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
5658 * Makefile.in (predict.o): Add dependency on target.h and params.h
5659 * defaults.h (HOT_TEXT_SECTION_NAME,
5660 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
5661 * predict.c (choose_function_section): New function.
5662 (estimate_bb_frequencies): Use it.
5663 * toplev.c (flag_reorder_functions): New global variable.
5664 (lang_independent_options): New.
5665 (parse_options_and_default_flags): Set.
5666 * varasm.c (assemble_start_function): Bypass functdion alignment
5667 for never executed functions.
5668 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
5669 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
5670 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
5671 Document.
5672
5673 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
5674
5675 * predict.c: Inlude profile.h
5676 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
5677 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
5678 Use the information about maximal counter in the program.
5679
5680 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
5681
5682 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
5683 probably_never_executed_bb_p): New functions.
5684 * cfgcleanup.c (outgoing_edges_match): Use them.
5685 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
5686 (maybe_hot_bb_p, probably_cold_bb_p,
5687 probably_never_executed_bb_p): New functions.
5688
5689 * function.h (function): Add new field function_frequency.
5690 * predict.c (compute_function_frequency): New function.
5691 (estimate_probability): Call it.
5692
61ad9a34
JJ
56932002-03-09 Jakub Jelinek <jakub@redhat.com>
5694
5695 PR optimization/5172, optimization/5200
5696 * gcse.c (gcse_main): Disable store_motion.
5697
a11eba95
ZW
56982002-05-14 Zack Weinberg <zack@codesourcery.com>
5699
5700 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
5701 (c_common_nodes_and_builtins): Use it.
5702 (builtin_define_with_value): New function.
5703 (cb_register_builtins): Define __SIZE_TYPE__,
5704 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
5705 using builtin_define_with_value. Use consistent notation when
5706 defining __GXX_WEAK__.
5707 (WCHAR_TYPE_SIZE): Don't redefine.
5708 (combine_strings): Don't use WCHAR_TYPE_SIZE.
5709
5710 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
5711 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
5712 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
5713 * tradcpp.c (initialize_builtins): Likewise.
5714 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
5715
5716 * c-lex.h (builtin_define_with_value): Prototype.
5717 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
5718 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
5719 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
5720
5721 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
5722 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
5723 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
5724 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
5725 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
5726 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
5727 config/sparc/sol2-bi.h, config/sparc/sparc.h:
5728 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
5729 to __SIZE_TYPE__ etc from all spec strings. When this makes
5730 extra specs empty, delete them.
5731
1c31ecf6
JDA
57322002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
5733
5734 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
5735 for PA8000 or generating dwarf2 call frame information.
5736 (output_call): Remove DO_FRAME_NOTES check from return pointer
5737 optimization.
5738 (following_call): Return 0 when scheduling for PA8000 or generating
5739 dwarf2 call frame information. Revise comment.
5740
ac9cfada
NB
57412002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
5742
5743config/alpha:
5744 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
5745 and __IEEE_FP_INEXACT as appropriate.
5746 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
5747 (CPP_SPEC): Remove ieee defines.
5748 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
5749
9b690711
RH
57502002-05-14 Richard Henderson <rth@redhat.com>
5751
5752 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
5753 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
5754
e6471be6
NB
57552002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
5756
e6471be6
NB
5757 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
5758 (CPP_SPEC): Update.
5759 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
5760 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
5761 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
5762 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
5763 (EXTRA_SPECS): Update.
5764 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
5765 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
5766 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
5767 define TARGET_OS_CPP_BUILTINS if necessary.
5768
e5f5feea
NB
57692002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
5770
5771 * gcc.c (cpp_options): Must pass -m* and -f* options
5772 to the front end even when only preprocessing.
5773 (cc1_options): Remove redundant -lang-c.
5774 * tradcpp.c (main): Ignore -m options.
5775objc:
5776 * lang-specs.h: Similarly.
5777
317638a8
VM
57782002-05-14 Vladimir Makarov <vmakarov@redhat.com>
5779
5780 * genautomata.c (transform_3): Add code for transformation
5781 `(A,B,...)+C -> A+C,B,...'.
5782
4d604303
JH
5783Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
5784
5785 * final.c (end_final): Do not output profile_arcs constructor, when
5786 no functions are instrumented.
5787
b18b06ed
JH
5788Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
5789
5790 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
5791
a12f97f0
GP
57922002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5793
5794 * doc/install.texi: Remove special markup originally required for
5795 HTML generation with texi2html.
5796
c1ae3eb4
AS
57972002-05-14 Andreas Schwab <schwab@suse.de>
5798
5799 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
5800 SELECT_SECTION.
5801 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
5802
5803 * varasm.c (resolve_unique_section): Add third parameter
5804 flag_function_or_data_sections and use it instead of
5805 flag_function_sections.
5806 (assemble_start_function): Pass flag_function_sections.
5807 (asm_emit_uninitialised): Pass flag_data_sections.
5808 (assemble_variable): Likewise.
5809
8ee41eaf
RH
58102002-05-14 Richard Henderson <rth@redhat.com>
5811
5812 * config/i386/i386.md: Use define_constants for unspec numbers.
5813 * config/i386/i386.c: Likewise.
5814
e6471be6
NB
58152002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
5816
5817 * doc/contrib.texi: Update my entry.
5818
c297b764
MM
58192002-05-13 Mark Mitchell <mark@codesourcery.com>
5820
5821 * fixinc/inclhack.def (winidss_valist): Limit applicability.
5822 * fixinc/fixincl.x: Regenerated.
5823 * fixinc/tests/base/math.h: Update.
5824 * fixinc/tests/base/testing.h: Likewise.
5825
0b42c8f8
ZW
58262002-05-13 Zack Weinberg <zack@codesourcery.com>
5827
5828 * genattr.c (gen_attr): Don't emit a comma after the last
5829 enumerator.
5830
546c093e
RH
58312002-05-13 Richard Henderson <rth@redhat.com>
5832
5833 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
5834 by non-local gotos.
5835 * recog.c (peephole2_optimize): Likewise.
5836
85be8c2d
AP
58372002-05-13 Andris Pavenis <pavenis@lanet.lv>
5838
5839 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
5840 input to O_BINARY.
5841
765b8f90
JL
58422002-05-13 Jeffrey A Law (law@redhat.com)
5843
fe4b3c79
JL
5844 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
5845 Update prototype and callers.
5846 (propagate_one_insn): Stack pointer adjustments kill MEMs on
5847 the mem_set_list which reference the stack pointer, as do
5848 calls to constant functions as they may clobber outgoing
5849 argument space.
5850
16133d00
JL
5851 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
5852
765b8f90
JL
5853 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
5854 (ia32_multipass_dfa_lookahead): New function.
5855
63826d5b
NB
58562002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
5857
5858 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
5859 (translate_options): Remove 'V'.
5860 (process_command): Similarly.
5861doc:
5862 * invoke.texi: Remove documentation of 'V'.
5863
dcb41ced
UW
58642002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
5865
5866 * config/s390/linux.h: Revert 2002-04-22 changes.
5867
8dfea428
SM
58682002-05-13 Scott Marks <SMarks@mobile-mind.com>
5869
5870 * config/fr30/fr30.md: Only allow splits of immediate loads
5871 if the destination is a register.
5872
12a41c22
NB
58732002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
5874
5875 * Makefile.in (c-common.o, cppinit.o): Update.
5876 * c-common.c: Include except.h.
5877 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
5878 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
5879 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
5880 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
5881 CPP_PREDEFINES): Handle here.
5882config:
5883 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
5884 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
5885 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
5886 TARGET_OS_CPP_BUILTINS.
5887 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
5888 (CPP_SPEC, EXTRA_SPECS): Update.
5889 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
5890 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
5891 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
5892 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
5893 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
5894doc:
5895 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
5896 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
5897
5692c7bc
ZW
58982002-05-12 Zack Weinberg <zack@codesourcery.com>
5899
5900 * emit-rtl.c (global_rtl): Update comment.
5901 (const_double_htab, const_double_htab_hash,
5902 const_double_htab_hash, lookup_const_double): New.
5903 (const_int_htab_hash, const_int_htab_eq): Remove const
5904 qualifiers, which cause tons of warnings with RTL checking on.
5905 (gen_rtx_CONST_DOUBLE): Deleted.
5906 (const_double_from_real_value): New function - bears some
5907 resemblance to the former immed_real_const_1.
5908 (immed_double_const): Moved here from varasm.c and
5909 simplified.
5910 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
5911 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
5912 (gen_rtx): Use immed_double_const.
5913 (init_emit_once): Initialize the const_double_htab. Use
5914 REAL_VALUE_FROM_INT where possible. Can now use
5915 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
5916 * varasm.c (struct varasm_status): Remove x_const_double_chain.
5917 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
5918 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
5919 (init_varasm_status, mark_varasm_status): Don't touch
5920 x_const_double_chain.
5921
5922 * output.h: Delete prototype for clear_const_double_mem.
5923 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
5924 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
5925 const_double_from_real_value, not immed_real_const_1, and use
5926 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
5927 CONST_DOUBLE_ATOF.
5928 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
5929 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
5930 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
5931 (gen_rtx_REG): Second arg is unsigned.
5932
5933 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
5934 (excluded_rtx): New, return true for CONST_DOUBLE.
5935 (genmacro): Write nothing for excluded codes.
5936 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
5937 * expr.c (expand_expr): Likewise.
5938 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
5939 CONST_DOUBLE_CHAIN.
5940 * toplev.c (rest_of_compilation): Don't call
5941 clear_const_double_mem.
5942
5943 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
5944 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
5945 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
5946 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
5947 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
5948 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
5949 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
5950 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
5951
31397a7b
KG
59522002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5953
5954 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
5955
1b70d38a
TT
59562002-05-12 Tom Tromey <tromey@redhat.com>
5957
5958 * tree.h (copy_node): Don't mention TREE_PERMANENT.
5959
9a5834ae
ZW
59602002-05-12 Zack Weinberg <zack@codesourcery.com>
5961
5962 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
5963 (scan_comma_elt): New function. Accepts whitespace in comma lists.
5964 * gensupport.h: Prototype new routines.
5965 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
5966 use of printf.
5967 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
5968 (next_comma_elt): Use scan_comma_elt.
5969
5970 * config/i386/i386.md: Use new attribute notation to break up
5971 long lines in define_attr forms.
5972
51286de6
RH
59732002-05-12 Richard Henderson <rth@redhat.com>
5974
5975 * expr.c (compress_float_constant): New.
5976 (emit_move_insn): Use it.
5977 (float_extend_from_mem): New.
5978 (init_expr_once): Initialize it.
5979 * real.c (exact_real_truncate): New.
5980
5981 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
5982 dropped into memory; penalize for size.
5983 (RTX_COSTS): FLOAT_EXTEND is free.
5984 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
5985 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
5986
6412341e
RH
59872002-05-12 Richard Henderson <rth@redhat.com>
5988
5989 * profile.h (profile_info): Add missing extern to declaration.
5990 * profile.c (profile_info): Define it.
5991
12877f09
JDA
59922002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5993
5994 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
5995 used for DImode and TImode.
5996
387f9e32
NB
59972002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
5998
5999 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
6000 fake a newline.
6001
e1a0f69c
ZW
60022002-05-11 Zack Weinberg <zack@codesourcery.com>
6003
6004 * config/rs6000/rs6000.c (rs6000_default_long_calls,
6005 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
6006 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
6007 (rs6000_override_options): Handle -m(no-)longcall.
6008 (init_cumulative_args, output_mi_thunk): Check for both
6009 longcall and shortcall attributes on the function.
6010 (rs6000_attribute_table): Add "shortcall".
6011 (rs6000_handle_longcall_attribute): Update comment.
6012 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
6013 altivec_expand_ternop_builtin): Add default clauses to switches
6014 to silence warnings.
6015
6016 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
6017 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
6018 (TARGET_OPTIONS): Add longcall and no-longcall.
6019
6020 * config/rs6000/rs6000.md (call_nonlocal_sysv,
6021 call_value_nonlocal_sysv): Split by alternatives. One pair
6022 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
6023 the call cookie. The other pair accepts only LR/CTR and has
6024 no restriction.
6025
6026 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
6027 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
6028 tmake_file.
6029 * config/rs6000/rs6000-c.c: New file.
6030 * config/rs6000/t-rs6000-c-rule: New file.
6031 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
6032 Prototype rs6000_pragma_longcall.
6033
6034 * doc/extend.texi: Document shortcall attribute.
6035 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
6036
9c64026d
JDA
60372002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6038
6039 * reorg.c (dbr_schedule): Remove unnecessary test.
6040
6c81a490
JH
6041Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
6042
6043 * i386.md (testsi to testqi spliters): New.
6044
6045 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
6046
6047 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
6048
6049 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
6050
6051 * basic-block.h: New flag EDGE_CAN_FALLTHRU
6052 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
6053 that can be made fallthru.
6054
6055 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
6056
6057 * cfglayout.c (cleanup_unconditional_jumps): New static function.
6058 (cfg_layout_initialize): Use it.
4c476cf3 6059
e4447d94
MM
60602002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
6061
6062 * config/avr/avr.c (avr_mcu_types): Update supported devices.
6063 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
6064 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
6065
3a538a66
KH
60662002-05-11 Kazu Hirata <kazu@cs.umass.edu>
6067
6068 * dbxout.c: Fix formatting.
6069 * dependence.c: Likewise.
6070 * df.c: Likewise.
6071 * diagnostic.c: Likewise.
6072 * doloop.c: Likewise.
6073 * dominance.c: Likewise.
6074 * doschk.c: Likewise.
6075 * dwarf2asm.c: Likewise.
6076 * dwarf2out.c: Likewise.
6077 * dwarfout.c: Likewise.
6078
2292e8fc
RH
60792002-05-10 Richard Henderson <rth@redhat.com>
6080
6081 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
6082 Convert integers constants as needed. Replace "nwords" field with
6083 "sizeof_bb".
6084 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
6085 * function.h: Fix typo in comment.
6086 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
6087
dbfb1116
RS
60882002-05-10 Roger Sayle <roger@eyesopen.com>
6089
6090 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
6091 into the equivalent (signed char)c > 0.
6092
79a497cd
JJ
60932002-05-10 Janis Johnson <janis187@us.ibm.com>
6094
6095 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
6096 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
6097 (struct prefetch_info): Fix spelling of member bytes_accessed.
6098 (emit_prefetch_instructions): Make dump messages more regular;
6099 restructure code to add more dump messages; use new macros for
6100 heuristics. (There are no code generation changes in any of this).
6101
6c45cb0d
DM
61022002-05-10 David S. Miller <davem@redhat.com>
6103
7440af14
DM
6104 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
6105 (struct rtx_def): Update unchanging flag comment.
6106 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
6107 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
6108 to be handled to INSN too.
6109 (dbr_schedule): Likewise.
6110 * resource.c (next_insn_no_annul): Likewise.
6111
6c45cb0d
DM
6112 * cse.c (rtx_cost): Remove multiplication by power of 2 special
6113 casing.
6114
29f21e4f
GP
61152002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6116
6117 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
6118 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
6119 (possibly) work around broken /bin/sh.
6120
e4ba88da
RO
61212002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6122
6123 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
6124 . as N64/N32 libgcc_s.so subdirs.
6125
4f4778ee
DM
61262002-05-10 David S. Miller <davem@redhat.com>
6127
6128 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
6129
6130 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
6131 more accurately.
6132 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
6133 comment.
6134 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
6135 * doc/rtl.texi: Document these macros more accurately.
6136 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
6137 JUMP_INSNs and CALL_INSNs.
6138 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
6139 or INSN_FROM_TARGET_P if the code is appropriate.
6140
1a499b92
MM
61412002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
6142
6143 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
6144 before using SYMBOL_REF_FLAG (addr).
6145
6146 * config/avr/avr-protos.h (avr_io_address_p): Declare.
6147 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
6148 Make non-static. Update all callers.
6149 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
6150 New insns to clear/set/test a single bit in I/O address space.
6151
65212b66
KG
61522002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6153
6154 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
6155
3df89291
NB
61562002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
6157
6158 * Makefile.in: Update.
6159 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
6160 builtin_define_std): New.
6161 (c_common_init): Register CPP builtins callback.
6162 * c-common.h (flag_iso, flag_undef): New.
6163 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
6164 * c-lex.c: Don't include target.h.
6165 (cb_register_builtins): Move to c-common.c.
6166 (init_c_lex): Don't register hook here.
6167 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
6168 (cpp_define, cpp_assert): Remove.
6169 * gcc.c (cc1_options): Pass -undef to front end.
6170 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
6171 (TARGET_INITIALIZER): Update.
6172 * target.h (struct cpp_reader): Don't predeclare.
6173 (struct gcc_target): Remove cpp builtin hook.
6174 * tree.c (default_register_cpp_builtins): Remove.
6175doc:
6176 * tm.texi: Update.
6177
32fa4565
NB
61782002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
6179
6180 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
6181
23357c55
RO
61822002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6183
6184 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
6185 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
6186
5aa26af0
JJ
61872002-05-09 Jakub Jelinek <jakub@redhat.com>
6188
6189 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
6190 * config/sparc/libgcc-sparc-glibc.ver: New file.
6191 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
6192 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
6193
2937267b
JJ
61942002-05-09 Jakub Jelinek <jakub@redhat.com>
6195
6196 PR target/6429
6197 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
6198 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
6199 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
6200 base multilibs.
6201 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
6202 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
6203 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
6204 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
6205
086c0f96
RH
62062002-05-09 Richard Henderson <rth@redhat.com>
6207
6208 * config/ia64/ia64.md: Use define_constants for unspec numbers.
6209 * config/ia64/ia64.c: Likewise.
6210
a8b4881f
RS
62112002-05-09 Richard Sandiford <rsandifo@redhat.com>
6212
6213 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
6214 (save_restore_insns): Likewise.
6215 (mips_expand_prologue, mips_expand_epilogue): Update callers.
6216 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
6217
243e5500 6218Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 6219
af2728a4
JL
6220 * athlon.md, k6.md, pentium.md, ppro.md): New files.
6221 * i386.md: Move scheduling information into new files.
6222
890d52e8
JL
6223 * i386.md (type attribute): Add "rotate" for rotate insns.
6224 (rotate insns): Set type to "rotate".
6225 (various attributes and function units): Treat rotate like shift.
6226 (pent_pair attribute): Only rotates by one bit position are
6227 pairable.
6228 (sbb insns): Explicitly set pent_pair attribute on a couple
6229 that were missing it.
6230
f78ec36a
R
6231Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
6232
6233 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
6234 make sure that buffer starts on odd word address.
6235 (sh_va_arg): Skip odd fp registers when reading a double precision
6236 value.
6237
ff431459
NB
62382002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
6239
6240 * tree.h (preserve_data, object_permanent_p, type_precision):
6241 Remove.
6242
c3bf3e6e
NB
62432002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
6244
6245 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
6246 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
6247doc:
6248 * cpp.texi: Update for removal of obsolete features.
6249
02263a8a
JH
6250Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
6251 Jeffrey A Law (law@redhat.com)
6252
6253 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
6254 the DFA interface for Pentium processors.
6255 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
6256 (attr_pent_pair, ix86_pent_find_pair): Remove.
6257 (ix86_sched_reorder_pentium): Remove.
6258 (ix86_sched_reorder): Remove reordering for Pentium.
6259 * i386.md (Pentium scheduling): Rewrite using DFA description.
6260
3e638a90
JH
6261Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
6262
6263 * cfganal.c (can_fallthru): Fix fast path.
6264 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
6265 with edges to the next block.
6266
b7c9bf28
JH
6267Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
6268 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6269
6270 * final.c (end_final): Use C trees to output data structures for profiling.
6271
6272 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
6273 (profile.o): New dependency profile.h
6274 (final.o): New dependency profile.h
6275 * profile.h: New file. New global structure profile_info.
6276 * final.h (count_edges_instrumented_now): Declare.
6277 (current_function_cfg_checksum): Declare.
6278 (function_list): New structure.
6279 (functions_head, functions_tail): New static variables.
6280 (end_final): Emits more data, removed some -ax stuff.
6281 (final): Stores function names and chcksums.
6282 * gcov-io.h (__write_gcov_string): New function.
6283 (__read_gcov_string): New function.
6284 * gcov.c (read_profile): New function.
6285 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 6286 da_file.
5692c7bc
ZW
6287 (read_files): Removed da_file checking, it's done by read_profile now.
6288 * libgcc2.c (bb_function_info): New structure.
6289 (bb): New field in structure, removed some -ax stuff.
6290 (__bb_exit_func): Changed structure of da_file.
6291 * profile.c (count_edges_instrumented_now): New global variable.
6292 (current_function_cfg_checksum): New global variable.
6293 (max_counter_in_program): New global variable.
6294 (get_exec_counts): New function.
6295 (compute_checksum): New function.
6296 (instrument_edges): Sets count_edges_instrumented_now.
6297 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 6298 reading da_file.
5692c7bc
ZW
6299 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
6300 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 6301 now.
5692c7bc 6302 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 6303 now.
5692c7bc 6304 * gcov.texi: Updated information about gcov file format.
b7c9bf28 6305
786de7eb
KH
63062002-05-09 Kazu Hirata <kazu@cs.umass.edu>
6307
6308 * sbitmap.c: Fix formatting.
6309 * scan.c: Likewise.
6310 * scan-decls.c: Likewise.
6311 * sched-deps.c: Likewise.
6312 * sched-ebb.c: Likewise.
6313 * sched-rgn.c: Likewise.
6314 * sched-vis.c: Likewise.
6315 * sdbout.c: Likewise.
6316 * sibcall.c: Likewise.
6317 * simplify-rtx.c: Likewise.
6318 * ssa.c: Likewise.
6319 * ssa-ccp.c: Likewise.
6320 * ssa-dce.c: Likewise.
6321 * stmt.c: Likewise.
6322 * stor-layout.c: Likewise.
6323 * stringpool.c: Likewise.
6324
b7764693
DM
63252002-05-09 David S. Miller <davem@redhat.com>
6326
6327 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
6328
4e7d5d27
DM
63292002-05-07 David S. Miller <davem@redhat.com>
6330
6331 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
6332 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
6333 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
6334 library implementation clobbers the output before the inputs
6335 are fully consumed, use stack temporary for the output.
6336
f979570e
JT
63372002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
6338
6339 * config/netbsd.h (CPP_SPEC): Remove.
6340 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
6341 * config/i386/netbsd.h (CPP_SPEC): Define.
6342 * config/ns32k/netbsd.h (CPP_SPEC): Define.
6343 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
6344 * config/sparc/netbsd.h (CPP_SPEC): Define.
6345 * config/vax/netbsd.h (CPP_SPEC): Define.
6346
a6a2274a
KH
63472002-05-08 Kazu Hirata <kazu@cs.umass.edu>
6348
6349 * read-rtl.c: Fix formatting.
6350 * real.c: Likewise.
6351 * recog.c: Likewise.
6352 * regclass.c: Likewise.
6353 * regmove.c: Likewise.
6354 * reg-stack.c: Likewise.
6355 * reload1.c: Likewise.
6356 * reload.c: Likewise.
6357 * resource.c: Likewise.
6358 * rtlanal.c: Likewise.
6359 * rtl.c: Likewise.
6360 * rtl-error.c: Likewise.
6361
461b48d5
JDA
63622002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
6363
6364 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
6365 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
6366
95d075ff
BS
63672002-05-08 Bernd Schmidt <bernds@redhat.com>
6368
6369 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
6370 use __SSE2__ macro instead.
6371 * config/i386/xmmintrin.h: Likewise.
6372
2d4cc6a7
JJ
63732002-05-08 Janis Johnson <janis187@us.ibm.com>
6374
6375 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
6376 and use it in all invocations of these macros. Clean up comments.
6377 * rtl.c (rtl_check_failed_flag): Add an argument for the name
6378 of the flag access macro whose check failed.
6379 * doc/rtl.texi (Flags): Document additional flag uses.
6380
3f8ffc7c
RS
63812002-05-08 Robert Spier <rspier@pobox.com>
6382 Neil Booth <neil@daikokuya.demon.co.uk>
6383
6384 PR preprocessor/6521
6385 * cppfiles.c (handle_missing_header): Don't do anything
6386 different for <> includes.
6387doc:
6388 * cppopts.texi: Update documentation for -MG.
6389
b9e2d17b
NB
63902002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
6391
6392 * cpplex.c (cpp_interpret_charconst): Truncate as well as
6393 sign-extend.
6394doc:
6395 * cpp.texi: Clarify multichar charconst valuation.
6396
8d8269fa
MM
63972002-05-08 Mark Mitchell <mark@codesourcery.com>
6398
6399 * doc/invoke.texi: Document -mwindiss option.
6400
29b91443
JM
64012002-05-08 Jason Merrill <jason@redhat.com>
6402
6403 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
6404
6405 * dwarf2out.c (gen_type_die): Abort on broken recursion.
6406
6407 PR c++/6381
6408 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
6409 REAL_CST.
6410
6c76b950
NC
64112002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
6412
6413 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
6414 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 6415 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
6416 multilibs for the Thumb.
6417
f90bf7ca
MM
64182002-05-08 Mark Mitchell <mark@codesourcery.com>
6419
6420 PR c/6569.
6421 * varasm.c (mark_weak): New function.
6422 (merge_weak): Use it. Do not call declare_weak.
6423 (declare_weak): Use merge_weak.
6424
1e150f2c
JH
6425Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
6426
6427 * cse.c (dead_libcall_p): Update counts.
6428 (delete_trivially_dead_insns): Update call of dead_libcall_p.
6429
969d70ca
JH
6430Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
6431
6432 * cfglayout.c (function_tail_eff_head): Rename to ...
6433 (function_footer): ... this one.
6434 (unlink_insn_chain): New functions.
6435 (label_for_bb): Only call block_label and emit debug message.
6436 (record_effective_endpoints): Actually unlink the headers and footers.
6437 (fixup_reorder_cahin): Re-insert the unlinked sequences.
6438 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
6439 * cfglayout.h (struct reorder_block_def): New fields footer/header;
6440 remove eff_head/eff_end.
6441 * rtl.h (set_first_insn): Declare.
6442 * emit-rtl.c (set_first_insn): New function.
6443
6444 * cfglayout.c (fixup_reorder_chain): Dump duplicated
6445 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
6446 cfg_layout_duplicate_bb): New global function.
6447 (duplicate_insn_chain): New static function.
6448 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
6449 cfg_layout_duplicate_bb): Declare.
6450 (struct reorder_block_def): Add "original" field.
6451 * emit-rtl.c (emit_copy_of_insn_after): New function.
6452 * rtl.h (emit_copy_of_insn_after): Declare.
6453
6454 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
6455 (fixup_reorder_chain): properly handle edges to exit block.
6456
6457Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6458 Jan Hubicka <jh@suse.cz>
6459
6460 * basic-block.h (note_prediction_to_br_prob): declare.
6461 * c-semantics.c: Inlucde predit.h
6462 (expand_stmt): predict GOTO_STMT as not taken.
6463 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
6464 (cleanup_cfg): Do not free tail_recursion_list.
6465 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
6466 (flow_delete_block): Kill predictions past end of basic block.
6467 * output.h (delete_unreachable_blocks): Declare.
6468 * predict.c (predicted_by_p, process_note_predictions,
6469 process_note_prediction, last_block_p): New function.
6470 (estimate_probability): Bypass loop on PRED_CONTINUE;
6471 do not handle noreturn heuristics; kill PRED_RETURN; add
6472 PRED_EARLY_RETURN.
6473 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
6474 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
6475 * predict.h (IS_TAKEN): New constant.
6476 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
6477 * rtl.c (NOTE_INSN_PREDICTION): New.
6478 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
6479 New macro.
6480 (insn_note): add NOTE_INSN_PREDICTION.
6481 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
6482 CFG; free tail_recursion_label_list.
6483 * stmt.c: Include predict.h;
6484 (return_prediction): New.
6485 (expand_value_return): Use it.
6486 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
6487
41f8d041
RS
64882002-05-08 Richard Sandiford <rsandifo@redhat.com>
6489
6490 * config/mips/mips.md: Name the unspecs with define_constant.
6491 (*HILO_delay): Rename to 'hilo_delay' (no star).
6492 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
6493 (reload_outdi, reload_outsi): Likewise.
6494
9cabb1d8
KH
64952002-05-07 Kazu Hirata <kazu@cs.umass.edu>
6496
6497 * toplev.c: Fix formatting.
6498
4c76f856
JJ
64992002-05-07 Janis Johnson <janis187@us.ibm.com>
6500
6501 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
6502 * configure.in (ac_rtlflag_checking): New.
6503 * doc/install.texi (--enable-checking): Document RTL flag checking.
6504
44a147ad
NB
65052002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
6506
6507 * c-common.c (c_common_init): Set options->unsigned_wchar.
6508 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
6509 group target dependencies.
6510 (init_builtins, cpp_handle_option): Update.
6511 * cpplex.c (cpp_interpret_charconst): Update.
6512 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
6513 signed_char to unsigned_char, group target dependencies.
6514 * defaults.h (WCHAR_UNSIGNED): Remove.
6515 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
6516config:
6517 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
6518 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
6519 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
6520 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
6521 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
6522doc:
6523 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
6524
cace4f93
MM
65252002-05-07 Mark Mitchell <mark@codesourcery.com>
6526
6527 * fixinc/inclhack.def (windiss_math1): New fix.
6528 (windiss_math2): Likewise.
6529 (windiss_valist): Likewise.
6530 * fixinc/fixincl.x: Regenerated.
6531
e2ff6cee
AJ
65322002-05-07 Andreas Jaeger <aj@suse.de>
6533
6534 * genautomata.c (output_internal_min_issue_delay_func): Add
6535 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
6536 (output_internal_trans_func): Likewise.
6537
bdad4be5
JL
6538Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
6539
6540 * pa.c (hppa_profile_hook): Use force_reg to get the address
6541 of the profile hook into an appropriate pseudo register.
6542
a1ffecd9
MM
65432002-05-07 Mark Mitchell <mark@codesourcery.com>
6544
6545 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
6546 (LINK_START_SPEC): Handle it.
6547 (LINK_OS_SPEC): Likewise.
6548 (CPP_SPEC): Likewise.
6549 (STARTFILE_SPEC): Likewise.
6550 (LIB_SPEC): Likewise.
6551 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
6552 all platforms.
6553 (CRTSAVRES_DEFAULT_SPEC): New macro.
6554 (LIB_WINDISS_SPEC): New macro.
6555 (CPP_OS_WINDISS_SPEC): Likewise.
6556 (STARTFILE_WINDISS_SPEC): Likewise.
6557 (ENDFILE_WINDISS_SPEC): Likewise.
6558 (LINK_START_WINDISS_SPEC): Likewise.
6559 (LINK_OS_WINDISS_SPEC): Likewise.
6560 * config/rs6000/windiss.h: New file.
e2ff6cee 6561
df966bff
AH
65622002-05-07 Aldy Hernandez <aldyh@redhat.com>
6563
a5c76ee6 6564 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 6565
db84f1bd
DM
65662002-05-06 David S. Miller <davem@redhat.com>
6567
6568 * config/sparc/sparc.md (shift insns): Do not mask off
6569 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
6570 take care of it.
6571
818c0c94
RH
65722002-05-06 Richard Henderson <rth@redhat.com>
6573
6574 PR c++/6212
6575 * expr.c (highest_pow2_factor_for_type): New.
6576 (expand_assignment): Use it.
6577
61e0b50f
AH
65782002-05-06 Aldy Hernandez <aldyh@redhat.com>
6579
818c0c94
RH
6580 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
6581 unspec_volatile.
6582 ("altivec_mfvscr"): Same.
61e0b50f 6583
5a63e069
JJ
65842002-05-06 Janis Johnson <janis187@us.ibm.com>
6585
6586 * rtl.h (struct rtx_def): Update comments.
6587 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
6588 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
6589 RTL_FLAG_CHECK macros with list of expected RTL codes.
6590 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
6591 (rtl_check_failed_flag): New.
6592 * reload1.c (reload): Use REG macro before changing rtx to MEM.
6593 (reload_cse_noop_set_p): Check rtx code before using access macro.
6594 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
6595 before using access macro.
6596
4afe3952
JJ
65972002-05-06 Janis Johnson <janis187@us.ibm.com>
6598
6599 * doc/rtl.texi (Flags): Update to reflect current usage.
6600
1f77b5da
RS
66012002-05-06 Roger Sayle <roger@eyesopen.com>
6602
6603 PR opt/3995
6604 * fold-const.c (sign_bit_p): New function.
6605 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 6606 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
6607 Reapply fold when converting (A & C) == C into (A & C) != 0.
6608 (fold_binary_op_with_conditional_arg): Fix typo in comment.
6609
a5a49440
NB
66102002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
6611
6612 * c-common.c (warn_multichar): New.
6613 (c_common_init): Set CPP's warn_multichar.
6614 * c-common.h (warn_multichar): New.
6615 * c-decl.c (warn_multichar): Remove.
6616 * c-lex.c (lex_charconst): Update.
6617 * c-tree.h (warn_multichar): Remove.
6618 * cppexp.c (eval_token): Sign-extend charconst value.
6619 * cppinit.c (cpp_create_reader): Set warn_multichar.
6620 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
6621 each character. Update prototype. Sign-extend the result.
6622 * cpplib.h: Fix conditions.
6623 (struct cpp_options): Add new warning flag.
6624 (cpp_interpret_charconst): Update prototype.
6625doc:
6626 * cpp.texi: Update documentation.
6627
83e0be55
VM
66282002-05-06 Vladimir Makarov <vmakarov@redhat.com>
6629
6630 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
6631 Fix typo in usage of allof instead of unit.
6632
688ec718
RH
66332002-05-06 Richard Henderson <rth@redhat.com>
6634
6635 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
6636 and any jump or call for IN.
6637
f6536266
BS
66382002-05-06 Bernd Schmidt <bernds@redhat.com>
6639
e2ff6cee 6640 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
6641 -msse2.
6642 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 6643
0316d49b
RS
66442002-05-06 Roger Sayle <roger@eyesopen.com>
6645
6646 * fold-const.c (lshift-double): Cast the high word to an unsigned
6647 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
6648 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
6649 avoid compiler warning. (fold): Remove redundant code from
6650 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
6651
5d50fab3
JL
66522002-05-06 Jeff Law <law@redhat.com>
6653
6654 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
6655 * pa.c (pa_adjust_cost): Remove all true dependency cost
6656 adjustments. Also remove support for non-DFA scheduling.
6657 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
6658 to adjust true dependency costs. Update various comments.
6659 (7100lc, 7200, 7300 scheduling): Simplify by combining the
6660 FP ALU & MPY units into a single unit.
6661
a17a104c
CM
66622002-05-06 Catherine Moore <clm@redhat.com>
6663
6664 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 6665 to count all of the registers that will be saved.
a17a104c 6666
7799175f
JH
6667Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
6668
6669 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
6670
0ac941a0
DM
66712002-05-06 David S. Miller <davem@redhat.com>
6672
6673 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
6674 allow result to overlap input operands in memory.
6675
95ff5d3f
NB
66762002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
6677
6678doc:
6679 * cpp.texi: Update multichar charconst docs.
6680
639e8b0c
NB
66812002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
6682
6683 * cpplex.c (cpp_interpret_charconst): Sign-extend each
6684 character. Don't ignore excess characters. Treat
6685 multicharacter character constants as signed.
6686 (cpp_parse_escape): Clarify diagnostic.
6687
84ea5bc1
JJ
66882002-05-05 Jakub Jelinek <jakub@redhat.com>
6689
6690 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
6691 use add instead of shift.
6692 (ashldi3_sp64): Likewise.
6693 (ashlsi3_const1, ashldi3_const1): Remove.
6694 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
6695 * config/sparc/sparc.c (const1_operand): New.
6696
40cd22f2
JT
66972002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
6698
6699 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
6700
cac01076
JJ
67012002-05-05 Jakub Jelinek <jakub@redhat.com>
6702
6703 PR target/6561
6704 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
6705
98791e3a
RH
67062002-05-05 Richard Henderson <rth@redhat.com>
6707
6708 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
6709 memory latency adjustments.
6710 (alpha_variable_issue): Remove.
6711 (alpha_use_dfa_pipeline_interface): New.
6712 (alpha_multipass_dfa_lookahead): New.
6713 * config/alpha/alpha.md: Remove define_function_unit scheduling;
6714 include new dfa scheduling.
6715 (attr type): Add none.
6716 (blockage): Use it.
6717 * config/alpha/ev4.md: New.
6718 * config/alpha/ev5.md: New.
6719 * config/alpha/ev6.md: New.
6720
309527ce
DM
67212002-05-05 David S. Miller <davem@redhat.com>
6722
6723 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
6724
68252e27
KH
67252002-05-05 Kazu Hirata <kazu@cs.umass.edu>
6726
6727 * cse.c: Fix formatting.
6728 * emit-rtl.c: Likewise.
6729
30cc9d00
VM
67302002-05-05 Vladimir Makarov <vmakarov@redhat.com>
6731
6732 * genautomata.c (initiate_states): Add additional guard to
6733 initialize `units_array'.
6734
deb09eff
VM
67352002-05-05 Vladimir Makarov <vmakarov@redhat.com>
6736
6737 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
6738 process_unit_to_form_the_same_automaton_unit_lists,
6739 form_the_same_automaton_unit_lists
6740 check_unit_distributions_to_automata): New prototypes and
6741 functions.
6742 (check_automata): Rename it into `check_automata_insn_issues'.
6743 (unit_decl): New fields `the_same_automaton_unit' and
6744 `the_same_automaton_message_reported_p'.
6745 (unit_decl_t): New typedef.
6746 (the_same_automaton_lists): New gloval variable.
6747 (unit_regexp, unit_set_el, units_array, units_cmp,
6748 output_get_cpu_unit_code_func): Use the typedef.
6749 (evaluate_max_reserv_cycles): Increment
6750 `description->max_insn_reserv_cycles'.
6751 (initiate_states): Don't increment `max_cycles_num'.
6752 (transform_insn_regexps): Move code around transformation of
6753 regexps from `generate'.
6754 (generate): Remove call of `transform_insn_regexps'.
6755 (expand_automata): Call `transform_insn_regexps' and
6756 `check_unit_distributions_to_automata'. Check errors before
6757 `generate'.
6758
6759 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
6760 automaton `ultrasparc3_1'.
e2ff6cee 6761
2443d4e1
NB
67622002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
6763
6764 * c-common.c (c_common_init): Set up CPP arithmetic.
6765 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
6766 something reasonable for the host.
6767 (sanity_checks): Add checks.
6768 (cpp_read_main_file): Call sanity_checks() from here...
6769 (cpp_post_options): ... not here.
6770 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
6771 * cpplib.h (struct cpp_options): New member int_precision.
6772
791a949f
FS
67732002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6774
6775 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
6776
091fb516
DM
67772002-05-04 David S. Miller <davem@redhat.com>
6778
f60ebeb7
DM
6779 * config/sparc/linux.h, config/sparc/linux64.h
6780 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
6781
214c6394
DM
6782 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
6783 more RTX codes.
6784 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
6785
091fb516
DM
6786 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
6787 of SETs.
6788
f2fdc802
TJ
67892002-05-05 Tim Josling <tej@melbpc.org.au>
6790
e2ff6cee 6791 * treelang; New directory for new sample language treelang.
f2fdc802 6792
3d90d290
NB
67932002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
6794
6795 * Makefile.in (c-lex.o): Update.
6796 * c-lex.c: Include target.h.
6797 (cb_register_builtins): New.
6798 (init_c_lex): Set builtins callback.
6799 * c-lex.h (cpp_define, cpp_assert): New prototypes.
6800 * cppinit.c (init_builtins): Use callback, including for
6801 GXX_WEAK.
6802 * cpplib.h (struct cpp_callbacks): New member.
6803 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
6804 (TARGET_INITIALIZER): Update.
6805 * target.h (struct gcc_target): New hook.
6806 * tree.c (default_register_cpp_builtins): New.
6807 * tree.h (default_register_cpp_builtins): New.
6808doc:
6809 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
6810
625458d0
NB
68112002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
6812
6813 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
6814 (cpp_post_options): Move sanity checks to...
6815 (sanity_checks): New.
6816 * cpplex.c (maybe_read_ucs): Fix prototype.
6817 (parse_string, cpp_parse_escape): Cast for %c format specifier.
6818 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
6819 if necessary.
6820
916b60b7
BS
68212002-05-04 Bernd Schmidt <bernds@redhat.com>
6822
6823 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
6824 builtins. Use V2DI patterns instead of TI for logical operations.
6825 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
6826 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
6827 (ix86_expand_builtins): Change the pattern used for movntdq.
6828 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
6829 sse2_nandv2di3): New patterns.
6830 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
6831 on operands.
6832 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
6833 (cvtdq2pd): Correct mode on operand 1.
6834 (sse2_umulsidi3): Describe without unspec.
6835 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
6836 machine modes.
6837 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
6838 (ashlv2di3): Likewise, from sse2_ashlv2di3.
6839 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
6840 ashlv4si3, ashlv2di3): Use SImode for shift count.
6841 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
6842 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
6843 New patterns.
6844 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
6845 New typedefs.
6846 (__m128i, __m128d): New macros.
6847 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
6848 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
6849 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
6850 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
6851 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 6852 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
6853 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
6854 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 6855 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
6856 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
6857 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
6858 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
6859 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
6860 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
6861 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
6862 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
6863 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
6864 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
6865 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
6866 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
6867 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
6868 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
6869 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
6870 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
6871 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
6872 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
6873 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
6874 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
6875 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
6876 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
6877 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
6878 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
6879 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
6880 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
6881 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
6882 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
6883 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
6884 functions.
e2ff6cee 6885 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
6886 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
6887
c26fbbca
KH
68882002-05-04 Kazu Hirata <kazu@cs.umass.edu>
6889
6890 * dwarf2out.c: Fix formatting.
6891 * varasm.c: Likewise.
6892
0387639b
DE
68932002-05-04 David Edelsohn <edelsohn@gnu.org>
6894
6895 PR c/6543
6896 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
6897 clobber and use result as temporary value.
6898
8a28dbcc
JH
6899Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
6900
6901 * expr.c (force_operand): Use expand_simple_* to handle more
6902 cases.
6903
4268e8bb
NB
69042002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
6905
6906 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
6907 and sign-extension.
6908 (lex_charconst): Update for change in prototype of
6909 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
6910 appropriately.
6911 * cpphash.h (BITS_PER_CPPCHAR_T): New.
6912 * cppinit.c (cpp_create_reader): Initialize them for no
6913 change in semantics.
6914 (cpp_post_options): Add sanity checks.
6915 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
6916 and truncation issues. Calculate in type cppchar_t.
6917 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
6918 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
6919 run-time dependent precision correctly. Return whether the
6920 result is signed or not.
6921 * cpplib.c (dequote_string): Use cppchar_t; update.
6922 * cpplib.h (cppchar_signed_t): New.
6923 struct cpp_options): New precision members.
6924 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 6925 * cppexp.c (eval_token): Update.
4268e8bb 6926
af54350e
DM
69272002-05-03 David S. Miller <davem@redhat.com>
6928
2ce04b6b
DM
6929 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
6930 * config/sparc/sparc.c (sparc_rtx_costs): New function
6931 implementing RTX_COSTS and CONST_COSTS.
6932 * config/sparc/sparc.h (CONST_COSTS): Delete.
6933 (RTX_COSTS_CASES): Define.
6934 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
6935 the work.
6936
a1d9bd0c
DM
6937 * config/sparc/sparc.md (DFA schedulers): Split out...
6938 * config/sparc/cypress.md, config/sparc/hypersparc.md,
6939 config/sparc/sparclet.md, config/sparc/supersparc.md,
6940 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
6941
e87bb82e
DM
6942 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
6943 checks on it, always defined for Sparc.
6944
af54350e
DM
6945 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
6946 Tweak, and add more detailed comments.
6947
935bfb44
ZW
69482002-05-03 Zack Weinberg <zack@codesourcery.com>
6949
6950 * Re-apply patch accidentally reverted with
6951 DFA scheduler merge: remove all rules and variables to slurp
6952 source files out of libiberty and rebuild them with HOST_CC.
6953 ($(HOST_PREFIX_1)varray.o): New rule.
6954 (genattrtab rule): Word wrap.
6955
fa7a0712
JT
69562002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
6957
6958 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
6959 (CPP_SUBTARGET_SPEC): Define.
6960 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
6961 cpp_subtarget specs.
6962 (CPP_SPEC): Redefine to include %(cpp_subtarget).
6963
14c93978
DM
69642002-05-03 David S. Miller <davem@redhat.com>
6965
6966 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
6967 * target.h (struct gcc_target): Delete cycle_display member.
6968
14d118d6
DM
6969 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
6970 (rtx_needs_barrier): Delete reference to cycle_display unspec.
6971 (ia64_sched_reorder2): Mention need for cycle display handling
6972 once such notes exist.
935bfb44 6973
b3ae1ccd
RH
69742002-05-03 Richard Henderson <rth@redhat.com>
6975
6976 * real.c (etoasc): Strip most trailing zeros for clarity.
6977 * sched-vis.c: Include real.h.
6978 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
6979 * Makefile.in (sched-vis.o): Add real.h.
6980
8f39865a
DM
69812002-05-03 David S. Miller <davem@redhat.com>
6982
6983 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
6984 no longer needed.
6985
b44140e7
AH
69862002-05-03 Aldy Hernandez <aldyh@redhat.com>
6987
935bfb44
ZW
6988 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
6989 when we get an out of range literal.
6990 (altivec_expand_ternop_builtin): Same.
6991 (altivec_expand_unop_builtin): Same.
6992 (altivec_expand_builtin): Same, for dss.
6993 (altivec_expand_builtin): Use trees instead of rtl when
6994 determining literal argument validity.
b44140e7 6995
aaaed752
DM
69962002-05-03 David S. Miller <davem@redhat.com>
6997
6998 Delete cycle display scheduling hook.
6999 * config/ia64/ia64.c (ia64_cycle_display,
7000 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
7001 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
7002 and use emit_insn_before instead of ia64_emit_insn_before.
7003 * config/ia64/ia64.md (unspec usage): Delete cycle display.
7004 (cycle_display): Delete insn pattern.
7005 * config/sparc/sparc.md (unspec usage): Delete cycle display.
7006 (cycle_display): Delete insn pattern.
7007 * config/sparc/sparc.c (sparc_cycle_display,
7008 TARGET_SCHED_CYCLE_DISPLAY): Delete.
7009 * doc/md.texi (cycle_display): Don't mention.
7010 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 7011
b37c2614
RH
70122002-05-03 Richard Henderson <rth@redhat.com>
7013
7014 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
7015 * recog.h: Declare them.
7016
7017 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
7018 * config/sparc/sparc.md: Use store_data_bypass_p instead.
7019 * config/sparc/sparc-protos.h: Update.
935bfb44 7020
e1c1132e
JT
70212002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
7022
7023 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
7024 -D__arch64__. Add -D_LP64.
7025 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
7026 from sparc.h.
7027 (CPP_ARCH64_SPEC): Likewise.
7028 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
7029 (NO_BUILTIN_SIZE_TYPE): Undef.
7030
0b2fb0d7
VM
70312002-05-03 Vladimir Makarov <vmakarov@redhat.com>
7032
7033 * genautomata.c (min_issue_delay_pass_states): Change return type
7034 in the prototype.
7035 (min_issue_delay_pass_states): Change the algorithm.
7036 (min_issue_delay): Set up min_insn_issue_delay for the state.
7037 (output_min_issue_delay_table): Interchange the nested loops and
7038 and initiate min_insn_issue_delay for states.
935bfb44 7039
3d4ce12a
JH
7040Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
7041
7042 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
7043 jump is simplejump.
7044
7045Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
7046
7047 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
7048 sequence.
7049
b5482208
RH
70502002-05-03 Richard Henderson <rth@redhat.com>
7051
7052 PR opt/6534
7053 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
7054 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
7055 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
7056 code before JUMP, not EARLIEST.
7057
5a3085c5
JM
70582002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
7059
7060 * c-format.c (check_format_info_main): Don't check for presence of
7061 parameter for * width until after operand number has been read,
7062 and only check for it if format parameters are available.
7063 Fixes PR c/6547.
7064
40039424
JT
70652002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
7066
7067 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
7068 (LINK_SPEC): Undef before defining.
7069
8157303b
JJ
70702002-05-03 Jakub Jelinek <jakub@redhat.com>
7071
7072 PR preprocessor/6489
7073 * tradcpp.c (fixup_newlines): New.
7074 (main, finclude): Use it.
7075
66319f5c
RS
70762002-05-03 Richard Sandiford <rsandifo@redhat.com>
7077
7078 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
7079 * config/mips/mips.c (mips_unique_section): Strip encoding from
7080 decl name.
7081
ce8076ad
JJ
70822002-05-03 Jakub Jelinek <jakub@redhat.com>
7083
7084 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
7085 mode.
7086
975c6e4e
RO
70872002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7088
7089 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
7090 (Specific): Removed buildstats references.
7091 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
7092 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
7093 Accomodate Solaris versions beyond 8.
7094 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
7095 (Specific, *-*-solaris2.8): Removed, obsolete.
7096
d70e94ec
JJ
70972002-05-03 Jakub Jelinek <jakub@redhat.com>
7098
7099 PR target/6542
7100 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
7101 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
7102 fill leaf_reg_remap with identity.
7103 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
7104
6b148bd9
KH
71052002-05-03 Kazu Hirata <kazu@cs.umass.edu>
7106
7107 * config/h8300/crti.asm: Remove trailing spaces.
7108 * config/h8300/h8300.c: Likewise.
7109 * config/h8300/lib1funcs.asm: Likewise.
7110
609688f3
JM
71112002-05-02 Jason Merrill <jason@redhat.com>
7112
7113 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
7114 * c-decl.c (c_init_decl_processing): Use it.
7115 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
7116 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
7117 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
7118
3b03c671
KH
71192002-05-03 Kazu Hirata <kazu@cs.umass.edu>
7120
7121 * regrename.c: Fix formatting.
7122 * tree.c: Likewise.
7123
3b4961bd
JH
7124Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
7125
7126 * i386.md (attribute memory): Handle compares properly.
7127
19cba4a0
JH
7128Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
7129
3b4961bd 7130 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
7131 to none.
7132
797a6ac1
KH
71332002-05-02 Kazu Hirata <kazu@cs.umass.edu>
7134
7135 * function.c: Fix formatting.
7136
6d0de005
JH
71372002-05-02 Jan Hubicka <jh@suse.cz>
7138
7139 * haifa-sched.c (schedule_insn): Print table of instructions and
7140 reservations.
7141 (sched_block): Do not print ready list at verbosity level 1.
7142 * sched-vis.c (print_insn): Make global.
7143 * sched-ebb.c (ebb_print_insn): Rename from...
7144 (print_insn): ... this one.
7145 * sched-int.h (print_insn): Declare
7146
0bfb9a69
RH
71472002-05-02 Richard Henderson <rth@redhat.com>
7148
7149 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
7150 emitted by cycle_display.
7151
6b976d99
LR
71522002-05-02 Loren J. Rittle <ljrittle@acm.org>
7153
7154 * doc/install.texi (*-*-freebsd*): Update to latest status.
7155
0a295052
JJ
71562002-05-02 Jakub Jelinek <jakub@redhat.com>
7157
7158 PR target/6540
7159 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
7160 * config/float-sparc.h: Assume 128-bit long double if
7161 __LONG_DOUBLE_128__ is defined.
7162
842d5d6c
VM
71632002-05-02 Vladimir Makarov <vmakarov@redhat.com>
7164
7165 * genattrtab.c (write_function_unit_info): Add a dummy element
7166 when num_units == 0.
7167
3d7a6309
HB
71682002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7169
7170 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
7171 TYPE_MODE (double_type_node) instead of DFmode.
7172
1b6763cf
JH
7173Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
7174
7175 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
7176 jumps post reload.
7177 * toplev.c (rest_of_compilation): Revert Richard's patch.
7178
b303008e
JDA
71792001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
7180
7181 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
7182
6ed7412a
CM
71832002-05-02 Catherine Moore <clm@redhat.com>
7184
7185 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
7186
e0a2f705
KH
71872002-05-02 Kazu Hirata <kazu@hxi.com>
7188
b32d6163 7189 * combine.c: Fix comment typos.
e0a2f705
KH
7190 * expr.c: Likewise.
7191 * genautomata.c: Likewise.
7192 * stmt.c: Likewise.
7193 * tree.h: Likewise.
7194
38e23049
JM
71952002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
7196
7197 * doc/install.texi: State GNAT version requirements.
7198
40f4a97d
NC
71992002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
7200
7201 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
7202 of the frame pointer or arg pointer register which strict register
7203 checking is not enabled.
7204
0d6d6892
AH
72052002-05-02 Aldy Hernandez <aldyh@redhat.com>
7206
b5482208 7207 * gcc.dg/altivec-8.c: New.
0d6d6892 7208
b5482208
RH
7209 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
7210 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 7211
abaa8559
BK
72122002-05-01 Bruce Korb <bkorb@gnu.org>
7213
7214 * fixinc/check.tpl(set-writable): make sure the function exists first
7215 * fixinc/inclhack.def(alpha_assert): fix test_text
7216 * fixinc/tests/base/assert.h: add in missing result
7217
ecab2143
JL
72182002-05-01 Jeff Law <law@redhat.com>
7219
7220 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
7221 'T' constraint.
7222
ea619b46
JB
72232002-05-01 Joel Brobecker <brobecker@gnat.com>
7224
7225 * dbxout.c (dbxout_type): Emit size information for range types,
7226 as well, but only when using GDB extensions.
7227
c72931a6
RH
72282002-05-01 Richard Henderson <rth@redhat.com>
7229
7230 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
7231 target-independent gnu binutils date test.
7232
2150ad33
RH
72332002-05-01 Richard Henderson <rth@redhat.com>
7234
7235 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
7236 info before expunging the block.
7237
1651cc96
JJ
72382002-05-01 Jakub Jelinek <jakub@redhat.com>
7239
7240 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
7241 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
7242 -M -or -MM is in effect.
7243
8998d5bf
ZW
72442002-05-01 Zack Weinberg <zack@codesourcery.com>
7245
7246 * config.gcc: Correct test of --enable-obsolete. Obsolete all
7247 A29k configurations.
7248 * doc/install.texi: Update to match.
7249
a81eed10
FS
72502002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7251
7252 PR bootstrap/6514
7253 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
7254 for duplicates. Always loop over whole list.
7255
8d53318f
RK
7256Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7257
7258 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
7259
4109b118
JS
72602002-05-01 Joel Sherrill <joel@OARcorp.com>
7261
7262 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
7263 support routines.
7264
c4a9c570
JS
72652002-05-01 Joel Sherrill <joel@OARcorp.com>
7266
7267 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
7268
ea112fc4
DE
72692002-05-01 David Edelsohn <edelsohn@gnu.org>
7270
7271 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
7272 (nabs_nopower): Same.
7273 (floatdisf2): New pattern.
7274 (absdi2): Convert to define_insn_and_split.
7275 (nabsdi2): Same.
7276 (trunctfsf2): Same.
7277 (floatditf2): Same.
7278 (floatsitf2): Same.
7279 (fix_trunctfdi2): Same.
7280 (fix_trunctfsi2): Same.
7281
dda78254
JM
72822002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
7283
7284 * doc/install.texi: Update Texinfo version requirement
7285 documentation.
7286
26aeede4
JJ
72872002-05-01 Jakub Jelinek <jakub@redhat.com>
7288
7289 PR target/6512, PR target/5628
7290 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
7291 when memory is not aligned.
7292 (movdf_insn_v9only_vis): Likewise.
7293 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
7294 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
7295 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
7296
9b7bc465
AH
72972002-05-01 Aldy Hernandez <aldyh@redhat.com>
7298
8998d5bf 7299 * gcc.dg/altivec-7.c: New.
9b7bc465 7300
8998d5bf 7301 * config/rs6000/altivec.h: Cleanup.
9b7bc465 7302
08b57fb3
AH
73032002-04-30 Aldy Hernandez <aldyh@redhat.com>
7304
8998d5bf
ZW
7305 * doc/invoke.texi (Option Summary): Add -mvrsave=.
7306 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 7307
8998d5bf
ZW
7308 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
7309 (rs6000_altivec_vrsave_string): Same.
7310 (rs6000_override_options): Call rs6000_parse_vrsave_option.
7311 (rs6000_parse_vrsave_option): New.
7312 (rs6000_stack_info): Only generate vrsave instructions when
7313 TARGET_ALTIVEC_VRSAVE.
08b57fb3 7314
8998d5bf
ZW
7315 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
7316 (rs6000_altivec_vrsave_string): Define extern.
7317 (rs6000_altivec_vrsave): Same.
7318 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 7319
8e8c38cd
RH
73202002-04-30 Richard Henderson <rth@redhat.com>
7321
7322 PR opt/6516
7323 * toplev.c (rest_of_compilation): Don't run cross-jump before
7324 bb-reorder.
7325
4be9e9cb
TR
73262002-04-30 Tom Rix <trix@redhat.com>
7327
8998d5bf 7328 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
7329 check which_alternative.
7330
1eeeb6a4
KH
73312002-04-30 Kazu Hirata <kazu@hxi.com>
7332
7333 * cpplex.c: Fix comment formatting.
7334 * function.c: Likewise.
7335 * integrate.c: Likewise.
7336 * regrename.c: Likewise.
7337 * sibcall.c: Likewise.
7338 * simplify-rtx.c: Likewise.
7339 * tree-inline.c: Likewise.
7340
ed9d6ff9
JDA
73412002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
7342
7343 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
7344 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
7345 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
7346 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
7347 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
7348 * pa/x-ada: New file. Define ADA_CFLAGS.
7349
1f2641b6
HPN
73502002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
7351
7352 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
7353 from MMIX_LAST_REGISTER_FILE_REGNUM.
7354 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
7355 (struct machine_function): New member highest_saved_stack_register
7356 previously static variable in mmix.c.
7357 (MACHINE_DEPENDENT_REORG): Define.
7358 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
7359 (MMIX_OUTPUT_REGNO): New.
7360 (mmix_target_asm_function_prologue): Move calculation of last used
7361 saved-stack-register into...
7362 (mmix_machine_dependent_reorg): New function. Update to also handle
7363 !TARGET_ABI_GNU.
7364 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
7365 register names, simplify somewhat by new variable regno.
7366 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
7367 register.
7368 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
7369 emitting register names.
7370 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
7371 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
7372 Remove fixed FIXME.
7373 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
7374 Declare.
7375
7376 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
7377
73985940
RH
73782002-04-30 Richard Henderson <rth@redhat.com>
7379
7380 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
7381 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
7382 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
7383 emit_tfmode_cvt): New.
7384 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
7385 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
7386 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
7387 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
7388 * config/sparc/sparc-protos.h: Update.
7389
2b46bc67
JJ
73902002-04-30 Janis Johnson <janis187@us.ibm.com>
7391
7392 * install.texi (Final install): Add to the list of info to include
7393 in a report of a successful bootstrap, and add link to 3.1 list.
7394
3d34cd91
JH
7395Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
7396
7397 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
7398 (mode): Add vector modes
7399 (i387): Kill attribute.
7400 (unit): New attribute.
7401 (length_immediate): Grok new types.
7402 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
7403 (modrm): Use "unit".
7404 (memory): Handle MMX/SSE properly.
7405 (scheduling descriptions): Kill uses of fop1.
7406 (sse, mmx, fp patterns): Set type and mode properly.
7407
243e5500 7408Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 7409
30482eb0
JL
7410 * pa.c (override_options): Default to PA8000 scheduling.
7411 * doc/invoke.texi (HP-PA options): Mention newly added 7300
7412 scheduling parameter.
7413
3193c415
JL
7414 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
7415 handling of double precision multiplies.
7416
7417 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
7418 fpdiv and fpsqrt instructions.
7419 (7200 & 7300 scheduling): Fix typo in handling of
7420 store-load and store-store penalties.
7421
c0a34cb7
GP
74222002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7423
7424 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
7425 mips. Add two missing commas.
7426
8bce0628
PC
74272002-04-30 Paolo Carlini <pcarlini@unitus.it>
7428
7429 * doc/contrib.texi (Contributors): Update Paolo Carlini's
7430 and Benjamin Kosnik's entries.
7431
84643cbf
DM
74322002-04-29 David S. Miller <davem@redhat.com>
7433
7434 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
7435 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
7436 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
7437 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
7438
da6886f6
FS
74392002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7440
7441 * combine.c (find_split_point): Use gen_int_mode.
7442
fae15c93
VM
74432002-04-29 Vladimir Makarov <vmakarov@redhat.com>
7444
7445 Merging code from dfa-branch:
8998d5bf 7446
fae15c93
VM
7447 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
7448
7449 * genautomata.c (output_reserv_sets): Fix typo.
7450
7451 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
7452
7453 * genautomata.c (output_reserv_sets): Remove
7454 next_cycle_output_flag.
7455
7456 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
7457
8998d5bf
ZW
7458 * sched-rgn.c (init_ready_list): Make the DFA code handle
7459 USE/CLOBBER insns in the same way as the traditional
7460 scheduler.
7461 (new_ready): Similarly..
fae15c93
VM
7462
7463 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
7464
7465 * haifa-sched.c (schedule_block): Change the DFA state only after
7466 issuing insn.
7467
7468 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
7469
7470 * pa.c (hppa_use_dfa_pipeline_interface): New function.
7471 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
7472 (override_options): Add PA7300 scheduling support.
7473 (pa_adjust_cost): Update various comments. Properly
7474 handle anti and output dependencies when using the
7475 DFA scheduler.
7476 (pa_issue_rate): Add PA7300 scheduling support.
7477 (pa_can_combine_p): Call extract_insn before calling
7478 constrain_operands (taken from mainline tree).
7479 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
7480 * pa.md (cpu attr): Add 7300. Rewrite pipeline
7481 descriptions using DFA descriptions. Add PA7300
7482 scheduling support.
7483
7484 2002-03-30 David S. Miller <davem@redhat.com>
7485
7486 Add UltraSPARC-III DFA scheduling support.
7487 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
7488 Update FP conditional move on register insn patterns to use it, as
7489 appropriate.
7490 (define_attr cpu): Add ultrasparc3.
7491 (define_attr us3load_type): New, update integer load patterns to
7492 set it, as appropriate.
7493 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
7494 (rest): Add UltraSPARC3 scheduling description.
7495 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
7496 (PROCESSOR_ULTRASPARC3): New.
7497 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
7498 ({ASM,CPP}_CPU_SPEC): Likewise.
7499 (REGISTER_MOVE_COST): Likewise.
7500 (RTX_COSTS): Likewise.
7501 * config/sparc/sparc.c (sparc_override_options,
7502 sparc_initialize_trampoline, sparc64_initialize_trampoline,
7503 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
7504 sparc_issue_rate): Likewise.
7505 * config/sparc/sol2.h: Likewise.
7506 * config/sparc/sol2-sld-64.h: Likewise.
7507 * config/sparc/linux64.h: Likewise.
8998d5bf 7508
fae15c93
VM
7509 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
7510
7511 * doc/md.texi: Add comments about usage the latency time for the
7512 different dependencies and about case when two or more conditions
7513 in different define_insn_reservations returns TRUE for an insn.
7514
7515 * doc/md.texi: Add reference for automaton based pipeline
7516 description.
8998d5bf 7517
fae15c93
VM
7518 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
7519
7520 * doc/passes.texi: Add missed information about genattrtab.
7521
7522 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
7523
7524 * genautomata.c (output_automata_list_transition_code): Check
7525 automata_list on NULL.
7526
7527 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
7528
7529 * genautomata.c (output_insn_code_cases,
7530 output_automata_list_min_issue_delay_code,
7531 output_automata_list_transition_code,
7532 output_automata_list_state_alts_code): Comment the functions.
7533
7534 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
7535
7536 * genautomata.c (automata_list_el_t): New typedef.
7537 (get_free_automata_list_el,free_automata_list_el,
7538 free_automata_list, automata_list_hash, automata_list_eq_p,
7539 initiate_automata_lists, automata_list_start, automata_list_add,
7540 automata_list_finish, finish_automata_lists,
7541 output_insn_code_cases, output_automata_list_min_issue_delay_code,
7542 output_automata_list_transition_code,
7543 output_automata_list_state_alts_code, add_automaton_state,
7544 form_important_insn_automata_lists): New functions and prototypes.
7545 (insn_reserv_decl): Add members important_automata_list and
7546 processed_p.
7547 (ainsn): Add members important_p.
7548 (automata_list_el): New structure.
7549 (first_free_automata_list_el, current_automata_list,
7550 automata_list_table): New global variables.
7551 (create_ainsns): Initiate member important_p.
7552 (output_internal_min_issue_delay_func): Generate the switch and
7553 call output_insn_code_cases.
7554 (output_internal_trans_func, output_internal_state_alts_func):
7555 Ditto.
7556 (generate): Call initiate_automata_lists.
7557 (automaton_states): New global variable.
7558 (expand_automata): Call form_important_insn_automata_lists.
7559 (write_automata): Call finish_automata_lists.
8998d5bf 7560
fae15c93
VM
7561 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
7562
7563 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 7564 cpu units in the sets belong the same automaton.
fae15c93
VM
7565
7566 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
7567 about that cpu units in the sets belong the same automaton.
7568
7569 * doc/md.texi: Ditto.
8998d5bf 7570
2799d721
VM
7571 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
7572 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 7573
fae15c93
VM
7574 * config/sh/sh.c (sh_use_dfa_interface): New function.
7575
7576 (sh_issue_rate): New Function.
7577 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
7578 TARGET_SCHED_ISSUE_RATE: define.
7579
7580 * config/sh/sh.md: Add DFA based pipeline description for SH4.
7581
8998d5bf
ZW
7582 (define_attr insn_class): New attribute used for DFA
7583 scheduling.
fae15c93
VM
7584 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
7585 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
7586 cmpeqdi_t): Likewise.
7587
7588 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 7589 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
7590 ex_group.
7591 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 7592
fae15c93
VM
7593 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
7594
7595 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
7596 break.
7597
7598 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
7599
7600 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
7601 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
7602 necessary.
7603 (output_dfa_start_func): Initiate new variable insn_codes_length,
7604 (write_automata): Output definition of the new variable.
8998d5bf 7605
fae15c93
VM
7606 2001-10-02 David S. Miller <davem@redhat.com>
7607
7608 * haifa-sched.c (advance_one_cycle): New function.
7609 (schedule_block): Use it.
7610 (queue_to_ready): Use it, and also make sure to advance the DFA
7611 state on all stall cycles, not just those where insn_queue links
7612 are found.
7613
7614 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
7615
7616 * haifa-sched.c (max_issue): Remove last_p argument. Only return
7617 non-zero if the highest-priority instruction could be scheduled.
7618 (choose_ready): Remove last argument from max_issue call.
7619
7620 2001-09-28 David S. Miller <davem@redhat.com>
7621
7622 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
7623 ultrasparc and 3 for other multi-issue sparcs.
7624
7625 2001-09-27 David S. Miller <davem@redhat.com>
7626
7627 * config/sparc/sparc.md (cycle_display): New pattern.
7628 * config/sparc/sparc.c (sparc_cycle_display): New.
7629 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
7630
7631 2001-09-25 David S. Miller <davem@redhat.com>
7632
7633 Convert all of Sparc scheduling to DFA
7634 * config/sparc/sparc.md: Kill all define_function_unit
7635 directives and replace with DFA equivalent.
7636 * config/sparc/sparc.c (ultrasparc_adjust_cost,
7637 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
7638 ultra_fpmode_conflict_exists, ultra_find_type,
7639 ultra_build_types_avail, ultra_flush_pipeline,
7640 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
7641 ultrasparc_variable_issue, ultrasparc_sched_init,
7642 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
7643 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
7644 ultra_cur_hist, ultra_cycles_elapsed): Kill.
7645 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
7646 ultrasparc_store_bypass_p): New.
7647 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
7648 Declare.
7649
7650 2001-09-24 David S. Miller <davem@redhat.com>
7651
7652 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
7653 ready->vec[foo] not ready[foo].
7654
7655 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
7656
7657 * doc/md.texi: Correct examples for define_insn_reservations
7658 `mult' and `div'.
7659
7660 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
7661
7662 * genautomata.c (create_automata): Print message about creation of
7663 each automaton.
7664 (generate): Remove printing meease about creation of
7665 automata.
7666
7667 2001-09-05 David S. Miller <davem@redhat.com>
7668
7669 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
7670 * config/sparc/linux64.h: Likewise.
7671
7672 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
7673
7674 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
7675 schedule_block, sched_init, sched_finish): Add missed calls of
7676 use_dfa_pipeline_interface.
7677
7678 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
7679 Ditto.
7680
7681 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 7682
fae15c93
VM
7683 2001-08-27 Richard Henderson <rth@redhat.com>
7684
7685 * genattr.c (main): Emit state_t even when not doing scheduling.
7686
7687 2001-08-27 Richard Henderson <rth@redhat.com>
7688
7689 * genautomata.c (expand_automata): Always create a description.
7690
7691 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
7692
8998d5bf 7693 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
7694 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
7695 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
7696 RTL constructions.
7697
7698 * genattr.c (main): New variable num_insn_reservations. Increase
7699 it if there is DEFINE_INSN_RESERVATION. Output automaton based
7700 pipeline hazard recognizer interface.
7701
7702 * genattrtab.h: New file.
7703
7704 * genattrtab.c: Include genattrtab.h.
7705 (attr_printf, check_attr_test, make_internal_attr,
7706 make_numeric_value): Move protypes into genattrtab.h. Define them
7707 as external.
7708 (num_dfa_decls): New global variable.
7709 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
7710 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
7711 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
7712 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
7713
7714 * genautomata.c: New file.
7715
7716 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
7717
8998d5bf 7718 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
7719 automaton pipeline interface.
7720 (haifa_insn_data): Add comments for members blockage and units.
7721
7722 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
7723 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
7724 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
7725 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
7726 TARGET_SCHED_DFA_POST_CYCLE_INSN,
7727 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
7728 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
7729 macros.
7730 (TARGET_SCHED): Use the new macros.
7731
7732 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
7733 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
7734 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
7735 dfa_bubble): New members in gcc_target.sched.
7736
8998d5bf 7737 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
7738 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
7739 (insn_queue): Redefine it as pointer to array.
7740 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
7741 INSN_QUEUE_SIZE.
7742 (max_insn_queue_index_macro_value): New variable.
7743 (curr_state, dfa_state_size, ready_try): New varaibles for
7744 automaton interface.
7745 (ready_element, ready_remove, max_issue): New function prototypes
7746 for automaton interface.
7747 (choose_ready): New function prototype.
7748 (insn_unit, blockage_range): Add comments.
7749 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
7750 FUNCTION_UNITS_SIZE == 0.
7751 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
7752 actual_hazard, potential_hazard): Add comments.
7753 (insn_cost): Use cost -1 as undefined value. Remove
7754 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
7755 pipeline interface.
7756 (ready_element, ready_remove): New functions for automaton
7757 interface.
7758 (schedule_insn): Add new code for automaton pipeline interface.
7759 (queue_to_ready): Add new code for automaton pipeline interface.
7760 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
7761 (debug_ready_list): Print newline when the queue is empty.
7762 (max_issue): New function for automaton pipeline interface.
7763 (choose_ready): New function.
7764 (schedule_block): Add new code for automaton pipeline interface.
7765 Print ready list before scheduling each insn.
7766 (sched_init): Add new code for automaton pipeline interface.
7767 Initiate insn cost by -1.
7768 (sched_finish): Free the current automaton state and finalize
7769 automaton pipeline interface.
7770
7771 * sched-rgn.c: Include target.h.
7772 (init_ready_list, new_ready, debug_dependencies): Add new code for
7773 automaton pipeline interface.
7774
7775 * sched-vis.c: Include target.h.
7776 (get_visual_tbl_length): Add code for automaton interface.
7777 (target_units, print_block_visualization): Add comments.
7778
8998d5bf 7779 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
7780 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
7781 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
7782 (getruntime.o, genautomata.o): New entries.
7783 (genattrtab.o): Add new dependency file genattrtab.h.
7784 (genattrtab): Add new dependencies. Link it with `libm.a'.
7785 (getruntime.o, hashtab.o): New entries for canadian cross.
7786
7787 * doc/md.texi: Description of automaton based model.
7788
7789 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
7790 Add comments.
7791 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
7792 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
7793 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
7794 TARGET_SCHED_DFA_POST_CYCLE_INSN,
7795 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
7796 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
7797 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
7798 hook descriptions.
7799 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
7800 MAX_DFA_ISSUE_RATE): New macro descriptions.
7801
7802 * doc/contrib.texi: Add dfa based scheduler contribution.
7803
7804 * doc/gcc.texi: Add more information about genattrtab.
7805
a2ff290c
RK
7806Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7807
7808 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
7809 adjust_address_nv call.
7810
f97903cc
JJ
78112002-04-29 Janis Johnson <janis187@us.ibm.com>
7812
7813 * doc/install.texi (Testing): Provide additional information, and
7814 a stronger encouragement, for running the testsuites.
7815
f41a6bf1
DD
78162002-04-29 DJ Delorie <dj@redhat.com>
7817
7818 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
7819 given in upper case.
7820
d8af0868
RO
78212002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7822
7823 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
7824 Solaris 2 <widec.h> if missing.
7825 * fixinc/fixincl.x: Regenerate.
7826 * fixinc/tests/base/widec.h: New file.
7827
1034407f
NC
78282002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
7829
7830 * toplev.c (f_options): Add "profile" switch so that
7831 -fno-profile can be used to disable -p.
7832
fbe5eb6d
BS
78332002-04-29 Bernd Schmidt <bernds@redhat.com>
7834
7835 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
7836 UV2DImode.
7837 * tree.c (build_common_tree_nodes_2): Likewise.
7838 * tree.h (enum tree_index): Likewise.
7839 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
7840
7841 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
7842 entries.
7843 (init_mmx_sse_builtins): Initialize SSE2 builtins.
7844 (ix86_expand_builtin): Add support for SSE2 builtins.
7845 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
7846 (VALID_SSE_REG_MODE): Use it.
7847 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
7848 (enum ix86_builtins): Add SSE2 builtins.
7849 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
7850 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
7851 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
7852 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
7853 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
7854 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
7855 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
7856 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
7857 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
7858 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
7859 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
7860 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
7861 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
7862 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
7863 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
7864 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
7865 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
7866 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
7867 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
7868 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
7869 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
7870 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
7871 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
7872 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
7873 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
7874 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
7875 lfence_insn): New patterns.
7876 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
7877 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
7878
44aefada
JH
7879Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
7880
7881 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
7882
d5482cdc
GP
78832002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7884
7885 * doc/contrib.texi (Contributors): Add Paolo Carlini and
7886 Janis Johnson.
7887 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
7888 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
7889 and CPU instead of cpu.
7890
2c4b77f3
JH
7891Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
7892
7893 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
7894 variables.
7895 (lang_independent_options): Add -fif-conversion, -fif-conversion2
7896 (rest_of_compilation): Do if conversion only when asked for.
7897 (parse_options_and_default_flags): Set new variables to 1 for -O1
7898 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
7899
3de72741
JH
7900Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
7901
7902 * i386.c (dbx64_register_map): Fix typo.
7903
8aa18a7d
JH
7904Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
7905
7906 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
7907 real_one_half, real_bb_freq_max): New static variables.
7908 (debug_profile_bbauxs): Kill.
7909 (process_note_predictions): Kill unused variable.
7910 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
7911 volatile double.
7912 (propagate_freq): Use REAL_ARITHMETICS.
7913 (estimate_bb_frequencies): Likevise; init new static variables.
7914 * Makefile.in (predict.o): Add dependency on real.h
7915
1bbad4c6
DM
79162002-04-28 David S. Miller <davem@redhat.com>
7917
7918 PR target/6500
7919 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
7920 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
7921 several {reads,writes} instead.
7922 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
7923 Define.
7924
3ef3f384
DM
79252002-04-27 David S. Miller <davem@redhat.com>
7926
7927 PR target/6494
7928 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
7929 of the stack bias.
7930
7931 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
7932 including signal.h and sys/ucontext.h, not needed.
7933
ec493bcb
HPN
79342002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
7935
7936 * varasm.c (output_constant_def): Correct test for not calling
7937 ENCODE_SECTION_INFO for INTEGER_CST.
7938
60284a59
NB
79392002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
7940
7941 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
7942 keep most cases as function eval_token.
7943 (eval_token): New function.
7944 (_cpp_parse_expr): Read token here for improved diagnostics.
7945 Don't use op_as_text. Detect bad ':' here.
7946 (reduce): Don't detect bad ':' here.
7947 (op_as_text): Remove.
7948 * cpphash.h (_cpp_test_assertion): Change prototype.
7949 * cpplib.c (_cpp_test_assertion): Change prototype.
7950
349a4b40
RH
79512002-04-28 Richard Henderson <rth@redhat.com>
7952
7953 PR c/5154
8998d5bf 7954 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
7955 (ggc_mark_rtx_children): New.
7956
7a03f82f
JJ
79572002-04-28 Jakub Jelinek <jakub@redhat.com>
7958
7959 PR target/6496
7960 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
7961 after call peepholes for UltraSPARC.
7962 (call + jump 64-bit peepholes): Remove.
7963
80103f96
FS
79642002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7965
7966 PR c/6497
7967 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
7968 result as temporary value.
7969
06990986
JJ
79702002-04-28 Jakub Jelinek <jakub@redhat.com>
7971
7972 PR c++/6396
7973 * toplev.c (rest_of_compilation): Only run regrename and copy
7974 propagation if optimizing.
7975
a20fd5ac
JJ
79762002-04-28 Jakub Jelinek <jakub@redhat.com>
7977
7978 PR optimization/6475
7979 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
7980 register of REGNO_DECL (i).
7981 * Makefile.in (reload1.o): Add $(TREE_H).
7982
87ed109f
NB
79832002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
7984
7985 * cppexp.c (lex): Update to use state.skip_eval.
7986 (struct op): Remove prio and flags members.
7987 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
7988 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
7989 (LEFT_ASSOC): New macro.
7990 (optab): New table of operator priorities and flags.
7991 (SHIFT): Update.
7992 (_cpp_parse_expr): Clean up logic. Return bool. Use a
7993 malloc-ed parser stack.
7994 (reduce): New; reduce the operator stack.
7995 (_cpp_expand_op_stack): Expand the operator stack as necessary.
7996 * cpphash.h (struct op): Predeclare.
7997 (struct cpp_reader): New members op_stack, op_limit.
7998 (struct lexer_state): New member skip_eval.
7999 (_cpp_parse_expr): Update.
8000 (_cpp_expand_op_stack): New.
8001 * cpplib.c (do_if): Update.
8002 * cppinit.c (cpp_create_reader): Create op stack.
8003 (cpp_destroy): And destroy it.
8004 * cpplib.h (CPP_LAST_CPP_OP): Correct.
8005 (TTYPE_TABLE): Correct.
8006
45806a3f
FS
80072002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8008
8009 PR c/6343
8010 * c-decl.c (duplicate_decls): Call merge_weak.
8011 * c-pragma.c (apply_pragma_weak): Warn about misuse.
8012 * output.h (merge_weak): Prototype merge_weak.
8013 * varasm.c (merge_weak): New function.
8014 (declare_weak): Make sure we don't give an error on VAR_DECLs.
8015 Mark RTL with SYMBOL_REF_WEAK.
8016
a6227154
KG
80172002-04-27 Kurt Garloff <garloff@suse.de>
8018
8019 * tree-inline.c (inlinable_function_p): Improve heuristics
8020 by using a smoother function to cut down allowable inlinable size.
8021 * param.def: Add parameters max-inline-insns-single,
8022 max-inline-slope, min-inline-insns that determine the exact
8023 shape of the above function.
8024 * param.h: Likewise.
8025
94a50397
RH
80262002-04-26 Richard Henderson <rth@redhat.com>
8027
8028 * c-parse.in (malloced_yyss, malloced_yyvs): New.
8029 (yyoverflow): Re-add. Set them.
8030 (free_parser_stacks): New.
8031 * c-common.h: Declare it.
8032 * c-lex.c (c_common_parse_file): Call it.
8033
9c0a0632
RH
80342002-04-26 Richard Henderson <rth@redhat.com>
8035
8036 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
8037 for fallthru search.
8038
b875d2ee
EC
80392002-04-26 Eric Christopher <echristo@redhat.com>
8040
8041 PR optimization/3700
8042 * config/mips/mips.c (mips_issue_rate): Define. New function.
8043 (TARGET_SCHED_ISSUE_RATE): Use.
8044
1db828df
DM
80452002-04-25 David S. Miller <davem@redhat.com>
8046
8047 PR target/6422
8048 * reorg.c (optimize_skip): Do not allow exception causing
8049 instructions to be considered for delay slots.
8050 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
8051 (relax_delay_slots): Do not try to consider exception causing
8052 instructions as redundant.
8053
ae5d234e
RH
80542002-04-26 Richard Henderson <rth@redhat.com>
8055
8056 PR c/5225
8057 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
8058
7d793e9b
MM
80592002-04-26 Mark Mitchell <mark@codesourcery.com>
8060
8061 PR bootstrap/6445
8062 * config/i386/i386.md (untyped_call): Return the value in a float
8063 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
8064 TARGET_80387.
8065
b13ab42c
AO
80662002-04-26 Alexandre Oliva <aoliva@redhat.com>
8067
8068 * tree.c (tree_int_cst_lt): Compare constants whose types differ
8069 in unsigned-ness correctly.
8070
5e56f909
JDA
80712002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
8072
8073 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
8074 portable runtime model.
8075
bde3c0c0
RH
80762002-04-26 Richard Henderson <rth@redhat.com>
8077
a6227154 8078 * c-parse.in (yyoverflow): Revert.
bde3c0c0 8079
5276df18
DE
80802002-04-26 David Edelsohn <edelsohn@gnu.org>
8081 Richard Henderson <rth@redhat.com>
8082
8083 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
8084 result as temporary value.
8085
b84a3874
RH
80862002-04-26 Richard Henderson <rth@redhat.com>
8087
8088 PR c/3581
8089 * c-common.c (fix_string_type): Split out of ...
8090 (combine_strings): ... here. Take a varray, not a tree list.
8091 (c_expand_builtin_printf): Use fix_string_type.
8092 * c-common.h: Update decls.
8093 * c-parse.in (string): Remove. Update all uses to use STRING
8094 instead, and not call combine_strings.
8095 (yylexstring): New.
8096 (_yylex): Use it.
8097 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
8098 (build_asm_stmt): Likewise.
8099 * objc/objc-act.c (my_build_string): Use fix_string_type.
8100 (build_objc_string_object): Build varray for combine_strings.
8101
d8ae8cd4
BT
81022002-04-26 Bo Thorsen <bo@suse.co.uk>
8103
8104 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
8105 x86-64.
8106
f8b954fc
NB
81072002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
8108
8109 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
8110 (HAVE_NO_R_OPERAND): Remove.
8111 (HAVE_VALUE): Remove.
8112 (op_to_prio): Update.
8113 (UNARY): Don't alter flags.
8114 (_cpp_parse_expr): want_value used to indicate whether
8115 a number or unary operator is expected next. Distinguish
8116 unary and binary +/-.
8117 (op_as_text): Update for unary operators.
8118
6052bef0
RH
81192002-04-25 Richard Henderson <rth@redhat.com>
8120
8121 PR c/2161
8122 * c-parse.in (yyoverflow): New.
8123
5c5b2283
RH
81242002-04-25 Richard Henderson <rth@redhat.com>
8125
8126 PR c/2098
8127 * c-common.c (shorten_compare): Simplfy conditions leading to
8128 the generation of a warning.
8129
28ce94d4
RH
81302002-04-25 Richard Henderson <rth@redhat.com>
8131
8132 PR c/2035
8133 * expmed.c (extract_bit_field): Fall through to generic code rather
8134 than aborting on subreg special case.
8135
6bfd0c63
DM
81362002-04-25 David S. Miller <davem@redhat.com>
8137
8138 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
8139 for DECL being NULL.
8140
7a430e3b
SC
81412002-04-25 Steve Christiansen <smc@us.ibm.com>
8142
8143 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
8144
45c42d7d
EB
81452002-04-25 Eric Botcazou <ebotcazou@multimania.com>
8146
8147 * c-decl.c (grokdeclarator): Remove outdated ??? note
8148 on invalid declaration of flexible array members.
8149
eb7715a4
RH
81502002-04-25 Richard Henderson <rth@redhat.com>
8151
8152 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
8153
cf5ee720
UW
81542002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
8155
8156 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
8157 needed by the compiler, even if they are used as global regs.
8158
d604bca3
MH
81592002-04-25 Matt Hiller <hiller@redhat.com>
8160
8161 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
8162 functions.
8163 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
8164 of the corresponding functions.
8165 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
8166 New prototypes.
b875d2ee 8167
d604bca3
MH
81682002-04-25 Matt Hiller <hiller@redhat.com>
8169
8170 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
8171
8172 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
8173 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
8174 registers, adjust comment accordingly.
8175 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
8176 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
8177 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
8178 for coprocessor registers.
8179 (ADDITIONAL_REGISTER_NAMES): Include
8180 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 8181
d604bca3
MH
8182 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
8183 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
8184 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
8185 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
8186 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
8187
8188 (mips_char_to_class): Adjust comment to include coprocessor
8189 constraint letters.
8190
8191 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
8192 New functions.
8193 (mips_reg_names, mips_regno_to_class): Include coprocessor
8194 information.
8195 (mips_sw_reg_names): Ditto, make non-static.
8196 (mips_move_1word): Handle moves to and from coprocessor registers.
8197 (mips_move_2words): Handle moves to and from coprocessor
8198 registers.
8199 (mips_class_max_nregs, mips_register_move_cost): Handle
8200 coprocessor register classes.
8201 (override_options): Initialize mips_char_to_class and
8202 mips_hard_regno_mode_ok properly for coprocessor registers.
8203
8204 * config/mips/mips.md (movdi_internal, movdi_internal2,
8205 movsi_internal1, movsi_internal2): Add constraint-sets for
8206 coprocessor registers.
8207 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
8208 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
8209 isn't mips.
8210 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
8211 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
8212 isn't mips.
8213 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
8214 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
8215 isn't mips.
8216 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
8217 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
8218 isn't mips.
b875d2ee 8219
d604bca3
MH
8220 * doc/tm.texi: Document feature.
8221
b9a26d09
NB
82222002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
8223
8224 * integrate.c (function_attribute_inlinable_p): Simplify.
8225 Check the table pointer is not NULL.
8226
ab5973b7
SB
82272002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
8228
8229 * doc/c-tree.texi: Fix typo in introduction.
8230
ff45c01e
NB
82312002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
8232
8233 * c-common.h (c_common_parse_file): Update.
8234 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
8235 * c-lex.c (YYDEBUG): Get from c-lex.h.
8236 (c_common_parse_file): Update.
8237 * c-lex.h (YYDEBUG, yydebug): New.
8238 * c-parse.in (YYDEBUG): Get from c-lex.h.
8239 (c_set_yydebug): Remove.
8240 * c-tree.h (c_set_yydebug): Remove.
8241 * langhooks-def.h (lhd_do_nothing_i): New.
8242 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
8243 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
8244 * langhooks.c (lhd_do_nothing_i): New.
8245 (lhd_set_yydebug): Remove.
8246 * langhooks.h (struct lang_hooks): Update.
8247 * toplev.c (set_yydebug): New.
8248 (compile_file): Update call to parse_file hook.
8249 (decode_d_option): Update.
8250objc:
8251 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
8252
fcae219a
R
8253Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
8254
8255 * loop.c (load_mems): Don't change the interface of called functions.
8256
8257 * calls.c (expand_call): Take current_function_pretend_args_size
8258 into account when setting argblock for sibcalls.
8259
d0fea45a
MH
82602002-04-24 Matt Hiller <hiller@redhat.com>
8261
8262 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
8263 * c-lex.c: Ditto.
8264
8265 * cpplex.c (skip_line_comment): Process comment one multibyte
8266 character at a time rather than one char at a time, if
8267 appropriate.
8268 (parse_string): Process string one multibyte character at a time
8269 rather than one char at a time, if appropriate.
8270 * c-lex.c (lex_string): Lex and copy multibyte strings
8271 appropriately.
8272 * cpplib.h (cppchar_t): Change to unsigned.
8273
2d1b5436
RH
82742002-04-24 Richard Henderson <rth@redhat.com>
8275
8276 PR c/3467
8277 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
8278 for c99.
8279
5e039e6b
R
8280Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
8281
8282 * sh.c (sh_va_arg): If argument was passed by reference,
8283 dereference the pointer.
309d8365
R
8284
8285 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
8286
8287 * sh.md (divsi3_i4_media): Use match_operand for input values
8288 rather than hard registers.
8289 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
8290 unnecessarily through hard registers. Keep copies of pseudo
8291 registers outside of the libcall sequence.
8292
8293 * sh.md (casesi_shift_media): Add modes.
b700634a
R
8294
8295 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
8296 values in memory.
8297
349ae713
NB
82982002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
8299
8300 * attribs.c (c_common_attribute_table): Move table and handlers
8301 to c-common.c.
8302 (format_attribute_table, lang_attribute_table,
8303 lang_attribute_common): Remove.
8304 (init_attributes): Replace NULL pointers with pointers to the
8305 empty table.
8306 (handle_packed_attribute, handle_nocommon_attribute,
8307 handle_common_attribute, handle_noreturn_attribute,
8308 handle_noinline_attribute, handle_always_inline_attribute,
8309 handle_used_attribute, handle_unused_attribute,
8310 handle_const_attribute, handle_transparent_union_attribute,
8311 handle_constructor_attribute, handle_destructor_attribute,
8312 handle_mode_attribute, handle_section_attribute,
8313 handle_aligned_attribute, handle_weak_attribute,
8314 handle_alias_attribute, handle_visibility_attribute,
8315 handle_no_instrument_function_attribute, handle_malloc_attribute,
8316 handle_no_limit_stack_attribute, handle_pure_attribute,
8317 handle_deprecated_attribute, handle_vector_size_attribute,
8318 vector_size_helper): Move to c-common.c.
8319 * c-common.c (c_common_attribute_table,
8320 handle_packed_attribute, handle_nocommon_attribute,
8321 handle_common_attribute, handle_noreturn_attribute,
8322 handle_noinline_attribute, handle_always_inline_attribute,
8323 handle_used_attribute, handle_unused_attribute,
8324 handle_const_attribute, handle_transparent_union_attribute,
8325 handle_constructor_attribute, handle_destructor_attribute,
8326 handle_mode_attribute, handle_section_attribute,
8327 handle_aligned_attribute, handle_weak_attribute,
8328 handle_alias_attribute, handle_visibility_attribute,
8329 handle_no_instrument_function_attribute, handle_malloc_attribute,
8330 handle_no_limit_stack_attribute, handle_pure_attribute,
8331 handle_deprecated_attribute, handle_vector_size_attribute,
8332 vector_size_helper): Move from attribs.c.
8333 * c-common.h (c_common_attribute_table,
8334 c_common_format_attribute_table): New.
8335 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
8336 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
8337 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
8338 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
8339 (LANG_HOOKS_INITIALIZER): Update.
8340 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
8341 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
8342 * target.h: Update comment.
8343 * tree.c (default_target_attribute_table): Remove.
8344 * tree.h (default_target_attribute_table, format_attribute_table,
8345 lang_attribute_table, lang_attribute_common): Remove.
8346objc:
8347 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
8348 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
8349
84f0ace0
JM
83502002-04-24 Jason Merrill <jason@redhat.com>
8351
8352 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
8353 * dwarf2out.c (dwarf_attr_name): Support it.
8354 (gen_array_type_die): Emit it.
8355 (lookup_type_die): No special handling for VECTOR_TYPE.
8356 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
8357
120eaf28
RH
83582002-04-24 Richard Henderson <rth@redhat.com>
8359
8360 * config/mips/mips.md (movdi_usd): Renumber.
8361
e732178c
DM
83622002-04-24 David S. Miller <davem@redhat.com>
8363
8364 PR target/6420
8365 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
8366 32-bit Sparc and current_function_returns_struct is true.
8367
e879eb2f
JH
8368Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
8369
8370 * loop.c (canonicalize_condition): Use gen_int_mode.
8371
4287a893
AH
83722002-04-24 Aldy Hernandez <aldyh@redhat.com>
8373
8374 * config/rs6000/altivec.h: Cleanup file. Add non individual
8375 variants.
8376 (vec_vaddubm): New.
8377 (vec_vadduhm): New.
8378 (vec_vadduwm): New.
8379 (vec_vaddfp): New.
8380 (vec_vaddcuw): New.
8381 (vec_vaddubs): New.
8382 (vec_vaddsbs): New.
8383 (vec_vadduhs): New.
8384 (vec_vadduws): New.
8385 (vec_vaddsws): New.
8386 (vec_vand): New.
8387 (vec_vandc): New.
8388 (vec_vavgub): New.
8389 (vec_vavgsb): New.
8390 (vec_vavguh): New.
8391 (vec_vavgsh): New.
8392 (vec_vavguw): New.
8393 (vec_vavgsw): New.
8394 (vec_vrfip): New.
8395 (vec_vcmpbfp): New.
8396 (vec_vcmpequb): New.
8397 (vec_vcmpequh): New.
8398 (vec_vcmpequw): New.
8399 (vec_vcmpeqfp): New.
8400 (vec_vcmpgefp): New.
8401 (vec_vcmpgtub): New.
8402 (vec_vcmpgtsb): New.
8403 (vec_vcmpgtuh): New.
8404 (vec_vcmpgtsh): New.
8405 (vec_vcmpgtuw): New.
8406 (vec_vcmpgtsw): New.
8407 (vec_vcmpgtfp): New.
8408 (vec_vcmpgefp): New.
8409 (vec_vcfux): New.
8410 (vec_vcfsx): New.
8411 (vec_vctsxs): New.
8412 (vec_vctuxs): New.
8413 (vec_vexptefp): New.
8414 (vec_vrfim): New.
8415 (vec_lvx): New.
8416 (vec_lvebx): New.
8417 (vec_lvehx): New.
8418 (vec_lde): Add vector float variant.
8419 (vec_lvewx): New.
8420 (vec_lvxl): New.
8421 (vec_vlogefp): New.
8422 (vec_vmaddfp): New.
8423 (vec_vmhaddshs): New.
8424 (vec_vmaxub): New.
8425 (vec_vmaxsb): New.
8426 (vec_vmaxuh): New.
8427 (vec_vmaxsh): New.
8428 (vec_vmaxuw): New.
8429 (vec_vmaxsw): New.
8430 (vec_vmaxsw): New.
8431 (vec_vmaxfp): New.
8432 (vec_vmrghb): New.
8433 (vec_vmrghh): New.
8434 (vec_vmrghw): New.
8435 (vec_vmrglb): New.
8436 (vec_vmrglh): New.
8437 (vec_vmrglw): New.
8438 (vec_vminub): New.
8439 (vec_vminsb): New.
8440 (vec_vminuh): New.
8441 (vec_vminsh): New.
8442 (vec_vminuw): New.
8443 (vec_vminsw): New.
8444 (vec_vminfp): New.
8445 (vec_vmladduhm): New.
8446 (vec_vmhraddshs): New.
8447 (vec_msumubm): New.
8448 (vec_vmsummbm): New.
8449 (vec_vmsumuhm): New.
8450 (vec_vmsumshm): New.
8451 (vec_vmsumuhs): New.
8452 (vec_vmsumshs): New.
8453 (vec_vmuleub): New.
8454 (vec_vmulesb): New.
8455 (vec_vmuleuh): New.
8456 (vec_vmulesh): New.
8457 (vec_vmuloub): New.
8458 (vec_mulosb): New.
8459 (vec_vmulouh): New.
8460 (vec_vmulosh): New.
8461 (vec_vnmsubfp): New.
8462 (vec_vnor): New.
8463 (vec_vor): New.
8464 (vec_vpkuhum): New.
8465 (vec_vpkuwum): New.
8466 (vec_vpkpx): New.
8467 (vec_vpkuhus): New.
8468 (vec_vpkshss): New.
8469 (vec_vpkuwus): New.
8470 (vec_vpkswss): New.
8471 (vec_vpkshus): New.
8472 (vec_vpkswus): New.
8473 (vec_vperm): New.
8474 (vec_vrefp): New.
8475 (vec_vrlb): New.
8476 (vec_vrlh): New.
8477 (vec_vrlw): New.
8478 (vec_vrfin): New.
8479 (vec_vrsqrtefp): New.
8480 (vec_vsel): New.
8481 (vec_vslb): New.
8482 (vec_vslh): New.
8483 (vec_vslw): New.
8484 (vec_vsldoi): New.
8485 (vec_vsl): New.
8486 (vec_vslo): New.
8487 (vec_vspltb): New.
8488 (vec_vsplth): New.
8489 (vec_vspltw): New.
8490 (vec_vspltisb): New.
8491 (vec_vspltish): New.
8492 (vec_vspltisw): New.
8493 (vec_vsrb): New.
8494 (vec_vsrh): New.
8495 (vec_vsrw): New.
8496 (vec_vsrab): New.
8497 (vec_vsrah): New.
8498 (vec_vsraw): New.
8499 (vec_vsr): New.
8500 (vec_vsro): New.
8501 (vec_stvx): New.
8502 (vec_stvebx): New.
8503 (vec_stvehx): New.
8504 (vec_stvewx): New.
8505 (vec_stvxl): New.
8506 (vec_vsububm): New.
8507 (vec_vsubuhm): New.
8508 (vec_vsubuwm): New.
8509 (vec_vsubfp): New.
8510 (vec_vsubcuw): New.
8511 (vec_vsububs): New.
8512 (vec_vsubsbs): New.
8513 (vec_vsubuhs): New.
8514 (vec_vsubshs): New.
8515 (vec_vsubuws): New.
8516 (vec_vsubsws): New.
8517 (vec_vsum4ubs): New.
8518 (vec_vsum4sbs): New.
8519 (vec_vsum4shs): New.
8520 (vec_vsum2sws): New.
8521 (vec_vsumsws): New.
8522 (vec_vrfiz): New.
8523 (vec_vupkhsb): New.
8524 (vec_vupkhpx): New.
8525 (vec_vupkhsh): New.
8526 (vec_vupklsb): New.
8527 (vec_vupklpx): New.
8528 (vec_vupklsh): New.
8529 (vec_vxor): New.
8530
cff27795
EB
85312002-04-23 Eric Botcazou <ebotcazou@multimania.com>
8532
8533 PR c/5430
8534 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
8535 added literals from substracted literals.
8536 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
8537 (fold) [associate]: Preserve MINUS_EXPR if needed.
8538
952bca84
ZW
85392002-04-23 Zack Weinberg <zack@codesourcery.com>
8540
8541 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
8542 are obsoleted.
8543
50cb2154
TT
85442002-04-23 Tom Tromey <tromey@redhat.com>
8545
8546 * gcc.c: Added --resource. For PR java/6314.
8547
271f61fb
DB
85482002-04-23 David O'Brien <obrien@FreeBSD.org>
8549
9566d1e9 8550 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
8551 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
8552 these libraries.
8553
bdabbc80
DB
85542002-04-23 David O'Brien <obrien@FreeBSD.org>
8555
8556 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
8557
74411039
JH
8558Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
8559
8560 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
8561 workaround.
8562 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
8563 (ix86_expand_clrstr): Fix typo.
8564 * loop.c (gen_load_of_final_value): New.
8565 (loop_givs_rescan, strength_reduce, check_dbra_loop):
8566 Use it.
8567
1a887f86
RS
85682002-04-23 Roger Sayle <roger@eyesopen.com>
8569
8570 * builtins.c (builtin_memset_gen_str): New function.
8571 (expand_builtin_memset): Optimize the case of constant length, but
8572 unknown value.
8573
8d3441e0
AH
85742002-04-23 Aldy Hernandez <aldyh@redhat.com>
8575
cff27795
EB
8576 * config/rs6000/altivec.h (vec_step): Remove extraneous
8577 parentheses.
8578 (vec_ctu): Cast return.
8d3441e0 8579
f6f315fe
AM
85802002-04-23 Alan Modra <amodra@bigpond.net.au>
8581
8582 PR target/6413
8583 * function.h: (struct function): Add profile_label_no field.
8584 (current_function_profile_label_no): Define.
8585 * function.c: (profile_label_no): New static var.
8586 (expand_function_start): Increment it, and copy to
8587 current_function_profile_label_no.
8588 * output.h (profile_label_no): Delete.
8589 * final.c (profile_label_no): Delete.
8590 (profile_function): Use current_function_profile_label_no.
8591 (final_end_function): Don't increment profile_label_no here.
8592 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
8593 profile_label_no with current_function_profile_label_no.
8594 * config/pa/pa.c (current_function_number): Delete.
8595 (pa_output_function_prologue): Don't output profile label here.
8596 (hppa_profile_hook): Use label_no param rather than
8597 current_function_number.
8598 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
8599 * config/pa/pa.h: .. here.
8600 (FUNCTION_PROFILER): Output profile label here.
8601
d239cdc0
EC
86022002-04-22 Eric Christopher <echristo@redhat.com>
8603
8604 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
8605 patch of 2002-04-09 due to binutils issues.
8606 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
8607
04428ad4
AH
86082002-04-22 Aldy Hernandez <aldyh@redhat.com>
8609
cff27795
EB
8610 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
8611 constraint to 'o' for m=r and r=m alternatives.
8612 ("*movv8hi_internal1"): Same.
8613 ("*movv16qi_internal1"): Same.
8614 ("*movv4sf_internal1"): Same.
04428ad4 8615
2adc7f12
JJ
86162002-04-22 Janis Johnson <janis187@us.ibm.com>
8617
8618 * rtl.h (RTX_FLAG): New macro.
8619 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
8620 * final.c (alter_subreg): Use macro to access rtx flag.
8621 * integrate.c (copy_rtx_and_substitute): Use new access macro.
8622 * print-rtl.c (print_rtx): Use new access macro.
8623
8624 * cse.c (insert): Check rtx code before accessing flag.
8625
8626 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
8627 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
8628 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
8629 convert_const_symbol_ref, make_canonical, make_alternative_compare,
8630 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
8631 simplify_test_exp, optimize_attrs, simplify_by_exploding,
8632 find_and_mark_used_attributes, unmark_used_attributes,
8633 add_values_to_cover, simplify_with_current_value,
8634 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
8635 copy_rtx_unchanging, main): Use new access macros.
8636
b7c89afe
TR
86372002-04-22 Tom Rix <trix@redhat.com>
8638
8639 * expmed.c (init_expmed): Generate shifted constant once.
8640
9340544b
ZW
86412002-04-22 Zack Weinberg <zack@codesourcery.com>
8642
8643 * c-lex.c (lex_charconst): Call convert to get constant in
8644 proper type; don't just smash the type field.
8645 Fixes PR c/6300.
8646
8647 * config.gcc: Add list of obsolete configurations. Disallow
8648 building these without --enable-obsolete.
8649 * doc/install.texi: Document --enable-obsolete and obsoletion
8650 policy. Mention obsoletion of individual targets in
8651 appropriate places.
8652
f942d7a5
RH
86532002-04-22 Richard Henderson <rth@redhat.com>
8654
8655 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
8656
86572002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
8658
8659 PR f/6138.
8660 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
8661 (walk_fixup_memory_subreg): Likewise.
8662 (fixup_var_refs_insn): Adjust accordingly.
8663 (fixup_var_refs_1): Likewise.
8664
232b0b45
UW
86652002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
8666
8667 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
8668 LIBPATH_ARCH64_SPEC): Define.
8669 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
8670 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
8671 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
8672 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
8673
1b61552b
JS
86742002-04-22 Joel Sherrill <joel@OARcorp.com>
8675
8676 * gthr-rtems.h: Correct prototypes to remove warnings.
8677
0fe854a7
RH
86782002-04-22 Richard Henderson <rth@redhat.com>
8679
8680 PR c/6344
8681 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
8682
8683 * gcse.c (free_insn_expr_list_list): New.
8684 (clear_modify_mem_tables): Use it. Fix bit set usage.
8685 (canon_list_insert): Use EXPR_LISTs for expressions.
8686 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
8687
af0d16cd
NB
86882002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
8689
8690 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
8691 file change and include code to _cpp_pop_buffer.
8692 * cpphash.h (struct pending_option): Predeclare.
8693 (struct cpp_reader): New member next_include_file.
8694 (_cpp_pop_file_buffer): Update.
8695 (_cpp_push_next_buffer): Update, rename.
8696 * cppinit.c (cpp_destroy): Free include chain and pending here.
8697 (cpp_finish_options): Simplify.
8698 (_cpp_push_next_buffer): Rename and clean up.
8699 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
8700 Clarify.
8701 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
8702
0d918572
AH
87032002-04-22 Aldy Hernandez <aldyh@redhat.com>
8704
0fe854a7
RH
8705 * config/rs6000/altivec.h (vec_xor): Add variant for both args
8706 being vector signed int.
8707 (vec_andc): Same.
8708 (vec_xor): Add variant for both args being vector signed char.
8709 Remove redundant variant.
8710 (vec_andc): Same.
0d918572 8711
77e2c290
DM
87122002-04-21 David S. Miller <davem@redhat.com>
8713
8714 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
8715 compare mode in output RTL.
8716
ee2ca2a2
DE
87172002-04-22 David Edelsohn <edelsohn@gnu.org>
8718
8719 * config/rs6000/rs6000.c (rs6000_override_options): Correct
8720 style and formatting of previous patch.
8721
894bdff6
AM
87222002-04-22 Alan Modra <amodra@bigpond.net.au>
8723
8724 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
8725 flag_pic for ABI_AIX.
8726
562a5c27
NB
87272002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
8728
8729 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
8730 * cppfiles.c (read_include_file): Similarly.
8731 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
8732 uxstrdup ustrchr, ufputs): Similarly.
8733 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
8734 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
8735 cpp_ideq, parse_identifier, parse_number): Similarly.
8736 * cpplib.c (struct directive, dequote_string, D, run_directive,
8737 cpp_push_buffer): Similarly.
8738 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
8739 _cpp_create_definition, check_trad_stringification,
8740 cpp_macro_definition): Similarly.
8741
9ac3b1be
NB
87422002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
8743
8744 * cppmacro.c (funlike_invocation_p): Don't step back
8745 over CPP_EOF.
8746
9dda4cc8
DE
87472002-04-21 David Edelsohn <edelsohn@gnu.org>
8748
8749 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
8750 labelno.
8751
20764052
JM
87522002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
8753
8754 * doc/invoke.texi: Remove Chill references.
8755 * doc/gcc.texi: Update last modified date.
8756
26b29884
KH
87572002-04-20 Kazu Hirata <kazu@hxi.com>
8758
8759 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
8760 push and pop. Replace add.l with add.w.
8761
59184677
TM
87622002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
8763
8764 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
8765 multiply instructions for H8/300H case.
8766
b1113e0a
TM
87672002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
8768
8769 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
8770 Bum three instructions from each routine.
8771
b03e38e1
NB
87722002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
8773
8774 * Makefile.in: Update.
8775 * decl.c (push_c_function_context, pop_c_function_context,
8776 mark_c_function_context): Rename for consistency.
8777 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
8778 * c-tree.h (push_c_function_context, pop_c_function_context,
8779 mark_c_function_context): Rename for consistency.
8780 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
8781 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
8782 * function.c (init_lang_status, save_lang_status,
8783 restore_lang_status, mark_lang_status, free_lang_status):
8784 Move to langhooks.h.
8785 (push_function_context_to, pop_function_context_from,
8786 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
8787 Update.
8788 * function.h (init_lang_status, save_lang_status,
8789 restore_lang_status, mark_lang_status, free_lang_status):
8790 Move to langhooks.h.
8791 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
8792 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
8793 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
8794 LANG_HOOKS_FUNCTION_INITIALIZER): New.
8795 (LANG_HOOKS_INITIALIZER): Update.
8796 (lhd_do_nothing_f): New.
8797 * langhooks.h (struct lang_hooks_for_functions): New.
8798 (struct lang_hooks): New hooks.
8799 * langhooks.c (lhd_do_nothing_f): New.
8800objc:
8801 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
8802 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
8803
db430d26
DM
88042002-04-19 David S. Miller <davem@redhat.com>
8805
8806 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
8807 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
8808
0f2a3457
JJ
88092002-04-19 Jakub Jelinek <jakub@redhat.com>
8810
8811 PR optimization/3756
8812 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
8813 x = ((int) y < 0) ? cst1 : cst2.
8814
ce5e43d0
JJ
88152002-04-19 Jakub Jelinek <jakub@redhat.com>
8816
8817 PR c/6358
8818 * function.c: Reapply patch for c/6358.
8819 (expand_function_end): Copy decl_rtl's mode, not
8820 current_function_return_rtx mode.
8821
88222002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
8823
8824 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
8825 targets.
8826
40e7f8ea
TT
88272002-04-19 Tom Tromey <tromey@redhat.com>
8828
8829 * doc/install.texi (Specific): Update status of Solaris 2.8.
8830 For PR libgcj/6158.
8831
62a12b27
AS
88322002-04-19 Andreas Schwab <schwab@suse.de>
8833
8834 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
8835 (PUT_REAL): Restore old definition.
8836
1405141b
DN
88372002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
8838 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8839
8840 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
8841 binutils 2.11.2 and higher generate smaller binaries than Sun's
8842 native tools.
8843
303a3927
MM
88442002-04-19 Mark Mitchell <mark@codesourcery.com>
8845
8846 PR c++/6352
8847 * toplev.c (rest_of_compilation): Do not defer functions for which
8848 TREE_SYMBOL_REFERENCED has already been set.
8849
de80110b
JH
8850Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
8851
8852 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
8853 alternative.
8854
ab393bf1
NB
88552002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
8856
8857 * builtins.c: Include langhooks.h.
8858 (lang_type_promotes_to): Remove.
8859 (expand_builtin_va_arg): Use new hook.
8860 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
8861 (simple_type_promotes_to): Move to c-typeck.c.
8862 * c-common.h (simple_type_promotes_to): Remove.
8863 * c-decl.c (duplicate_decls, grokdeclarator): Update.
8864 * c-format.c: Include langhooks.h.
8865 (check_format_types): Update.
8866 * c-tree.h (c_type_promotes_to): New.
8867 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
8868 (type_lists_compatible_p): Update.
8869 * langhooks-def.h (lhd_type_promotes_to): New.
8870 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
8871 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
8872 * langhooks.c (lhd_type_promotes_to): New.
8873 * langhooks.h (struct lang_hooks_for_types): New hook.
8874 * tree.h (lang_type_promotes_to): Remove.
8875objc:
8876 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
8877
0cd3301b
RH
88782002-04-18 Richard Henderson <rth@redhat.com>
8879
58533fa2 8880 * function.c: Revert patch for c/6358.
0cd3301b
RH
8881
88822002-04-18 Richard Henderson <rth@redhat.com>
8883
58533fa2
RH
8884 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
8885 blocks. Handle multiple references to the TRAP block. Handle
8886 non-adjacent THEN and OTHER blocks.
0cd3301b 8887
58533fa2
RH
88882002-04-18 Richard Henderson <rth@redhat.com>
8889
8890 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
8891 crash with no type for by-mode libcalls.
8892
8893 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 8894
57174693
BW
88952002-04-18 Bob Wilson <bob.wilson@acm.org>
8896
8897 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
8898 __xtensa_nonlocal_goto): Use a syscall instructions to flush
8899 the register windows.
8900
46468cd9
ZW
89012002-04-18 Zack Weinberg <zack@codesourcery.com>
8902
8903 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
8904 appropriate. Document need for extended precision even when
8905 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
8906 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
8907 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
8908 instead of relying on later syntax error when REAL_WIDTH > 5.
8909 * real.c: Define NE based only on whether or not we have a
8910 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
8911 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
8912 define GET_REAL and PUT_REAL as simple memcpy operations; no
8913 need to byteswap or round.
8914 Use #error instead of #ifdef-ing out the entire file, for
8915 prompt error detection.
8916
8917 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
8918
2f82dbf8
DM
89192002-04-18 David S. Miller <davem@redhat.com>
8920
8921 * config/sparc/sparc.h (BRANCH_COST): Define.
8922
8923 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
8924 does it.
8925
566576e7
HPN
89262002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
8927
8928 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
8929 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
8930 propagate_block calls after relaxation loop using new variable
8931 stabilized_prop_flags.
8932
51dcde6f
RH
89332002-04-18 Richard Henderson <rth@redhat.com>
8934
8935 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
8936 (ia64_va_arg): Expect variable sized types by reference.
8937 * config/ia64/ia64-protos.h: Update.
46468cd9 8938 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
8939 ia64_function_arg_pass_by_reference.
8940
26406018
RH
89412002-04-18 Richard Henderson <rth@redhat.com>
8942
46468cd9
ZW
8943 * ifcvt.c: Include except.h.
8944 (block_has_only_trap): Break out from find_cond_trap.
8945 (find_cond_trap): Use it. Always delete the trap block.
8946 (merge_if_block): Allow then block null. Be less simplistic about
8947 what insns can end a block.
8948 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 8949
26406018
RH
8950 * config/ia64/ia64.md (trap, conditional_trap): New.
8951
a3acf46d
JJ
89522002-04-18 Jakub Jelinek <jakub@redhat.com>
8953
8954 PR c/6358
8955 * function.c (assign_parms): Assign hard current_function_return_rtx
8956 register here...
8957 (expand_function_end): ...not here.
8958
7a228918
NB
89592002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
8960
8961 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
8962 * c-tree.h (c_incomplete_type_error): New.
8963 * c-typeck.c (require_complete_type, build_component_ref): Update.
8964 (incomplete_type_error): Rename.
8965 * langhooks-def.h (lhd_incomplete_type_error): New.
8966 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
8967 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
8968 * langhooks.c (lhd_incomplete_type_error): New.
8969 * langhooks.h (struct lang_hooks_for_types): New hook.
8970 * tree.c (size_in_bytes): Use new hook.
8971 * tree.h (incomplete_type_error): Remove.
8972objc:
8973 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
8974
f18664c1
ZW
89752002-04-18 Zack Weinberg <zack@codesourcery.com>
8976
8977 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
8978 TARGET_FLOAT_FORMAT blocks.
8979
8ecab453
GP
89802002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8981
8982 * doc/install.texi (Downloading the source): Do not mention Chill
8983 any longer, but mention Ada.
8984 (Configuration): Do not mention Chill any longer.
8985
528d8489
HPN
89862002-04-18 Hans-Peter Nilsson <hp@axis.com>
8987
8988 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
8989
91da27c5
JH
8990Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
8991
8992 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
8993 in last patch.
8994
a32db605
JJ
89952002-04-18 Jakub Jelinek <jakub@redhat.com>
8996
8997 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
8998 instead of unsigned_type.
8999
5a28d8cc
JH
9000Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
9001
9002 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
9003 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
9004 later.
9005
3d980b9f
BS
90062002-04-18 Bernd Schmidt <bernds@redhat.com>
9007
9008 * attribs.c (vector_type_node_list): New static variable.
9009 (handle_vector_size_attribute): Use it to avoid generating a
9010 new type node each time we are called.
9011
2e676d78
BS
9012 * combine.c (subst): Avoid trying to make a vector mode subreg of
9013 an integer constant.
9014 (gen_lowpart_for_combine): Likewise.
46468cd9 9015
58c2956c
RS
90162002-04-18 Roger Sayle <roger@eyesopen.com>
9017 Jakub Jelinek <jakub@redhat.com>
9018
9019 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
9020 for integer constant c (if x has unsigned type or sign bit is not
9021 set in c). This folds the zero/sign extension into the bit-wise and
9022 operation.
9023
692efa8e
JJ
90242002-04-18 Jakub Jelinek <jakub@redhat.com>
9025
9026 PR middle-end/6205
9027 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
9028 otherwise xorps.
9029
1372d4ce
NY
90302002-04-17 NIIBE Yutaka <gniibe@m17n.org>
9031
9032 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
9033
169ce44d
NC
90342002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
9035
9036 * gcc.c (read_specs): Detect and fail if an attempt is made to
9037 rename a spec string to an already existing string.
9038
b30d2115
UW
90392002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
9040
9041 * config/s390/s390.c (legitimize_pic_address): Do not generate
9042 illegal address constant without CONST.
9043
d6964c30
KG
90442002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9045
9046 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
9047 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
9048
7c82a1ed
UW
90492002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
9050
9051 PR optimization/6305
9052 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
9053 to make sure previous reloads are taken into account. Generate
9054 better code if one operand is an in-range immediate constant.
9055
58db9d1a
AH
90562002-04-16 Andrew Haley <aph@cambridge.redhat.com>
9057
9058 * doc/install.texi (Building): libgcj requires GNU make.
9059
2a732575
JJ
90602002-04-17 Jakub Jelinek <jakub@redhat.com>
9061
9062 PR bootstrap/6315
9063 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
9064 even if hard quad and register is not floating.
9065 (movtf reg<-mem split): Disallow splitting if hard quad and
9066 register is floating.
9067 (movtf mem<-reg split): Likewise.
9068 * config/sparc/sparc.c (fp_register_operand): New predicate.
9069 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
9070
75a65e46
ZW
90712002-04-17 Zack Weinberg <zack@codesourcery.com>
9072
9073 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
9074 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
9075 (unprotoize.o): Ditto. Build from protoize.c. Define
9076 UNPROTOIZE on command line.
9077 * protoize.c: Include cppdefault.h. Delete include_defaults.
9078 (in_system_include_dir): Use cpp_include_defaults (defined in
9079 cppdefault.o).
9080 * unprotoize.c: Delete file.
9081
650f0e97
AH
90822002-04-17 Aldy Hernandez <aldyh@redhat.com>
9083
46468cd9
ZW
9084 * config/rs6000/altivec.h (vec_ld): Add array variants.
9085 (vec_lde): Same.
9086 (vec_ldl): Same.
650f0e97 9087
71a0ab0c 90882002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 9089 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 9090
46468cd9
ZW
9091 * config/rs6000/altivec.h: Define __ALTIVEC__.
9092 (bool): New.
9093 (__pixel): New.
9094 (pixel): New.
9095 (vec_cfux): New.
9096 (vec_vmaddfp): New.
9097 (vec_vsldoi): New.
9098 Add parentheses to all macro arguments.
71a0ab0c 9099
ff2c46ac
RH
91002002-04-16 Richard Henderson <rth@redhat.com>
9101
9102 PR c++/6320
9103 * except.c (remove_eh_handler): Insert inner regions at beginning
9104 of sibling chain. Refactor expressions.
9105
f1ba94dd
RH
91062002-04-16 Richard Henderson <rth@redhat.com>
9107
f0871dfe
RH
9108 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
9109 * config/sparc/sol2-gas-bi.h: New file.
9110 * config.gcc (sparc*-solaris): Add it as needed.
9111 * configure.in (AS_SPARC64_FLAG): Remove check.
9112 * config.in, configure: Regenerate.
9113
9114 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
9115
91162002-04-16 Richard Henderson <rth@redhat.com>
9117
9118 * config/mips/mips.c (override_options): Don't override N32 for
9119 a 64-bit ISA.
409d3c60 9120
f1ba94dd
RH
9121 PR 6202
9122 * config/mips/mips.md (can_delay): Split out of existing define_delays.
9123 (HILO_delay): Set can_delay false.
9124
178c3eff
DJ
91252002-04-16 Dale Johannesen <dalej@apple.com>
9126
9127 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
9128 instruction addresses.
9129 (rs6000_output_function_epilogue): Likewise.
9130
7d6f6369
PC
91312002-04-16 Paolo Carlini <pcarlini@unitus.it>
9132
9133 * c-parse.in (poplevel, compstmt_start,
9134 compstmt_primary_start): Add ending ';', in accordance
9135 with POSIX.
9136
8947df0c
RH
91372002-04-16 Richard Henderson <rth@redhat.com>
9138
9139 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
9140 Adjust tm_file order to get TARGET_DEFAULT set properly.
9141 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
9142 * doc/install.texi (sparc-solaris): Update.
9143
3148ad6d
DJ
91442002-04-16 Dale Johannesen <dalej@apple.com>
9145
9146 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
9147 comparison operands do not match each other or if modes of
9148 conditions do not match result.
9149
014cb9b6 91502002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 9151
014cb9b6
HP
9152 PR target/6305
9153 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 9154 multiword register.
562a69be 9155
014cb9b6 91562002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 9157
8947df0c 9158 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 9159
a9772b60
JJ
91602002-04-16 Jakub Jelinek <jakub@redhat.com>
9161
9162 PR middle-end/6279
9163 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
9164
9165 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
9166
861829ed
RH
91672002-04-15 Richard Henderson <rth@redhat.com>
9168
9169 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
9170 call_really_used_regs too.
9171
bcf2fe9c
RH
91722002-04-15 Richard Henderson <rth@redhat.com>
9173
9174 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
9175
629111c7
DM
91762002-04-15 David S. Miller <davem@redhat.com>
9177
9178 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
9179 as being CLOBBERed.
9180
98ef3137
JJ
91812002-04-16 Jakub Jelinek <jakub@redhat.com>
9182
9183 PR c/6290
9184 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
9185 CONST_VECTOR is { 0, ... 0 }.
9186
0aa911c5
LR
91872002-04-15 Loren J. Rittle <ljrittle@acm.org>
9188
9189 * doc/install.texi (Installing GCC: Configuration): Clarify
9190 the only supported ways to configure gcc.
9191
83248d49 91922002-04-15 Roland McGrath <roland@frob.com>
46468cd9 9193
83248d49
RM
9194 * config.gcc (alpha*-*-gnu*): New target configuration.
9195 * config/alpha/gnu.h: New file for it.
9196 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
9197
b2123dc0
MM
91982002-04-16 Mark Mitchell <mark@codesourcery.com>
9199
9200 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
9201 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
9202 * tree.h (expand_start_stmt_expr): Update prototype.
9203 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
9204 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
9205 on the STMT_EXPR created for the inline function.
46468cd9 9206
8fe2d853
RH
92072002-04-15 Richard Henderson <rth@redhat.com>
9208
9209 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
9210 config/i386/linux-aout.h, config/i386/linux-oldld.h,
9211 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
9212 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
9213 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
9214 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
9215 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
9216 Define __gnu_linux__, not gnu_linux.
9217 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
9218
07cdae91
MM
92192002-04-15 Mark Mitchell <mark@codesourcery.com>
9220
9221 Remove Chill front end.
9222 * gcc.c (default_compilers): Remove Chill entries.
9223 * ch: Remove directory.
9224 * doc/frontends.texi: Remove information about Chill.
9225 * doc/sourcebuild.texi: Likewise.
9226 * doc/standards.texi: Likewise.
9227
41823c5e
DR
92282002-04-15 Douglas B Rupp <rupp@gnat.com>
9229
9230 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
9231 (LONGLONG_STANDALONE): Define.
9232
eb29ddb6
DM
92332002-04-15 David S. Miller <davem@redhat.com>
9234
9235 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
9236 Call emit_library_call with LCT_NORMAL.
9237 (sparc_initialize_trampoline): Use LCT_foo instead of
9238 magic constant in emit_library_call invocations.
9239 (sparc64_initialize_trampoline): Likewise.
9240 (sparc_profile_hook): Likewise.
9241 * config/sparc/sparc.md: Likewise.
9242
9243 * config/sparc/sparc.c (sparc_extra_constraint_check):
9244 Fix type of argument 'c'.
9245 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
9246 Likewise.
9247
bd6bec6b
GDR
92482002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
9249
9250 * diagnostic.h (output_buffer_state): Redefine.
9251 (output_format_decoder): New macro.
9252 (output_prefixing_rule): Likewise.
9253 (output_line_cutoff): Likewise.
9254 (diagnostic_format_decoder): Adjust.
9255 (diagnostic_prefixing_rule): Likewise.
9256 (diagnostic_line_cutoff): Likewise.
9257 (diagnostic_state): Likewise.
9258 (diagnostic_kind_count): Likewise.
9259 (diagnostic_buffer): Now a macro.
9260
9261 * diagnostic.c (diagnostic_buffer): Remove definition.
9262 (output_is_line_wrapping): Adjust.
9263 (set_real_maximum_length): Likewise.
9264 (output_set_maximum_length): Likewise.
9265 (init_output_buffer): Likewise.
9266 (lhd_print_error_function): Likewise.
9267 (output_do_verbatim): Likewise.
9268
ebef4e8c
NB
92692002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
9270
9271 * cpperror.c (print_location): Don't print include chain
9272 if line == 0.
9273 (cpp_begin_message): Update to use DL_ macros.
9274 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
9275 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
9276 cpp_notice, cpp_notice_from_errno): Remove.
9277 (cpp_error, cpp_error_with_line): Update to take a diagnostic
9278 level.
9279 (cpp_errno): New.
9280 * cppexp.c (CPP_ICE): Remove.
9281 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
9282 lex, integer_overflow, _cpp_parse_expr): Update.
9283 * cppfiles.c (read_include_file, find_include_file,
9284 handle_missing_header, _cpp_read_file, remap_filename): Update.
9285 * cpphash.h (enum error_type): Remove.
9286 (_cpp_begin_message): Update.
9287 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
9288 cpp_handle_option, cpp_post_options): Update.
9289 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
9290 skip_whitespace, parse_identifier, parse_slow, parse_string,
9291 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
9292 cpp_interpret_charconst): Update.
9293 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
9294 lex_macro_node, do_undef, glue_header_name, parse_include,
9295 do_include_common, read_flag, do_line, do_linemarker, do_ident,
9296 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
9297 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
9298 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
9299 _cpp_pop_buffer, do_diagnostic): Update.
9300 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
9301 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
9302 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
9303 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
9304 cpp_notice, cpp_notice_from_errno): Remove.
9305 (cpp_error, cpp_error_with_line): Update to take a diagnostic
9306 level.
9307 (cpp_errno): New.
9308 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
9309 collect_args, enter_macro_context, save_parameter, parse_params,
9310 _cpp_create_definition, check_trad_stringification,
9311 cpp_macro_definition): Update.
9312 * cppmain.c (cpp_preprocess_file): Update.
9313 * fix-header.c (read_scan_file): Update.
9314
c19a3859
AS
93152002-04-14 Andreas Schwab <schwab@suse.de>
9316
9317 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
9318
10fdbed6
JD
93192002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
9320
9321 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
9322
77660a9a
MM
93232002-04-13 Mark Mitchell <mark@codesourcery.com>
9324
9325 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
9326 not gnu_hurd.
9327
e0ff1ded
HPN
93282002-04-13 Hans-Peter Nilsson <hp@axis.com>
9329
9330 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
9331
2341c7ea
JS
93322002-04-13 Joel Sherrill <joel@OARcorp.com>
9333
9334 * config/sparc/t-elf: Enable v8 multilibs. Impacts
9335 sparc-elf and sparc-rtems targets.
9336
d29350c0
MM
93372002-04-13 Mark Mitchell <mark@codesourcery.com>
9338
9339 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
9340 defined, and __gnu_hurd__ wherever __GNU__ is defined.
9341 * arm/linux-elf.h: Likewise.
9342 * cris/aout.h: Likewise.
9343 * cris/linux.h: Likewise.
9344 * i370/linux.h: Likewise.
9345 * i386/gnu.h: Likewise.
9346 * i386/linux-aout.h: Likewise.
9347 * i386/linux-oldld.h: Likewise.
9348 * i386/linux.h: Likewise.
9349 * i386/linux64.h: Likewise.
9350 * ia64/linux.h: Likewise.
9351 * m68k/linux-aout.h: Likewise.
9352 * m68k/linux.h: Likewise.
9353 * mips/linux.h: Likewise.
9354 * pa/pa-linux.h: Likewise.
9355 * pj/linux.h: Likewise.
9356 * rs6000/sysv4.h: Likewise.
9357 * s390/linux.h: Likewise.
9358 * sh/linux.h: Likewise.
9359 * sparc/linux-aout.h: Likewise.
9360 * sparc/linux.h: Likewise.
9361 * sparc/linux64.h: Likewise.
9362 * xtensa/linux.h: Likewise.
9363
fc552851
RS
93642002-04-13 Richard Sandiford <rsandifo@redhat.com>
9365
9366 * stmt.c (check_unique_operand_names): Expect operand names to
9367 be strings rather than identifiers. Use simple_cst_equal to
9368 compare them.
9369 (resolve_operand_name_1): Make same identifier to string change here.
9370 * c-parse.in (asm_operand): Convert a named operand into a string.
9371 * cp/parse.y (asm_operand): Likewise.
9372
1d405c5e
AS
93732002-04-13 Andreas Schwab <schwab@suse.de>
9374
9375 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
9376
c740732f
MM
93772002-04-12 Mark Mitchell <mark@codesourcery.com>
9378
9379 Revert these changes:
9380
9381 2002-04-06 Mark Mitchell <mark@codesourcery.com>
9382
9383 PR c++/5571
9384 * stor-layout.c (layout_decl): Reset the RTL for the decl.
9385
3fc602a0
RH
93862002-04-12 Richard Henderson <rth@redhat.com>
9387
9388 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
9389 (sparc*-*-solaris): Clean up header files.
9390 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
9391 and plan on generating 64-bit code.
9392 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
9393 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
9394 * config/sparc/sol2-sld-64.h: Rename ...
9395 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
9396 for AS_SPARC64_FLAG not defined.
9397 * config/sparc/sol2-gld-bi.h: New.
9398 * config/sparc/sol2-sld.h: Remove.
9399 * config/sparc/sol26-sld.h: New.
9400 * config/sparc/sol2.h: Tidy comments.
9401 * doc/install.texi: Document sparc-solaris configury changes.
9402
2f15e255
RH
94032002-04-12 Richard Henderson <rth@redhat.com>
9404
9405 * recog.c (offsettable_address_p): Match the logic in adjust_address.
9406
9407 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
9408 in 64-bit mode only. Use only for 32-bit or MEDLOW.
9409
cc8475cb
RO
94102002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9411
9412 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
9413
6f133a4a
JL
9414Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
9415
ef1b8858 9416 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
9417 constrain_operands.
9418
1329e600
DR
94192002-04-12 Douglas B Rupp <rupp@gnat.com>
9420
9421 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
9422 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
9423 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 9424 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
9425 * config/i386/t-interix (USER_H): Remove.
9426
0339d239
DD
94272002-04-12 DJ Delorie <dj@redhat.com>
9428
9429 * integrate.c (compare_blocks): Make comparisons safe for when
9430 sizeof(int) < sizeof(char *).
9431 (find_block): Likewise.
9432
cc4d5fec
JH
94332002-04-12 Jan Hubicka <jh@suse.cz>
9434 David Edelsohn <edelsohn@gnu.org>
9435
9436 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
9437 registers.
9438 (symbol_ref_operand): New.
9439 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
9440 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
9441
93215a1b
AS
94422002-04-12 Andreas Schwab <schwab@suse.de>
9443
9444 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
9445 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
9446 overrides the definition in config/svr4.h.
46468cd9 9447
1d80248e
EN
94482002-04-12 Eric Norum <eric.norum@usask.ca>
9449
9450 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
9451 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
9452 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
9453 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
9454 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
9455 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
9456 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
9457 definitions to config/rtems.h and make the targets more similar.
9458
fa1591cb
RK
9459Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9460
fa06ab5c
RK
9461 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
9462 POINTERS_EXTEND_UNSIGNED.
9463 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
9464 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
9465
fa1591cb
RK
9466 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
9467 not specified.
9468
12e85a0e
R
9469Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
9470
9471 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
9472 depends on TARGET_SHMEDIA, not TARGET_SH5.
9473
1ab3e58a
HPN
94742002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
9475
9476 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
9477 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
9478
18778292
R
9479Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
9480
9481 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
9482 no r0 clobber.
9483
9002507c
AS
94842002-04-12 Andreas Schwab <schwab@suse.de>
9485
9486 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
9487
9be40833
RH
94882002-04-12 Richard Henderson <rth@redhat.com>
9489
9490 PR bootstrap/4191
9491 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
9492
9493 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
9494 modes spanning multiple hard regs.
46468cd9 9495
9be40833
RH
9496 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
9497
3d9268b6
JDA
94982002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
9499
9500 * pa.c (pa_output_function_prologue): Don't accumulate the total
9501 number of code bytes when using TARGET_64BIT, or gas, SOM and not
9502 the portable runtime.
9503 (output_deferred_plabels): Handle 64bit plabels.
9504 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
9505 generating pic code using the GAS assembler for object formats that
9506 are not SOM (ie., ELF32 and ELF64).
9507 (output_millicode_call): Check attribute type if attribute length is 28.
9508 Likewise use $PIC_pcrel$0. Only call get_attr_length and
9509 dbr_sequence_length once.
9510 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
9511 dbr_sequence_length once.
9512 * pa.h (TARGET_SOM): Define if not defined.
9513 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
9514 with GAS and not SOM.
9515 (jump, call_internal_reg, call_value_internal_reg): Likewise.
9516 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
9517
d360fd18
DB
95182002-04-11 David O'Brien <obrien@FreeBSD.org>
9519
9520 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
9521 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
9522 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
9523 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
9524 elfos.h and dbxelf.h values are fine now.
9525 * config/i386/freebsd.h, config/alpha/freebsd.h
9526 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
9527
5b8fcab6
DB
95282002-04-11 David O'Brien <obrien@FreeBSD.org>
9529
9530 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
9531 or set Acpu or Amachine. Reformat.
9532 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
9533 define.
9534 (LINK_SPEC): Do not need to undef.
9535 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
9536 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
9537 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
9538 define.
9539 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
9540 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
9541 (LINK_SPEC): Do not need to undef.
9542 (DONT_USE_BUILTIN_SETJMP): Do not define.
9543 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
9544 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
9545 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
9546 Remove trailing spaces.
9547 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
9548 __ELF__, or set Acpu or Amachine. Reformat.
9549 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
9550 define.
9551
fee42cc1
DB
95522002-04-11 David O'Brien <obrien@FreeBSD.org>
9553
9554 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
9555 all other *-*-freebsd* targets.
9556
77a403e4
RH
95572002-04-11 Richard Henderson <rth@redhat.com>
9558
9559 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
9560
cf0005c6
DB
95612002-04-11 David O'Brien <obrien@FreeBSD.org>
9562
9563 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
9564 Include {cpu}/{cpu}.h thru tm_file.
9565 (alpha*-*-linux*ecoff): Remove target.
9566 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
9567 (LINK_SPEC): Remove, is not OS independent.
9568 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
9569 (LINK_SPEC): Do not need to #undef any longer.
9570 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
9571 any longer.
9572 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
9573 __ELF__.
9574 (LINK_SPEC): Moved here from alpha/elf.h.
9575 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
9576 SUB_CPP_PREDEFINES.
9577 * config/alpha/linux-ecoff.h: Remove.
9578 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
9579 (CPP_SPEC): Define _POSIX_SOURCE as needed.
9580 (CPP_SUBTARGET_SPEC): Do not define.
9581 (LINK_SPEC): Do not need to #undef any longer.
9582 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
9583 * config/alpha/vms.h: Likewise.
9584
9be40833 95852002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
9586
9587 * doc/extend.texi: Remove old claim that typedefs cannot have
9588 an alignment attribute.
9589
010f87c4
JJ
95902002-04-11 Jakub Jelinek <jakub@redhat.com>
9591
9592 PR optimization/6177
9593 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
9594 bitpos is 0 and bitsize CONCAT size.
9595
578fc63d
JJ
95962002-04-11 Jakub Jelinek <jakub@redhat.com>
9597
9598 PR c/6223
9599 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
9600
bf9b85ce
DB
96012002-04-10 David O'Brien <obrien@FreeBSD.org>
9602
9603 * config/alpha/freebsd.h: Minor reformatting.
9604 (CPP_SPEC): Define ELF and add cpp_subtarget.
9605 (ASM_SPEC): No longer needed.
9606
7425707d
RH
96072002-04-11 Richard Henderson <rth@redhat.com>
9608
9609 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
9610 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
9611 (dimode mem/zero splitter): New.
9612
1a05e874
HPN
96132002-04-11 Hans-Peter Nilsson <hp@axis.com>
9614
9615 * config/cris/cris.c (cris_override_options): Tweak error message
9616 for PIC not implemented.
9617
9618 * config/cris/cris.h: Tweak comments related to parameter-passing.
9619
9620 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
9621
6f3d0447
RH
96222002-04-10 Richard Henderson <rth@redhat.com>
9623
9624 * except.c (add_ehl_entry): Allow duplicates after landing pad
9625 creation.
9626
174bf2b1
DE
96272002-04-10 David Edelsohn <edelsohn@gnu.org>
9628
9629 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
9630
03f10472
TM
96312002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
9632
9633 * c-decl.c (c_init_decl_processing): Move generation of
9634 decls for g77_integer_type_node and friends from here ...
9635 * c-common.c (c_common_nodes_and_builtins): ... to here.
9636
2f460a0a
UW
96372002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
9638
9639 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
9640 is only used as frame pointer when frame_pointer_needed is true.
9641
0be5cf85
RE
96422002-04-10 Richard Earnshaw <rearnsha@arm.com>
9643
9644 PR target/817
9645 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
9646 for the fact that the pool entry uses two words.
9647 (movdf_hard_insn): Similarly. Also, ADR instruction can span
9648 1k bytes.
9649 (movdf_soft_insn): Similarly.
9650 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
9651 for the fact that the pool entry uses three words.
9652
bf6d4777
RS
96532002-04-10 Richard Sandiford <rsandifo@redhat.com>
9654
9655 * config/mips/mips.c (mips_va_arg): When using the struct version
9656 of the EABI va_list, allow arguments in the register save area to
9657 take up less room than a stack argument.
9658
c2e9dc85
RH
96592002-04-10 Richard Henderson <rth@redhat.com>
9660
9661 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
9662 if EXPAND_INITIALIZER.
9663
bc8e8e97
RH
96642002-04-09 Richard Henderson <rth@redhat.com>
9665
9666 * config/alpha/alpha.md (movdi_er_maybe_g): New.
9667 * config/alpha/alpha.c (alpha_expand_mov): Use it.
9668
a6a063b8
AM
96692002-04-10 Alan Modra <amodra@bigpond.net.au>
9670
9671 PR optimization/6233
9672 * rtlanal.c (pure_call_p): New function.
9673 * rtl.h (pure_call_p): Declare.
9674 * loop.c (prescan_loop): Use it to set has_nonconst_call.
9675 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
9676
7b2e1077
EC
96772002-04-09 Eric Christopher <echristo@redhat.com>
9678
9679 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
9680 information to .comm directive.
9681
d8a50944
RH
96822002-04-09 Richard Henderson <rth@redhat.com>
9683
9684 PR c/5078
9685 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
9686
6a58eee9
RH
96872002-04-09 Richard Henderson <rth@redhat.com>
9688
9689 * basic-block.h (flow_delete_block_noexpunge): Declare.
9690 (expunge_block_nocompact): Declare.
9691 * cfg.c (expunge_block_nocompact): Split out from ...
9692 (expunge_block): ... here.
9693 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
9694 (flow_delete_block_noexpunge): Split out from ...
9695 (flow_delete_block): ... here.
9696 * cfgcleanup.c (delete_unreachable_blocks): Compact while
9697 removing dead blocks.
9698 * except.c (exception_handler_labels): Remove.
9699 (exception_handler_label_map): New.
9700 (struct eh_region): Add aka member.
9701 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
9702 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
9703 (for_each_eh_label, for_each_eh_label_1): New.
9704 (init_eh): Register exception_handler_label_map.
9705 (free_eh_status): Use free_region.
9706 (find_exception_handler_labels): Use the map, not the list.
9707 (remove_exception_handler_label): Likewise.
9708 (maybe_remove_eh_handler): Likewise.
9709 (remove_eh_handler): Use the region aka bitmap.
9710 * except.h (exception_handler_labels): Remove.
9711 (for_each_eh_label): Declare.
9712 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
9713 * loop.c (invalidate_loops_containing_label): New.
9714 (find_and_verify_loops): Use it. Use for_each_eh_label.
9715 * sched-rgn.c (is_cfg_nonregular): Use
9716 current_function_has_exception_handlers.
9717
b47374fa
RH
97182002-04-09 Richard Henderson <rth@redhat.com>
9719
9720 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
9721 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
9722 Do not return changed status.
9723 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
9724 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
9725 New functions that do return changed status.
9726 * sbitmap.h: Update decls.
9727 * gcse.c, lcm.c: Use _cg functions as needed.
9728
1951818c
R
9729Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
9730
9731 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
9732 (sh64-*-elf*, sh-*-rtemself*): Likewise.
9733 * config/sh/embed_bb.c: New file.
9734 * config/sh/embed-elf.h: New file.
9735 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
9736 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
9737 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
9738 __PTRDIFF_TYPE__ .
9739 (SUBTARGET_CPP_PTR_SPEC): Don't define.
9740 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
9741 Add subtarget_asm_endian_spec.
9742 (ASM_SPEC): Use subtarget_asm_endian_spec.
9743 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
9744 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
9745 (WCHAR_UNSIGNED): Define.
9746 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
9747 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
9748 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
9749 Fix value.
9750 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
9751 (sh_adjust_cost): Likewise.
9752 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
9753 __PTRDIFF_TYPE__ .
9754 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
9755 (WCHAR_TYPE_SIZE): Likewise.
9756 (ASM_SPEC): Use subtarget_asm_endian_spec.
9757 (SH_ELF_WCHAR_TYPE): #undef/ #define.
9758 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
9759 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
9760 (MAX_WCHAR_TYPE_SIZE): Don't #define .
9761 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
9762 (USER_LABEL_PREFIX): Don't #undef /#define .
9763 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
9764 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
9765 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
9766 (ASM_SPEC): Likewise.
9767 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
9768 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
9769 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
9770 (LIB2FUNCS_EXTRA): Define.
9771 * t-sh64 (LIB2FUNCS_EXTRA): Define.
9772 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
9773 (LIB1ASMFUNCS_CACHE): Define.
9774 (LIB2FUNCS_EXTRA): Redefine empty.
9775
34295799
RH
97762002-04-08 Richard Henderson <rth@redhat.com>
9777
9778 * reorg.c (get_branch_condition): Use reversed_comparison_code.
9779
e8766a39
SC
97802002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9781
9782 * config/m68hc11/larith.asm (__map_data_section): Fix condition
9783 and optimize for size.
9784 (__do_global_ctors): Fix pointer comparison.
9785 (__do_global_dtors): Likewise.
9786
f451b552
DM
97872002-04-09 David S. Miller <davem@redhat.com>
9788
9789 * config/sparc/sparc.c (sparc_extra_constraint_check): New
9790 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
9791 allow reloading pseudos.
9792 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
9793 * config/sparc/sparc-protos.h: Declare it.
9794
9795 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
9796 unsigned comparison warning.
9797 (output_restore_regs): Mark leaf_function as unused.
9798
1ce7f3c2
RK
9799Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9800
9801 * expr.c (is_aligning_offset): New function.
9802 (expand_expr, case COMPONENT_EXPR): Call it.
9803
7a31a340
DM
98042002-04-08 David S. Miller <davem@redhat.com>
9805
9806 PR target/6082
9807 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
9808
9809 Make init_priority work on Sparc when using GNU ld.
9810 * config/sparc/linux.h, config/sparc/linux64.h,
9811 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
9812 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
9813 * config/sparc/sol2-gld.h: New file to do the same.
9814 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
9815 sparc/sol2-gld.h to tm_file.
9816
9817 PR optimization/4328
9818 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
9819 * doc/md.texi: Document it.
9820 * config/sparc/sparc.md (movdi_insn_sp64_novis,
9821 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
9822 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
9823 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
9824 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
9825
11579f33
AJ
98262002-04-08 Andreas Jaeger <aj@suse.de>
9827
9828 * stmt.c (expand_asm_operands): Revert last patch from Richard
9829 Henderson.
9830
b57215d9
GP
98312002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9832
9833 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
9834 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
9835
98362002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9837
9838 * doc/contrib.texi (Contributors): Add David O'Brien.
9839
534d0cc0
AM
98402002-04-08 Alan Modra <amodra@bigpond.net.au>
9841
9842 * configure.in (auto-build.h): Use target_alias and build_alias
9843 when running configure.
9844 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
9845 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
9846 * configure: Regenerate.
9847
19fe522a
DM
98482002-04-07 David S. Miller <davem@redhat.com>
9849
9850 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
9851
bf2d0b8e
JDA
98522002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
9853
9854 PR 5933
9855 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
9856 generating 32-bit pic code.
9857
477cdac7
JT
98582002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
9859
9860 * cppinit.c (cpp_create_reader): Initialize
9861 discard_comments_in_macro_exp.
9862 (COMMAND_LINE_OPTIONS): Add "-CC" option.
9863 (cpp_handle_option): Handle "-CC" option.
9864 * cpplex.c (save_comment): If saving a C++ comment in
9865 a directive, convert it to a C comment.
9866 (_cpp_lex_direct): Pass second comment start character to
9867 save_comment to indicate comment type.
9868 * cpplib.c (_cpp_handle_directive): If processing
9869 a "#define" directive and discard_comments_in_macro_exp
9870 is false, re-enable saving of comments.
9871 (lex_macro_node): If discard_comments_in_macro_exp is false,
9872 discard any comments before the macro identifier.
9873 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
9874 member.
9875 * cppmacro.c (cpp_get_token): If expanding a macro while
9876 processing a directive, discard any comments we might encounter.
9877 (parse_params): If discard_comments_in_macro_exp is false,
9878 ignore comments in the macro parameter list.
9879 * gcc.c (cpp_unique_options): Add "-CC" option.
9880 (option_map): Map "--comments-in-macros" to "-CC".
9881 * doc/cppopts.texi: Document "-CC" option.
9882 * f/lang-specs.h: Add "-CC" option.
9883 * testsuite/gcc.dg/cpp/maccom1.c: New test.
9884 * testsuite/gcc.dg/cpp/maccom2.c: New test.
9885 * testsuite/gcc.dg/cpp/maccom3.c: New test.
9886 * testsuite/gcc.dg/cpp/maccom4.c: New test.
9887 * testsuite/gcc.dg/cpp/maccom5.c: New test.
9888 * testsuite/gcc.dg/cpp/maccom6.c: New test.
9889
f1526122
JDA
98902002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
9891
9892 PR middle-end/6180
9893 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
9894
b1896e61
MM
98952002-04-06 Mark Mitchell <mark@codesourcery.com>
9896
0154eaa8
MM
9897 PR c++/5571
9898 * stor-layout.c (layout_decl): Reset the RTL for the decl.
9899
b1896e61
MM
9900 PR opt/5120
9901 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
9902 RTX_UNCHANGING_P for the functions arguments when a tail call
9903 is made.
9904
b0148884
JM
99052002-04-06 Jason Merrill <jason@redhat.com>
9906
9907 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
9908 (parse_options_and_default_flags): Set them appropriately.
9909 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
9910
392fc5b0
HPN
99112002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
9912
9913 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
9914 here.
9915
9916 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
9917 semicolon.
9918
9919 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
9920 types come in by-reference. Fix typo in comment.
9921
2d69e3cb
DM
99222002-04-05 David S. Miller <davem@redhat.com>
9923
9924 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
9925 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
9926 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
9927 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
9928
99292002-04-05 David S. Miller <davem@redhat.com>
9930
9931 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
9932 are not going to emit return instructions, emit at least a nop
9933 for the sake of sane backtraces.
9934
5f9fb0e3
RH
99352002-04-05 Richard Henderson <rth@redhat.com>
9936
9937 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
9938
49f37a0d
JJ
99392002-04-05 Jakub Jeilnek <jakub@redhat.com>
9940
9941 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
9942
974a3101
AO
99432002-04-05 Alexandre Oliva <aoliva@redhat.com>
9944
9945 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
9946 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
9947 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
9948
2e04a694
AS
99492002-04-05 Andreas Schwab <schwab@suse.de>
9950
a40179bd 9951 * c-convert.c: Include c-common.h.
2e04a694
AS
9952 * Makefile.in (c-convert.o): Updated.
9953
1f785b7c
JJ
99542002-04-05 Jakub Jelinek <jakub@redhat.com>
9955
9956 * mklibgcc.in: Use separate libgcc.map for each multilib.
9957 * Makefile.in (distclean): Don't remove libgcc.map here.
9958
4d2fb38b
JJ
99592002-04-05 Jakub Jelinek <jakub@redhat.com>
9960
9961 * Makefile.in (s-mlib): Handle --disable-multilib by separate
9962 genmultilib invocation.
9963
bb63e5a0
RS
99642002-04-04 Richard Sandiford <rsandifo@redhat.com>
9965
9966 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
9967 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
9968 to num_gprs for symmetry.
9969 * config/mips/mips.c: Adjust accordingly.
9970
8ab80eaa
NB
99712002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
9972
9973 * c-common.c (truthvalue_conversion): Rename, update.
9974 * c-common.h (c_common_truthvalue_conversion): New.
9975 * c-convert.c (convert): Update.
9976 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
9977 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
9978 * c-typeck.c (build_binary_op, build_unary_op,
9979 build_conditional_expr): Update.
9980 * fold-const.c (constant_boolean_node, fold): Use langhook.
9981 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
9982 * langhooks.h (struct lang_hooks): New hook.
9983 * stmt.c (expand_decl_cleanup): Use langhook.
9984 * tree.h (truthvalue_conversion): Remove.
9985objc:
9986 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
9987
a2e9374a
AM
99882002-04-05 Alan Modra <amodra@bigpond.net.au>
9989
9990 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
9991 Add rules to make null object file.
9992
64d08263
JB
99932002-04-04 Jim Blandy <jimb@redhat.com>
9994
9995 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
9996 macro formal parameter names.
9997
aa7634dd
DM
99982002-04-04 David S. Miller <davem@redhat.com>
9999
10000 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
10001
ecc114f7
RH
100022002-04-04 Richard Henderson <rth@redhat.com>
10003
10004 PR middle-end/5099
10005 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
10006 Support copies into and out of memory. Don't accept allows_reg
10007 and allows_mem as gospel.
10008
c4484b8f
RH
100092002-04-04 Richard Henderson <rth@redhat.com>
10010
10011 PR opt/6165
10012 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
10013 (write_dependence_p): Likewise.
10014
39002160
RH
100152002-04-04 Richard Henderson <rth@redhat.com>
10016
10017 * predict.c (estimate_bb_frequencies): Do frequency calculation
10018 with a volatile temporary.
10019
f53ebe71
UW
100202002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
10021
10022 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
10023
15e0ecab
JJ
100242002-04-04 Jakub Jelinek <jakub@redhat.com>
10025
10026 PR c++/6119
10027 * final.c (final_start_function): Don't bump profile_label_no here...
10028 (final_end_function): ...but here.
10029
ffd386b0
JJ
100302002-04-04 Jakub Jelinek <jakub@redhat.com>
10031
10032 * config/sparc/sparc.md (pic): New attribute.
10033 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
10034 into stack slots.
10035 (split after do_builtin_setjmp_setup): New.
10036
8b156b3e
JJ
100372002-04-04 Jakub Jelinek <jakub@redhat.com>
10038
10039 PR fortran/6106
10040 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
10041 change.
10042
014c0998
JJ
100432002-04-04 Jakub Jelinek <jakub@redhat.com>
10044
10045 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
10046 UNITS_PER_WORD for zero sized aggregates.
10047
4d8611d9
DM
100482002-04-03 David S. Miller <davem@redhat.com>
10049
10050 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
10051 one-character spec for this, just use %(link_gcc_c_sequence).
10052
b03ad99d
DM
100532002-04-03 David S. Miller <davem@redhat.com>
10054
10055 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
10056 handling.
10057
823fbbce
JDA
100582002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10059
10060 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
10061 (DWARF_FRAME_RETURN_COLUMN): Move.
10062 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10063 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
10064 * pa.c (except.h, predict.h): Include.
10065 (FRP): Delete.
10066 (store_reg_modify, set_reg_plus_d): Revise prototypes.
10067 (output_ascii): Add cast.
10068 (store_reg_modify): Revise to add frame notes.
10069 (set_reg_plus_d): Likewise.
10070 (compute_frame_size): Include space for eh data registers in frame if
10071 the current function calls eh_return.
10072 (hppa_expand_prologue): Ensure register %r2 is saved if the current
10073 function calls eh_return. Save eh data registers if the current
10074 function calls eh_return. Fix code to add frame notes. Emit
10075 blockage to prevent insns with frame notes being scheduled in the
10076 delay slot of calls.
10077 (hppa_expand_epilogue): Restore eh data registers and do final stack
10078 adjustment if the current function calls eh_return. Don't add frame
10079 notes.
10080 (output_call): Revise for change in length of call insn. Don't do
10081 return pointer adjustment for an unconditional jump in the delay slot
10082 of a call when using frame notes.
10083 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
10084 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
10085 (ARG_POINTER_CFA_OFFSET): Define.
10086 * pa.md (return_external_pic): New pattern.
10087 (prologue): Correct formatting. Use return_external_pic if current
10088 function calls eh_return.
10089 (call_internal_symref, call_value_internal_symref,
10090 sibcall_internal_symref, sibcall_value_internal_symref): Change default
10091 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
10092 respectively.
10093 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
10094
10095 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
10096 list of targets to check using "nop" insn.
10097 * configure: Rebuilt.
10098
4078e224
AM
100992002-04-04 Alan Modra <amodra@bigpond.net.au>
10100
10101 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
10102
bbd7687d
DM
101032002-04-03 David S. Miller <davem@redhat.com>
10104
10105 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
10106 library sequence passed to the linker.
10107 (LINK_COMMAND_SPEC): Use it.
10108 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
10109 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
10110 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
10111
659e5a7a
JM
101122002-04-03 Jason Merrill <jason@redhat.com>
10113
10114 * except.c (struct eh_status): Remove protect_list.
10115 (begin_protect_partials, end_protect_partials): Remove.
10116 (add_partial_entry): Remove.
10117 * except.h: Remove prototypes.
10118
10119 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
10120 expand_decl_cleanup_eh.
10121
10122 PR c++/5636
10123 * tree.h (CLEANUP_EH_ONLY): New macro.
10124 * stmt.c (expand_decl_cleanup_eh): New fn.
10125 (expand_cleanups): Check CLEANUP_EH_ONLY.
10126 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
10127 Use expand_decl_cleanup_eh.
10128 (expand_stmt): Adjust.
10129 * c-common.h: Adjust prototype.
10130
053d3344
HPN
101312002-04-04 Hans-Peter Nilsson <hp@axis.com>
10132
10133 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
10134 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
10135 (cris_target_asm_function_epilogue): Ditto.
10136 (cris_initial_frame_pointer_offset): Ditto.
10137 (cris_simple_epilogue): Ditto.
10138 (cris_expand_builtin_va_arg): Variable-size types come in
10139 by-reference.
10140
61ab5260
DM
101412002-04-03 David S. Miller <davem@redhat.com>
10142
10143 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
10144 little-endian.
10145 (set_fast_math): Correct 'fsr' type.
10146
ef4f94ac
RH
101472002-04-03 Richard Henderson <rth@redhat.com>
10148
36c2272c 10149 PR opt/3569
ef4f94ac
RH
10150 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
10151 * toplev.c (check_global_declarations): Use it.
10152 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
10153 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
10154 (LANG_HOOKS_DECLS): Add it.
10155 * langhooks.c (lhd_warn_unused_global_decl): New.
10156 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
10157 * c-objc-common.c (c_warn_unused_global_decl): New.
10158 * c-tree.h (c_warn_unused_global_decl): Declare.
10159 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
10160
599bba86
NB
101612002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
10162
10163 * langhooks-def.h (lhd_set_decl_assembler_name,
10164 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
10165 (LANG_HOOKS_INITIALIZER): Update.
10166 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
10167 * langhooks.h (struct lang_hooks): New hook.
10168 * tree.c (set_decl_assembler_name): Move to langhooks.c.
10169 (lang_set_decl_assembler_name): Remove.
10170 (init_obstacks): Don't set hook.
10171 (decl_assembler_name): New function.
10172 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
10173 (decl_assembler_name): New.
10174 (lang_set_decl_assembler_name): Remove.
10175
cf7b8b0d
JJ
101762002-04-03 Jakub Jelinek <jakub@redhat.com>
10177
10178 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
10179 works properly with .hidden symbols.
10180 * configure: Rebuilt.
10181 * config.in: Rebuilt.
10182 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
10183 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
10184 properly with .hidden symbols.
10185
faf6db38
JJ
101862002-04-03 Jakub Jelinek <jakub@redhat.com>
10187
10188 PR middle-end/6102
10189 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
10190 USE argument.
10191
68c17f30
RH
101922002-04-03 Richard Henderson <rth@redhat.com>
10193
10194 PR opt/4120
10195 * sched-rgn.c (sets_likely_spilled): New.
10196 (sets_likely_spilled_1): New.
10197 (add_branch_dependences): Use it.
10198
6584b4aa
RH
101992002-04-02 Richard Henderson <rth@redhat.com>
10200
10201 PR opt/4311
10202 * loop.h (LOOP_FIRST_PASS): New.
10203 * loop.c (strength_reduce): Mind it when deciding to unroll.
10204 * toplev.c (rest_of_compilation): Set it.
10205
0acf409f
DM
102062002-04-02 David S. Miller <davem@redhat.com>
10207
10208 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
10209 mems_ok_for_ldd_peep when the order of the loads being examined
10210 is reversed.
10211 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
10212 existing comment to increase comprehension of this situation.
10213
85654444
ZW
102142002-04-02 Zack Weinberg <zack@codesourcery.com>
10215
10216 * config/sh/sh.md: Don't use union real_extract.
10217
543828ca
RH
102182002-04-02 Richard Henderson <rth@redhat.com>
10219
10220 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
10221
39ed301b
DB
102222002-04-02 David O'Brien <obrien@FreeBSD.org>
10223
10224 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
10225 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
10226 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
10227 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
10228 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
10229 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
10230 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
10231 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
10232 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
10233 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
10234 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
10235 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
10236 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
10237 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
10238 Include as many configury headers via tm_file as possible. This
10239 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
10240 * config/openbsd-oldgas.h: New file.
10241 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
10242 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
10243 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
10244 config/i386/i386-coff.h, config/i386/i386-interix.h,
10245 config/i386/iscdbx.h, config/i386/linux-aout.h,
10246 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
10247 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
10248 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
10249 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
10250 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
10251 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
10252 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
10253 config/i386/vxi386.h: Do not directly include configury headers.
10254 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
10255 Directly include configury headers that are no longer automatically
10256 included by the above headers.
10257 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
10258 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
10259 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
10260 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
10261 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
10262 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
10263 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
10264 (TARGET_VERSION): Define.
10265 * config/i386/beos-elf.h, config/i386/freebsd.h,
10266 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
10267 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
10268 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
10269 config/i386/sco5.h, config/i386/sysv4.h
10270 (TARGET_VERSION): Do not need to protect.
10271 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
10272 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
10273 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
10274 config/i386/i386-interix.h, config/i386/linux-aout.h,
10275 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
10276 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
10277 (YES_UNDERSCORES): Do not define - not needed.
10278 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
10279 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
10280 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
10281 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
10282 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
10283 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
10284 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
10285 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
10286
9432c136
EB
102872002-04-02 Eric Botcazou <ebotcazou@multimania.com>
10288 Richard Henderson <rth@redhat.com>
10289
10290 PR c/5484
10291 * function.c (assign_temp): Accept either type or decl argument.
10292 Detect variables whose size is too large to fit into an integer.
10293 * stmt.c (expand_decl): Pass the decl, not the type.
10294
058b1275
DB
102952002-04-02 David O'Brien <obrien@FreeBSD.org>
10296
10297 * protoize.c: Match include directory usage with cppdefault.c.
10298
5add6d1a 102992002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 10300 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
10301
10302 * combine.c (simplify_comparison): Avoid narrowing a comparison
10303 with a paradoxical subreg when doing so would drop signficant bits.
10304
1e533e4b
SE
103052002-04-02 Steve Ellcey <sje@cup.hp.com>
10306
10307 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
10308 if POINTERS_EXTEND_UNSIGNED is defined.
10309
7a145e92
RH
103102002-04-02 Richard Henderson <rth@redhat.com>
10311
10312 PR opt/3967
10313 * local-alloc.c (contains_replace_regs): LO_SUM may contain
10314 replace regs.
10315
3a079822
RH
103162002-04-02 Richard Henderson <rth@redhat.com>
10317
10318 * doc/standards.texi: Document required freestanding libc entry points.
10319
c94ccb87
AM
103202002-04-02 Alan Modra <amodra@bigpond.net.au>
10321
10322 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
10323 associated splitter. Remove MQ constraint.
10324 (ctrdi_internal4): Correct CCmode clobber.
10325
fe660a1a
JDA
103262002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
10327
10328 * milli64.S ($$dyncall): New function.
10329 * t-linux (LIB1ASMFUNCS): Revise module list.
10330 (LIB1ASMSRC): Use pa/milli64.S.
10331
eadc0202
RH
103322002-04-02 Richard Henderson <rth@redhat.com>
10333
10334 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
10335 rename solaris_sys_varargs_h.
10336
a1471322
RK
10337Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10338
10339 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
10340 the same mode as its component.
10341
c8b94768
RH
103422002-04-02 Richard Henderson <rth@redhat.com>
10343
10344 PR opt/190
10345 * final.c (this_is_asm_operands): Export.
10346 * output.h (this_is_asm_operands): Declare.
10347 * config/i386/i386.c (print_operand): Error odd asm operands.
10348
161eb4fc
RH
103492002-04-02 Richard Henderson <rth@redhat.com>
10350
10351 PR opt/420
10352 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
10353
b88a94c6
RH
103542002-04-01 Richard Henderson <rth@redhat.com>
10355
10356 PR target/1538
10357 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
10358 * fixinc/fixincl.x: Rebuild.
10359
72e32876
RH
103602002-04-01 Richard Henderson <rth@redhat.com>
10361
10362 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
10363 (atomic_alloc, atomic_free): New.
10364 (SIZE, MASK_FOR, PTR_IN): New.
10365 (emergency_reg_state, emergency_reg_state_free): New.
10366 (emergency_labeled_state, emergency_labeled_state_free): New.
10367 (reg_state_alloced, labeled_state_alloced): New.
10368 (alloc_reg_state, free_reg_state): New.
10369 (alloc_label_state, free_label_state, free_label_states): New.
10370 (push, pop, dup_state_stack, free_state_stack): Use them.
10371 (desc_label_state): Likewise.
10372 (uw_frame_state_for): Free label states and state stack.
10373 (uw_update_reg_address): Eliminate warnings.
10374
84d76074
VM
103752002-04-01 Vladimir Makarov <vmakarov@redhat.com>
10376
10377 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 10378 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 10379
dffd7eb6
NB
103802002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
10381
10382 * c-decl.c (grokdeclarator): Update.
10383 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
10384 * c-tree.h (c_mark_addressable): New.
10385 * c-typeck.c (default_function_array_conversion, build_unary_op,
10386 build_array_ref, convert_for_assignment): Update.
10387 (mark_addressable): Rename.
10388 * calls.c (try_to_integrate, expand_call): Use langhook.
10389 * expr.c (expand_expr): Use langhook.
10390 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
10391 * langhooks.h (struct lang_hooks): New hook.
10392 * stmt.c (expand_asm_operands): Use langhook.
10393 * tree.h (mark_addressable): Remove.
10394objc:
10395 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
10396
544ef5b5
BW
103972002-04-01 Bob Wilson <bob.wilson@acm.org>
10398
9be40833
RH
10399 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
10400 in previous change.
544ef5b5 10401
bcf88f9b
BW
104022002-04-01 Bob Wilson <bob.wilson@acm.org>
10403
10404 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
10405 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
10406
ceef8ce4
NB
104072002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
10408
10409 * c-common.c (unsigned_conversion_warning, convert_and_check,
10410 unsigned_type, signed_type, shorten_compare,
10411 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
10412 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
10413 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
10414 New.
10415 * c-decl.c (grokdeclarator): Update.
10416 * c-format.c (check_format_types): Update.
10417 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
10418 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
10419 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
10420 * convert.c (convert_to_integer): Use new hooks.
10421 * expmed.c (make_tree): Use new hooks.
10422 * expr.c (store_expr): Use new hooks.
10423 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
10424 all_ones_mask_p, unextend, fold): Use new hooks.
10425 * langhooks.h (struct lang_hooks_for_types): New hooks.
10426 * tree.h (signed_or_unsigned_type, signed_type,
10427 unsigned_type): Remove.
10428objc:
10429 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
10430 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
10431
1d9ad0e0
RH
104322002-03-31 Richard Henderson <rth@redhat.com>
10433
10434 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
10435 (desc_frgr_mem): Fix reference to f16-f31.
10436
d544bc39
KG
104372002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10438
10439 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
10440 RTVEC_ELT): Const-ify.
d8750784
KG
10441 * varray.h (VARRAY_CHECK): Const-ify.
10442 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
10443 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 10444
b18101c7
NB
104452002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
10446
10447 * diagnostic.c: Include langhooks-def.h.
10448 * Makefile.in (diagnostic.o): Update.
10449
48a7a235
NB
104502002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
10451
10452 * c-common.c (c_unsafe_for_reeval): Rename.
10453 * c-common.h (c_unsafe_for_reeval): Rename.
10454 * c-decl.c (finish_incomplete_decl): Rename.
10455 (c_init_decl_processing): Don't set langhook.
10456 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
10457 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
10458 * c-objc-common.c (c_objc_common_init): Don't set langhook.
10459 * c-tree.h (finish_incomplete_decl): Rename.
10460 * langhooks-def.h (lhd_unsafe_for_reeval): New.
10461 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
10462 (LANG_HOOKS_INITIALIZER): Update.
10463 * langhooks.c (lhd_unsafe_For_reeval): New.
10464 * langhooks.h (struct langhooks): New hooks.
10465 * toplev.c (incomplete_decl_finalize_hook): Remove.
10466 (wrapup_global_declarations): Update.
10467 * tree.c (lang_unsafe_for_reeval): Remove.
10468 (unsafe_for_reeval): Update.
10469 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
10470 Remove.
10471objc:
10472 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
10473 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
10474
7cb32822
NB
104752002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
10476
10477 * diagnostic.c (print_error_function): Remove.
10478 (default_print_error_function): Rename.
10479 (report_error_function): Update.
10480 * diagnostic.h (print_error_function): Remove.
10481 (default_print_error_function): Remove.
10482 * langhooks-def.h (struct diagnostic_context): Predeclare.
10483 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
10484 (LANG_HOOKS_INITIALIZER): Update.
10485 * langhooks.h (struct diagnostic context): Predeclare.
10486 (struct lang_hooks): New hook.
10487
1db02437
FS
104882002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10489
10490 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
10491 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
10492 !flag_pic.
10493 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
10494 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
10495 of PIC_OFFSET_TABLE_REGNUM thruout.
10496 * config/rs6000/rs6000.md: Likewise.
10497 * config/rs6000/darwin.h: Likewise.
10498
3bf1e984
RK
10499Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10500
10501 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
10502 unsigned HOST_WIDE_INT, not unsigned int.
10503
0864c526
JJ
105042002-03-31 Jakub Jelinek <jakub@redhat.com>
10505
10506 PR middle-end/6096, middle-end/6098, middle-end/6099
10507 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
10508 CODE_LABELs.
10509 (fill_slots_from_thread): Likewise.
10510
105b2084
JJ
105112002-03-31 Jakub Jelinek <jakub@redhat.com>
10512
10513 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
10514 floating fields in float regs.
10515 (function_arg_record_value_2): Likewise.
10516
db08fddf
HPN
105172002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
10518
10519 * config/mmix/mmix.md (define_constants): Remove misleading
10520 FIXME. Add MMIX_fp_rO_OFFSET.
10521 ("nonlocal_goto_receiver"): Don't have stack-frame address of
10522 saved rO as part of the pattern. Remove FIXME.
10523 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
10524 here, at output-time.
10525
4f31cce8
JJ
105262002-03-31 Jakub Jelinek <jakub@redhat.com>
10527
10528 PR middle-end/6100
10529 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
10530 REG_BR_PRED.
10531 (output_v9branch): Likewise.
10532
ba2b7435
AO
105332002-03-31 Alexandre Oliva <aoliva@redhat.com>
10534
10535 * gcc.c: Revert previous patch for now.
10536 * config/i386/djgpp.h: Likewise.
10537
aa66aa5f 105382002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
10539
10540 * config/mmix/crti.asm (_init): Register _fini with atexit.
10541 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
10542
41ba8a20
RH
105432002-03-31 Richard Henderson <rth@redhat.com>
10544
10545 PR target/3997
10546 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
10547 (ASM_OUTPUT_DEF_FROM_DECLS): New.
10548
adc186ef
RH
105492002-03-31 Richard Henderson <rth@redhat.com>
10550
10551 * libgcc2.c (__bb_exit_func): Make static.
10552
9be40833 10553 * config/alpha/alpha.md (trap): New.
a7648399 10554
9602f5a0
RH
105552002-03-31 Richard Henderson <rth@redhat.com>
10556
10557 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
10558 promoted argument types; build trap.
10559 (expand_builtin_trap): New.
10560 (expand_builtin): Use it.
10561 * stmt.c (expand_nl_goto_receivers): Likewise.
10562 * expr.h (expand_builtin_trap): Declare.
10563 * libfuncs.h (LTI_abort, abort_libfunc): New.
10564 * optabs.c (init_optabs): Init abort_libfunc.
10565
1a0a7539
AO
105662002-03-31 Alexandre Oliva <aoliva@redhat.com>
10567
10568 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
10569 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 10570 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
10571 shared_name in the second copy.
10572 (init_spec): Test for duplicate
10573 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
10574
b5de1a27
DM
105752002-03-30 David S. Miller <davem@redhat.com>
10576
10577 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
10578 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
10579
78414d74 105802002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 10581 Richard Henderson <rth@redhat.com>
78414d74 10582
9be40833
RH
10583 * regmove.c (combine_stack_adjustments_for_block): Avoid
10584 emitting a stack adjustment of zero bytes. Let delete_insn
10585 update bb->head.
78414d74 10586
33074e5f
RH
105872002-03-30 Richard Henderson <rth@redhat.com>
10588
10589 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
10590 (sparc_emitting_epilogue): New.
10591 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
10592 * config/sparc/sparc-protos.h: Update.
10593 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
10594 (TARGET_SWITCHES): Update.
10595 * config/sparc/sparc.md (return): Remove.
10596 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
10597 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
10598 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
10599 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
10600 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
10601 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
10602 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
10603 Remove MASK_EPILOGUE.
10604 * doc/invoke.texi: Update.
10605
606cc056
DB
106062002-03-30 Daniel Berlin <dan@dberlin.org>
10607
10608 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
10609 CPP will start the file for us.
7b2e1077 10610
bdbe5b8d
RH
106112002-03-30 Richard Henderson <rth@redhat.com>
10612
10613 PR target/5446
10614 * config/ia64/ia64.c (group_barrier_needed_p): Special case
10615 prologue_allocate_stack.
10616 (ia64_single_set): Use insn codes for recognition of special
10617 cases, not rtl matching.
10618 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
10619
4ab95d82
JH
10620Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
10621
10622 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
10623
89a8b315
RH
106242002-03-30 Richard Henderson <rth@redhat.com>
10625
10626 PR target/6032
10627 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
10628 or -fomit-frame-pointer with profiling.
10629 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10630 (FUNCTION_PROFILER): Do nothing.
10631 (PROFILE_HOOK): New.
10632 * config/sparc/sparc.c (sparc_override_options): Don't check
10633 code models for profiling.
10634 (sparc_function_profiler): Remove.
10635 (sparc_profile_hook): New.
10636 * config/sparc/sparc-protos.h: Update.
10637
30984c57
JJ
106382002-03-30 Jakub Jelinek <jakub@redhat.com>
10639
10640 PR optimization/6086
10641 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
10642 of SUBREG of volatile MEM or because the MEM was mode dependent,
10643 return CLOBBER instead of unmodified SUBREG.
10644
1540f9eb
JH
10645Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
10646
89a8b315
RH
10647 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
10648 when not optimizing.
1540f9eb
JH
10649
10650 * toplev.c (rest_of_compilation): Cann mark_constant_function
10651 only when optimizing.
10652
89a8b315
RH
10653 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
10654 are NULL.
1540f9eb
JH
10655
10656 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
10657 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
10658 (try_optimize_cfg): clear all AUX fields.
10659
10660 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
10661 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
10662 (ix86_address_cost): Be prepared for SUBREGed registers.
10663 (legitimate_address_p): Accept SUBREGed registers.
10664
70d95bac
RH
106652002-03-29 Richard Henderson <rth@redhat.com>
10666
10667 PR target/5672
10668 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
10669
d3294cd9
FS
106702002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10671
10672 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
10673 for aggregate and TFmode types.
10674
a106c875
HPN
106752002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
10676
10677 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
10678
7d7a5d6f
RH
106792002-03-29 Richard Henderson <rth@redhat.com>
10680
6e2d670b 10681 PR target/5886
7d7a5d6f
RH
10682 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
10683 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
10684
30c99a84
RH
106852002-03-29 Richard Henderson <rth@redhat.com>
10686
6e2d670b 10687 PR target/6041
30c99a84
RH
10688 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
10689 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
10690 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
10691 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
10692 conditional.
10693 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
10694
02a566dc
DJ
106952002-03-29 Dale Johannesen <dalej@apple.com>
10696
10697 * loop.c (combine_movables): Do allow combination of pseudos.
10698
bc3a44db
LR
106992002-03-29 Loren J. Rittle <ljrittle@acm.org>
10700
10701 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
10702 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
10703 No functional change except ...
10704 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
10705 * doc/install.texi (*-*-freebsd*): Document port configuration.
10706
b0c48229
NB
107072002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
10708
10709 * Makefile.in (convert.o, calls.o, expmed.o): Update.
10710 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
10711 Use new hooks.
10712 * builtin-types.def (BT_PTRMODE): Update.
10713 * c-common.c (type_for_size): Rename c_common_type_for_size.
10714 (type_for_mode): Similarly.
10715 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
10716 Use new hook.
10717 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
10718 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
10719 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
10720 Redefine.
10721 * c-typeck.c (common_type, comptypes, default_conversion):
10722 Use new hooks.
10723 * calls.c: Include langhooks.h.
10724 (emit_library_call_value_1): Use new hooks. Avoid redundant
10725 calls.
10726 * convert.c: Include langhooks.h
10727 (convert_to_pointer, convert_to_integer): Use new hooks.
10728 * except.c (init_eh): Similarly.
10729 * expmed.c: Include langhooks.h.
10730 (expand_mult_add): Use new hooks.
10731 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
10732 try_casesi): Similarly.
10733 * fold-const.c (optimize_bit_field_compare, make_range,
10734 decode_field_reference, fold_truthop, fold): Similarly.
10735 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
10736 put_var_into_stack): Similarly.
10737 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
10738 LANG_HOOKS_TYPE_FOR_SIZE): New.
10739 (LANG_HOOKS_TYPES_INITIALIZER): Update.
10740 * langhooks.h (lang_hooks_for_types): New hooks.
10741 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
10742 * tree.c (get_unwidened, get_narrower): Similarly.
10743 * tree.h (type_for_mode, type_for_size): Remove.
10744 * varasm.c (force_const_mem): Use new hooks.
10745 * utils2.c (nonbinary_modular_operation): Update.
10746objc:
10747 * objc-act.c (handle_impent): Update.
10748 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
10749 Redefine.
10750
e206a74f
SE
107512002-03-29 Steve Ellcey <sje@cup.hp.com>
10752
10753 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
10754 * config/ia64/ia64.c (basereg_operand): New.
10755 * config/ia64/ia64-protos.h (basereg_operand): Declare.
10756 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
10757
7d9b6378
HPN
107582002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
10759
10760 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
10761 unwind information when frame_pointer_needed.
10762 (mmix_assemble_integer): Tweak wording in comment.
10763
f1e639b1
NB
107642002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
10765
10766 * Makefile.in (except.o): Update.
10767 * except.c: Include langhooks.h.
10768 (init_eh): Use langhook.
10769 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
10770 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
10771 (LANG_HOOKS_INITIALIZER): Update.
10772 * langhooks.h (lang_hooks_for_types): New.
10773 (struct lang_hooks): Add it.
10774 * tree.c (make_lang_type_fn, make_lang_type): Remove.
10775 * tree.h (make_lang_type_fn, make_lang_type): Remove.
10776config:
10777 * alpha/alpha.c: Include langhooks.h.
10778 (alpha_build_va_list): Use langhook.
10779 * d30v/d30v.c: Include langhooks.h.
10780 (d30v_build_va_list): Use langhook.
10781 * i386/i386.c: Include langhooks.h.
10782 (ix86_build_va_list): Use langhook.
10783 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
10784 * s390/s390.c: Include langhooks.h.
10785 (s390_build_va_list): Use langhook.
10786 * stormy16/stormy16.c: Include langhooks.h.
10787 (stormy16_build_va_list): Use langhook.
10788
f17f9332
JJ
107892002-03-29 Jakub Jelinek <jakub@redhat.com>
10790
10791 PR c++/5964
10792 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
10793 attributes.
10794 (length): Compute variable length for branches/calls/jumps here.
10795 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
10796 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
10797 define branch_type attribute.
10798 (divsi3_sp32): Maximum length is 6 not 7.
10799 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
10800 call_address_untyped_struct_value_sp32,
10801 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
10802 * config/sparc/sparc.c (empty_delay_slot): New function.
10803 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
10804 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
10805
0a0440c9
JJ
108062002-03-29 Jakub Jelinek <jakub@redhat.com>
10807
10808 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
10809 nonzero_bits if not needed.
10810 (nonzero_bits) [XOR]: Likewise.
10811 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
10812 reg_last_set_mode and mode are both MODE_INT, but not equal.
10813 (record_value_for_reg): Compute reg_last_set_nonzero_bits
10814 in nonzero_bits_mode for MODE_INT modes.
10815
c9045f47
RH
108162002-03-28 Richard Henderson <rth@redhat.com>
10817
10818 PR target/5715
10819 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
10820 to GAS. Correct drift between alternatives.
10821
f8ed1958
RH
108222002-03-28 Richard Henderson <rth@redhat.com>
10823
10824 PR target/6087
10825 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
10826
54e20385
LR
108272002-03-28 Alexandre Oliva <aoliva@redhat.com>
10828
10829 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
10830 emulation to the linker.
10831
108322002-03-28 Loren J. Rittle <ljrittle@acm.org>
10833
10834 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
10835 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
10836
8bc52806
JL
10837Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
10838
10839 * combine.c (simplify_and_const_int): Make sure to apply mask
10840 when force_to_mode returns a constant integer. PR3311.
10841
279dccc5
JDA
108422002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
10843
10844 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
10845
62aaa62c
GP
108462002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10847
10848 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
10849 and Objective-C Dialect Options.
10850
b8de5050
RH
108512002-03-28 Richard Henderson <rth@redhat.com>
10852
10853 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
10854 comparison should be done vs !=0 not >0 return code. Tidy cases.
10855
619708cc
RH
108562002-03-28 Richard Henderson <rth@redhat.com>
10857
10858 * c-decl.c (finish_function): New arg can_defer_p. Pass it
10859 on to c_expand_body.
10860 * c-tree.h (finish_function): Update decl.
10861 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
10862
b1d874d7
JH
10863Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
10864
10865 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
10866
f5eb5fd0
JH
10867Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
10868
10869 * rtlanal.c: Include flags.h
10870 (may_trap_p): Do not mark FP operations if trapping
10871 if !flag_trapping_math
10872 * Makefile.in (rtlanal.o): Add dependency on flag.h
10873 * ifcvt.c (noce_operand_ok): Avoid the lameness.
10874
81b4c798
ZW
108752002-03-27 Zack Weinberg <zack@codesourcery.com>
10876
10877 * mips.md: Use dconst1, not 1.0, as first argument of
10878 REAL_VALUE_LDEXP. Don't use union real_extract.
10879
55a2ea2a
AM
108802002-03-28 Alan Modra <amodra@bigpond.net.au>
10881
10882 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
10883 rather than $target. Heed program_prefix and
10884 program_transform_name. Search for gas in cross-compiler case too.
10885 "test -x" rather than "test -f".
10886 (gcc_cv_ld): Likewise.
10887 (gcc_cv_nm): Heed program_prefix and program_transform_name.
10888 (gcc_cv_objdump): Likewise.
10889 * configure: Regenerate.
10890
7ffb4fd2
NB
108912002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
10892
10893 * Makefile.in (attribs.o): Update.
10894 * attribs.c: Include langhooks.h.
10895 (decl_attributes): Use langhook.
10896 * c-decl.c (insert_default_attributes): Rename.
10897 * c-tree.h (c_insert_default_attributes): New.
10898 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
10899 (LANG_HOOKS_INITIALIZER): Update.
10900 * langhooks.h (struct lang_hooks): New hook.
10901 * tree.h (insert_default_attributes): Remove.
10902objc:
10903 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
10904
e4dbaed5
AS
109052002-03-27 Andreas Schwab <schwab@suse.de>
10906
10907 * config/i386/i386.c (classify_argument): Also check for
10908 QUAL_UNION_TYPE.
10909
18b467f1
RO
109102002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10911
10912 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
10913 any more.
10914
d337d653
JH
10915Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
10916
10917 * i960.md (ret): Set PC.
10918 (nonlocal_goto): Fix expander.
10919 * builtins.c (epxand_builin_longjmp): Check that we've emitted
10920 some jump or call.
10921
218aa620
JH
10922Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
10923
10924 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
10925 of libcall regions.
10926
e27a4eaf
ZD
10927Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10928
10929 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
10930 assigning to BLOCK_FOR_INSN directly.
10931
8a12f34c
JH
10932Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
10933
10934 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
10935
c9d892a8
NB
109362002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
10937
10938 * c-common.c (c_expand_expr): Fix prototype.
10939 * c-common.h (c_expand_expr): Always declare, update.
10940 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
10941 * c-objc-common.c (c_objc_common_init): No global hook.
10942 * expr.c (expand_expr): Use langhook.
10943 * expr.h (enum expand_modifier): Conditionally declare.
10944 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
10945 (LANG_HOOKS_INITIALIZER): Update.
10946 * langhooks.c (lhd_expand_expr): New.
10947 * langhooks.h (struct lang_hooks): New hook.
10948 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
10949 (lang_independent_init): Don't default hook.
10950objc:
10951 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
10952
6dad5a56
RH
109532002-03-27 Richard Henderson <rth@redhat.com>
10954
10955 PR target/6054
10956 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
10957 TARGET_CONST_GP. Simplify conditions.
10958
59f96879
RH
109592002-03-27 Richard Henderson <rth@redhat.com>
10960
10961 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
10962 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
10963 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
10964
f3f1190d
DS
109652002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
10966
10967 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
10968 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
10969 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
10970 Remove unnecessary masks.
10971 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
10972 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
10973 -mwindows, -mdll switches and their negations.
10974
31c816cf
NB
109752002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
10976
10977 * gcc-common.c (lang_mark_false_label_stack): Remove.
10978 * ggc.h (lang_mark_false_label_stack): Similarly.
10979
7b2e1077 109802002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
10981
10982 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
10983
10984 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
10985 or __rtems_ is defined.
10986
1ef9531b
RH
109872002-03-26 Richard Henderson <rth@redhat.com>
10988
10989 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
10990 if a non-trivial load was emitted.
10991 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
10992 in high+extra+low case.
10993
300d4093
RH
109942002-03-26 Richard Henderson <rth@redhat.com>
10995
10996 * config.gcc (sparc*-solaris): Use float_format=sparc.
10997
b3689904
RH
109982002-03-26 Richard Henderson <rth@redhat.com>
10999
11000 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
11001 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
11002 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
11003 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
11004 (WINT_TYPE_SIZE): Fix at 32.
11005
1eefb6c1
RH
110062002-03-26 Richard Henderson <rth@redhat.com>
11007
11008 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
11009 until after eh landing pad generation.
11010 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
11011 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
11012
361ea006
RH
110132002-03-26 Richard Henderson <rth@redhat.com>
11014
11015 * expr.h (ADD_PARM_SIZE): One more convert for INC.
11016
1de38a88
PE
110172002-03-26 Phil Edwards <pme@gcc.gnu.org>
11018
11019 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
11020 and warning switches.
11021 (cc1_options): Likewise.
11022
d7e60e95 110232002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 11024
d7e60e95
HB
11025 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
11026 Restore more of the signal context. Set no_reg_stack_frame.
11027 * config/ia64/unwind-ia64.c (unw_state_record):
11028 Add no_reg_stack_frame, comments.
11029 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
11030 (uw_update_context): Adjust bsp when unwinding from leaf,
11031 but not signal frame.
11032
7032923b
DE
110332002-03-26 David Edelsohn <edelsohn@gnu.org>
11034
11035 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
11036
8be56275
BW
110372002-03-26 Bob Wilson <bob.wilson@acm.org>
11038
11039 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
11040
56fbb855
RE
110412002-03-26 Richard Earnshaw <rearnsha@arm.com>
11042
11043 PR target/5621
11044 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
11045 "Add a pool_range attribute", which was lost during the ARM/Thumb
11046 merge.
11047
3437320b
BW
110482002-03-26 Bob Wilson <bob.wilson@acm.org>
11049
11050 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
11051 a register into the MAC16 accumulator.
11052
173028e5
AC
110532002-03-26 Andrew Cagney <ac131313@redhat.com>
11054
11055 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
11056 (Warning Options): Document -Wswitch-enum.
11057 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
11058 -Wswitch.
11059 (warn_switch_enum): Define variables.
11060 * flags.h (warn_switch_enum): Declare variables.
11061 * stmt.c (expand_end_case_type): When warn_switch_enum /
11062 -Wswitch-enum, perform switch checks.
11063 Fix PR c/5044.
7b2e1077 11064
e14365a7
RE
110652002-03-26 Richard Earnshaw <rearnsha@arm.com>
11066
11067 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
11068 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
11069 (reload_muladdsi_compare0_scratch): Delete.
11070
46fc709d
LR
110712002-03-26 Loren J. Rittle <ljrittle@acm.org>
11072
11073 * doc/install.texi (*-*-freebsd*): Update.
11074
f36dea3c
RH
110752002-03-26 Richard Henderson <rth@redhat.com>
11076
8e5fe23f
RH
11077 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
11078 (SUB_PARM_SIZE): Cast DEC to ssizetype.
11079
11080 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
11081 types from the normal argument frame.
11082
f36dea3c
RH
11083 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
11084 variable sized objects by reference.
11085 (sparc_va_arg): Receive them by reference too.
11086
1447dc69
HP
110872002-03-26 Hartmut Penner <hpenner@de.ibm.com>
11088
11089 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 11090 code to not restoring global registers.
1447dc69 11091
4f0ade92
NB
110922002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
11093
11094 * Makefile.in (ggc-common.o): Update.
11095 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
11096 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
11097 * c-tree.h (c_mark_tree): New.
11098 * ggc-common.c: Include langhooks.h.
11099 (gcc_mark_trees): Use new langhook.
11100 * ggc-callbacks.c: Delete file.
11101 * ggc.h (lang_mark_tree): Remove.
11102 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
11103 (LANG_HOOKS_INITIALIZER): Update.
11104 * langhooks.h (struct lang_hooks): New hook.
11105objc:
11106 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
11107
caba570b
ZW
111082002-03-25 Zack Weinberg <zack@codesourcery.com>
11109
11110 * doc/cpp.texi: Exclude entire Top node from printed manual.
11111 Move option index after directive index. Insert page breaks
11112 before GFDL and concept index. Index environment variables
11113 with command line options.
11114 * doc/cppenv.texi: Use @vtable for environment variable list.
11115 Add paragraph explaining semantics of empty elements in path
11116 variables. Exclude a cross-reference to Fishkill from the
11117 manpage. Remove an unnecessary cross-reference of the entry
11118 right above the referer. Don't use @anchor in text that goes
11119 into manpage.
11120 * doc/cppopts.texi: Cross-reference the environment variables
11121 section, not the specific environment variable, for consistency.
11122
6b2e80b7
RH
111232002-03-25 Richard Henderson <rth@redhat.com>
11124
11125 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
11126 anywhere in the block. Don't refer to insns that have been
11127 removed from the chain. Iterate backward through the new insns.
11128 Don't refer to edges that have been removed.
11129
67e469d7
AM
111302002-03-26 Alan Modra <amodra@bigpond.net.au>
11131
11132 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
11133 test for overflow of constant.
11134
f2356393
RE
111352002-03-25 Richard Earnshaw <rearnsha@arm.com>
11136
11137 PR target/2623
11138 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
11139 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
11140 these patterns on arm_archv4.
11141
355426ab
DS
111422002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
11143
11144 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
11145 int".
11146
15e5ad76
ZW
111472002-03-25 Zack Weinberg <zack@codesourcery.com>
11148
11149 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
11150 float_handled, float_handler, float_signal, set_float_handler,
11151 and do_float_handler. Set handler for SIGFPE to crash_signal.
11152 * toplev.h: Don't prototype do_float_handler.
11153
11154 * c-lex.c: Fold parse_float into lex_number. Make warning
11155 about portability of hex float constants more informative, and
11156 don't issue it on top of a syntax error.
11157 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
11158 their callers.
11159 * real.h: Define REAL_VALUE_ABS here...
11160 * simplify-rtx.c: ... not here. Fold check_fold_consts,
11161 simplify_unary_real, simplify_binary_real, and
11162 simplify_binary_is2orm1 into their callers.
11163 * tree.c: Fold build_real_from_int_cst_1 into caller.
11164
11165 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
11166
11167 * tsystem.h: Include float.h here...
11168 * libgcc2.c: ... not here.
11169
56ae9405
NC
111702002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
11171
11172 Fixes for: PR bootstrap/3591, target/5676
11173 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
11174 defined. Do not disable exceptions or rtti.
11175 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
11176 mcore.h. Disable exceptions and rtti, since they are not
11177 supported by EPOC.
11178
c88770e9
NB
111792002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
11180
11181 * c-decl.c (maybe_build_cleanup): Remove.
11182 * expr.c (expand_expr): Use langhook.
11183 * langhooks-def.h (lhd_return_null_tree,
11184 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
11185 (LANGHOOKS_INITIALIZER): Update.
11186 * langhooks.c (lhd_return_null_tree): New.
11187 * langhooks.h (struct lang_hooks): New hook.
11188 * tree-inline.c (initialize_inlined_parameters): Use langhook.
11189 * tree.h (maybe_build_cleanup): Remove.
11190
2ed1f154
JJ
111912002-03-25 Jakub Jelinek <jakub@redhat.com>
11192
11193 * regrename.c (build_def_use): Move recog_memoized
11194 before extract_insn.
11195
6ddae612
JJ
111962002-03-25 Jakub Jelinek <jakub@redhat.com>
11197
11198 PR target/6043
11199 * expr.c (emit_group_store): Handle storing into CONCAT.
11200
ea475b23
JJ
112012002-03-25 Jakub Jelinek <jakub@redhat.com>
11202
11203 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
11204 corresponding MATCH_DUP.
11205
e7d482b9
RH
112062002-03-24 Richard Henderson <rth@redhat.com>
11207
cd39fc13
RH
11208 * unroll.c (unroll_loop): Zero label_map.
11209
e7d482b9
RH
11210 * gcse.c: Include except.h.
11211 * Makefile.in (gcse.o): Update.
11212
1bd6476f
RH
112132002-03-24 Richard Henderson <rth@redhat.com>
11214
11215 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
11216 Do resolve_unique_section before shared data clause.
11217
2e6c150a
RH
112182002-03-24 Richard Henderson <rth@redhat.com>
11219
11220 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
11221
b29afcf8
RH
112222002-03-24 Richard Henderson <rth@redhat.com>
11223
15e5ad76 11224 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
11225 generated in the middle of a block. Do global life update if
11226 zapped EH edges.
11227
05ed1296
RH
112282002-03-24 Richard Henderson <rth@redhat.com>
11229
11230 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
11231
3ddbb8a9
NB
112322002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
11233
11234 preprocessor/3951
15e5ad76 11235 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
11236 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
11237 (init_dependency_output): Don't make no_output decision here.
11238
740b77b6
AC
112392002-03-24 Andrew Cagney <ac131313@redhat.com>
11240
11241 * stmt.c (check_for_full_enumeration_handling): Remove tests of
11242 warn_switch. Update description.
11243 (expand_end_case_type): Call check_for_full_enumeration_handling
11244 when warn_switch.
11245
7590cfd0
SC
112462002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11247
11248 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
11249 (m68hc11_split_move): Call it to see if the source and destination
11250 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 11251 source an offsetable memory operand and generate an add.
7590cfd0 11252
2e3d3481
SC
112532002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11254
11255 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
11256 register for operand 2.
11257 ("*subsi3_zero_extendqi"): Likewise.
11258 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
11259 bits so that it is compatible with a pop.
11260 ("*andhi3_gen"): Likewise.
11261 ("xorhi3"): Likewise.
11262
2784528c
NB
112632002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
11264
11265 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
11266 -pedantic here...
11267 (cpp_post_options): ... not here.
11268
aaf93206
NB
112692002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
11270 Aldy Hernandez <aldyh@redhat.com>
11271
11272 Removal of separate preprocessor cpp0.
11273
11274 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
11275 cpp0, install-common): Update.
11276 * c-common.c (flag_preprocess_only): New.
11277 (c_common_init): Preprocess for -E.
11278 * c-common.h (flag_preprocess_only): New.
11279 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
11280 * c-objc-common.c (c_init_decl_processing): Exit quickly
11281 for NULL return from c_common_init.
11282 * cpplib.h (cpp_preprocess_file): New.
11283 * cppmain.c (main, general_init, pfile, progname): Remove.
11284 (do_preprocessing): Rename cpp_preprocess_file, don't call
11285 cpp_finish. Don't close stdout here.
11286 (setup_callbacks): Update prototype.
11287 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
11288 Update.
11289 * tradcpp.c (main): Ignore -quiet.
11290objc:
11291 * lang-specs.h (default_compilers): Preprocess with cc1obj.
11292
c6e6f5c1
RH
112932002-03-24 Richard Henderson <rth@redhat.com>
11294
11295 PR optimization/5742
11296 * machmode.def: Add inner mode field to complex modes.
11297 * config/mips/mips.c (mips_function_value): Always define. Add
11298 new argument to handle libcalls.
11299 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
11300 (FUNCTION_VALUE): Likewise.
11301 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
11302 * config/mips/mips-protos.h: Update.
11303
d88e57d1
RH
113042002-03-23 Richard Henderson <rth@redhat.com>
11305
11306 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
11307 * config/sparc/sparc-protos.h: Update.
11308 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
11309
6dfaf9ba
RH
113102002-03-23 Richard Henderson <rth@redhat.com>
11311
11312 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
11313 _start or _init begins the text segment.
11314
0c769cf8
DE
113152002-03-23 David Edelsohn <edelsohn@gnu.org>
11316
11317 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
11318 not HOST_WIDEST_INT.
11319 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
11320
64e92a26
RE
113212002-03-23 Richard Earnshaw <rearnsha@arm.com>
11322
11323 PR java/5489
11324 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
11325 operand argument to output_return_instruction.
15e5ad76 11326 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
11327 const_true_rtx then just return.
11328 (arm_print_operand, case 'D'): If the operand is const_true_rtx
11329 then abort.
11330
d6961341
AC
113312002-03-23 Andrew Cagney <ac131313@redhat.com>
11332
11333 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
11334 (Warning Options): Document -Wswitch-default.
11335 * toplev.c (W_options): Add -Wswitch-default. Update comment on
11336 -Wswitch.
11337 (warn_switch_default): Define variable.
11338 (warn_switch): Update comment.
11339 * flags.h (warn_switch_default): Declare variable.
11340 (warn_switch): Update comment.
11341 * stmt.c (expand_end_case): Check for and, when
11342 warn_switch_no_default, warn of a missing default case.
15e5ad76 11343
d4c5ac1f
AM
113442002-03-23 Alan Modra <amodra@bigpond.net.au>
11345
bbaa9790
AM
11346 * real.h (N): Special case 128 bit doubles.
11347
d4c5ac1f
AM
11348 * combine.c (simplify_comparison): When widening modes, ignore
11349 sign extension on CONST_INTs.
11350
84bf8c2c
BW
113512002-03-22 Bob Wilson <bob.wilson@acm.org>
11352
11353 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
11354 passed to adjust_address. Fix comment formatting.
11355
11356
b216cd4a
ZW
113572002-03-22 Zack Weinberg <zack@codesourcery.com>
11358
11359 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
11360 Always make REAL_VALUE_TYPE a struct containing an array of
11361 HOST_WIDE_INT, not a double. Tidy up the code deciding how
11362 big it is. Don't declare or use union real_extract.
11363
11364 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
11365 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
11366 (print_operand), config/arm/arm.c (output_move_double),
11367 config/arm/arm.md (consttable_4, consttable_8),
11368 config/romp/romp.c (output_fpops), config/s390/s390.h
11369 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
11370 (xtensa_output_literal): Don't use union real_extract.
11371
11372 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
11373 (sfmode_constant_to_ulong), config/ns32k/merlin.h
11374 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
11375 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
11376 (PRINT_OPERAND): Don't use local version of union
11377 real_extract.
11378
11379 * config/convex/convex.c (check_float_value), config/vax/vax.c
11380 (vax_float_literal), config/m88k/m88k.md (divdf3),
11381 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
11382 config/pdp11/pdp11.c (output_move_quad): Don't do host
11383 arithmetic on target floating point quantities.
11384
11385 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
11386 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
11387
11388 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
11389 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
11390
11391 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
11392 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
11393 INFINITY.
11394 * print-rtl.c (print_rtx): Disable code which needs
11395 floating-point emulator.
11396 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
11397 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
11398 depending on HOST_FLOAT_FORMAT to be defined properly.
11399
11400 * config/1750a/1750a.c (get_double, float_label): Delete.
11401 (print_operand): Delete huge commented-out chunk. Use
11402 REAL_VALUE_TO_DECIMAL.
11403 * config/1750a/1750a-protos.h: Delete prototypes of deleted
11404 functions.
11405 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
11406 IEEE_FLOAT_FORMAT.
11407 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
11408 Use REAL_VALUE_TO_DECIMAL as ELF version does.
11409 * config/m88k/m88k.c (real_power_of_2_operand,
11410 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
11411 real_extract out of the union; run the input through
11412 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
11413 from that into the union.
11414 * config/pdp11/pdp11.c (output_move_double): Rearrange
11415 parentheses to make automatic indenter happy.
11416
11417 * doc/tm.texi (Cross-compilation): Rename node to "Floating
11418 Point" and rewrite to describe current situation. Also adjust
11419 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
11420 match code.
11421 * doc/rtl.texi: Adjust cross reference.
11422
a8cacfd2
BW
114232002-03-22 Bob Wilson <bob.wilson@acm.org>
11424
11425 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
11426 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
11427 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
11428 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
11429 prevent use of sp as a reload register.
11430 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
11431 non_acc_reg_operand.
11432 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
11433 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
11434 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
11435 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
11436
d4e6133f
NB
114372002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
11438
b216cd4a
ZW
11439 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
11440 * cpplex.c (unterminated): Delete.
11441 (parse_string): No string literal may extend over multiple
11442 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
11443 * cppmain.c (scan_translation_unit): Strings are single-line.
11444
b216cd4a 11445 * doc/cpp.texi: Update to match.
d4e6133f 11446
65e6c005
JJ
114472002-03-22 Jakub Jelinek <jakub@redhat.com>
11448
11449 PR optimization/5854
11450 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
11451 Shut up warnings.
11452 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
11453 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
11454 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
11455 const0 if scratch register was not allocated.
11456 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
11457 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
11458 with GEN_INT (...).
11459 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
11460 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
11461 with GEN_INT (...) everywhere. Remove constraints in define_split
11462 patterns.
11463 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
11464 require scratch register for setting 0 into regs/non-pushable memory.
11465
7f48c9e1
AO
114662002-03-22 Alexandre Oliva <aoliva@redhat.com>
11467
11468 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
11469 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
11470
909de5da
PE
114712002-03-22 Phil Edwards <pme@gcc.gnu.org>
11472
11473 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
11474 * cppinit.c (cpp_create_reader): On by default.
11475 (cpp_handle_option): Handle -W[no-]endif-labels.
11476 (cpp_post_options): Also enable if -pedantic.
11477 * cpplib.c (do_else): Use it.
11478 (do_endif): Likewise.
11479 * doc/cppopts.texi: Document new option.
11480 * doc/invoke.texi: Document new option.
11481
d8bf17f9
LB
114822002-03-22 Lars Brinkhoff <lars@nocrew.org>
11483
11484 * config/i386/i386.c, config/i386/i386.md: Change all occurences
11485 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
11486
70e0ccd0
AO
114872002-03-22 Alexandre Oliva <aoliva@redhat.com>
11488
11489 * flow.c (calculate_global_regs_live): Clear aux fields of
11490 ENTRY and EXIT.
11491
68882f0f
JJ
114922002-03-22 Jakub Jelinek <jakub@redhat.com>
11493
11494 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
11495 REG or MEM subregs, pass rtx * instead of rtx to it.
11496 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
11497 rtx * instead of rtx to alter_subreg.
11498 * config/m32r/m32r.c (gen_split_move_double): Likewise.
11499 * config/pj/pj.c (pj_output_rval): Likewise.
11500
648fe28b
RH
115012002-03-22 Richard Henderson <rth@redhat.com>
11502
11503 PR target/3177
11504 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
11505 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
11506 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
11507 (ia64_expand_prologue): Look at int_regs, not words, for number
11508 of incomming int regs.
11509
e8dcd824
AM
115102002-03-22 Andrew MacLeod <amacleod@redhat.com>
11511
11512 * expr.c (expand_expr): A RESULT_DECL is part of a call.
11513
96327cdc
JH
11514Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
11515
11516 * toplev.c (flag_loop_optimize, flag_crossjumping):
11517 New static variables.
11518 (rest_of_compilation): Conditionalize crossjumping and
11519 loop optimizer.
11520 (parse_options_and_default_flags): Default loop_optimize and
11521 crossjumping.
11522 (lang_independent_options): Add -fcrossjumping and -floop-optimize
11523 * invoke.texi (crossjumping, loop-optimize): Document.
11524
bc185257
RS
115252002-03-22 Richard Sandiford <rsandifo@redhat.com>
11526
11527 * real.c (eiisneg): Move outside #ifdef NANS.
11528
0a2ed1f1
JH
11529Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
11530
11531 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
11532 frequencies match; avoid match on different loop depths.
11533 (try_crossjump_to_bb): Kill tests that no longer brings time
11534 savings.
11535 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
11536 updating code.
11537 (split_edge): Likewise.
11538
11539 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
11540 variable.
11541
11542 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
11543 * cfgrtl.c: Include insn-config.h
11544 (split_block) Dirtify block in presence of conditional execution
11545
4d72536e
RS
115462002-03-22 Richard Sandiford <rsandifo@redhat.com>
11547
11548 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
11549 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
11550 (function_arg): Constify CUMULATIVE_ARGS.
11551 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
11552 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
11553 (UNITS_PER_DOUBLE): New macro.
11554 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
11555 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
11556 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
11557 fp_regs and stack_words.
11558 (EABI_FLOAT_VARARGS_P): New macro.
11559 * config/mips/mips.c (struct mips_arg_info): New.
11560 (mips_arg_info): New function.
11561 (function_arg_advance): Use it. Add adjustment instructions here
11562 rather than in function_arg.
11563 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
11564 for VOIDmode at the beginning of the function.
11565 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
11566 (function_arg_pass_by_reference): Likewise.
11567 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
11568 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
11569 (mips_va_start): Likewise. Use the new stack_words field of
11570 CUMULATIVE_ARGS to set up overflow area. Reformat.
11571 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
11572 doubles and other types, aligning the overflow pointer for non-doubles
11573 too. Remove some code duplication. Replace hard-coded constants.
11574
e6f884cd
RS
115752002-03-22 Richard Sandiford <rsandifo@redhat.com>
11576
11577 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
11578 (CLASS_UNITS): Undefine.
11579 (CLASS_MAX_NREGS): Use FP_INC.
11580 * config/mips/mips.c (compute_frame_size): Likewise.
11581 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
11582
10cf9bde
NB
115832002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
11584
11585 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
11586 prototype, and handle lexing numbers and identifiers.
11587 (parse_identifier): Update to new form of parse_slow.
11588 (parse_number): Fast path only, use parse_slow otherwise.
11589 (_cpp_lex_direct): Update calls to parse_number.
11590
fbc2782e
DD
115912002-03-21 DJ Delorie <dj@redhat.com>
11592
11593 * bb-reorder.c (make_reorder_chain_1): Protect against
11594 when redundant edges are omitted.
11595 * predict.c (dump_prediction): Likewise.
11596
fba39eaf
RH
115972002-03-21 Richard Henderson <rth@redhat.com>
11598
11599 PR target/5996
11600 * fixinc/inclhack.def (solaris_stdio_tag): New.
11601 * fixinc/fixincl.x: Regenerate.
11602
eba80994
EB
116032002-03-21 Eric Botcazou <ebotcazou@multimania.com>
11604
11605 PR c/5597
11606 * c-typeck.c (process_init_element): Flag non-static
11607 initialization of a flexible array member as illegal.
11608
2a78758b
AM
116092002-03-22 Alan Modra <amodra@bigpond.net.au>
11610
11611 * config/rs6000/t-linux64: New.
11612 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
11613 t-ppccomm. Use t-rs6000 and t-linux64.
11614 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
11615 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
11616 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
11617 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 11618
2cb921f4
AH
116192002-03-21 Aldy Hernandez <aldyh@redhat.com>
11620
eba80994
EB
11621 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
11622 flag_really_no_inline instead of optimize == 0.
2cb921f4 11623
eba80994 11624 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 11625
eba80994 11626 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 11627
eba80994 11628 * flags.h (flag_really_no_inline): New.
2cb921f4 11629
659e5a7a 11630 * c-common.c (c_common_post_options): Initialize
eba80994 11631 flag_really_no_inline.
2cb921f4 11632
eba80994 11633 * toplev.c (flag_really_no_inline): New.
2cb921f4 11634
239b8b9d
JJ
116352002-03-21 Jakub Jelinek <jakub@redhat.com>
11636
11637 * config/avr/avr.md (length): Fix length computation for
11638 conditional branches.
11639
43577e6b
NB
116402002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
11641
11642 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
11643 sdbout.o, profile.o): Update.
11644 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
11645 langhook.
11646 * c-common.h (gettags): Move here from tree.h.
11647 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
11648 insert_block, getdecls, kept_level_p, global_bindings_p): New.
11649 * dbxout.c (dbxout_init): Use getdecls langhook.
11650 * expr.c (expand_expr): Use insert_block langhook.
11651 * fold-const.c: Include langhooks.h.
11652 (fold_range_test, fold_binary_op_with_conditional_arg,
11653 fold): Use global_bindings_p langhook.
11654 * integrate.c (expand_inline_function): Use insert_block langhook.
11655 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
11656 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
11657 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
11658 LANG_HOOKS_GETDECLS): New.
11659 (LANG_HOOKS_INITIALIZER): Update.
11660 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
11661 langhook.
11662 * langhooks.h (struct lang_hooks_for_decls): New.
11663 (struct lang_hooks): Update.
11664 * profile.c: Include langhooks.h.
11665 (output_func_start_profiler): Use new langhooks.
11666 * sdbout.c: Include langhooks.h.
11667 (sdbout_init, sdbout_finish): Use getdecls langhook.
11668 * stmt.c: Include langhooks.h.
11669 (expand_fixup, fixup_gotos): Use new langhooks.
11670 * stor-layout.c: Include langhooks.h.
11671 (variable_size): Use global_bindings_p langhook.
11672 * toplev.c (compile_file): Use getdecls langhook.
11673 * tree-inline.c (remap_block): Use insert_block langhook.
11674 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
11675 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
11676
5b19b10c
RH
116772002-03-21 Richard Henderson <rth@redhat.com>
11678
11679 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
11680 constants in .data when -fpic.
11681
e05af335
GP
116822002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11683
11684 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
11685 where appropriate.
11686
60ffc997
TT
116872002-03-21 Tom Tromey <tromey@redhat.com>
11688
11689 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
11690
75897075
RK
11691Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11692
a73afd69 11693 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 11694
75897075
RK
11695 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
11696
312687cf
EB
116972002-03-21 Eric Botcazou <ebotcazou@multimania.com>
11698 Richard Henderson <rth@redhat.com>
11699
11700 PR c/5354
11701 * c-common.c (c_expand_expr): Preserve result of a statement
11702 expression if needed.
11703
f0e1f482
JJ
117042002-03-21 Jakub Jelinek <jakub@redhat.com>
11705
11706 PR bootstrap/4195
11707 * genrecog.c (maybe_both_true_mode): Remove.
11708 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
11709 * machmode.def (Pmode): Likewise.
11710
c14b9960
JW
11711Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
11712
11713 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
11714 (nonlocal_mentioned_p_1): New function.
11715 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
11716 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
11717 (mark_constant_function): Recognize pure functions.
11718 * rtl.h (global_reg_mentioned_p): New prototype.
11719 * rtlanal.c (global_reg_mentioned_p,
11720 global_reg_mentioned_p_1): New function.
11721
aaa4d130
RO
117222002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11723
11724 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
11725 UNIX assert.h.
11726 * fixinc/fixincl.x: Regenerate.
11727
e5c4bd1b
JM
117282002-03-20 Jason Merrill <jason@redhat.com>
11729
11730 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
11731
852b81bb
MM
117322002-03-20 Michael Meissner <meissner@redhat.com>
11733
11734 * doc/invoke.texi (Optimize Options): Document that -O2 sets
11735 -fstrict-aliasing.
11736
86d8c251
BW
117372002-03-20 Bob Wilson <bob.wilson@acm.org>
11738
11739 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
11740 ".literal_position" directive before the constant pool.
11741
0a39c350
GP
117422002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11743
11744 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
11745 Add Craig Rodrigues.
11746 Add Brad Lucier to testers.
11747
71a83373
JJ
117482002-03-20 Jakub Jelinek <jakub@redhat.com>
11749
11750 PR target/4792
11751 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
11752 to if_then_else.
11753 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
11754 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
11755 instead of insn_extract.
11756
a29b099d
JJ
117572002-03-20 Jakub Jelinek <jakub@redhat.com>
11758
11759 PR bootstrap/4192
71a83373 11760 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
11761
11762 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
11763 stmt if some case has been output.
11764
048b1c95
JJ
117652002-03-20 Jakub Jelinek <jakub@redhat.com>
11766
11767 PR c/5972
11768 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
11769 movsfcc_1, movdfcc_1): Add %O2.
11770 * config/i386/i386.c (print_operand): Handle %ON.
11771 Print . before float condition codes in Sun as cmov syntax.
11772 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
11773 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
11774 no longer true.
11775
f4864588
PB
117762002-03-20 Philip Blundell <pb@nexus.co.uk>
11777
11778 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
11779 return instruction if PC was popped.
11780
3a307de4
BW
117812002-03-20 Bob Wilson <bob.wilson@acm.org>
11782
11783 * config/xtensa/xtensa.md: Remove unused type attributes.
11784 (adddi_carry, subddi_carry): Change type attribute to "multi".
11785
048b1c95 117862002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
11787
11788 PR optimization/5999, middle-end/5731
11789 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
11790 multiplications by reciprocals.
11791
7afff7cf
NB
117922002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
11793
11794 * Makefile.in: Update.
11795 * c-common.c: Include langhooks.h.
11796 (inline_forbidden_p): Use new hook.
11797 * diagnostic.c: Include langhooks.h.
11798 (format_with_decl, announce_function,
11799 default_print_error_function): Use new hook.
11800 * dwarf2out.c (dwarf2_name): Use new hook.
11801 * function.c: Include langhooks.h.
11802 (init_function_start): Use new hook.
11803 * langhooks-def.h (lhd_decl_printable_name): New.
11804 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
11805 (LANGHOOKS_INITIALIZER): Update.
11806 * langhooks.c (lhd_decl_printable_name): New.
11807 * langhooks.h (struct lang_hooks): New hook.
11808 * toplev.c (decl_name, decl_printable_name): Remove.
11809 (open_dump_file): Use new hook.
11810 (process_options): Remove old hook.
11811 * tree.h (decl_printable_name): Remove.
11812objc:
11813 * objc-act.c (objc_init): Remove old hook.
11814 (objc_printable_name): Export.
11815 * objc-act.h (objc_printable_name): New.
11816 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
11817
f78ce0b7
JB
118182002-03-19 Jim Blandy <jimb@redhat.com>
11819
11820 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
11821 the start_source_file debug hook, not the current line number.
11822
15b5aef3
RH
118232002-03-19 Richard Henderson <rth@redhat.com>
11824
11825 * flow.c (EH_USES): Provide default.
11826 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
11827 * doc/tm.texi (EH_USES): New.
11828
11829 * config/ia64/ia64.c (ia64_eh_uses): New.
11830 * config/ia64/ia64-protos.h: Update.
11831 * config/ia64/ia64.h (EH_USES): New.
11832
02a7a3fd
RH
118332002-03-19 Richard Henderson <rth@redhat.com>
11834
11835 * varasm.c (output_constant_def): Fix stupid typo.
11836
93f82d60
RH
118372002-03-19 Richard Henderson <rth@redhat.com>
11838
2842be05 11839 PR 5879
93f82d60
RH
11840 * except.c (current_function_has_exception_handlers): New.
11841 * except.h: Declare it.
11842 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
11843 Combine tests that disable all sibcalls for the function.
11844
ed4fbfa0
OH
118452002-03-19 Olivier Hainque <hainque@act-europe.fr>
11846
11847 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
11848 for INTEGER_CST.
11849
ebf0e888
RH
118502002-03-19 Richard Henderson <rth@redhat.com>
11851
1e82682b 11852 PR 5977, 5991
ebf0e888
RH
11853 * config/ia64/ia64.c: Revert 2002-03-01 patch.
11854 * config/ia64/ia64.h (INIT_EXPANDERS): New.
11855
e37b38d7
JB
118562002-03-19 Jim Blandy <jimb@redhat.com>
11857
11858 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
11859 name, even if the replacement list contains no tokens, as required
11860 by Dwarf.
11861
2a4ea326
JM
118622002-03-19 Jason Merrill <jason@redhat.com>
11863
f9d09ae5
JM
11864 * varasm.c (globalize_decl): Get the name from the RTL, not
11865 DECL_ASSEMBLER_NAME.
11866
2a4ea326
JM
11867 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
11868
99b96edb
BW
118692002-03-19 Bob Wilson <bob.wilson@acm.org>
11870
11871 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
11872 subdi_carry): Define.
11873
3774b567
DE
118742002-03-19 David Edelsohn <edelsohn@gnu.org>
11875
11876 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
11877 about -fpic/-fPIC if extra_warnings set.
11878
21ef78aa
DE
118792002-03-19 David Edelsohn <edelsohn@gnu.org>
11880
11881 * expr.c (expand_expr): Sign-extend CONST_INT generated from
11882 TREE_STRING_POINTER.
0c2fdcdf 11883 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 11884
91d4b3fd
RK
11885Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11886
11887 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
11888 in favor of SP if FRAME_POINTER_REQUIRED is false.
11889
2496c7bd
LB
118902002-03-19 Lars Brinkhoff <lars@nocrew.org>
11891
11892 * emit-rtl.c (gen_int_mode): New function.
11893 * rtl.h: Prototype for it.
11894 * combine.c (make_extraction, simplify_comparison), expmed.c
11895 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
11896 (convert_modes, store_field), optabs.c (expand_fix),
11897 simplify-rtx.c (neg_const_int, simplify_unary_real),
11898
11899 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
11900 Use it instead of GEN_INT (trunc_int_for_mode (...)).
11901
f735a153
JJ
119022002-03-19 Jakub Jelinek <jakub@redhat.com>
11903
11904 PR c/5656
11905 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
11906 convert_parm_for_inlining.
11907 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
11908 Define.
11909 * langhooks-def.h: Likewise.
11910 * objc/objc-lang.c: Likewise.
11911 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
11912 function.
11913 * tree-inline.c (initialize_inlined_parameters):
11914 Call convert_parm_for_inlining lang hook if needed.
11915 * c-typeck.c (c_convert_parm_for_inlining): New function.
11916 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
11917
1929c971
MM
119182002-03-18 Mark Mitchell <mark@codesourcery.com>
11919
b216cd4a 11920 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
11921 can be destroyed after expanding the argument.
11922 (expand_call): Likewise.
11923
c79ca0ac
EC
119242002-03-15 Eric Christopher <echristo@redhat.com>
11925
11926 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
11927 Fix register preference on last change.
11928 * config/mips/mips.c (mips_return_in_memory): New function.
11929 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
11930 * config/mips/mips-protos.h: Declare.
11931 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
11932 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
11933
07e2e444
AO
119342002-03-18 Alexandre Oliva <aoliva@redhat.com>
11935
1bfbbbcf
AO
11936 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
11937 a register too.
11938 (anddi3, iorsi3): Likewise.
11939
c066429e
AO
11940 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
11941 use %gprel for symbols that are going to be placed in linkonce
11942 sections.
11943
07e2e444
AO
11944 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
11945 RETURN_ADDRESS_POINTER_REGNUM to $ra.
11946 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
11947 not needed. Disregard leaf_function_p().
11948 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
11949 mips16 frame pointer.
11950 * config/mips/mips.md (store ra): Only to small SP offsets.
11951 2001-08-22 Graham Stott <grahams@redhat.com>
11952 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
11953 return a REG rtx for the return address register.
11954
eb8e00ea
BW
119552002-03-18 Bob Wilson <bob.wilson@acm.org>
11956
11957 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
11958 constant-pool addresses as "mode-dependent".
11959 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
11960
cbb92744
JJ
119612002-03-18 Jakub Jelinek <jakub@redhat.com>
11962
11963 PR target/5740
11964 * expr.c (emit_group_load): Use extract_bit_field if
11965 needed for CONCAT arguments.
11966
657d9449
RE
119672002-03-18 Richard Earnshaw <rearnsha@arm.com>
11968
91f3a802 11969 PR target/4863
657d9449
RE
11970 * arm.md (tablejump): Make this a define_expand. For PIC add the
11971 offset to the base of the table.
11972 (thumb_tablejump): Matcher for Thumb tablejump insn.
11973 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
11974 as the difference of two labels.
11975 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11976 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
11977 tables in the code.
11978 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
11979 * arm.c (get_jump_table_size): If the table is not in the text
11980 section, return zero.
c79ca0ac 11981
5d5603e2
BS
119822002-03-18 Bernd Schmidt <bernds@redhat.com>
11983
11984 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
11985 of gen_rtx_SUBREG.
11986 (arm_reload_out_hi): Use gen_lowpart instead of
11987 gen_rtx_SUBREG to access QImode components.
11988 * config/arm/arm.md: Disable zero_extend split for QImode
11989 subregs in BIG_ENDIAN mode.
11990 (storehi_bigend): Match use of least significant byte.
11991 (storeinthi): Remove extraneous SUBREG.
66c17b64 11992 Add missing construction of operands[2].
5d5603e2
BS
11993 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
11994 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
11995 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
11996
df15fbc7
AH
119972002-03-18 Aldy Hernandez <aldyh@redhat.com>
11998
2496c7bd
LB
11999 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
12000 any_operand.
df15fbc7 12001
b83b7fa3
RH
120022002-03-17 Richard Henderson <rth@redhat.com>
12003
12004 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
12005 explicitly.
12006
6f7c00fe
HPN
120072002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
12008
12009 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
12010 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
12011
155038f2
KG
120122002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12013
720d42fa
KG
12014 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
12015
155038f2
KG
12016 * predict.c (estimate_bb_frequencies): Delete unused variables.
12017
e6542f4e
RH
120182002-03-17 Richard Henderson <rth@redhat.com>
12019
12020 * config/ia64/ia64.c (ia64_attribute_table): Move before
12021 targetm definition. Make static.
12022
52dabb6c
NB
120232002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
12024
12025 * c-common.h (yyparse, c_common_parse_file): New.
12026 * c-lang.c: Include c-common.h.
12027 (LANG_HOOKS_PARSE_FILE): Redefine.
12028 * c-lex.c: Include c-common.h.
12029 (yyparse): Rename c_common_parse_file. Call yyparse.
12030 * c-parse.in (yyparse): Remove macro.
12031 * c-tree.h (yyparse_1): Remove.
12032 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
12033 (LANG_HOOKS_INITIALIZER): Update.
12034 * langhooks.h (struct lang_hoooks): New hook parse_file.
12035 * toplev.c (compile_file): Use parse_file hook.
12036 * tree.h (yyparse): Remove.
e6542f4e 12037 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 12038
b5ffe606
HPN
120392002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
12040
ba82f58b
HPN
12041 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
12042 float_truncate, not fix.
12043 ("*truncdfsf2_real"): Ditto.
12044 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
12045
b5ffe606
HPN
12046 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
12047
c8d1b2b7
AO
120482002-03-16 Alexandre Oliva <aoliva@redhat.com>
12049
cfb773f9
AO
12050 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
12051 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
12052 where appropriate. Make the second reference to
12053 leaf_function_p a function call, as intended. Reindented.
12054
4dffef52
AO
12055 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
12056 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
12057
4f5bd6d7
AO
12058 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
12059 add register to non-constant into sp.
12060
c8d1b2b7
AO
12061 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
12062 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
12063 (mips16_gp_pseudo_rtx): Lose.
12064 (INIT_EXPANDERS): Deleted.
12065 * config/mips/mips.c (mips_init_machine_status): New.
12066 (mips_free_machine_status): New.
12067 (mips_mark_machine_status): New.
12068 (override_options): Set them.
12069 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
12070 (struct machine_function): ... new. Replaced all references.
12071 (mips_add_gc_roots): Don't mark them.
12072 (embedded_pic_fnaddr_reg): New, extracted from...
12073 (embedded_pic_offset): ... here.
12074 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
12075 (movsi): Likewise.
12076
b3124fac
NB
120772002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
12078
12079 * cppinit.c: Revert -MD removal.
12080
121449b6
SC
120812002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12082
12083 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
12084 soft registers by default for 68HC12.
12085 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
12086 when compiling with -fomit-frame-pointer.
12087 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
12088 (expand_epilogue): Likewise.
12089 (m68hc11_gen_rotate): Use exg when rotating by 8.
12090
840e2ff1
SC
120912002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12092
12093 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
12094 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
12095 (splits): Remove unused add splits.
12096 ("*addhi3_68hc12"): Tune constraints.
12097 ("addhi_sp"): Try to use X instead of Y in all cases and if the
12098 constant fits in 8-bits and D is dead use abx/aby instructions.
12099 ("*addhi3"): Remove extern declaration of ix_reg.
12100 ("*subsi3"): Optimize and provide new split.
12101 ("subhi3"): Cleanup.
12102 ("*subhi3_sp"): Avoid saving X if we know it is dead.
12103 (arith splits): For 68hc12 save the address register on the stack
12104 and do the arithmetic operation with a pop.
12105
3c9a5efe
SC
121062002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12107
12108 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
12109 allocating QImode in address registers.
12110 ("*movqi_m68hc11"): Likewise.
12111
e41f3392
JH
12112Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
12113
12114 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
12115
576786b0
NB
121162002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
12117
12118 * cppinit.c (print_help): Display -MD and -MMD.
12119 Don't display usage string. Update assertion syntax and
12120 typo.
12121 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
12122 (cpp_handle_option): Update.
12123
1ac458d4
CD
121242002-03-15 Chris Demetriou <cgd@broadcom.com>
12125
12126 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
12127 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
12128 and define it so that regardless of target CPU size,
12129 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
12130 of "int" rather than "long."
12131
1fcd592b
RH
121322002-03-15 Richard Henderson <rth@redhat.com>
12133
12134 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
12135 size as a tree.
12136
a0df6910
SC
121372002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12138
12139 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
12140 ("tstqi" split): Avoid using memory for tstqi on address register.
12141 (splits): Remove constraints.
12142 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
12143 ("cmpdf", "cmpsf"): Remove since not used.
12144 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
12145 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
12146
015a2e59
SC
121472002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12148
12149 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
12150 ("neghi2"): Tighten constraints.
12151 ("one_cmplsi2"): Optimize and simplify split.
12152 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
12153
cd28557c
SC
121542002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12155
12156 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
12157 and split of AND operation to clear the upper bits.
12158 ("*logicalsi3_zextqi"): Likewise.
12159 ("*logicallhi3_zexthi_ashift8"): Likewise.
12160 ("*logicalsi3_silshr16"): Likewise.
12161 ("logicalsi3_silshl16"): Likewise.
12162 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
12163
932657df
SC
121642002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12165
12166 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
12167 (m68hc11_indirect_p): New function.
12168 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
12169 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
12170 TARGET_M6812.
12171 (asm_print_register): Likewise.
12172 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
12173 (m68hc11_indirect_p): Declare.
12174 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
12175 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
12176 (TARGET_SWITCHES): New option -mrelax.
12177 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
12178 destination.
12179 ("iorsi3", "xorsi3"): Likewise.
12180 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
12181 ("*andhi3_mem"): New to handle destination in memory with bclr
12182 and a scratch register.
12183 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
12184 ("*andhi3_const"): New when operand2 is constant.
12185 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
12186 ("*andhi3_gen"): Cleanup of the old "andhi3".
12187 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
12188 ("xorqi3"): Update constraints.
12189
fdffea1a
SC
121902002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12191
12192 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
12193 for reg_equiv_memory_loc when the operand is a register that does
12194 not get a hard register (stack location).
12195 (tst_operand): After reload, accept all memory operand.
12196 (symbolic_memory_operand): Fix detection of symbolic references.
12197 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
12198 accept symbols and any constant.
12199
6272bc68
SC
122002002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12201
12202 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
12203 note on the insn that sets the soft frame register.
12204 (must_parenthesize): ix and iy are also reserved names.
12205 (print_operand_address): One more place where parenthesis are required
12206 to avoid confusion with register names.
12207 (m68hc11_gen_movhi): Allow push of stack pointer.
12208 (m68hc11_check_z_replacement): Fix handling of parallel with a
12209 clobber.
12210 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
12211 the replacement register is.
12212 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
12213 and D8_REGS classes.
12214 (MODES_TIEABLE_P): All modes are tieable except QImode.
12215
1d2d9def
SC
122162002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12217
12218 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
12219 (___subdi3): Likewise.
12220 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
12221 (__map_data_section): Optimize 68hc11 case.
12222
a0ccf503
SC
122232002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12224
12225 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
12226 than a shift to avoid adding a register with itself.
12227 (m68hc11_memory_move_cost): Take into account NO_REGS.
12228 (m68hc11_register_move_cost): Update and use memory move cost
12229 for soft registers.
12230 (m68hc11_address_cost): Make cost of valid offset not 0 so that
12231 it gives more opportunities to cse to optimize.
12232 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
12233 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
12234
6e4ae815
MM
122352002-03-15 Mark Mitchell <mark@codesourcery.com>
12236
12237 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
12238 * c-common.def (CLEANUP_STMT): New tree node.
12239 * c-common.h (CLEANUP_DECL): New macro.
12240 (CLEANUP_EXPR): Likewise.
12241 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
12242 * expr.c (expand_expr): Tidy.
12243 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
12244 * tree-inline.c (initialize_inlined_parameters): Clean up
12245 new local variables.
12246
a42519be
JJ
122472002-03-15 Jakub Jelinek <jakub@redhat.com>
12248
12249 PR bootstrap/4128
12250 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
12251 before movrXX only, use reg_overlap_mentioned_p.
12252 Only special case NE if just one insn can be generated.
12253
15409448
JM
122542002-03-15 Jason Merrill <jason@redhat.com>
12255
12256 * varasm.c (assemble_variable): Call resolve_unique_section before
12257 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
12258 of error_mark_node.
12259
3a4edb44
RE
122602002-03-15 Richard Earnshaw <rearnsha@arm.com>
12261
12262 PR target/5170
12263 * arm.md (split pattern for thumb shiftable immediates): Add comment
12264 explaining non-obvious test.
12265
32defa36
RE
122662002-03-15 Richard Earnshaw <rearnsha@arm.com>
12267
12268 PR target/5712
12269 * arm.md (movaddr, movaddr_insn): Delete.
12270
5cc90635
JM
122712002-03-15 Jason Merrill <jason@redhat.com>
12272
12273 * toplev.c (wrapup_global_declarations): Clarify variable handling.
12274 -fkeep-static-consts doesn't apply to comdats.
12275
ecb0eece
RH
122762002-03-14 Richard Henderson <rth@redhat.com>
12277
12278 * c-decl.c: Include c-pragma.h.
12279 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
12280 (finish_function): Tidy.
12281 * c-pragma.c: Include c-common.h.
12282 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
12283 (handle_pragma_weak): Use them.
12284 (init_pragma): Register pending_weaks.
12285 * c-pragma.h (maybe_apply_pragma_weak): Declare.
12286 * print-tree.c (print_node): Print DECL_WEAK.
12287 * varasm.c (mark_weak_decls): Remove.
12288 (remove_from_pending_weak_list): Remove.
12289 (add_weak): Remove.
12290 (asm_emit_uninitialised): Call globalize_decl for weak commons.
12291 (weak_decls): Make a tree_list.
12292 (declare_weak): Cons weak_decls directly.
12293 (globalize_decl): Remove weak_decls elements directly.
12294 (weak_finish): Simplify weak_decls walk. Don't weaken unused
12295 symbols. Don't pretend to handle aliases.
12296 (init_varasm_once): Update weak_decls registry.
12297 * Makefile.in: Update dependencies.
12298
98d2b17e
RH
122992002-03-14 Richard Henderson <rth@redhat.com>
12300
12301 PR target/5312
12302 * config/ia64/ia64.c: Include tm_p.h last.
12303 (gen_nop_type): Remove duplicate definition.
12304 (cycle_end_fill_slots): Set sched_data for second L slot.
12305 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
12306 (nop_cycles_until): Fix typos.
12307
f2f4927e
JJ
123082002-03-15 Jakub Jelinek <jakub@redhat.com>
12309
12310 PR optimization/5891
12311 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
12312
5025a549
DM
123132002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
12314
12315 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
12316 descriptors correctly.
12317
03e9dbc9
MM
123182002-03-14 Michael Meissner <meissner@redhat.com>
12319
12320 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
12321 100, allowing MAX_UNROLLED_INSNS to be overridden.
12322
12323 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
12324 --param.
12325
12326 * unroll.c (params.h): Include.
12327 (MAX_UNROLLED_INSNS): Delete, now in params.h.
12328
12329 * doc/invoke.texi (--param max-unroll-insns): Document.
12330
12331 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
12332
12249385
RE
123332002-03-14 Richard Earnshaw <rearnsha@arm.com>
12334
12335 * arm.md: Fix warnings about constraints in peepholes and splits.
12336
f0cce04a
ZW
123372002-03-14 Zack Weinberg <zack@codesourcery.com>
12338
12339 * cpphash.h (struct lexer_state): Remove line_extension member.
12340 * cpplib.c (dequote_string, do_linemarker): New functions.
12341 (linemarker_dir): New data object.
12342 (DIRECTIVE_TABLE): No longer need to interpret #line in
12343 preprocessed source. Delete obsolete comment about return
12344 values of handlers.
12345 (end_directive, directive_diagnostics, _cpp_handle_directive):
12346 Don't muck with line_extension.
12347 (directive_diagnostics): No need to issue warnings for
12348 linemarkers here.
12349 (_cpp_handle_directive): Issue warnings for linemarkers here,
12350 when appropriate. Dispatch linemarkers to do_linemarker, not
12351 do_line.
12352 (do_line): Code to handle linemarkers split out to do_linemarker.
12353 Convert escape sequences in filename argument, both places.
12354
12355 * cppmacro.c (quote_string): Rename cpp_quote_string and
12356 export. All callers changed.
12357 * cpplib.h (cpp_quote_string): Prototype.
12358 * cppmain.c (print_line): Call cpp_quote_string on to_file
12359 before printing it.
12360
12361 * doc/cpp.texi: Document that escapes are now interpreted in
12362 #line and in linemarkers, and that non-printing characters are
12363 converted to octal escapes when linemarkers are generated.
12364
12365Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
12366
12367 * emit-rtl.c (try_split): Use delete_insns.
12368 * recog.c (split_all_insns): Fix terminating condition.
12369
c882c7ac
RE
123702002-03-14 Richard Earnshaw <rearnsha@arm.com>
12371 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12372
12373 PR target/5828
12374 * arm.c (arm_output_epilogue): Fix floating-point register save
12375 adjustment when using a frame pointer.
12376
3f26edaa
RS
123772002-03-14 Richard Sandiford <rsandifo@redhat.com>
12378
12379 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
12380 * config/mips/mips.c (compute_frame_size): Retrofit them here.
12381 (save_restore_insns, mips_expand_epilogue): And here.
12382 (build_mips16_call_stub): And here.
12383 (mips_function_value): Use the new macros to decide whether a single
12384 or complex float can be returned in floating-point registers. Return
12385 a parallel rtx in the complex case.
12386
1e3881c2
JH
12387Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
12388
12389 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
12390 call after liveness analysis.
12391
12392 * recog.c (split_insn): Use delete_insn_and_edges.
12393
12394 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
12395 instructions to have branch prediction notes.
12396 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
12397
200ef634
GK
123982002-03-14 Geoffrey Keating <geoffk@redhat.com>
12399
12400 * configure.in: Don't pass -Wno-long-long to a ADA compiler
12401 that doesn't support it.
12402 * configure: Regenerate.
12403
0b82d204
JJ
124042002-03-13 Jakub Jelinek <jakub@redhat.com>
12405
12406 PR target/5626
12407 * config/sparc/sparc.md (normal_branch, inverted_branch,
12408 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
12409 inverted_fp_branch): Adjust calls to output_cbranch.
12410 Set length attribute.
12411 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
12412 output_v9branch. Set length attribute.
12413 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
12414 predicates.
12415 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
12416 (output_cbranch): Likewise. Handle far branches.
12417 (output_v9branch): Handle far branches.
12418 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
12419 Adjust prototypes.
12420 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
12421 noov_compare64_op predicates.
12422
7a8de19b
JM
124232002-03-13 Jason Merrill <jason@redhat.com>
12424
12425 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
12426 into the function and constify it.
12427 * gthr-dce.h, gthr-solaris.h: Likewise.
12428
2a55fd42
DE
124292002-03-13 David Edelsohn <edelsohn@gnu.org>
12430
12431 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
12432 * config/rs6000/rs6000.c (rs6000_va_arg): Use
12433 std_expand_builtin_va_arg if not ABI_V4.
12434
19c5b1cf
JM
124352002-03-13 Jason Merrill <jason@redhat.com>
12436
12437 * varasm.c (globalize_decl): New fn.
12438 (assemble_start_function): Use it.
12439 (asm_emit_uninitialized): Use it.
12440 (assemble_alias): Use it.
12441 (assemble_variable): Use it.
12442
2a15f5e1
HPN
124432002-03-13 Hans-Peter Nilsson <hp@axis.com>
12444
12445 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 12446 2002-03-12 internal visibility change.
2a15f5e1
HPN
12447 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
12448 visibility into SYMBOL_REF_FLAG.
12449
c0a3eeac
UW
124502002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
12451
12452 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
12453 VOIDmode operand. Add compile-time optimization for constant results.
12454
a1652cee
JM
124552002-03-12 Jason Merrill <jason@redhat.com>
12456
12457 * c-typeck.c (convert_for_assignment): Don't allow conversions
12458 between pointers and references. Only allow lvalues to convert to
12459 reference.
12460
c52a375d
HP
124612002-03-13 Hartmut Penner <hpenner@de.ibm.com>
12462
f0cce04a
ZW
12463 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
12464 before prologue, to avoid scheduling problems.
c52a375d 12465
e387e99b
JJ
124662002-03-13 Jakub Jelinek <jakub@redhat.com>
12467
12468 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
12469 (ELIMINABLE_REGS): Add sfp->sp.
12470 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
12471
124722002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
12473
12474 PR optimization/5892
12475 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
12476
4061c1a3
JJ
124772002-03-13 Jakub Jelinek <jakub@redhat.com>
12478
12479 * loop.c (basic_induction_var): Don't call convert_modes if mode
12480 classes are different.
12481
5b43fed1
RH
124822002-03-12 Richard Henderson <rth@redhat.com>
12483
9f53e965
RH
12484 PR optimization/5901
12485 * function.c (reposition_prologue_and_epilogue_notes): Position
12486 the markers after/before the last/first insn not deleted.
12487
124882002-03-12 Richard Henderson <rth@redhat.com>
12489
12490 PR optimization/5878
5b43fed1
RH
12491 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
12492 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
12493 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
12494
12495 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
12496 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
12497 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
12498
12499 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
12500 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
12501 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
12502 also. Don't set it if not flag_pic.
12503 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
12504 to be INVALID_REGNUM when not used.
12505
4e9bb42b
AH
125062002-03-13 Aldy Hernandez <aldyh@redhat.com>
12507
5b43fed1
RH
12508 * expmed.c (store_bit_field): Reset alias set for memory.
12509 (extract_bit_field): Same.
4e9bb42b 12510
2f9834e8
KG
125112002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12512
12513 * c-common.c (c_tree_code_type, c_tree_code_length,
12514 c_tree_code_name, add_c_tree_codes): Delete.
12515 * c-common.h (add_c_tree_codes): Delete.
12516 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
12517 Define.
12518 * c-objc-common.c (c_objc_common_init): Don't call
12519 add_c_tree_codes, instead set lang_unsafe_for_reeval.
12520 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
12521 objc_tree_code_name, add_objc_tree_codes): Delete.
12522 (objc_init): Don't call add_objc_tree_codes.
12523 * objc/objc-lang.c (tree_code_type, tree_code_length,
12524 tree_code_name): Define.
12525 * toplev.c (lang_independent_init): Don't set
12526 tree_code_length[IDENTIFIER_NODE].
12527 * tree.c (tree_code_type, tree_code_length, tree_code_name):
12528 Delete definitions, moved to language front-ends.
12529 * tree.def (IDENTIFIER_NODE): Hardwire the length.
12530 * tree.h (tree_code_type, tree_code_length, tree_code_name):
12531 Const-ify.
12532 (tree_code_length): Change type to unsigned char.
12533
36ad2436
RH
125342002-03-12 Richard Henderson <rth@redhat.com>
12535
12536 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
12537 internal visibility change.
12538
0ae02efa
BW
125392002-03-12 Bob Wilson <bob.wilson@acm.org>
12540
12541 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
12542 validize_mem() instead of change_address to avoid clobbering
12543 memory attributes.
12544
35bb2bee
NB
125452002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
12546
12547 * c-lex.h (position_after_whitespace): Remove.
12548
62ae2529
JJ
125492002-03-12 Jakub Jelinek <jakub@redhat.com>
12550
12551 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
12552 (lex_string): Use unsigned char pointers.
12553
6a45951f
UW
125542002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
12555
12556 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
12557 is not a valid memory_operand.
12558
e2fb85da
BW
125592002-03-12 Bob Wilson <bob.wilson@acm.org>
12560
12561 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
12562 * config/xtensa/lib1funcs.asm: Fix copyright to include
12563 special case for libgcc files.
12564 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
12565 (__divsi3): Likewise.
12566 (__umodsi3): Likewise.
12567 (__modsi3): Likewise.
12568 * config/xtensa/lib2funcs.S: Fix copyright to include
12569 special case for libgcc files.
12570
5b8619f8
TR
125712002-03-12 Tom Rix <trix@redhat.com>
12572
12573 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 12574 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
12575 (ignore_library): Same.
12576
089c8f97
BW
125772002-03-12 Bob Wilson <bob.wilson@acm.org>
12578
12579 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
12580
958c70ff
BW
125812002-03-12 Bob Wilson <bob.wilson@acm.org>
12582
12583 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
12584 to function_section before writing out the constant pool.
12585
a65c591c
DE
125862002-03-12 David Edelsohn <edelsohn@gnu.org>
12587
12588 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
12589 zero_constant.
12590 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
12591
125922002-03-12 Alan Modra <amodra@bigpond.net.au>
12593
12594 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
12595 (adddi3): Likewise.
12596 (movdf): Likewise.
12597 (movdi): Likewise.
12598 (cmpsi splitter): Likewise.
12599 (modsi3): Fail if <= 0.
12600 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
12601 redundant test when HOST_BITS_PER_WIDE_INT != 32.
12602 (reg_or_sub_cint64_operand): Likewise.
12603 (num_insns_constant_wide): Optimize sign extension.
12604 (rs6000_legitimize_address): Likewise.
12605
17720332
AM
126062002-03-12 Andrew MacLeod <amacleod@redhat.com>
12607
12608 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
12609 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
12610
cd49f073
AM
126112002-03-12 Andrew MacLeod <amacleod@redhat.com>
12612
12613 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
12614 address calculation.
12615
6a4e49c1
UW
126162002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
12617
12618 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
12619 scratch register to DImode / TImode.
12620 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
12621 register used does not overlap the target.
12622
54b6670a
KG
126232002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12624
12625 * Makefile.in (debug.o): Depend on debug.h.
12626 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
12627 * debug.c (do_nothing_debug_hooks): Likewise.
12628 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
12629 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
12630 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
12631 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
12632 * dwarfout.c (dwarf_debug_hooks): Likewise.
12633 * integrate.c (output_inline_function): Likewise.
12634 * objc/objc-act.c (synth_module_prologue): Likewise.
12635 * sdbout.c (sdb_debug_hooks): Likewise.
12636 * toplev.c (debug_hooks): Likewise.
12637 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
12638
2465bf76
KG
126392002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12640
12641 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
12642 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
12643 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
12644 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
12645 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
12646 * defaults.h (POINTER_SIZE): Define.
12647 * doc/tm.texi (POINTER_SIZE): Document default.
12648
53f3e9ca
KG
126492002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12650
12651 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
12652
44d3eb5b
RH
126532002-03-11 Richard Henderson <rth@redhat.com>
12654
12655 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
12656 if rebuild_label_notes_after_reload.
12657
4a085d2e
HPN
126582002-03-12 Hans-Peter Nilsson <hp@axis.com>
12659
12660 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
12661 emit pic register load if "internal" visibility.
12662 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
12663 (cris_expand_builtin_va_arg): Do all computations on trees.
12664
bc204393
RH
126652002-03-11 Richard Henderson <rth@redhat.com>
12666
12667 * rtlanal.c: Include recog.h.
12668 (keep_with_call_p): Fix thinko.
12669 * Makefile.in (rtlanal.o): Update dependencies.
12670
6b8b9d7b
CM
126712002-03-11 Chris Meyer <cmeyer@gatan.com>
12672
12673 * genflags.c (gen_insn): Use IS_VSPACE.
12674 * genoutput.c (output_insn_data): Likewise.
12675 (process_template): Likewise.
12676
6c40858f
RH
126772002-03-11 Richard Henderson <rth@redhat.com>
12678
12679 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
12680
40adaa27
NB
126812002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
12682
12683 * Makefile.in: Update.
6c40858f 12684 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 12685 Update documentation.
6c40858f
RH
12686 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
12687 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 12688
049b03f4
ZW
126892002-03-11 Zack Weinberg <zack@codesourcery.com>
12690
12691 * Makefile.in: Give texi2pod its input file as a command line
12692 argument, not on stdin.
12693
61eece67
DN
126942002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
12695 Daniel Berlin <dan@dberlin.org>
12696
12697 C++ alias analysis improvement.
f0cce04a 12698 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
12699 classes too.
12700
a65c591c
DE
127012002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
12702
ff080aba
UW
12703 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
12704
1682dbb1
DR
127052002-03-11 Douglas B Rupp <rupp@gnat.com>
12706
fa2d765a
DR
12707 * toplev.c (vms_fopen): Remove, not needed.
12708
6f1fd286
DR
12709 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
12710
b230e057
DR
12711 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
12712
cb9a8e97
DR
12713 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
12714 for FP, already done later.
12715
1682dbb1
DR
12716 * toplev.c (debug_args): Add entry for VMS_DEBUG.
12717 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
12718
3fcaac1d
RS
127192002-03-11 Richard Sandiford <rsandifo@redhat.com>
12720
12721 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
12722 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
12723 LARGEST_EXPONENT_IS_NORMAL for the given mode.
12724 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
12725 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
12726 (ediv, emul, eldexp, esqrt): Likewise.
12727 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
12728 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
12729 (saturate): New function.
12730 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
12731 (make_nan): Use a saturation value instead of a NaN if
12732 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
12733 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
12734 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
12735 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
12736 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
12737 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
12738 !ROUND_TOWARDS_ZERO.
12739 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
12740 (ROUND_TOWARDS_ZERO): Document.
12741
d25558be
AJ
127422002-03-11 Andreas Jaeger <aj@suse.de>
12743
12744 * cfg.c (dump_flow_info): Remove unused variable.
12745
c71f9ae7
HPN
127462002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
12747
12748 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
12749 computations on trees.
12750
561c9153
RH
127512002-03-10 Richard Henderson <rth@redhat.com>
12752
932b4e3e 12753 PR 5693:
561c9153
RH
12754 * reload.c (copy_replacements_1): New.
12755 (copy_replacements): Use it to recurse through the rtx.
12756
26b738be
RH
127572002-03-10 Richard Henderson <rth@redhat.com>
12758
12759 * loop.c (strength_reduce): Compute number of iterations as
12760 unsigned HOST_WIDE_INT.
12761
8d8a083e
RH
127622002-03-10 Richard Henderson <rth@redhat.com>
12763
12764 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
12765 to move away from the end of the block.
12766
32810ba3
NB
127672002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
12768
12769 PR preprocessor/5899
12770 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 12771
2b03d201
KG
127722002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12773
f90c544c
KG
12774 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
12775
2b03d201
KG
12776 * attribs.c (decl_attributes): Fix signed/unsigned warning.
12777
3ec1b4cb
HPN
127782002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
12779
12780 * config/mmix/mmix.c: Improve comments.
12781 (mmix_target_asm_function_prologue): Drop variable
12782 empty_stack_frame. Don't allocate unused slot above fp.
12783 (mmix_target_asm_function_epilogue): Mirror prologue changes.
12784 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
12785 brace in first column.
12786 (enum reg_class): Ditto.
12787 (FIRST_PARM_OFFSET): Now 0.
12788 (USER_LABEL_PREFIX): Remove #if 0:d definition.
12789
27e486c5
KG
127902002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12791
12792 * combine.c (make_extraction): Fix error in last change.
12793
0139adca
KG
127942002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12795
12796 * c4x.c (c4x_fp_reglist): Const-ify.
12797 * cris.c (cris_print_operand): Likewise.
12798 * i386.c (ix86_va_arg): Likewise.
12799 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
12800 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
12801 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
12802 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
12803 * mcore.h (regno_reg_class): Likewise.
12804 * mips.c (gen_int_relational): Likewise.
12805 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
12806 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 12807 * pdp11.c (move_costs): Likewise.
0139adca
KG
12808 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
12809 * s390.c (s390_branch_condition_mnemonic, regclass_map):
12810 Likewise.
12811 * s390.h (regclass_map): Likewise.
12812 * sh.c (shift_amounts): Likewise.
a4334c36 12813 * sh.md (rotlsi3): Likewise.
0139adca 12814
889b90a1
GK
128152002-03-09 Geoffrey Keating <geoffk@redhat.com>
12816
12817 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
12818 (ne0+5): Use new clobber to generate proper shift pattern.
12819 Patch by Michael Matz <matz@kde.org>.
12820
2877e0ae
AS
128212002-03-09 Andreas Schwab <schwab@suse.de>
12822
12823 * gcc.c (validate_all_switches): Also handle `%W{...}'.
12824
79b51cd7
GK
128252002-03-09 Geoffrey Keating <geoffk@redhat.com>
12826
12827 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
12828
e0f1be5c
JJ
128292002-03-09 Jakub Jelinek <jakub@redhat.com>
12830
12831 PR middle-end/5877
12832 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
12833 even for non-representable constants.
12834
0a7ec763
RK
12835Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12836
93fe8e92
RK
12837 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
12838 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
12839 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
12840 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
12841 (pop_function_context): Compute MAY_SHARE parameter for
12842 fixup_var_refs.
12843 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
12844 (gen_mem_addressof): Call fixup_var_refs with new parm.
12845
0a7ec763
RK
12846 * combine.c (make_extraction): Don't make extension of CONST_INT.
12847
a85cd407
AO
128482002-03-09 Alexandre Oliva <aoliva@redhat.com>
12849
9445b814
AO
12850 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
12851 in o32 and o64 ABIs.
12852 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
12853 but getting fixed-size structs passed in registers regardless of
12854 padding in o32 and o64 ABIs.
12855
a85cd407
AO
12856 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
12857 offset before loading address of argument passed by transparent
12858 reference.
12859
c51fbe40
JDA
128602002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
12861
12862 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
12863
918e70dd
AO
128642002-03-09 Alexandre Oliva <aoliva@redhat.com>
12865
12866 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
12867 marker such that registers after it are saved.
12868
3070dd00
KG
128692002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12870
12871 * sparc.c (arith_4096_operand): Fix error in last change.
12872
e25d11b0
AO
128732002-03-08 Alexandre Oliva <aoliva@redhat.com>
12874
12875 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
12876 defaults for MEABI.
12877
41daaf0e
AH
128782002-03-08 Aldy Hernandez <aldyh@redhat.com>
12879
5b43fed1
RH
12880 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
12881 vectors.
41daaf0e 12882
fa139b00
AH
128832002-03-08 Aldy Hernandez <aldyh@redhat.com>
12884
5b43fed1 12885 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 12886
c51d95ec
JH
12887Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
12888
12889 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
12890 removed; fix return value.
12891 * combine.c (combine_instructions): Dirtify blocks where we failed to
12892 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
12893 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
12894
3b25fbfe
KG
128952002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12896
12897 * gcse.c (insert_insn_end_bb): Fix typo in last change.
12898
189ae0f4
JH
12899Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
12900
12901 * recog.c (peephole2_optimize): Re-distribute EH edges.
12902
24965e7a
NB
129032002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
12904
12905 * expr.c (expand_expr): Use unsave lang hook.
12906 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
12907 (LANG_HOOKS_INITIALIZER): Update.
12908 * langhooks.h (struct lang_hooks): New hook unsave.
12909 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
12910 (unsave_expr_1): Remove unused lang_unsave_expr_now.
12911 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
12912 (unsave_expr_now): Remove.
12913 * tree.h (unsave_expr_now, lang_unsave,
12914 lang_unsave_expr_now): Remove.
12915 (lhd_unsave): New.
12916
1e4e95d6
AJ
129172002-03-08 Andreas Jaeger <aj@suse.de>
12918
12919 * flow.c (propagate_block_delete_insn): Remove unused variable.
12920
054ef905
KH
129212002-03-08 Kazu Hirata <kazu@hxi.com>
12922
12923 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
12924 insn length for memory load/store.
12925
5304400d 129262002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 12927
5304400d
CR
12928 * doc/install.texi (--with-libiconv-prefix): Document.
12929
81034129
MB
129302002-03-08 Michael Y. Brukman <myb2@cornell.edu>
12931
12932 * doc/sourcebuild.texi: Fix typo.
12933
71db7d03
JJ
129342002-03-08 Jakub Jelinek <jakub@redhat.com>
12935
12936 PR c/3711
12937 * builtins.c (std_expand_builtin_va_arg): Do all computations on
12938 trees.
12939
127c1ba5
RK
12940Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12941
12942 * rtl.c (copy_most_rtx): Move from here ...
12943 * emit-rtl.c (copy_most_rtx): ... to here.
12944
8a13c092
AO
129452002-03-08 Alexandre Oliva <aoliva@redhat.com>
12946
5faae4f7
AO
12947 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
12948 SUBTARGET_CPP_SIZE_SPEC.
12949 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
12950
8a13c092
AO
12951 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
12952
4ec59de2
MH
129532002-03-07 Matt Hiller <hiller@redhat.com>
12954
12955 * gensupport.c (first_dir_md_include): Renamed from include;
12956 change all references.
12957 (last_dir_md_include): Renamed from last_include; change all
12958 references.
12959 (init_md_reader): Unconditionally initialize base_dir whether or
12960 not filename is a relative path.
12961
12f61e77
AO
129622002-03-07 Alexandre Oliva <aoliva@redhat.com>
12963
95356058
AO
12964 * config/fp-bit.c (_unord_f2): Compile it in even if
12965 US_SOFTWARE_GOFAST is enabled.
12966
12f61e77
AO
12967 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
12968 NULL_RTX. Set all HFmode operations as NULL_RTX.
12969 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
12970 NULL_RTX, try reversing the comparison and the operands.
12971
6d7a1c4c
UW
129722002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
12973
12974 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
12975 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
12976 and MATCH_OP_DUP.
12977
66d54344
JH
12978Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
12979
12980 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
12981
068473ec
JH
12982Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
12983
12984 * basic-block.h (fixup_abnormal_edges): Declare.
12985 * reload1.c (fixup_abnormal_edges): New function.
12986 * reg-stack.c (convert_regs): Use it.
12987
12988 * gcse.c (insert_insn_end_bb): Handle trapping insns.
12989
12990 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
12991
71925bc0
RS
129922002-03-07 Richard Sandiford <rsandifo@redhat.com>
12993
12994 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
12995 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
12996 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
12997 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
12998 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
12999 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
13000 unless x and y could be infinite.
13001 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
13002 Check that the common type of both arguments is a real, even for
13003 targets without unordered comparisons. Allow an integer argument
13004 to be compared against a real.
13005 (expand_tree_builtin): Use expand_unordered_cmp.
13006 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
13007 * cse.c (fold_rtx): Likewise. Fix indentation.
13008 * fold-const.c (fold_real_zero_addition_p): New.
13009 (fold): Use it, and the new HONOR_... macros.
13010 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
13011 * jump.c (reversed_comparison_code_parts): After searching for
13012 the true comparison mode, use HONOR_NANS to decide whether it
13013 can be safely reversed.
13014 (reverse_condition_maybe_unordered): Remove IEEE check.
13015 * simplify-rtx.c (simplify_binary_operation): Use the new macros
13016 to decide which simplifications are valid. Allow the following
13017 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
13018 and (a - -b) to (a + b).
13019 (simplify_relational_operation): Use HONOR_NANS.
13020 * doc/tm.texi: Document the MODE_HAS_... macros.
13021
145d3bf2
RE
130222002-03-07 Richard Earnshaw <rearnsha@arm.com>
13023
13024 * combine.c (simplify_comparison): If simplifying a logical shift
13025 right and compare with constant, force the comparison to unsigned.
13026
76a773f3
AH
130272002-03-07 Aldy Hernandez <aldyh@redhat.com>
13028
5b43fed1 13029 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 13030
5b43fed1
RH
13031 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
13032 -mabi=no-altivec
13033 (alt_reg_names): Remove % for vrsave.
76a773f3 13034
ab55f58c
RH
130352002-03-06 Richard Henderson <rth@redhat.com>
13036
5ddec02e 13037 PR optimization/5844
ab55f58c
RH
13038 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
13039 if used indicates we've already emitted one copy of an operand.
13040 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
13041 (gen_split): Supply a non-null used.
13042
e16e3291
UW
130432002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
13044
5b43fed1 13045 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 13046
1e4e95d6 13047 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
13048 but simply fail if the expression is too complex to simplify.
13049 (simplify_gen_binary): Handle simplify_plus_minus failures.
13050
2ca6672b
JH
13051Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
13052
13053 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
13054 consistently call delete_trivially_dead_insns after CSE and GCSE;
13055 fix DFI_life dumping; do jump threading after liveness; do crossjumping
13056 after liveness2; update comment in last crossjumping.
13057 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
13058
31d0dd4f
JL
13059Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
13060
d094b0b3
JL
13061 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
13062 after completing fast dead code elimination.
13063
31d0dd4f
JL
13064 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
13065 COMPARE operator.
1e4e95d6 13066
f2b958b1
PE
130672002-03-06 Phil Edwards <pme@gcc.gnu.org>
13068
13069 * version.c: Fix misplaced leading blanks on first line.
13070
a2877a09
JH
13071Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
13072
13073 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
13074
fe477d8b
JH
13075Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
13076
13077 * cfgcleanup.c (mentions_nonequal_regs): New function.
13078 (thread_jump): Use it.
13079 * toplev.c (rest_of_compilation): Run jump threading after
13080 liveness.
13081
2041cde4
JJ
130822002-03-06 Jakub Jelinek <jakub@redhat.com>
13083
13084 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
13085 patch.
13086
82d68d46
JH
13087Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
13088
13089 * predict.c (estimate_bb_frequencies): Do not reload the
13090 frequencies from notes.
13091
3dec4024
JH
13092Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
13093
13094 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
13095 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
13096
13097 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
13098 delete_noop_moves): Return indeger.
13099 * flow.c (ndead): New variable.
13100 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
13101 BB argument; update callers.
13102 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
13103 (life_analysis): Do not call purge_all_dead_edges.
13104 (update_life_info): Return number of deleted insns; print statistics.
13105 (update_life_info_in_dirty_blocks): likewise.
13106 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
13107 return number of insns deleted.
13108
13109 * cse.c: Include timevar.h
13110 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
13111 iterate until stabilizes; print statistics; return number of killed
13112 insns.
13113 * Makefile.in: (cse.o): Add timevar.h dependency
13114 * rtl.h (delete_trivially_dead_insns): New.
13115 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
13116 * toplev.c (rest_of_compilation): Update callers.
13117
13118 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
13119 (try_optimize_cfg): Do not update liveness.
13120 (cleanup-cfg): Loop until try_optimize_cfg and dead code
13121 removal stabilizes; use delete_trivially_dead_insns.
13122
13123 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
13124
c7544dd8
ZW
131252002-03-05 Zack Weinberg <zack@codesourcery.com>
13126
13127 * cppmain.c (setup_callbacks): Disable #pragma and #ident
13128 callbacks when processing assembly language.
13129
50b424a9
JDA
131302002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
13131
13132 * pa.h (ASM_FILE_END): Define.
13133 * som.h (ASM_FILE_END): Delete.
13134
13135 * pa.c (function_arg): Don't pass floats in general registers in
13136 indirect calls if TARGET_ELF32.
13137
6185f217
RH
131382002-03-05 Richard Henderson <rth@redhat.com>
13139
13140 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
13141
3020a4b2
DS
131422002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
13143
13144 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
13145
65649daa
JJ
131462002-03-05 Jakub Jelinek <jakub@redhat.com>
13147
13148 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
13149 -r command line. Don't hide any symbols if not building
13150 shared libgcc.
13151
5a1a3e5e
JH
13152Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
13153
13154 * cfg.c (dump_flow_info): Warn about profile mismatches.
13155 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
13156 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
13157
170c56da
JJ
131582002-03-05 Jakub Jelinek <jakub@redhat.com>
13159
13160 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
13161 wide volatile memory by parts.
13162
6d051694
JJ
131632002-03-05 Jakub Jelinek <jakub@redhat.com>
13164
13165 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
13166 is NULL.
13167
28bcfd4d
RH
131682002-03-05 Richard Henderson <rth@redhat.com>
13169
5b43fed1 13170 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 13171
75227a33
GK
131722002-03-04 Geoffrey Keating <geoffk@redhat.com>
13173
13174 * toplev.c (documented_lang_options): Document more
13175 language-specific options.
13176 * doc/invoke.texi (Warning Options): Correct documentation for
13177 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
13178 * c-decl.c (c_decode_option): Use a table to handle warning options.
13179
4f1aac42
HPN
131802002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
13181
13182 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
13183 parameter to mmix_encode_section_info.
13184 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
13185 relocatably. Always produce ELF, not mmo if linking relocatably.
13186 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
13187 first is non-zero, don't add symbol prefix.
13188 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
13189 prototype accordingly.
13190
12345543
KW
131912002-03-04 Krister Walfridsson <cato@df.lth.se>
13192
13193 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
13194
8e97db8f
JM
131952002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
13196
13197 * configure.in: Increase required makeinfo version to 4.1.
13198 * configure: Regenerate.
13199
06487868
GK
132002002-03-04 Geoffrey Keating <geoffk@redhat.com>
13201
13202 * .cvsignore: Remove *.info* and genrtl*; these files are generated
13203 elsewhere now.
13204
cff42170
JM
132052002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
13206
13207 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
13208 * doc/invoke.texi: Fix @math uses.
13209
974a7f56
JH
13210Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
13211
13212 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
13213 removal
13214
3b7d0e98
AH
132152002-03-03 Aldy Hernandez <aldyh@redhat.com>
13216
5b43fed1
RH
13217 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
13218 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 13219
5b43fed1 13220 * config/rs6000/t-ppcendian: New.
3b7d0e98 13221
65f2f288
HB
132222002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
13223
13224 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
13225 nonimmediate_src_operand and nonimmediate_lsrc_operand to
13226 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
13227
8ce0a8a5
RH
132282002-03-03 Richard Henderson <rth@redhat.com>
13229
13230 * toplev.c (rest_of_decl_compilation): Revert last two changes.
13231
ba31d94e
ZW
132322002-03-03 Zack Weinberg <zack@codesourcery.com>
13233
13234 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
13235 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
13236 tree.c, config/m68k/m68k.c:
13237 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
13238 REAL_ARITHMETIC blocks unconditional. Delete some further
13239 #ifdef blocks predicated on REAL_ARITHMETIC.
13240 * flags.h, toplev.c: Delete remaining references to
13241 flag_pretend_float.
13242
13243 * doc/invoke.texi: Remove documentation of -fpretend-float.
13244 * doc/tm.texi: Describe the various REAL_* macros as provided by
13245 real.h, not by the target configuration files.
13246
13247 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
13248 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
13249 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
13250 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
13251 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
13252 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
13253 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
13254 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
13255 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
13256 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
13257 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
13258 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
13259 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
13260 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
13261 config/xtensa/xtensa.h:
13262 Do not define, undefine, or mention in comments any of
13263 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
13264 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
13265 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
13266 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
13267 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
13268 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
13269 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
13270 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
13271 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
13272
9a571cfd
KG
132732002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13274
e81dd381
KG
13275 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
13276 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
13277 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
13278 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
13279 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
13280 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
13281 Delete.
13282 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 13283 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 13284
9a571cfd
KG
13285 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
13286 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
13287 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
13288
ca7558fc
KG
132892002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13290
13291 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
13292 lieu of explicit sizeof/sizeof.
13293 * i386.c (override_options, ix86_init_mmx_sse_builtins,
13294 ix86_expand_builtin): Likewise.
13295 * mips.c (mips_add_gc_roots): Likewise.
13296 * mmix.c (mmix_output_condition): Likewise.
13297 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
13298 altivec_init_builtins): Likewise.
13299 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
13300 * cppexp.c (Nsuff, parse_number): Likewise.
13301 * cppinit.c (builtin_array_end): Likewise.
13302 * gcc.c (n_default_compilers, process_command): Likewise.
13303 * genpreds.c (output_predicate_decls): Likewise.
13304 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
13305 * lcm.c (N_ENTITIES): Likewise.
13306 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 13307
41c78c88
RH
133082002-03-03 Richard Henderson <rth@redhat.com>
13309
13310 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
13311 for types or labels.
13312
9e9b71e6
RH
133132002-03-03 Richard Henderson <rth@redhat.com>
13314
13315 * c-decl.c (start_decl): Initialized variables are not common.
13316
c26a6db8
PB
133172002-03-02 Per Bothner <per@bothner.com>
13318
13319 * gcc.c (option_map): Suport new --bootclasspath option.
13320 --CLASSPATH is now just an alias for --classpath.
13321
9e8aab55
RH
133222002-03-02 Richard Henderson <rth@redhat.com>
13323
13324 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
13325 load if "internal" visibility.
13326 * doc/extend.texi: Document visibility meanings.
13327
b3bbd220
RH
133282002-03-02 Richard Henderson <rth@redhat.com>
13329
13330 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
13331 to functions as well.
13332
b14707c3
RH
133332002-03-02 Richard Henderson <rth@redhat.com>
13334
13335 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
13336 (handle_visibility_attribute): Don't call assemble_visibility.
13337 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
13338 without asmspec. Invoke assemble_alias when needed.
13339 * varasm.c (maybe_assemble_visibility): New.
13340 (assemble_start_function, assemble_variable, assemble_alias): Use it.
13341
b2003250
RH
133422002-03-02 Richard Henderson <rth@redhat.com>
13343
13344 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
13345 invoke ENCODE_SECTION_INFO with first call flag.
13346
13347 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
13348 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 13349 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
13350 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
13351 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
13352 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
13353 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
13354 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
13355 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
13356 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
13357 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
13358 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
13359 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
13360 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
13361 config/mcore/mcore-protos.h, config/mcore/mcore.c,
13362 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
13363 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 13364 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
13365 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
13366 config/sh/sh.h, config/sparc/sparc.h,
13367 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
13368 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
13369 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
13370 FIRST argument. As needed, examine it and do nothing.
13371
ba31d94e 13372 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
13373 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
13374 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
13375
13376 * config/arm/t-pe (pe.o): Add dependencies.
13377
5c60f03d
KG
133782002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13379
13380 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
13381 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
13382 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
13383 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
13384 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
13385 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
13386 * defaults.h (BITS_PER_UNIT): Define.
13387 * doc/tm.texi (BITS_PER_UNIT): Document default value.
13388
86855e8c
KH
133892002-03-02 Kazu Hirata <kazu@hxi.com>
13390
13391 * config/h8300/h8300-protos.h: Add a prototype for
13392 compute_a_shift_length.
13393 * config/h8300/h8300.c (h8300_asm_insn_count): New.
13394 (compute_a_shift_length): Likewise.
13395 (h8300_adjust_insn_length): Do not adjust insn length of shift
13396 insns.
13397 * config/h8300/h8300.md (anonymous shift patterns): Use
13398 compute_a_shift_length.
13399
f6041ed8
RK
13400Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13401
35aa3c1c
RK
13402 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
13403 trunc_int_for_mode.
13404
f6041ed8
RK
13405 * emit-rtl.c (offset_address): Call update_temp_slot_address.
13406
27b41650
KG
134072002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13408
13409 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
13410 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
13411 * flags.h (flag_zero_initialized_in_bss): Declare.
13412 * toplev.c (flag_zero_initialized_in_bss): New flag.
13413 (lang_independent_options): Add flag_zero_initialized_in_bss.
13414 * tree.c (initializer_zerop): New function.
13415 * tree.h (initializer_zerop): Declare.
13416 * varasm.c (assemble_variable): If we can emit bss, put zero
13417 initializers in the bss section.
13418
ca734b39
AM
134192002-03-02 Alan Modra <amodra@bigpond.net.au>
13420
13421 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
13422 like more than one symbol per .weak directive.
13423
49b72306
RH
134242002-03-01 Richard Henderson <rth@redhat.com>
13425
13426 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
13427 adjust argument_pointer by pretend_args_size.
13428 (ia64_va_start): Adjust va_start address by -pretend_args_size.
13429
fbf0fe41
KH
134302002-03-01 Kazu Hirata <kazu@hxi.com>
13431
13432 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
13433
0010687d
JH
13434Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
13435
13436 * toplev.c (rest_of_compilation): Delete dead jumptables before
13437 loop.
13438 * flow.c (delete_dead_jumptables): Make global.
13439 * rtl.h (delete_dead_jumptables): Declare.
13440
9429c84c
DE
134412002-03-01 David Edelsohn <edelsohn@gnu.org>
13442
13443 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
13444 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 13445 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 13446
f0b6f9a6
KH
134472002-03-01 Kazu Hirata <kazu@hxi.com>
13448
13449 * config/h8300/h8300-protos.h: Fix formatting.
13450 * config/h8300/h8300.c: Likewise.
13451 * config/h8300/h8300.h: Likewise.
13452
bc8db8a1
KH
134532002-03-01 Kazu Hirata <kazu@hxi.com>
13454
13455 * config/h8300/h8300.c (print_operand): Support 16-bit
13456 constant addresses.
13457 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
13458
32b069d3
RH
134592002-02-28 Richard Henderson <rth@redhat.com>
13460
13461 * expmed.c (store_bit_field): Prevent generation of CONCATs;
13462 pun complex values as integers; use gen_lowpart instead of
13463 gen_rtx_SUBREG.
13464 (extract_bit_field): Likewise.
13465
79c4e63f
AM
134662002-03-01 Alan Modra <amodra@bigpond.net.au>
13467 David Edelsohn <edelsohn@gnu.org>
13468
13469 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
13470 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
13471 (SUPPORTS_WEAK): Likewise.
13472 * output.h (add_weak): Add tree param.
13473 * varasm.c (add_weak): Likewise. Save decl.
13474 (struct weak_syms): Add decl field.
13475 (mark_weak_decls): New function.
13476 (init_varasm_once): ggc_add_root mark_weak_decls.
13477 (assemble_start_function): Use ASM_WEAKEN_DECL.
13478 (assemble_variable): Likewise.
13479 (assemble_alias): Likewise.
13480 (declare_weak): Pass decl to add_weak.
13481 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
13482 (remove_from_pending_weak_list): Declare and define for
13483 ASM_WEAKEN_DECL.
13484 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
13485 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
13486 * defaults.h (SUPPORTS_WEAK): Likewise.
13487 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
13488 .weak for code sym. Do emit .size for descriptor sym.
13489 (ASM_DECLARE_FUNCTION_SIZE): Define.
13490 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
13491 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
13492 .lglobl unless TARGET_XCOFF. Formatting fixes.
13493 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
13494 .weak for code sym.
13495 (HANDLE_PRAGMA_WEAK): Remove.
13496 (ASM_WEAKEN_LABEL): Remove.
13497 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
13498
6f30f1f1
JM
134992002-03-01 Jason Merrill <jason@redhat.com>
13500
13501 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
13502 (TARGET_EXPR_CLEANUP): New macro.
13503
7879b81e
SE
135042002-02-28 Steve Ellcey <sje@cup.hp.com>
13505
13506 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
13507 to take ptr_extend into account as third type of extension.
13508 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
13509 fields used by SUBREG_PROMOTED_UNSIGNED_P.
13510 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
13511 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
13512 * calls.c (precompute_arguments): Use new macro.
13513 (expand_call): Ditto.
13514 * combine.c (nonzero_bits): Ditto.
13515 (record_promoted_value): Ditto.
13516 * expr.c (store_expr): Ditto.
13517 (expand_expr): Ditto.
13518 * function.c (assign_parms): Ditto.
13519
42d579d8
AO
135202002-02-28 Alexandre Oliva <aoliva@redhat.com>
13521
13522 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
13523 override -shared and -shared-libgcc.
13524
e0054185
DB
135252002-02-28 David O'Brien <obrien@FreeBSD.org>
13526
13527 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
13528 of "ultrasparc".
13529 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
13530 to be broken.
13531
abda4f1c
RH
135322002-02-28 Richard Henderson <rth@redhat.com>
13533
13534 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
13535 4 cycle latency from MM producers.
13536 (ia64_internal_sched_reorder): Likewise with pipeline flush.
13537
c0f08649
JJ
135382002-02-28 Jakub Jelinek <jakub@redhat.com>
13539
13540 * mklibgcc.in: Don't use GNU make extension.
13541
f79f2651
NB
135422002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
13543
13544 * c-parse.in (STATIC): New terminal.
13545 (scspec): New non-terminal. Update productions accordingly.
13546 (program): Remove bogus ifc / end ifc.
13547 (array_declarator): Simplify production using STATIC.
13548
001e3fee
JM
135492002-02-28 Jim Meyering <meyering@lucent.com>
13550
13551 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
13552 \a still means TARGET_BELL.
13553
89076bb3
RH
135542002-02-28 Richard Henderson <rth@redhat.com>
13555
13556 * haifa-sched.c (sched_emit_insn): New.
13557 (schedule_block): Use last_scheduled_insn to track last insn.
13558 * sched-int.h (sched_emit_insn): Prototype.
13559 * config/ia64/ia64.c (last_issued): Remove.
13560 (ia64_variable_issue): Don't set it.
13561 (nop_cycles_until): Use sched_emit_insn.
13562
e3aaacf4
AM
135632002-02-28 Andrew MacLeod <amacleod@redhat.com>
13564
13565 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
13566 extended constants.
13567
7f473594
KH
135682002-02-28 Kazu Hirata <kazu@hxi.com>
13569
13570 * config/h8300/h8300.c: Fix formatting.
13571 * config/h8300/h8300.h: Likewise.
13572
b96c434c
MM
135732002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
13574
13575 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
13576 which may overwrite the high byte of the frame pointer.
13577
9b420a6a
BT
135782002-02-28 Bo Thorsen <bo@suse.de>
13579
13580 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
13581 (STARTFILE_SPEC): Add 64 bit files.
13582 (ENDFILE_SPEC): Likewise.
13583
6f30f1f1 135842002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
13585
13586 * c-decl.c (finish_function): Only warn about missing return
13587 statement with -Wreturn-type.
13588
70da1d03
JH
13589Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
13590
13591 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
13592
13593 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
13594 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
13595
38c1593d
JH
13596Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
13597
13598 * basic-block.h (BB_REACHABLE): Renumber.
13599 (BB_DIRTY, BB_NEW): New flags.
13600 (clear_bb_flags): Declare.
13601 (update_life_info_in_dirty_blocks): Declare.
13602 * cfg.c (clear_bb_flags): New function.
13603 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
13604 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
13605 reorder_insns, emit_insn_after): Mark block as dirty.
13606 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
13607 (update_life_info_in_dirty_blocks): New function.
13608 * recog.c (apply_change_group): Dirtify block.
13609
13610 * cse.c (cse_insn): Reorder emitting of jump insn to keep
13611 cfg consistent.
13612 * gcse.c (delete_null_pointer_checks): Likewise.
13613
13614 * toplev.c (dump_file_index): Move cse2 after bp,
13615 add DFI_null
13616 (dump_file_info): Similary.
13617 (rest_of_compilation): Avoid most of CFG rebuilds;
13618 do first if converision after null pointer checks, do cse2
13619 after branch prediction; avoid full liveness rebuild after
13620 initializing subregs.
13621 * invoke.texi (-d options): Document -du, renumber.
13622
13623 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
13624 (notice_new_block): Do not set BB_UPDATE_LIFE.
13625 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
13626 merge_blocks_move_successor_nojumps, merge_blocks,
13627 try_crossjump_to_edge): Likewise.
13628 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
13629 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
13630 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
13631 (merge_of_block): Do not use life_data_ok.
13632 (find_if_case_1): Do not use SET_UPDATE_LIFE.
13633 (if_convert): Use BB_DIRTY mechanizm to update life.
13634 * lcm.c (optimize_mode_switching): Update
13635 update_life_info_in_dirty_blocks
13636
63e1b1c4
NB
136372002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
13638
13639 * Makefile.in (integrate.o): Update.
13640 * c-decl.c (copy_lang_decl): Rename.
13641 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
13642 * integrate.c: Include langhooks.h.
13643 (copy_decl_for_inlining): Update to use langhook.
13644 * langhooks-def.h (lhd_do_nothing_t,
13645 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
13646 (LANG_HOOKS_INITIALIZER): Update.
13647 * langhooks.c (lhd_do_nothing_t): New.
13648 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
13649 * tree.h (copy_lang_decl): Remove.
13650objc:
13651 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
13652
f472fa29
AM
136532002-02-27 Andrew MacLeod <amacleod@redhat.com>
13654
ba31d94e 13655 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
13656 POST_DEC, and POST_MODIFY.
13657
273cf2e4
ZW
136582002-02-27 Zack Weinberg <zack@codesourcery.com>
13659
13660 * c-typeck.c (digest_init): Remove unused parameter; all
13661 callers changed.
13662
4e07d762
GK
136632002-02-27 Geoffrey Keating <geoffk@redhat.com>
13664
13665 * expmed.c (expand_shift): Correctly test for low part of a
13666 subreg.
13667
6bc627b3
UW
136682002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
13669
13670 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
13671 insn UIDs with insn addresses.
13672
f458d1d5
ZW
136732002-02-27 Zack Weinberg <zack@codesourcery.com>
13674
13675 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
13676 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
13677 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
13678 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
13679 gcc.c, toplev.c: Delete code implementing -traditional mode.
13680
13681 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
13682 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
13683 Document removal of -traditional mode for compilation, and
13684 remove documentation only relevant to that mode.
13685
13686 * config/nextstep.h, config/ptx4.h, config/svr4.h,
13687 config/convex/convex.h, config/d30v/d30v.h,
13688 config/i386/dgux.h, config/i386/osf1elf.h,
13689 config/i386/osfelf.h, config/i386/osfrose.h,
13690 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
13691 config/m68k/hp310.h, config/m88k/dgux.h,
13692 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
13693 config/m88k/m88k.h, config/m88k/openbsd.h,
13694 config/mips/abi64.h, config/mips/osfrose.h,
13695 config/mips/svr4-5.h, config/mips/svr4-t.h,
13696 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
13697 config/stormy16/stormy16.h: Remove all references to
13698 -traditional from target specs. Delete all mention of the
13699 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
13700 delete a couple of commented-out definitions of
13701 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
13702 to -traditional.
13703
13704 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
13705 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
13706
e0b3a8ff
ZW
137072002-02-27 Zack Weinberg <zack@codesourcery.com>
13708
13709 * mklibgcc.in: Don't use \n in a line subject to
13710 interpretation by echo.
13711
5c6a85b7
GS
137122002-02-27 Graham Stott <grahams@redhat.com>
13713
72b05af1
GS
13714 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
13715 Constify NAME.
13716
7d104885
GS
13717 * loop.c (prescan_loop): Handle PARALLEL.
13718
8ed805d2
GS
13719 * unroll.c (loop_iterations): Return 0 if the add_val for
13720 a BIV is REG.
13721
fd478a0a
GS
13722 * final.c (output_operand_lossage): Constify PFX_STR.
13723
5c6a85b7
GS
13724 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
13725
cd98ad03
JH
13726Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
13727
13728 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
13729 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
13730
639ae55b
JH
13731Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
13732
13733 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
13734
e808ec9c
NB
137352002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
13736
13737 * cpplex.c (_cpp_lex_token): Handle directives in macro
13738 arguments.
13739 * cpplib.c (_cpp_handle_directive): Save and restore state
13740 if parsing macro args when entering a directive.
13741 * cppmacro.c (collect_args): No need to handle directives
13742 in macro arguments.
13743 (enter_macro_context, replace_args): Use the original macro
13744 definition in case it was redefined whilst collecting arguments.
13745doc:
13746 * cpp.texi: Update.
13747
f585a356
DE
137482002-02-26 David Edelsohn <edelsohn@gnu.org>
13749
13750 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
13751 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
13752 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
13753 method on AIX.
13754 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
13755 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
13756 (load_toc_v4_PIC_2): Same.
13757
137582002-02-26 Alan Modra <amodra@bigpond.net.au>
13759
13760 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
13761
d699058e
RH
137622002-02-26 Richard Henderson <rth@redhat.com>
13763
13764 * config/alpha/alpha.md (ashldi_se): Re-enable.
13765
eadccfbb
RH
137662002-02-26 Richard Henderson <rth@redhat.com>
13767
13768 * config/alpha/alpha.c (alpha_encode_section_info): Examine
13769 MODULE_LOCAL_P; improve commentary.
13770
7080ada1
ZW
137712002-02-26 Zack Weinberg <zack@codesourcery.com>
13772
13773 * doc/cpp.texi: Clarify documentation of relationship between
13774 #line and #include.
13775
b42cff6b
KH
137762002-02-26 Kazu Hirata <kazu@hxi.com>
13777
13778 * config/h8300/h8300-protos.h: Update the prototype for
13779 compute_logical_op_length. Add the prototype for
13780 compute_logical_op_cc.
13781 * config/h8300/h8300.c (compute_logical_op_length): Figure out
13782 code from operands.
13783 (compute_logical_op_cc): New.
13784 * config/h8300/h8300.md: Combine all the logical op patterns
13785 in HImode and SImode. Use compute_logical_op_cc.
13786
831c4e87
KC
137872002-02-26 Kelley Cook <kelleycook@comcast.net>
13788
13789 * config/i386/i386.c (print_operand): Don't append ATT-style
13790 length suffixs to x87 opcodes when in Intel mode.
13791
ff88fe10
RS
137922002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
13793
13794 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
13795 (init_emit_once): Update calls.
13796 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
13797 (init_syntax_once): Prototype.
13798
d4108589
JDA
137992002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
13800
13801 * pa-linux.h (LIB_SPEC): Update definition.
13802 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
13803
e013f3c7
RH
138042002-02-26 Richard Henderson <rth@redhat.com>
13805
13806 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
13807 if we emitted a stop bit.
13808
9e944a16
JJ
138092002-02-26 Jakub Jelinek <jakub@redhat.com>
13810
13811 * configure.in (libgcc_visibility): Substitute.
13812 * configure: Rebuilt.
13813 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
13814 defined symbols .hidden.
13815
47bd70b5
JJ
138162002-02-26 Jakub Jelinek <jakub@redhat.com>
13817
13818 * attribs.c (c_common_attribute_table): Add visibility.
13819 (handle_visibility_attribute): New function.
13820 * varasm.c (assemble_visibility): New function.
13821 * output.h (assemble_visibility): Add prototype.
13822 * tree.h (MODULE_LOCAL_P): Define.
13823 * crtstuff.c (__dso_handle): Use visibility attribute.
13824 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
13825 for MODULE_LOCAL_P symbols too.
13826 * config/ia64/ia64.c (ia64_encode_section_info): Handle
13827 MODULE_LOCAL_P symbols the same way as local symbols.
13828 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
13829 into .sdata/.sbss by the user.
13830 * doc/extend.texi (Function Attributes): Document visibility
13831 attribute.
13832
6d73371a
JJ
138332002-02-26 Jakub Jelinek <jakub@redhat.com>
13834
13835 PR debug/5770
13836 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
13837 STRING_CST initializer spanning the whole variable without
13838 embedded zeros.
13839 If expand_expr returned MEM, don't use it.
13840
06e224f7
AO
138412002-02-26 Alexandre Oliva <aoliva@redhat.com>
13842
13843 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
13844 generate a die for the lexical block.
13845
40367e2d
KH
138462002-02-26 Kazu Hirata <kazu@hxi.com>
13847
13848 * config/h8300/h8300-protos.h: Add a prototype for
13849 compute_logical_op_length.
13850 * config/h8300/h8300.c (compute_logical_op_length): New.
13851 * config/h8300/h8300.md (anonymous logical patterns): Use
13852 compute_logical_op_length for length.
13853
0e98f924
AH
138542002-02-26 Aldy Hernandez <aldyh@redhat.com>
13855
831c4e87
KC
13856 * dwarf2out.c (modified_type_die): Do not call type_main_variant
13857 for vectors.
13858 (gen_type_die): Same.
0e98f924 13859
831c4e87 13860 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 13861
a50cfd52
DE
138622002-02-26 Daniel Egger <degger@fhm.edu>
13863
831c4e87
KC
13864 * config/rs6000/rs6000.md: Swap define_insn attributes to
13865 fix incorrect generation of merge high instructions instead
13866 of merge low.
a50cfd52 13867
b7997284
AH
138682002-02-26 Aldy Hernandez <aldyh@redhat.com>
13869
831c4e87
KC
13870 * c-typeck.c (really_start_incremental_init): Use
13871 bitsize_zero_node for vectors.
b7997284 13872
376aec5d
AH
138732002-02-26 Aldy Hernandez <aldyh@redhat.com>
13874
831c4e87
KC
13875 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
13876 ("*set_vrsave_internal"): Same.
376aec5d 13877
3b40e71b
RH
138782002-02-25 Richard Henderson <rth@redhat.com>
13879
13880 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
13881 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
13882
232b8f52
JJ
138832002-02-25 Jakub Jelinek <jakub@redhat.com>
13884
13885 PR target/5755
13886 * config/i386/i386.c (ix86_return_pops_args): Only pop
13887 fake structure return argument if it was passed on the stack.
13888
67282790
JM
138892002-02-25 Jason Merrill <jason@redhat.com>
13890
13891 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
13892 RESULT_DECL.
13893
5c181756
AO
138942002-02-25 Alexandre Oliva <aoliva@redhat.com>
13895
13896 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
13897 link with shared_name only.
13898 * doc/invoke.texi (Link Options): Document new behavior.
13899
6786d201
AH
139002002-02-25 Aldy Hernandez <aldyh@redhat.com>
13901
831c4e87 13902 * c-typeck.c (push_init_level): Handle vectors.
6786d201 13903
7d6040e8
AO
139042002-02-25 Alexandre Oliva <aoliva@redhat.com>
13905
13906 * config/sparc/sparc.c (const64_high_operand): Zero-extend
13907 operands of SPARC_SETHI_P.
13908 (input_operand): Likewise.
13909 (sparc_emit_set_const32): Likewise.
13910 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
13911 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
13912 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
13913 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
13914 (movdi_insn_sp64_vis): Likewise.
13915 (movdi split, movdf split): Use SETHI32.
13916 * doc/md.texi: Document SPARC constraints L, M and N.
13917
b188f760
AH
139182002-02-25 Aldy Hernandez <aldyh@redhat.com>
13919
831c4e87
KC
13920 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
13921 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 13922
831c4e87
KC
13923 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
13924 gen_get_vrsave_internal.
b188f760 13925
8041889f
RK
13926Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13927
13928 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
13929
a47ed310
NB
139302002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
13931
13932 * cpplex.c (cpp_interpret_charconst): Get signedness or
13933 otherwise of wide character constants correct.
13934 * cppexp.c (lex): Get signedness of wide charconsts correct.
13935
cb8f73be
RK
13936Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13937
13938 * optabs.c (widen_operand): Only call convert_modes for
13939 promoted SUBREG if signedness matches.
13940 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
13941
2450e0b8
NB
139422002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
13943
13944 * cpplib.c (glue_header_name): Use local buffer to build up
13945 header name.
13946
70b6aaed
NB
139472002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
13948
13949 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
13950
6be580c7
KH
139512002-02-23 Kazu Hirata <kazu@hxi.com>
13952
13953 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
13954 H8/300[HS] separately.
13955 * config/h8300/h8300.md: Remove the early clobber constraint
13956 from bit field patterns.
13957
35dad9f1
KH
139582002-02-23 Kazu Hirata <kazu@hxi.com>
13959
13960 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
13961 register_operand.
13962 (mulhisi3): Likewise.
13963 (umulqisi3): Likewise.
13964 (umulhisi3): Likewise.
13965
ab8e2228
NB
139662002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
13967
13968 * cppinit.c (output_deps): Correct test for stdout output.
13969 (init_dependency_output): Cure warning.
13970
ac6f8a15
RK
13971Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13972
13973 * expr.c (store_expr): When converting expression to promoted
13974 equivalent type, allow using SUBREG_REG of TARGET as the target
13975 of the expansion of EXP.
13976 * loop.c (basic_induction_var, case SUBREG): Always look inside.
13977 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
13978 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
13979 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
13980 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
13981
f282ffb3
JM
139822002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
13983
13984 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
13985 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
13986 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
13987
44c5edc0
JJ
139882002-02-23 Jakub Jelinek <jakub@redhat.com>
13989
13990 PR optimization/5747
13991 * loop.c (scan_loop): Update reg info if move_movables created new
13992 pseudos.
13993
f98e43c0
DE
139942002-02-23 David Edelsohn <edelsohn@gnu.org>
13995
13996 * gcc.c (init_gcc_spec): Revert last change.
13997
e72247f4
DE
139982002-02-23 David Edelsohn <edelsohn@gnu.org>
13999
14000 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
14001 gpc_reg_operand constraint.
14002
140032002-02-23 Alan Modra <amodra@bigpond.net.au>
14004
14005 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
14006 Simplify comparison of `low'.
14007 (add_operand): Fix formatting.
14008 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 14009 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
14010 (rs6000_stack_info): Remove redundant test setting push_p.
14011 (output_toc): Fix formatting.
14012 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
14013 cc_reg_not_cr0_operand constraint.
14014 (booldi3, boolcdi3 splitters): Same.
14015
a5c30531
AH
140162002-02-23 Aldy Hernandez <aldyh@redhat.com>
14017
831c4e87 14018 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 14019
43710f9f
DE
140202002-02-22 David Edelsohn <edelsohn@gnu.org>
14021
14022 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
14023 gcc invoked with -shared-libgcc.
14024
3256b817
JJ
140252002-02-22 Jakub Jelinek <jakub@redhat.com>
14026
14027 PR c++/5748
14028 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
14029 decl if any of elements was TREE_USED.
14030
9e0625a3
AO
140312002-02-22 Alexandre Oliva <aoliva@redhat.com>
14032
14033 * config/sparc/sol2.h: Don't include sys/mman.h.
14034 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
14035 (arith_4096_operand): Don't throw high bits away.
14036 (const64_operand): Take sign extension of CONST_INTs into account.
14037 (const64_high_operand, sparc_emit_set_const32): Likewise.
14038 (GEN_HIGHINT64): Likewise.
14039 (sparc_emit_set_const64_quick1): Likewise.
14040 (const64_is_2insns): Likewise.
14041 (print_operand): Use trunc_int_for_mode for sign extension.
14042 * config/sparc/sparc.h (SMALL_INT32): Likewise.
14043 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
14044 chars. Assume CONST_INT is already properly sign-extended.
14045 (movdi split): Sign-extend each SImode part.
14046 (andsi3 split): Don't mask high bits off, so that result
14047 remains properly sign-extend.
14048 (iorsi3 split): Likewise.
14049 (xorsi3 split): Likewise.
14050
54fec3d5
RS
140512002-02-22 Richard Sandiford <rsandifo@redhat.com>
14052
14053 * fold-const.c (fold): Fix typo in comments.
14054
667ada9b
DN
140552002-02-21 Diego Novillo <dnovillo@redhat.com>
14056
14057 * Makefile.in (langhooks.o): Update dependencies.
14058
29ac78d5
DN
140592002-02-21 Diego Novillo <dnovillo@redhat.com>
14060
14061 * langhooks.c: Include flags.h.
14062
6aa77e6c
AH
140632002-02-21 Aldy Hernandez <aldyh@redhat.com>
14064
14065 * testsuite/gcc.dg/attr-alwaysinline.c: New.
14066
14067 * c-common.c (c_common_post_options): Set inline trees by
14068 default.
14069
14070 * doc/extend.texi (Function Attributes): Document always_inline
14071 attribute.
14072 Update documentation about inlining when not optimizing.
14073
14074 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
14075
14076 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
14077 unless DECL_ALWAYS_INLINE.
14078
14079 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
14080 unless DECL_ALWAYS_INLINE.
14081 (c_disregard_inline_limits): Disregard if always_inline set.
14082
14083 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
14084 Disregard if always_inline set.
14085 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
14086 unless DECL_ALWAYS_INLINE.
14087
14088 * attribs.c (handle_always_inline_attribute): New.
14089 (c_common_attribute_table): Add always_inline.
14090
14091 * config/rs6000/altivec.h: Add prototypes for builtins
14092 requiring the always_inline attribute.
14093
c410d49e
EC
140942002-02-21 Eric Christopher <echristo@redhat.com>
14095
14096 * expmed.c (store_bit_field): Try to simplify the subreg
14097 before generating a new one when when the mode size of
14098 value is less than maxmode.
14099
e3c8ea67
RH
141002002-02-21 Richard Henderson <rth@redhat.com>
14101
14102 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
14103 than gen_rtx_PLUS to form the sum.
14104 * explow.c (force_reg): Rearrange to not allocate new pseudo
14105 when force_operand returns a register.
14106 * expr.c (expand_assignment): Allow offset_rtx expansion to
14107 return a sum. Do not force addresses into registers.
14108 (expand_expr): Likewise.
14109 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
14110 to canonicalize arithmetic that didn't simpify.
14111 (simplify_plus_minus): New argument force; update
14112 all callers. Don't split CONST unless we can do something with it,
14113 and wouldn't lose the constness of the operands.
14114
14115 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
14116 that we generated earlier.
14117
c1a046e5
TT
141182002-02-21 Tom Tromey <tromey@redhat.com>
14119
14120 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14121 (output_line_info): Use constant `1', with a long explanatory
14122 comment.
14123 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
14124
31fbaad4
R
14125Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
14126
14127 * jump.c (redirect_jump): If old label has no UID, don't try to
14128 delete it.
14129
a7f52356
R
14130Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
14131
14132 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
14133 If input is constant, do shifts at compile time.
14134
924fcc4e
JM
141352002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
14136
14137 * doc/extend.texi: Fix some more overfull hboxes.
14138
e5a20888
JJ
141392002-02-21 Jakub Jelinek <jakub@redhat.com>
14140
14141 PR optimization/4994
14142 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
14143 register moves.
14144
141452002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
14146
14147 PR c++/4574
14148 * expr.h (expand_and): Add mode argument.
14149 * expmed.c (expand_and): Add mode argument.
14150 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
14151 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
14152 * except.c (expand_builtin_extract_return_addr): Likewise.
14153 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
14154 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
14155 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
14156 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
14157 * config/c4x/c4x.md: Use GEN_INT (x) instead of
14158 gen_rtx (CONST_INT, VOIDmode, x).
14159
7133e992
JJ
141602002-02-21 Jakub Jelinek <jakub@redhat.com>
14161
14162 PR c/4697:
14163 * stmt.c (warn_if_unused_value): Move side effects test once more.
14164
e2ec05a6
TG
141652002-02-20 Torbjorn Granlund <tege@swox.com>
14166
14167 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 14168 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 14169
9dd791c8
AO
14170Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
14171
14172 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
14173 SUBREG or ZERO_EXTEND.
14174
7ab56274
R
14175Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
14176
14177 * sh.h (current_function_anonymous_args): Remove.
14178 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
14179 of current_function_varargs and current_function_stdarg is set.
14180 * sh.c (sh_expand_prologue): Check current_function_varargs /
14181 current_function_stdarg / TARGET_SH5 instead of
14182 current_function_anonymous_args.
14183
14184 * sh64.h (TARGET_VERSION): Define.
14185
b1765bde
DE
141862002-02-20 David Edelsohn <edelsohn@gnu.org>
14187
14188 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
14189 VRSAVE_REGNO on TARGET_ALTIVEC.
14190
141912002-02-20 Alan Modra <amodra@bigpond.net.au>
14192
14193 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
14194 bits of SImode const_int.
14195 (includes_rshift_p): Likewise.
14196 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 14197 mode.
b1765bde
DE
14198 (rs6000_output_function_epilogue): Pad traceback table to word.
14199 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
14200 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
14201 mask64_operand with correct mode.
b1765bde
DE
14202 (FUNCTION_ARG_REGNO_P): Correct parentheses.
14203
149d6f9e
JJ
142042002-02-20 Jakub Jelinek <jakub@redhat.com>
14205
14206 PR debug/4461
14207 * varasm.c (get_pool_constant_mark): New.
14208 * rtl.h (get_pool_constant_mark): Add prototype.
14209 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
14210 be represented if it has not been output.
14211
4161da12
AO
142122002-02-20 Alexandre Oliva <aoliva@redhat.com>
14213
14214 * combine.c (do_SUBST): Sanity check substitutions of
14215 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
14216 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
14217 CONST_INT into its operand.
14218 (known_cond): Likewise, for ZERO_EXTEND.
14219 * simplify-rtx.c (simplify_unary_operation): Fix condition to
14220 allow for simplification of wide modes. Reject CONST_INTs in
14221 ZERO_EXTEND when their actual mode is not given.
14222
3704ef74
AO
142232002-02-20 Alexandre Oliva <aoliva@redhat.com>
14224
14225 * c-decl.c (pushdecl): If no global declaration is found for an
14226 extern declaration in block scope, try a limbo one.
14227
7552da58
JJ
142282002-02-20 Jakub Jelinek <jakub@redhat.com>
14229
14230 PR c++/4401
14231 * c-common.c (pointer_int_sum): Moved from...
14232 * c-typeck.c (pointer_int_sum): ...here.
14233 * c-common.h (pointer_int_sum): Add prototype.
14234
00fae85d
JJ
142352002-02-20 Jakub Jelinek <jakub@redhat.com>
14236
14237 PR c++/5713
14238 * c-decl.c (duplicate_decls): Return 0 if issued error about
14239 redeclaration.
14240
4636c87e
JJ
142412002-02-20 Roger Sayle <roger@eyesopen.com>
14242 Jakub Jelinek <jakub@redhat.com>
14243
14244 PR c/4389
14245 * tree.c (host_integerp): Ensure that the constant integer is
14246 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
14247 when pos is zero or non-zero respectively. Clarify comment.
14248 * c-format.c (check_format_info_recurse): Fix host_integerp
14249 usage; the pos argument should be zero when assigning to a
14250 signed HOST_WIDE_INT.
14251
59bef189
RH
142522002-02-20 Richard Henderson <rth@redhat.com>
14253
14254 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
14255 of the operand, rather than assuming TImode.
14256 (ix86_expand_binop_builtin): Cope with commutative patterns
14257 using nonimmediate_operand for both operands.
14258 (ix86_expand_timode_binop_builtin): Likewise.
14259 (ix86_expand_store_builtin): Validate operand 1.
14260 (ix86_expand_unop1_builtin): Likewise.
14261
9338ffe6 142622002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 14263
9338ffe6
PB
14264 PR 5705
14265 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
14266
f322b423
RH
142672002-02-20 Richard Henderson <rth@redhat.com>
14268
14269 PR c/5615
14270 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
14271
d94084f7
TT
142722002-02-20 Tom Tromey <tromey@redhat.com>
14273
14274 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14275 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14276 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14277 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14278 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
14279 unconditionally.
14280
37fa124a
AM
14281Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
14282
14283 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
14284 for (const_int 0) in X not just INTVAL.
14285
6e5bb5ad
JM
142862002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
14287
14288 * doc/extend.texi: Avoid or reduce overfull hboxes.
14289
420e7dfa
DN
142902002-02-20 Diego Novillo <dnovillo@redhat.com>
14291
14292 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
14293 operations if the field does not start at a mode boundary.
14294
1b7a2af6
JS
142952001-02-20 Joel Sherrill <joel@OARcorp.com>
14296
14297 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
14298 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
14299 Also done for -Acpu and -Amachine.
14300
56cd5b95
NB
143012002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
14302
14303 * cppinit.c (init_dependency_output): Take deps output file
14304 from -o if none given with -MF. Suppress normal output.
c410d49e 14305 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
14306 * doc/cpp.texi, doc/invoke.texi: Update.
14307
042cdf71
ZW
143082002-02-19 Zack Weinberg <zack@codesourcery.com>
14309
14310 * toplev.c (output_quoted_string): Write unprintable
14311 characters with octal escapes.
14312
c1f11548
DE
143132002-02-19 David Edelsohn <edelsohn@gnu.org>
14314
14315 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
14316 really_call_used[VRSAVE_REGNO] if not Altivec.
14317
143182002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 14319
c1f11548
DE
14320 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
14321 MODE_MASK.
14322 (constant_pool_expr_1): Fix formatting.
14323 (rs6000_legitimize_reload_address): Likewise.
14324
c964d90e
RK
14325Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14326
14327 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
14328 now that we have one.
14329
ae34ac46
ZW
143302002-02-19 Zack Weinberg <zack@codesourcery.com>
14331
14332 * tree.h (struct tree_common): Remove aux. Add unused_0 at
14333 end of first block of bitfields (which was only seven bits);
14334 rename dummy to unused_1; remove comment which is no longer true.
14335
293c28ee
GS
143362002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
14337
14338 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
14339
7b8781c8
PB
143402002-02-19 Philip Blundell <pb@nexus.co.uk>
14341
0cb6c58d 14342 PR 5399
7b8781c8
PB
14343 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
14344 if generating PIC.
14345
14346 PR 5054
14347 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
14348 arm_is_longcall_p rather than inspecting call-type cookie
14349 directly.
14350 (call_value_insn) [TARGET_THUMB]: Likewise.
14351
5c464583
GS
143522002-02-19 Graham Stott <grahams@redhat.com>
14353
14354 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
14355
71c061e6
DE
143562002-02-19 David Edelsohn <edelsohn@gnu.org>
14357
14358 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
14359 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 14360 (FP_SAVE_INLINE): Delete.
71c061e6
DE
14361
14362 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
14363 * config/rs6000/eabi.asm: Remove ABI save restore routines.
14364 * config/rs6000/t-ppccomm: Build crtsavres.o.
14365 * config/rs6000/crtsavres.asm: New file.
14366
3a7731fd
PB
143672002-02-19 Philip Blundell <philb@gnu.org>
14368
14369 * config/arm/arm.c (use_return_insn): Don't reject interrupt
14370 functions.
14371 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
14372 (output_return_instruction): Allow interrupt functions to return with
14373 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
14374 (arm_expand_prologue): Subtract 4 before stacking LR in an
14375 interrupt function.
14376
14f583b8
PB
143772002-02-19 Philip Blundell <pb@nexus.co.uk>
14378
14379 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
14380 decl, not just FUNCTION_DECL.
14381 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
14382 (arm_assemble_integer): Likewise.
14383 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
14384 marked local.
c410d49e 14385
4cb7482c
MG
143862002-02-19 matthew green <mrg@eterna.com.au>
14387
14388 * config.gcc (sparc-*-netbsdelf*): Enable target.
14389 (sparc64-*-netbsd*): New target.
14390 * config/sparc/netbsd-elf.h: New file.
14391 * config/sparc/t-netbsd64: New file.
14392
2df3a718
GS
143932002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
14394
14395 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
14396
77f6c1eb
RS
143972002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
14398
14399 * doc/invoke.texi: explicitly list the style guidelines that
14400 -Weffc++ checks for.
14401
fd973d56
JH
14402Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
14403
14404 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
14405
30518e45
NB
144062002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
14407
14408 PR other/5718
14409 * gcc.c (cpp_unique_options): Treat -o as indicating object file
14410 only if not -E. If -E, pass -o through to the preprocessor.
14411
39ea5704
KH
144122002-02-19 Kazu Hirata <kazu@hxi.com>
14413
14414 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
14415 register number with an appropriate macro.
14416
7355dba7
BM
144172002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
14418
14419 * doc/rtl.texi (Constants): Close @code tag.
14420
91c8aa9e
AH
144212002-02-19 Aldy Hernandez <aldyh@redhat.com>
14422
14423 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
14424 ("mmx_uavgv4hi3"): Same.
14425 ("pmulhrwv4hi3"): Same.
14426
14427 * tree-inline.c (walk_tree): Handle vectors.
14428
14429 * c-common.c (constant_expression_warning): Handle vectors.
14430 (overflow_warning): Same.
14431
14432 * sched-deps.c (sched_analyze_2): Handle vectors.
14433
14434 * rtlanal.c (rtx_unstable_p): Handle vectors.
14435 (rtx_varies_p): Same.
14436 (count_occurrences): Same.
14437 (regs_set_between_p): Same.
14438 (modified_between_p): Same.
14439 (modified_in_p): Same.
14440 (volatile_insn_p): Same.
14441 (volatile_refs_p): Same.
14442 (side_effects_p): Same.
14443 (may_trap_p): Same.
14444 (inequality_comparisons_p): Same.
14445 (replace_regs): Same.
14446 (computed_jump_p_1): Same.
14447
14448 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
14449 argument.
14450 (inner_mode_array): New.
14451 (copy_rtx): Handle vectors.
14452 (copy_most_rtx): Same.
14453 (rtx_equal_p): Same.
14454 (get_mode_alignment): Adjust for vectors.
14455
14456 * resource.c (mark_referenced_resources): Handle vectors.
14457 (mark_set_resources): Same.
14458
14459 * reload1.c (eliminate_regs): Handle vectors.
14460 (elimination_effects): Same.
14461 (scan_paradoxical_subregs): Same.
14462
14463 * reload.c (subst_reg_equivs): Handle vectors.
14464
14465 * regrename.c (scan_rtx): Handle vectors.
14466
14467 * regclass.c (reg_scan_mark_refs): Handle vectors.
14468
14469 * recog.c (find_single_use_1): Handle vectors.
14470
14471 * local-alloc.c (equiv_init_varies_p): Handle vectors.
14472 (contains_replace_regs): Same.
14473 (memref_referenced_p): Same.
14474
14475 * integrate.c (copy_rtx_and_substitute): Handle vectors.
14476 (subst_constants): Same.
14477
14478 * genattrtab.c (attr_copy_rtx): Handle vectors.
14479 (encode_units_mask): Same.
14480 (clear_struct_flag): Same.
14481 (count_sub_rtxs): Same.
14482
14483 * gcse.c (want_to_gcse_p): Handle vectors.
14484 (oprs_unchanged_p): Same.
14485 (hash_expr_1): Same.
14486 (oprs_not_set_p): Same.
14487 (expr_killed_p): Same.
14488 (compute_transp): Same.
14489 (store_ops_ok): Same.
14490
14491 * function.c (purge_addressof_1): Do not allow paradoxical subregs
14492 of vectors.
14493 (fixup_var_refs_1): Same.
14494 (instantiate_virtual_regs_1): Same.
14495
14496 * fold-const.c (operand_equal_p): Handle vectors.
14497 (fold): Same.
14498 (rtl_expr_nonnegative_p): Same.
14499
14500 * flow.c (mark_used_regs): Handle vectors.
14501
14502 * df.c (df_uses_record): Handle vectors.
14503
14504 * cselib.c (cselib_subst_to_values): Handle vectors.
14505 (cselib_mem_conflict_p): Same.
14506 (hash_rtx): Same.
14507
14508 * cse.c (canon_reg): Handle vectors.
14509 (fold_rt): Same.
14510 (cse_process_notes): Same.
14511 (count_reg_usage): Same.
14512 (canon_hash): Same.
14513
14514 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
14515
14516 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
14517
14518 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
14519 (gen_rtx): Handle CONST_VECTOR.
14520 (gen_const_vector_0): New.
14521 (copy_rtx_if_shared): CONST_VECTORs can be shared.
14522 (reset_used_flags): Same.
14523 (copy_insn_1): Same.
14524 (initializer_constant_valid_p): Handle VECTOR_CST.
14525
14526 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
14527
14528 * doc/rtl.texi (Constants): Document const_vector.
14529 (CONST0_RTX): Update for vectors.
14530 (RTL sharing): Same.
14531
14532 * print-tree.c (print_node): Add case for VECTOR_CST.
14533
14534 * tree.h (TREE_VECTOR_CST_ELTS): New.
14535 (struct tree_vector): New.
14536 (union tree_node): Add vector node.
14537 (build_vector): Add prototype.
14538
14539 * tree.def (VECTOR_CST): New.
14540
14541 * tree.c (build_vector): New.
14542
14543 * expmed.c (make_tree): Handle CONST_VECTOR.
14544
14545 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
14546 (CONST_VECTOR_ELT): New.
14547 (CONST_VECTOR_NUNITS): New.
14548
14549 * machmode.h (GET_MODE_INNER): New.
14550 (DEF_MACHMODE): Accept 8th arg.
14551
14552 * machmode.def: Add 8th argument for vector inner mode.
14553 Add inner vector modes for vectors.
14554
14555 * rtl.def (VEC_CONST): Remove.
14556 (CONST_VECTOR): New.
14557
14558 * expr.c (clear_storage): Allow vectors.
14559 (is_zeros_p): Handle VECTOR_CST.
14560
14561 * varasm.c (output_constant_pool): Handle vectors.
14562 (rtx_const): Add veclo and vechi fields.
14563 (kind): Add RTX_VECTOR.
14564 (decode_rtx_const): Add case for vector.
14565
14566 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 14567
91c8aa9e
AH
14568 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
14569 constants. Force easy vector constants into memory.
14570 (easy_vector_constant): New.
14571 (emit_easy_vector_constant): New.
14572 (rs6000_legitimize_reload_address): Do not generate bad reloads on
14573 darwin.
14574
14575 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
14576 instruction does.
14577 ("altivec_lvxl"): Same.
14578 (altivec_lvebx): Same.
14579 (altivec_lvehx): Same.
14580 (altivec_lvewx): Same.
14581 ("*movv4si_const0"): New.
14582 ("*movv4sf_const0"): New.
14583 ("*movv8hi_const0"): New.
14584 ("*movv16qi_const0"): New.
14585
d4d6d0ce
KH
145862002-02-18 Kazu Hirata <kazu@hxi.com>
14587
14588 * config/h8300/h8300.c (notice_update_cc): Use
14589 cc_status.value2.
14590
4915d3aa
KH
145912002-02-18 Kazu Hirata <kazu@hxi.com>
14592
14593 * config/h8300/h8300.md (divmod patterns): Change the
14594 constraints for operands[1] to register_operand.
14595
82be00ee
KH
145962002-02-18 Kazu Hirata <kazu@hxi.com>
14597
14598 * config/h8300/h8300-protos.h: Remove the prototype for
14599 p_operand.
14600 * config/h8300/h8300.c (p_operand): Remove.
14601 * config/h8300/h8300.md: Replace p_operand with
14602 const_int_operand.
14603
1768c26f
PB
146042002-02-18 Philip Blundell <pb@nexus.co.uk>
14605
14606 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
14607 comment.
14608 (output_return_instruction): Allow use of LDR to unstack
14609 return addresss even for interrupt handlers or when
14610 interworking. If compiling for ARMv5, use interworking-safe
14611 return instructions by default. Remove duplicated code and
14612 lengthy "strcat" sequences.
14613
ccd84f51
FS
146142002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14615
14616 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
14617 (LINK_EH_SPEC): Define.
14618 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
14619
2c153108
UW
146202002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
14621
14622 * config/s390/s390.c (s390_emit_prologue): Do not set the
14623 frame_related flag for call-clobbered registers.
14624
e95d6b23
JH
14625Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
14626
14627 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
14628 (construct_container): Fix handling of SSE operands.
14629 (ix86_expand_builtin): Fix handling of 64bit pointers.
14630 (mmx_maskmovq_rex): New pattern.
14631
c43a12b5
JH
14632Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
14633
14634 * regrename.c (kill_set_value): Handle subregs properly.
14635
aeb85a15
DB
146362002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
14637
14638 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 14639 from objc_class_name.
aeb85a15 14640
a615ca3e
RH
146412002-02-17 Richard Henderson <rth@redhat.com>
14642
14643 * config/alpha/alpha.c (some_small_symbolic_operand,
14644 some_small_symbolic_operand_1, split_small_symbolic_operand,
14645 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
14646 Handle small SYMBOL_REFs anywhere, not just inside memories.
14647 * config/alpha/alpha-protos.h: Update.
14648 * config/alpha/alpha.h (PREDICATE_CODES): Update.
14649 * config/alpha/alpha.md (small symbolic operand splitter): Update.
14650
ddb28441
RM
146512002-02-17 Roland McGrath <roland@frob.com>
14652
14653 * config.gcc (powerpc-*-gnu-gnualtivec*,
14654 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
14655 * config/rs6000/gnu.h: New file.
14656 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
14657 Grok "gnu" in rs6000_abi_name.
14658 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
14659 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
14660 Grok -mcall-gnu analogous to -mcall-linux et al.
14661 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
14662 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
14663 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
14664
f6f8ada3
JJ
146652002-02-17 Jakub Jelinek <jakub@redhat.com>
14666
14667 PR c/3444:
14668 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
14669 shortening.
14670
e16b32fc
PT
146712002-02-17 Philipp Thomas <pthomas@suse.de>
14672
14673 * config/cris/cris.h: Undefine STARTFILE_SPEC and
14674 ENDFILE_SPEC before (re)defining them.
14675
f9477efd
KH
146762002-02-17 Kazu Hirata <kazu@hxi.com>
14677
14678 * config/h8300/h8300.c: Fix formatting.
14679 * config/h8300/h8300.h: Likewise.
14680
404ae494
PT
146812002-02-17 Philipp Thomas <pthomas@suse.de>
14682
14683 * doc/tm.texi: Explain why empty strings should not be
14684 marked for translation.
14685
a52453cc
PT
146862002-02-17 Philipp Thomas <pthomas@suse.de>
14687
14688 * final.c (output_operand_lossage): Changed to accept
14689 printf style arguments. Change calls where necessary.
14690 * output.h (output_operand_lossage): Change declaration
14691 accordingly. Update copyright.
14692 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
14693 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
14694 Update copyright date where necessary.
c410d49e 14695
a52453cc
PT
14696 * config/i386/i386.c (print_operand): Likewise. Remove use of
14697 sprintf.
14698
14699 * config/cris/cris.c (cris_operand_lossage): Likewise.
14700 Rename parameter so that exgettext recognizes it as
14701 translatable message.
14702 (LOSE_AND_RETURN): Rename parameter to msgid.
14703
1c11abc4
KH
147042002-02-17 Kazu Hirata <kazu@hxi.com>
14705
14706 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
14707 hard coded register number with an appropriate macro.
14708 (HARD_REGNO_MODE_OK): Likewise.
14709 (ARG_POINTER_REGNUM): Likewise.
14710 (STATIC_CHAIN_REGNUM): Likewise.
14711 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
14712 * config/h8300/h8300.md (define_constants): Define more
14713 register numbers.
14714
a5d17ff3
PT
147152002-02-17 Philipp Thomas <pthomas@suse.de>
14716
14717 * config/i386/i386.h: Don't mark empty strings for translation.
14718
1a7289c4
L
147192002-02-16 H.J. Lu <hjl@gnu.org>
14720
14721 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
14722
afb58288
ZW
147232002-02-16 Zack Weinberg <zack@codesourcery.com>
14724
14725 * cppinit.c (merge_include_chains): Check for brack being
14726 NULL before attempting to merge it with qtail.
14727
d2af4dbd
AC
147282002-02-16 Andrew Cagney <ac131313@redhat.com>
14729
14730 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
14731 DBX_DEBUG.
14732
2e1ed1e3
JDA
147332002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
14734
14735 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
14736
604c75b2
JDA
147372002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
14738
14739 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
14740 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
14741 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
14742
1a42b072
RK
14743Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14744
7303604f 14745 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
14746 now only if !TARGET_FIX.
14747 (*movsi_nt_vms_fix): New pattern.
14748
c2ea1ac6
DR
147492002-02-16 Douglas B Rupp <rupp@gnat.com>
14750
14751 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
14752 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
14753 (alpha_sa_mask, alpha_sa_size): Reflect above change.
14754 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
14755 (alpha_start_function, alpha_expand_epilogue): Likewise.
14756 (unicosmk_gen_dsib): Likewise.
14757
725e58b1
RK
14758Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14759
14760 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
14761
13e58269
UW
147622002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
14763
c410d49e 14764 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
14765 check_and_change_labels, s390_final_chunkify): Delete.
14766 (s390_split_branches, s390_chunkify_pool): New functions.
14767 (s390_function_prologue): Call them.
c410d49e 14768
13e58269
UW
14769 * config/s390/s390.h (S390_REL_MAX): Delete.
14770 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
14771
c410d49e 14772 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
14773 attribute calculation.
14774
14775
34d1b01d
DE
147762002-02-15 David Edelsohn <edelsohn@gnu.org>
14777
14778 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
14779 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
14780
be5cc51a
JDA
147812002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
14782
14783 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
14784 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
14785 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
14786
ee96ce90
RS
147872002-02-15 Richard Sandiford <rsandifo@redhat.com>
14788
14789 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
14790
05fa709d
RS
147912002-02-15 Richard Sandiford <rsandifo@redhat.com>
14792
14793 * reload.c (find_dummy_reload): Check that an output register
14794 is valid for its mode.
14795
4606272b
AO
147962002-02-14 Alexandre Oliva <aoliva@redhat.com>
14797
9a360704
AO
14798 * combine.c (known_cond): After replacing the REG of a SUBREG, try
14799 to simplify it.
14800
4606272b
AO
14801 * function.c (assign_parms): Demote promoted argument passed by
14802 transparent reference.
14803
e62d89a1
JS
148042001-02-14 Joel Sherrill <joel@OARcorp.com>
14805
14806 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
14807 -Acpu() and -Amachine() to eliminate warnings.
14808
6c4cf695
UW
148092002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
14810
14811 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
14812
037f11ef
KH
148132002-02-14 Kazu Hirata <kazu@hxi.com>
14814
14815 * config/h8300/h8300-protos.h: Update the prototype for
14816 const_costs.
14817 * config/h8300/h8300.c (const_costs): Treat SET as a little
14818 more expensive operation.
14819 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
14820 reference to const_costs.
14821
fdc76b09
HPN
148222002-02-14 Hans-Peter Nilsson <hp@axis.com>
14823
14824 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
14825
d76e6800
JJ
148262002-02-14 Jakub Jelinek <jakub@redhat.com>
14827
14828 PR c/5503:
14829 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
14830 use arguments from newtype.
14831
5ae590d7
EC
148322002-02-13 Eric Christopher <echristo@redhat.com>
14833
14834 * config/mips/mips.c (override_options): Add check for march/mipsX
14835 on the same command line. Fix error message in cpu processing.
14836 Remove architecture and ISA checks.
14837
b8513691
AH
148382002-02-14 Aldy Hernandez <aldyh@redhat.com>
14839
831c4e87 14840 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 14841
831c4e87 14842 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 14843
78c875e8
AH
148442002-02-14 Aldy Hernandez <aldyh@redhat.com>
14845
831c4e87
KC
14846 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
14847 alternatives.
14848 ("*movv8hi_internal1"): Same.
14849 ("*movv16qi_internal1"): Same.
14850 ("*movv4sf_internal1"): Same.
78c875e8 14851
831c4e87
KC
14852 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
14853 not push_reload for altivec modes.
78c875e8 14854
d76e6800 148552002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
14856
14857 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
14858 all RTEMS targets including removal of #includes from config/*/rtems*.h
14859 file and adding them to tm_file setting. Added xm_defines=POSIX to
14860 many targets.
14861 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
14862 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
14863 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
14864 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
14865 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
14866 config/m68k/rtemself.h: Ditto.
14867 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
14868 config/mips/rtems64.h: Ditto.
14869 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
14870 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
14871 Ditto.
14872 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
14873 config/sparc/rtemself.h: Ditto.
14874 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
14875 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
14876 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
14877 more like arm-elf.
14878 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
14879 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
14880 target made more similar to i386-elf.
14881 * config/i386/t-rtems-i386: Added soft float support and multilibs.
14882 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
14883 be similar to config/m68k/t-m68kelf.
14884 * gthr-rtems.h: Encapsulate with extern "C" for C++.
14885
8686336f
JH
14886Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
14887
14888 * regmove.c (kill_value): Handle subregs.
14889
558740bf
JH
14890Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
14891
14892 * i386.md (mul patterns): Allow memory operand to be first;
14893 add expanders where needed; fix constraints.
14894 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
14895 Allow memory operand to be the first.
14896
14897 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
14898 operands.
14899
21117a17
JJ
149002002-02-13 Jakub Jelinek <jakub@redhat.com>
14901
14902 PR c/5681:
14903 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
14904 GET_MODE (x).
14905
ec65b2e3
JJ
149062002-02-13 Jakub Jelinek <jakub@redhat.com>
14907
14908 PR optimization/5547:
14909 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
14910 all valid IA-32 address modes involving non-scaled %ebx and
14911 GOT/GOTOFF as displacement.
14912
ce50cae8
UW
149132002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
14914
14915 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
14916 after emitting ltorg insns.
14917
14918 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
14919 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
14920 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
14921 *abssf2): Fix "op_type" attribute.
14922
09eb789b
DR
149232002-02-13 Douglas B Rupp <rupp@gnat.com>
14924
2dbe67bb
DR
14925 * mkconfig.sh: Avoid using a subshell redirect.
14926 ($output.T): Change to $(output)T.
14927 (ENABLE_NLS): Remove unneeded undef.
14928
ea5b9a1f
DR
14929 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
14930 * config/alpha/x-vms (libsubdir): Define.
14931
3deb00ce
DR
14932 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
14933 register frame procedures. Optimize retrieving context.
14934
09eb789b
DR
14935 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
14936 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
14937 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
14938
1abade85
RK
14939Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14940
14941 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
14942 Make same change as for find_base_value.
14943
c283e63f
KH
149442002-02-13 Kazu Hirata <kazu@hxi.com>
14945
14946 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
14947 of QImode and SImode.
14948
86039100
KH
149492002-02-13 Kazu Hirata <kazu@hxi.com>
14950
14951 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
14952 length computation of movsi.
14953 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
14954
e1429da0
KH
149552002-02-13 Kazu Hirata <kazu@hxi.com>
14956
14957 * config/h8300/h8300.md (subqi3): Tighten the predicate for
14958 operands[2] to register_operand.
14959
aebfea10
JH
14960Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
14961
14962 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
14963
0ec4e2a8
AH
149642002-02-12 Aldy Hernandez <aldyh@redhat.com>
14965
831c4e87
KC
14966 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
14967 for altivec_lvx* and altivec_stvx*.
14968 ("*movv4si_internal"): Add constraint for loading from GPRs.
14969 ("*movv8hi_internal1"): Same.
14970 ("*movv16qi_internal1"): Same.
14971 ("*movv4sf_internal1"): Same.
0ec4e2a8 14972
831c4e87 14973 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 14974
831c4e87
KC
14975 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
14976 altivec_register_operand.
0ec4e2a8 14977
b007569d
HPN
149782002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
14979
14980 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
14981 handle SYMBOL_REF.
14982
e6834654
SS
149832002-02-13 Stan Shebs <shebs@apple.com>
14984
831c4e87
KC
14985 * c-typeck.c (digest_init): Handle vectors.
14986 (really_start_incremental_init): Same.
14987 (pop_init_level): Same.
14988 (process_init_element): Same.
e6834654 14989
831c4e87 14990 * varasm.c (output_constant): Same.
e6834654 14991
831c4e87
KC
14992 * expr.c (clear_storage): Same.
14993 (store_constructor): Same.
e6834654 14994
d9b3eb63
EC
149952002-02-12 Eric Christopher <echristo@redhat.com>
14996
14997 * explow.c (hard_function_value): Add comment explaining
14998 signed/unsigned comparison.
14999
56d44285
JJ
150002002-02-12 Jakub Jelinek <jakub@redhat.com>
15001
15002 * jump.c (never_reached_warning): Add finish argument.
15003 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
15004 real insn after end.
15005 * rtl.h (never_reached_warning): Adjust prototype.
15006 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
15007 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
15008 never_reached_warning.
15009
fc209487
GS
150102002-02-12 Graham Stott <grahams@redhat.com>
15011
15012 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
15013
1e41e866
KH
150142002-02-12 Kazu Hirata <kazu@hxi.com>
15015
15016 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
15017 logical shifts on H8/300.
15018 (shift_alg_si): Improve several shifts on H8/300.
15019 (get_shift_alg): Likewise.
15020
a36a47ad
GS
150212002-02-12 Graham Stott <grahams@redhat.com>
15022
15023 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
15024
0aacc8ed
RK
15025Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15026
15027 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
15028 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
15029
a02ac966
HPN
150302002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
15031
15032 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
15033 non-CONST_INT through default_assemble_integer.
15034 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
15035 <case 8>: Abort for CONST_DOUBLE.
15036
d6e06ddc
JDA
150372002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
15038
15039 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
15040 is specified.
15041 * config/pa/pa-linux.h (LIB_SPEC): Delete.
15042 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
15043
515342a8
AH
150442002-02-11 Andrew Haley <aph@cambridge.redhat.com>
15045
15046 * config/stormy16/stormy16.md (zero_extendqihi2): New.
15047
cddd8b72
AO
150482002-02-11 Alexandre Oliva <aoliva@redhat.com>
15049
66df7a98
AO
15050 * regrename.c (regrename_optimize): Don't accept a
15051 part-clobbered register if the replaced register is not part
15052 clobbered.
15053
841404cd
AO
15054 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
15055 take padding into account when computing the argument value.
15056
1d1ade42
AO
15057 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
15058
cddd8b72
AO
15059 * combine.c (try_combine): Apply substitutions in
15060 CALL_INSN_FUNCTION_USAGE too.
15061
5c665b88
AH
150622002-02-11 Aldy Hernandez <aldyh@redhat.com>
15063
77f6c1eb
RS
15064 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
15065 __builtin_altivec_abs*.
15066 (bdesc_abs): New.
5c665b88 15067
77f6c1eb
RS
15068 * config/rs6000/rs6000.h (rs6000_builtins): Add
15069 ALTIVEC_BUILTIN_ABS*.
5c665b88 15070
77f6c1eb
RS
15071 * config/rs6000/altivec.h: Use const char for builtins expecting
15072 literals.
15073 (vec_abs): New versions for C and C++.
15074 (vec_abss): Same.
5c665b88 15075
3494f1b4
KH
150762002-02-10 Kazu Hirata <kazu@hxi.com>
15077
15078 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
15079 using Pmode.
15080
72431aef
KH
150812002-02-10 Kazu Hirata <kazu@hxi.com>
15082
15083 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
15084 constant definition from h8300.md.
15085 (FRAME_POINTER_REGNUM): Likewise.
15086 * config/h8300/h8300.md (define_constants): Add FP_REG.
15087
87e4ee91
KH
150882002-02-10 Kazu Hirata <kazu@hxi.com>
15089
15090 * config/h8300/h8300.c (print_operand): Remove redundant code.
15091
9c188705
KH
150922002-02-10 Kazu Hirata <kazu@hxi.com>
15093
15094 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
15095 * config/h8300/h8300.c (byte_reg): Make it static.
15096
fba78abb
RH
150972002-02-10 Richard Henderson <rth@redhat.com>
15098
15099 PR c/5623
15100 * c-typeck.c (incomplete_type_error): Handle flexible array members.
15101
65739e62
RH
151022002-02-10 Richard Henderson <rth@redhat.com>
15103
15104 PR c++/5624
15105 * tree.c (append_random_chars): Don't abort if main_input_filename
15106 does not exist.
15107
247cb9df
HPN
151082002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
15109
15110 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
15111
232bd029
KH
151122002-02-10 Kazu Hirata <kazu@hxi.com>
15113
65739e62 15114 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
15115 (pushhi1): Likewise.
15116
276ef573
JDA
151172002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
15118
15119 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
15120 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
15121
617e9ee5
DB
151222002-02-09 David O'Brien <obrien@FreeBSD.org>
15123
15124 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
15125 remove MASK_VIS.
15126 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
15127
6dfa4005
KH
151282002-02-09 Kazu Hirata <kazu@hxi.com>
15129
15130 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
15131 a half of an SImode register on H8/300.
15132
749e7b80
JH
15133Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
15134
15135 * i386.md (movdi_2): Add missing '!'.
15136
ca77d87c
KH
151372002-02-09 Kazu Hirata <kazu@hxi.com>
15138
15139 * config/h8300/h8300.h: Fix formatting. Remove commented-out
15140 definitions.
15141
16c96304
KH
151422002-02-09 Kazu Hirata <kazu@hxi.com>
15143
15144 * config/h8300/h8300.md (length): Correct the distance valid
15145 for the short branch.
15146
a364bc90
KH
151472002-02-09 Kazu Hirata <kazu@hxi.com>
15148
15149 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
15150
e4ec2cac
AO
151512002-02-09 Alexandre Oliva <aoliva@redhat.com>
15152
a138247b
AO
15153 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
15154 registers in SImode.
15155 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
15156 part-clobbered.
15157
2b1fd83f
AO
15158 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
15159 patch.
d9b3eb63 15160
fa5322fa
AO
15161 Contribute sh64-elf.
15162 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
15163 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
15164 (sh_cannot_modify_jumps_p): New function.
15165 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
15166 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
15167 (sh_ms_bitfield_layout_p): New function.
15168 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
15169 Zack Weinberg <zack@codesourcery.com>
15170 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
15171 expand_simple_binop instead of expand_binop.
15172 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
15173 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
15174 use of .quad and .uaquad.
15175 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
15176 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
15177 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
15178 * config/sh/sh.md (movdi_const, movdi_const_32bit,
15179 movdi_const_16bit): Make sure all CONSTs have modes.
15180 (sym2PIC): Ditto, but by adjusting all callers.
15181 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
15182 if the prologue calls the SHmedia argument decoder or register
15183 saver.
15184 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
15185 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
15186 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
15187 (sh_expand_epilogue): Don't emit USE of return target register.
15188 (prepare_move_operands): Legitimize DImode PIC addresses.
15189 (sh_media_register_for_return): Skip tr0, used to initialize the
15190 PIC register.
15191 (sh_expand_prologue): Remove explicit USE of return register.
15192 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
15193 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
15194 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
15195 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
15196 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
15197 EXTRA_CONSTRAINT_T.
15198 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
15199 (MOVI_SHORI_BASE_OPERAND_P): New.
15200 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
15201 (EXTRA_CONSTRAINT_T): Define in terms of them.
15202 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
15203 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
15204 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
15205 alternatives supporting TARGET_REGS.
15206 (UNSPEC_GOTPLT): New constant.
15207 (movdi split): Move incrementing of LABEL_NUSES...
15208 (movdi_const, movdi_const_32bit): Here. Use
15209 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
15210 (movdi_const_16bit): New.
15211 (call, call_value) [flag_pic]: Use GOTPLT.
15212 (call_pop, call_value_pop): New expands.
15213 (call_pop_compact, call_pop_rettramp): New insns.
15214 (call_value_pop_compact, call_value_pop_rettramp): New insns.
15215 (sibcall) [flag_pic]: Use GOT.
15216 (builtint_setjmp_receiver): Remove bogus, unused expand.
15217 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
15218 (*pt, *ptb, ptrel): New insns.
15219 (sym2GOT): Handle DImode GOT.
15220 (sym2GOTPLT, symGOTPLT2reg): New expands.
15221 (sym2PIC): New expand.
15222 (shcompact_return_tramp): Use GOTPLT to return trampoline.
15223 (shcompact_return_tramp_i): Use return register explicitly.
15224 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
15225 disable flag_reorder_blocks.
15226 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
15227 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
15228 clobbers, for clarity.
15229 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
15230 restoring of r0 in macl as MAYBE_DEAD.
15231 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
15232 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
15233 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
15234 alter_subreg all over.
15235 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
15236 reload, instead of emitting instructions that would require
15237 reloading.
15238 (casesi_load_media): Add missing modes.
15239 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
15240 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
15241 as used if the argument decoder is called.
15242 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
15243 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
15244 Pmode, then extend it to DImode if necessary.
15245 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
15246 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
15247 constants in FPU-enabled SHmedia, let them be loaded from memory.
15248 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
15249 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
15250 Adjust whitespace in assembly output templates.
15251 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
15252 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
15253 mode of if_then_else.
15254 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
15255 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
15256 sh.h.
15257 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
15258 Joern Rennecke <amylaar@redhat.com>
15259 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
15260 (SUBTARGET_CPP_PTR_SPEC): New.
15261 (SUBTARGET_CPP_SPEC): Remove.
15262 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
15263 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
15264 Fix typo in previous checkin.
15265 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
15266 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
15267 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
15268 Alexandre Oliva <aoliva@redhat.com>
15269 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
15270 what single FP register can hold for SHmedia target.
15271 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
15272 Alexandre Oliva <aoliva@redhat.com>
15273 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
15274 Do not split into SUBREG.
15275 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
15276 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
15277 and added new functions as specified in SH5 ABI r9.
15278 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
15279 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
15280 8-byte boundary.
15281 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
15282 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
15283 gen_consttable_4 and gen_consttable_8. Emit multiple labels
15284 and consttable_window_ends.
15285 2001-06-03 Graham Stott <grahams@redhat,com>
15286 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
15287 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
15288 * config/sh/sh.c (print_operand): Handle floating-point pair,
15289 vector and matrix registers.
15290 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
15291 vector modes into account.
15292 * config/sh/sh.md (movv2sf): Split move between registers into
15293 movdf.
15294 (movv4sf, movv16sf): Introduce insns that get split only after
15295 reload.
15296 * config/sh/shmedia.h: Fix Copyright dates.
15297 * config/sh/ushmedia.h: Likewise. Move loop counter
15298 declarations into conditionals that uses them.
15299 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
15300 loop boundary.
15301 * config/sh/sshmedia.h: Fix Copyright dates.
15302 (sh_media_PUTCFG): Fix constraints.
15303 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
15304 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
15305 ptrmemfunc_vbit_in_delta for SH5.
15306 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
15307 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
15308 * invoke.texi: Likewise.
15309 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
15310 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
15311 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
15312 GCC_pop_shmedia_regs_nofpu): New global symbols.
15313 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
15314 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
15315 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
15316 compact function with nonlocal labels.
15317 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
15318 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
15319 (initial_elimination_offset): Account for their stack space.
15320 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
15321 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
15322 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
15323 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
15324 least one of the operands to be a register.
15325 (movv2sf): Likewise. Renamed to movv2sf_i.
15326 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
15327 prepare_move_operands() before emitting SHmedia insns.
15328 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
15329 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
15330 Don't save nor initialize r12. Don't mis-align the stack.
15331 Pad the code with a nop.
15332 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
15333 stack.
15334 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
15335 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
15336 [__SHMEDIA__]: Implement.
15337 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
15338 * config/sh/sh.md: Set latency of `pt' closer to reality.
15339 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
15340 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
15341 Set move, load and store type attributes.
15342 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
15343 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
15344 profiling.
15345 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
15346 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
15347 * config/sh/sh.c (sh_media_register_for_return): New function.
15348 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
15349 branch-target register.
15350 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
15351 * config/sh/sh.md (return_media_i): Use any call-clobbered
15352 branch-target register.
15353 (return_media): If r18 wasn't copied in the prologue, copy it
15354 here.
15355 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
15356 Clear class FP0_REGS.
15357 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
15358 from elf.h.
15359 2001-03-08 DJ Delorie <dj@redhat.com>
15360 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
15361 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
15362 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
15363 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
15364 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
15365 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
15366 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
15367 return value correctly for call_cookie.
15368 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
15369 * config/sh/crt1.asm (start): Modified so as to call
15370 ___setup_argv_and_call_main.
15371 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
15372 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
15373 SHmedia mode.
15374 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
15375 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
15376 (STRIP_NAME_ENCODING): Use it.
15377 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
15378 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
15379 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
15380 prepare_scc_operands().
15381 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
15382 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
15383 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
15384 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
15385 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
15386 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
15387 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
15388 used in shcompact_incoming_args.
15389 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
15390 change.
15391 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
15392 mode.
15393 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
15394 Adjust accordingly.
15395 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
15396 Simplify. Adjust. Add sanity check.
15397 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
15398 FPU_SINGLE_BIT.
15399 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
15400 TARGET_SHCOMPACT.
15401 (udivsi3, divsi3): Use them.
15402 (force_mode_for_call): New insn.
15403 (call, call_value, sibcall_value): Emit it before SHcompact
15404 calls.
15405 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
15406 * config/sh/sh.md (call, call_value, sibcall): Make sure the
15407 call cookie is non-NULL before taking its value.
15408 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
15409 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
15410 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
15411 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
15412 block.
15413 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
15414 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
15415 temporary for stack adjusts. Use MACL and MACH to pass
15416 arguments to shcompact_incoming_args.
15417 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
15418 clobber r1.
15419 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
15420 (nested_trampoline): Load static chain address into r1.
15421 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
15422 2001-01-07 Alexandre Oliva <aoliva@redhat.com
15423 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
15424 fp_arith_reg_operand().
15425 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
15426 * config/sh/sh.md (casesi): Sign-extend the first two operands,
15427 and use signed compares for them.
15428 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
15429 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
15430 ones properly aligned.
15431 (find_barrier): Account for extra alignment needed for 8-byte wide
15432 constants.
15433 (machine_dependent_reorg): Require a label for the second 4-byte
15434 constant after an 8-byte one.
15435 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
15436 change.
15437 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
15438 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
15439 last_float when switching float modes.
15440 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
15441 auto-increment for general-purpose registers.
15442 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
15443 result.
15444 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
15445 for stack adjust.
15446 * config/sh/sh.c (sh_builtin_saveregs): Support using all
15447 registers for varargs.
15448 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
15449 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
15450 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
15451 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
15452 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
15453 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
15454 call_cookie accordingly.
15455 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
15456 (SHCOMPACT_BYREF): Likewise.
15457 (SHCOMPACT_FORCE_ON_STACK): New macro.
15458 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
15459 (sh_builtin_saveregs): Likewise.
15460 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
15461 shcompact_incoming_args): Use new shift values. Support
15462 sequences of consecutive and non-consecutive pushes/pops.
15463 * config/sh/sh.md (return): Don't explicitly use PR_REG.
15464 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
15465 * config/sh/sh.h (TEXT_SECTION): Define.
15466 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
15467 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
15468 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
15469 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
15470 return values on FPU-enabled SHmedia.
15471 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
15472 FPU-enabled SHmedia.
15473 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
15474 value is returned in a non-FP reg and is not returned by
15475 reference.
15476 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
15477 jump_ind.
15478 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
15479 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
15480 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
15481 quad-aligned to be passed by callee-copy reference.
15482 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
15483 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
15484 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
15485 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
15486 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
15487 copying low-numbered FP regs to r7 and r8.
15488 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
15489 FP regs to general-purpose regs only if the copy was passed on the
15490 stack.
15491 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
15492 copying FP reg to r9.
15493 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
15494 copy FP regs to general-purpose regs only in outgoing calls.
15495 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 15496 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
15497 HOST_WIDE_INT.
15498 * config/sh/sh.h (struct sh_args): Document all fields.
15499 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
15500 passed partially on the stack should not consider making
15501 sibcalls.
15502 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
15503 stack_regs only for incoming calls. When passing FP args,
15504 make sure there are FP regs available before modifying
15505 call_cookie.
15506 (SHCOMPACT_BYREF): Pass double args in general-purpose
15507 registers by reference.
15508 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
15509 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
15510 attempt to generate sibcalls if the caller got any arguments
15511 by reference.
15512 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
15513 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
15514 to 8-byte boundaries.
15515 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
15516 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
15517 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
15518 stored in the stack.
15519 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
15520 for the offsets to have the ISA bit set.
15521 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
15522 invocation. Use beq instead of bgt to mark end of sequence of
15523 loads.
15524 (shcompact_incoming_args): Fix store of r2. Use beq instead of
15525 bgt to mark end of sequence of stores.
15526 * config/sh/sh.c (arith_operand): Don't check whether
15527 CONST_OK_FOR_J for now.
15528 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
15529 instead of long for conversion.
15530 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
15531 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
15532 before passing it to fprintf.
15533 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
15534 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
15535 Call set_fpscr before reading/writing SR.
15536 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
15537 Call set_fpscr.
15538 * config/sh/lib1funcs.asm: Add `.align 2' directives before
15539 SHmedia code.
15540 (FMOVD_WORKS): Define on SH5 with FPU.
15541 (set_fpscr): Define on SH5. Remove separate _fpscr_values
15542 setting.
15543 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
15544 _fpscr_values.
15545 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
15546 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
15547 address.
15548 (ia_main_table): Ditto.
15549 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
15550 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
15551 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
15552 the definitions from sh.h.
15553 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
15554 TARGET_SH5.
15555 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
15556 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
15557 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
15558 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
15559 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
15560 Increment LABEL_NUSES.
d9b3eb63 15561
fa5322fa
AO
15562 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
15563 TARGET_SH5.
15564 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
15565 defined.
15566 * config/sh/elf.h (SIZE_TYPE): Likewise.
15567 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
15568 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
15569 shcompact_incoming_args): Load switch table addresses using
15570 datalabel.
15571 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
15572 (NO_BUILTIN_SIZE_TYPE): Define.
15573 (SIZE_TYPE): Don't define.
15574 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
15575 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
15576 definition of __SH5__=32 for -m5-compact-nofpu.
15577 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
15578 ADDR_DIFF_VEC.
15579 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
15580 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
15581 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
15582 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
15583 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
15584 (INSN_LENGTH_ALIGNMENT): Likewise.
15585 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
15586 * config/sh/sh.md (call, call_value, sibcall): Simplify
15587 copying of non-branch-target register.
15588 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 15589 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
15590 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
15591 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
15592 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
15593 floating-point values as structs.
15594 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
15595 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
15596 general-purpose register.
15597 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
15598 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
15599 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
15600 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
15601 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
15602 (ENCODE_SECTION_INFO): Enclose variables and constants in
15603 DATALABEL unspecs.
15604 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
15605 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
15606 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
15607 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
15608 only for LABEL_REFs. For SYMBOL_REFs, prepend
15609 SH_DATALABEL_ENCODING to the symbol name.
15610 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
15611 convert_mode().
15612 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
15613 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
15614 UNSPEC_DATALABEL.
15615 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
15616 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
15617 (DATALABEL_REF_P): Don't require CONST.
15618 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
15619 REL label.
15620 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
15621 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
15622 right.
15623 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
15624 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
15625 Use shallow_copy_rtx and PUT_MODE to change the mode of
15626 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
15627 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
15628 on SHmedia using GENERAL_REGs.
15629 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
15630 bltu_media_i): Fix reversion of conditions.
15631 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
15632 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
15633 * config/sh/sh.c (output_far_jump): Save r13 in macl.
15634 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
15635 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
15636 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
15637 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
15638 (GCC_nested_trampoline): Likewise.
15639 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
15640 * config/sh/sh.c (gen_datalabel_ref): Define.
15641 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
15642 (INITIALIZE_TRAMPOLINE): Likewise.
15643 (TRAMPOLINE_ADJUST_ADDRESS): Define.
15644 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
15645 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
15646 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
15647 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
15648 (ic_invalidate): Adjust for SH5.
15649 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
15650 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
15651 _nested_trampoline.
15652 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
15653 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
15654 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
15655 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
15656 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
15657 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
15658 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
15659 * config/sh/sh.c (target_reg_operand): Match only target-branch
15660 registers and pseudos that aren't virtual registers.
15661 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
15662 Copy operands that don't match target_reg_operand to pseudos.
15663 (call_media, call_value_media, sibcall_media): Use
15664 target_reg_operand instead of target_operand.
15665 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 15666 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
15667 * config/sh/sh.c (target_reg_operand): Match hardware registers
15668 other than branch-target registers.
15669 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
15670 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
15671 (fpscr_values) [SH5 == 32]: Define.
15672 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
15673 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
15674 Handle function addresses coming in SUBREGs.
15675 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
15676 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
15677 shcompact_return_trampoline): Use datalabel where appropriate.
15678 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
15679 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
15680 general-purpose register to copy one branch-target register to
15681 another.
15682 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
15683 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
15684 SYMBOL_REFs with VOIDmode.
15685 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
15686 bltu_media_i): New insns.
15687 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
15688 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
15689 (INIT_CUMULATIVE_ARGS): Likewise.
15690 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
15691 * machmode.def (V16SFmode): New mode.
15692 * c-common.c (type_for_mode): Support V2SF and V16SF.
15693 * tree.c (build_common_tree_nodes_2): Likewise.
15694 * tree.h (tree_index): Likewise.
15695 * calls.c (emit_call_1): Take args_so_far. Adjust all
15696 callers. Introduce CALL_POPS_ARGS.
15697 * tm.texi (CALL_POPS_ARGS): Document.
15698 * config/sh/crt1.asm: Implement in SHmedia mode.
15699 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
15700 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
15701 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
15702 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
15703 Implement divsi and udivsi in SHmedia mode. Introduce
15704 SHcompact trampolines.
15705 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
15706 only in SHmedia64.
15707 (regno_reg_class): Rewrite.
15708 (fp_reg_names): Remove.
15709 (sh_register_names, sh_additional_register_names): New.
15710 (print_operand): Added `u'. Support SUBREGs in addresses.
15711 Add parentheses around shifted CONSTs.
15712 (output_file_start): Output .mode and .abi directives.
15713 (shiftcosts, addsubcosts, multcosts): Adjust.
15714 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
15715 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
15716 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
15717 bytes, not registers. Take into account the need for the
15718 SHcompact incoming args trampoline. Adjust all callers.
15719 (sh_expand_prologue): Take stack_regs into account. Call
15720 incoming args trampoline. Keep stack aligned as per SH5 ABI.
15721 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
15722 stack aligned as per SH5 ABI.
15723 (sh_builtin_saveregs): Support SH5 ABI.
15724 (sh_build_va_list, sh_va_start): Likewise.
15725 (initial_elimination_offset): Take alignment into account.
15726 Compute location of PR according to the SH5 stack frame.
15727 (arith_reg_operand): Reject branch-target registers.
15728 (shmedia_6bit_operand): New.
15729 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
15730 (target_reg_operand): Match DImode only. Accept SUBREGs.
15731 (target_operand): New.
15732 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
15733 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
15734 SIBCALL_REGS for SHmedia.
15735 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
15736 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
15737 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
15738 (TARGET_SWITCHES): New SH5 flags.
15739 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
15740 VALID_REGISTER_P to disable unsupported registers.
15741 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
15742 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
15743 (FUNCTION_ARG_PADDING): Define.
15744 (FASTEST_ALIGNMENT): Adjust.
15745 (SH_REGISTER_NAMES_INITIALIZER): New.
15746 (sh_register_names): Declare.
15747 (DEBUG_REGISTER_NAMES): Define.
15748 (REGISTER_NAMES): Define based on sh_register_names.
15749 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
15750 (sh_additional_register_names): Declare.
15751 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
15752 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
15753 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
15754 (REGISTER_NATURAL_MODE): Define.
15755 (FIRST_PSEUDO_REGISTER): Adjust.
15756 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
15757 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
15758 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
15759 (VECTOR_MODE_SUPPORTED_P): Define.
15760 (REG_CLASS_CONTENTS): Adjust.
15761 (SMALL_REGISTER_CLASSES): Adjust.
15762 (REG_ALLOC_ORDER): Adjust.
15763 (INDEX_REG_CLASS): Adjust.
15764 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
15765 (CONST_OK_FOR_LETTER_P): Adjust.
15766 (PREFERRED_RELOAD_CLASS): Adjust.
15767 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
15768 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
15769 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
15770 (FIRST_FP_PARM_REG): Adjust.
15771 (CALL_POPS_ARGS): Define.
15772 (FUNCTION_ARG_REGNO_P): Adjust.
15773 (struct sh_args): New fields.
15774 (GET_SH_ARG_CLASS): Adjust.
15775 (INIT_CUMULATIVE_ARGS): Adjust.
15776 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
15777 (FUNCTION_ARG_ADVANCE): Adjust.
15778 (FUNCTION_ARG): Adjust.
15779 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
15780 (FUNCTION_ARG_CALLEE_COPIES): Define.
15781 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
15782 (STRICT_ARGUMENT_NAMING): Define.
15783 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
15784 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
15785 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
15786 (SETUP_INCOMING_VARARGS): Adjust.
15787 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
15788 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
15789 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
15790 (SUBREG_OK_FOR_INDEX_P): Adjust.
15791 (EXTRA_CONSTRAINT_S): Update.
15792 (EXTRA_CONSTRAINT_T): New.
15793 (EXTRA_CONSTRAINT): Adjust.
15794 (GO_IF_LEGITIMATE_INDEX): Adjust.
15795 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
15796 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
15797 (MOVE_MAX): Adjust.
15798 (MAX_MOVE_MAX): Define.
15799 (Pmode): Adjust.
15800 (CONST_COSTS): Adjust.
15801 (REGISTER_MOVE_COST): Adjust.
15802 (BRANCH_COST): Adjust.
15803 (TEXT_SECTION_ASM_OP): Adjust.
15804 (DBX_REGISTER_NUMBER): Adjust.
15805 (ASM_OUTPUT_DOUBLE_INT): New.
15806 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
15807 (PREDICATE_CODES): Adjust.
15808 (PROMOTE_MODE): Adjust.
15809 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
15810 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
15811 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
15812 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
15813 (DR0_REG, DR2_REG, DR4_REG): Renumber.
15814 (TR0_REG, TR1_REG, TR2_REG): New.
15815 (XD0_REG): Renumber.
15816 (UNSPEC_COMPACT_ARGS): New.
15817 (type): Added pt and ptabs.
15818 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 15819 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
15820 (pt): New function unit.
15821 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
15822 Add whitespace between operands of SHmedia instructions.
15823 (movdicc): Fix.
15824 (adddi3_media, addsi3_media): Adjust constraints.
15825 (subsi3) [SHmedia]: Force operand 1 into a register.
15826 (udivsi3_i1_media, udivsi3_i4_media): New.
15827 (udivsi3): Support SHmedia.
15828 (divsi3_i1_media, divsi3_i4_media): New.
15829 (divsi3): Support SHmedia.
15830 (anddi3, iordi3, xordi3): Adjust constraints.
15831 (zero_extendhidi2, zero_extendqidi2): New.
15832 (extendsidi2, extendhidi2, extendqidi2): New.
15833 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
15834 (pop_e, pop_fpul, pop_4): Likewise.
15835 (movsi_media): Support FP and BT registers.
15836 (movsi_media_nofpu): New. Adjust splits to DImode.
15837 (lduw, ldub): Renamed to zero_extend* above.
15838 (movqi_media): Fix typo.
15839 (movdi_media): Support FP and BT registers.
15840 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
15841 (movdi_const_32bit): New.
15842 (shori_media): Require immediate operand. Use `u' for output.
15843 (movdf_media, movsf_media): Simplified.
15844 (movdf_media_nofpu, movsf_media_nofpu): New.
15845 (movdf, movsf): Adjust
15846 (movv2sf, movv2sf, movv16sf): New.
15847 (beq_media, beq_media_i): Adjust constraints. Don't use
15848 scratch BT register.
15849 (bne_media, bne_media_i): Likewise.
15850 (bgt_media, bgt_media_i): Likewise.
15851 (bge_media, bge_media_i): Likewise.
15852 (bgtu_media, bgtu_media_i): Likewise.
15853 (bgeu_media, bgeu_media_i): Likewise.
15854 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
15855 bunordered): Emit jump insn. Force operands to registers when
15856 needed.
15857 (jump_media, jump): Simplify.
15858 (call_compact, call_compact_rettramp): New.
15859 (call_value_compact, call_value_compact_rettramp): New.
15860 (call_media, call_value_media): Simplify.
15861 (sibcall_compact, sibcall_media): New.
15862 (call, call_value): Adjust for SHmedia and SHcompact.
15863 (sibcall, sibcall_value, untyped_call): Likewise.
15864 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
15865 (indirect_jump): Adjust for SHmedia.
15866 (casesi_jump_media): New.
15867 (nop): Re-enable for SHmedia.
15868 (call_site): Restrict to SH1.
15869 (casesi): Adjust for SHmedia.
15870 (casesi_shift_media, casesi_load_media): New.
15871 (return): Explicitly use PR register. Call return trampoline
15872 on SHcompact.
15873 (return_i): Explicitly use PR register.
15874 (shcompact_return_tramp, shcompact_return_tramp_i): New.
15875 (return_media): Adjust.
15876 (shcompact_incoming_args): New.
15877 (epilogue): Adjust.
15878 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
15879 (movstrsi): Disable on SH5.
15880 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
15881 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
15882 (subsf3, subsf3_media): Likewise.
15883 (mulsf3, mulsf3_media, mac_media): Likewise.
15884 (divsf3, divsf3_media): Likewise.
15885 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
15886 (floatsisf2, fux_truncsfsi2): Likewise.
15887 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
15888 constraints.
15889 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
15890 (cmpunsf_media, cmpsf): Likewise.
15891 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
15892 (abssf2, abssf2_media): Likewise.
15893 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
15894 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
15895 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
15896 (floatsidf2, fix_truncdfsi2): Likewise.
15897 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
15898 constraints.
15899 (cmpeqdf_media, cmpgtdf_media): Likewise.
15900 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
15901 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
15902 (absdf2, absdf2_media): Likewise.
15903 (extendsfdf2, extendsfdf2_media): Likewise.
15904 (truncsfdf2, truncsfdf2_media): Likewise.
15905 * config/sh/sh64.h: New file.
15906 * config/sh/t-sh64: New file.
15907 * config/sh/shmedia.h: New file.
15908 * config/sh/ushmedia.h: New file.
15909 * config/sh/sshmedia.h: New file.
15910 * configure.in: Added sh64-*-elf.
15911 * configure: Rebuilt.
15912 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
15913 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
15914 (reg_class_from_letter): Use `b' for TARGET_REGS.
15915 (print_operand): Support `%M', `%m', `AND' and
15916 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
15917 (andcosts): Adjust for SHmedia.
15918 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
15919 Likewise.
15920 (target_reg_operand): New function.
15921 * config/sh/sh-protos.h (target_reg_operand): Declare.
15922 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
15923 FP registers on SH5.
15924 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
15925 on SH4.
15926 (TARGET_REGISTER_P): New macro.
15927 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
15928 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
15929 (EXTRA_CONSTRAINT_S): New macro.
15930 (EXTRA_CONSTRAINT): Adjust.
15931 (FLOAT_TYPE_SIZE): Define to 32.
15932 (Pmode): DImode on SHmedia.
15933 (CONST_COSTS): Adjust for SHmedia literals.
15934 (PREDICATE_CODES): Added target_reg_operand.
15935 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
15936 * config/sh/sh.md: Remove all attrs from SHmedia insns.
15937 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
15938 (cmpdi): Accept SHmedia.
15939 (movdicc_false, movdicc_true): New insns.
15940 (movdicc): New expand.
15941 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
15942 no_new_pseudos.
15943 (addsi3_media): Match `S' constraint.
15944 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
15945 (negdi2): Expand for SHmedia.
15946 (one_cmpldi2): New expand.
15947 (zero_extendsidi2): Change from expand to insn.
15948 (extendsidi2): Add constraints.
15949 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
15950 LD/ST address. Fix SI immediate loading split.
15951 (movhi_media, movqi_media, lduw, ldub): New insns.
15952 (movhi, movqi): Accept SHmedia.
15953 (shori_media, movdi_media): Relax input constraints. Split
15954 symbolic constants.
15955 (movdf_media, movsf_media): New insn. New split to movdi.
15956 (movdf, movsf): Match on SHmedia.
15957 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
15958 bgeu_media): New insns and splits. New insns with `_i' suffix.
15959 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
15960 (bunordered): New expand.
15961 (jump_compact): Renamed from `jump'.
15962 (jump_media): New insn.
15963 (jump): New expand.
15964 (call_media, call_value_media): New insns.
15965 (call, call_value): Adjust.
15966 (indirect_jump_compact): Renamed from `indirect_jump'.
15967 (indirect_jump_media): New insn.
15968 (indirect_jump): New expand.
15969 (untyped_call, return): Accept SHmedia.
15970 (return_media): New insn.
15971 (prologue, epilogue, blockage): Accept SHmedia.
15972 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
15973 (sunordered): New expand.
15974 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
15975 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
15976 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
15977 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
15978 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
15979 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
15980 abssf2_media): New insns.
15981 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
15982 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
15983 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
15984 floatdidf2, floatsidf2_media, fix_truncdfdi2,
15985 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
15986 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
15987 absdf2_media): New insns.
15988 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
15989 (extendsfdf2_media, truncdfsf2_media): New insns.
15990 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
15991 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
15992 * config/sh/sh.h (CONST_OK_FOR_J): Document.
15993 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
15994 * config/sh/sh.md (adddi3): New expand.
15995 (adddi3_media, adddi3z_media): New insns.
15996 (adddi3_compact): Renamed from adddi3.
15997 (addsi3_media): Use add.l r63 to add constant zero.
15998 (subdi3): New expand.
15999 (subdi3_media): New insn.
16000 (subdi3_compact): Renamed from subdi3.
16001 (mulsidi3): New expand.
16002 (mulsidi3_media): New insn.
16003 (mulsidi3_compact): Renamed from mulsidi3.
16004 (umulsidi3): New expand.
16005 (umulsidi3_media): New insn.
16006 (umulsidi3_compact): Renamed from umulsidi3.
16007 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
16008 (ashlsi3, ashrsi3, lshrsi3): Use them.
16009 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
16010 (ashldi3, ashrdi3, lshrdi3): Use them.
16011 (zero_extendsidi2): New expand.
16012 (extendsidi2): New insn.
16013 (movsi_media): New insn. Split to movdi to load constants.
16014 (movsi): Enable for shmedia.
16015 (movdi_media): New insn. Use shori_media to load wide constants.
16016 (short_media): New insn.
16017 (movdi): Enable for shmedia.
16018 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
16019 * config/sh/sh.h (CPP_SPEC): Added `m5'.
16020 (SUBTARGET_CPP_SPEC): Added `!m5'.
16021 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
16022 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
16023 to all other SH variants.
16024 (TARGET_DEFAULT): Set to SH1_BIT.
16025 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
16026 (BITS_PER_WORD): Raise to 64 on shmedia.
16027 (MAX_BITS_PER_WORD): Change to 64.
16028 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
16029 (INT_TYPE_SIZE): Keep as 32.
16030 (UNITS_PER_WORD): Raise to 8 on shmedia.
16031 (MIN_UNITS_PER_WORD): Keep as 4.
16032 (POINTER_SIZE): Raise to 64 on shmedia.
16033 (CONST_OK_FOR_J): New macro.
16034 (CONST_OK_FOR_LETTER_P): Use it.
16035 (processor_type): Add PROCESSOR_SH5.
16036 * config/sh/sh.md: Conditionalize all expands, insns and
16037 splits to TARGET_SH1.
16038 (cpu): Added sh5.
16039 (addsi3_compact): Renamed from...
16040 (addsi3): Now an expand.
16041 (addsi3_media, subsi3_media): New insns.
16042 (subsi3): Don't negate constants with SHmedia.
16043
e4ec2cac
AO
16044 * hooks.c: New file.
16045 * hooks.h: New file.
16046 * Makefile.in (HOOKS_H): New.
16047 (TARGET_DEF_H): Added $(HOOKS_H).
16048 (OBJS): Added hooks.o.
16049 (cfgcleanup.o, bb-reorder.o): Added target.h.
16050 (hooks.o): Added dependencies.
16051 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
16052 (TARGET_INITIALIZER): this.
16053 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
16054 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
16055 * bb-reorder.c: Include target.h.
16056 (reorder_basic_blocks): Skip if cannot modify jumps.
16057 * cfgcleanup.c: Include target.h.
16058 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
16059
246a46e0
CD
160602002-02-08 Chris Demetriou <cgd@broadcom.com>
16061
831c4e87
KC
16062 * config/mips/mips.md (casesi_internal, casesi_internal_di):
16063 Protect jump delay slot instructions with .set noreorder and
16064 .set nomacro.
246a46e0
CD
16065
160662002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
16067
16068 * config/mips/mips.md (casesi_internal_di): Calculate
16069 the index into the target offset table correctly.
16070
fdf473ae
RH
160712002-02-08 Richard Henderson <rth@redhat.com>
16072
16073 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
16074 * final.c (output_addr_const): Accept and discard SUBREG.
16075 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
16076 mark them unknown instead.
16077 (simplify_subtraction): Handle RTX_UNKNOWN.
16078 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
16079
c50503ac
DE
160802002-02-08 David Edelsohn <edelsohn@gnu.org>
16081
16082 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
16083
3660d217
RH
160842002-02-08 Richard Henderson <rth@redhat.com>
16085
16086 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
16087
56547299
AJ
160882002-02-08 Andreas Jaeger <aj@suse.de>
16089
16090 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
16091 * config/i386/t-linux64: New file.
16092
1cf537c5
JJ
160932002-02-08 Jakub Jelinek <jakub@redhat.com>
16094
16095 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
16096 * c-parse.in (compstmt): Clear last_expr_type.
16097
5c7f5a5f
RH
160982002-02-07 Richard Henderson <rth@redhat.com>
16099
16100 * loop.c (strength_reduce): Sink final_value when not
16101 eliminating a biv.
16102
b1138bf3
DB
161032002-02-07 David O'Brien <obrien@FreeBSD.org>
16104
16105 * config/sparc/freebsd.h: Fix mismatched spec {.
16106
b6878a45
RH
161072002-02-07 Richard Henderson <rth@redhat.com>
16108
16109 * cfgrtl.c: Include recog.h and insn-config.h.
16110 (keep_with_call_p): Fix general_operand invocation.
16111 * Makefile.in (cfgrtl.o): Update dependencies.
16112
ae19f5ef
KH
161132002-02-07 Kazu Hirata <kazu@hxi.com>
16114
16115 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
16116 comment. Accept HImode only if TARGET_H8300.
16117
b137f9fc
EC
161182002-02-07 Eric Christopher <echristo@redhat.com>
16119
16120 * config/mips/crtn.asm: Cleanup #ifdefs.
16121
161222002-02-07 Eric Christopher <echristo@redhat.com>
16123
16124 * config/mips/crti.asm: Add changes for mips16. mips16 uses
16125 register 7 as RA instead of $31.
16126 * config/mips/crtn.asm: Ditto.
16127 * config/mips/mips.c (mips_move_2words): Add case for
16128 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
16129 (compute_frame_size): Fix typo.
16130 (save_restore_insns): Ditto. Make documentation about using
16131 register $7 as return register more precise.
16132 (mips_expand_epilogue): Fix comment. Add code to work around not
16133 being able to add to the stack pointer directly.
16134 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
16135 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
16136 epilogue.
16137
768070a0
TR
161382002-02-07 Tom Rix <trix@redhat.com>
16139
b137f9fc 16140 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
16141 immediates in ldu and stdu DS opcode field.
16142 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
16143 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
16144 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
16145
225909c3
JS
161462002-02-07 Jeff Sturm <jsturm@one-point.com>
16147
16148 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
16149 offset for stack bias.
16150
15fae023
L
161512002-02-07 H.J. Lu <hjl@gnu.org>
16152
16153 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
16154
fde5badd
UW
161552002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
16156
16157 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
16158
162f023b
JH
16159Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
16160
16161 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
16162 * i386.c (x86_order_regs_for_local_alloc): New global function.
16163 * i386.h (REG_ALLOC_ORDER): CLeanup.
16164 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
16165
9b462c42
RH
161662002-02-07 Richard Henderson <rth@redhat.com>
16167
85aa876c 16168 PR optimization/2463
9b462c42
RH
16169 * alias.c (find_base_value): Recall base values for fixed hard regs.
16170 * loop.c (loop_regs_update): Don't use single_set on non-insns.
16171
06e455a9
AO
161722002-02-07 Alexandre Oliva <aoliva@redhat.com>
16173
16174 * config/mips/mips.md (define_delay) [mips16]: Adjust required
16175 length.
16176
edd1967d
RH
161772002-02-06 Richard Henderson <rth@redhat.com>
16178
16179 PR c/5609
16180 * stmt.c (resolve_operand_name_1): Take more care with mixed
16181 named and unnamed operands.
16182
a2cd028f
JJ
161832002-02-06 Janis Johnson <janis187@us.ibm.com>
16184 Jan Hubicka <jh@suse.cz>
16185
16186 * loop.c (remove_constant_addition): Avoid clobbering a shared
16187 CONST expression.
16188
e8487c04
UW
161892002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
16190
16191 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
16192 * config/s390/t-linux64: New file.
16193 * config/s390/libgcc-glibc.ver: New file.
16194
58d10f89
UW
161952002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
16196
16197 * config/s390/linux64.h: Delete file.
16198 * config/s390/s390x.h: New file.
16199 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
16200 as target header file.
16201 * config/s390/linux.h (TARGET_VERSION): Define depending on
16202 DEFAULT_TARGET_64BIT.
16203 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
16204 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
16205 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
16206 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
16207 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
16208 (EXTRA_SPEC): New define.
16209 * config/s390/s390.h (TARGET_VERSION): Define depending on
16210 DEFAULT_TARGET_64BIT.
16211 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
16212
5ce89b2e
JM
162132002-02-06 Jason Merrill <jason@redhat.com>
16214
16215 * c-decl.c (finish_function): Warn about a non-void function with
16216 no return statement and no abnormal exit.
16217 (current_function_returns_abnormally): New variable.
16218 (start_function): Clear it.
16219 (struct c_language_function): Add returns_abnormally.
16220 (push_c_function_context): Save it.
16221 (pop_c_function_context): Restore it.
16222 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
16223 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
16224 an explicit return type.
16225 * c-tree.h: Declare current_function_returns_abnormally.
16226 (C_FUNCTION_IMPLICIT_INT): New macro.
16227 * c-typeck.c (build_function_call): Set it.
16228 (c_expand_return): Set current_function_returns_value even if the
16229 value is erroneous.
16230
caaf2272
JJ
162312002-02-06 Jakub Jelinek <jakub@redhat.com>
16232
16233 PR c/5420:
16234 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
16235 unsafe for reevaluation.
16236
d5129288
JJ
162372002-02-06 Jakub Jelinek <jakub@redhat.com>
16238
16239 PR c/5482:
16240 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
16241 EXPR_STMT, but COMPOUND_STMT, recurse into it.
16242
7fb75099
RH
162432002-02-06 Richard Henderson <rth@redhat.com>
16244
16245 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
16246 be a general_operand. Dest for function value must be a pseudo.
16247
d3a8b6a6
NC
162482002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
16249
16250 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
16251 as SYMBOL_REFs from the constant pool.
16252
3c1299c5
AO
162532002-02-06 Alexandre Oliva <aoliva@redhat.com>
16254
16255 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
16256 passed by invisible reference.
16257
c2c9f6c9
RH
162582002-02-05 Richard Henderson <rth@redhat.com>
16259
16260 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
16261
a824924d
HPN
162622002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
16263
16264 Implement using "base addresses" in insn operands as default.
16265 * config/mmix/mmix.c (mmix_conditional_register_usage): if
16266 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
16267 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
16268 used to read the rtx value.
16269 (mmix_target_asm_function_epilogue): Fix spacing.
16270 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
16271 (mmix_legitimate_address): Ditto.
16272 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
16273 should be loaded with a GETA insn. Don't allocate needless extra
16274 char for nul termination and fix misleading comment.
16275 (mmix_print_operand_address): Handle constants if
16276 TARGET_BASE_ADDRESSES.
16277 (mmix_output_register_setting): Use base addressing if
16278 TARGET_BASE_ADDRESSES and the number of insns is 3.
16279 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
16280 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
16281 to use R as constraint, add LDA to match s.
16282 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
16283 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
16284 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
16285 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
16286 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
16287 order with other fixed registers.
16288 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
16289 other parameter/call-clobbered registers.
16290 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
16291 -mbase-addresses, -mno-base-addresses.
16292 (MMIX Options): Ditto.
16293
73c342b9
JDA
162942002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
16295
16296 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
16297
ef238c58
AH
162982002-02-06 Aldy Hernandez <aldyh@redhat.com>
16299
831c4e87 16300 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 16301
ad08e60e
JT
163022002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
16303
16304 * config/netbsd.h (WCHAR_TYPE): Define.
16305 (WCHAR_TYPE_SIZE): Ditto.
16306 (WINT_TYPE): Ditto.
16307 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
16308 (WCHAR_UNSIGNED): Ditto.
16309 (WCHAR_TYPE_SIZE): Ditto.
16310 (WINT_TYPE): Ditto.
16311 * config/arm/netbsd.h: Likewise.
16312 * config/i386/netbsd-elf.h: Likewise.
16313 * config/i386/netbsd.h: Likewise.
16314 * config/m68k/netbsd-elf.h: Likewise.
16315 * config/m68k/netbsd.h: Likewise.
16316 * config/ns32k/netbsd.h: Likewise.
16317 * config/sparc/netbsd.h: Likewise.
16318 * config/vax/netbsd.: Likewise.
16319
f913c102
AO
163202002-02-05 Alexandre Oliva <aoliva@redhat.com>
16321
16322 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
16323 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
16324 (TARGET_INITIALIZER): this.
16325 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
16326 (BITFIELD_NBYTES_LIMITED): Markup fix.
16327 * tree.h (default_ms_bitfield_layout_p): Declare.
16328 (record_layout_info): Added prev_field.
16329 * tree.c (default_ms_bitfield_layout_p): New fn.
16330 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
16331 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
16332 * stor-layout.c: Include target.h.
16333 (start_record_layout): Initialize prev_field.
16334 (place_field): Handle MS bit-field layout, and disregard
16335 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
16336 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
16337 * Makefile.in (stor-layout.o): Adjust dependencies.
16338
c13db5d1
JM
163392002-02-05 Jason Merrill <jason@redhat.com>
16340
c13db5d1
JM
16341 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
16342
4505024e
AJ
163432002-02-05 Andreas Jaeger <aj@suse.de>
16344
16345 * crtstuff.c: Fix comments.
16346
794ad79d
RH
163472002-02-05 Richard Henderson <rth@redhat.com>
16348
2e279a9b
RH
16349 PR fortran/3393
16350 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
16351 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
16352
794ad79d
RH
16353 PR fortran/3392
16354 * config/mips/mips.c (function_arg): Handle TImode.
16355 (function_arg_advance): Likewise.
16356
8f909017
AH
163572002-02-05 Aldy Hernandez <aldyh@redhat.com>
16358
c13db5d1
JM
16359 * config/rs6000/altivec.h (vec_step_help): Rename to
16360 __vec_step_help.
8f909017 16361
66daa9e3
AH
163622002-02-05 Aldy Hernandez <aldyh@redhat.com>
16363
c13db5d1 16364 * config/rs6000/altivec.h: Fix typos.
66daa9e3 16365
2696e97b
JT
163662002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
16367
16368 * config/arm/netbsd.h: Correct a comment.
16369
3deb2758
AH
163702002-02-05 Aldy Hernandez <aldyh@redhat.com>
16371
c13db5d1
JM
16372 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
16373 building void typed builtins.
3deb2758 16374
c13db5d1
JM
16375 * config/rs6000/altivec.h (vec_ld*): Fix typos.
16376 (vec_step): Implement for C++.
3deb2758 16377
c13db5d1 16378Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
16379
16380 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
16381
ebbb0a63
RH
163822002-02-04 Richard Henderson <rth@redhat.com>
16383
16384 * combine.c (nonzero_bits): Re-introduce special case for
16385 sp/fp/ap wrt REGNO_POINTER_ALIGN.
16386
ae4b4a02
AH
163872002-02-05 Aldy Hernandez <aldyh@redhat.com>
16388
c13db5d1
JM
16389 * doc/extend.texi: Warn about unsupported usage of altivec
16390 builtins.
ae4b4a02 16391
c13db5d1
JM
16392 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
16393 (altivec_predicate_*): New.
ae4b4a02 16394
c13db5d1
JM
16395 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
16396 Add C++ version of vec_*() functions.
ae4b4a02 16397
c13db5d1
JM
16398 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
16399 (bdesc_2arg): Remove altivec predicates.
16400 (altivec_expand_builtin): Handle predicates.
16401 (altivec_init_builtins): Handle predicates.
16402 (altivec_expand_predicate_builtin): New.
ae4b4a02 16403
f6bcf44c
JDA
164042002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16405
16406 * pa.c (DO_FRAME_NOTES): Move forward.
16407 (store_reg): Revise handling of frame notes.
16408 (load_reg): Likewise.
16409 (set_reg_plus_d): Likewise.
16410 (hppa_expand_prologue): Likewise.
16411 (hppa_expand_epilogue): Likewise.
b137f9fc 16412
703b0080
JDA
164132002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16414
16415 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
16416
6f9fdf4d
JJ
164172002-02-04 Jakub Jelinek <jakub@redhat.com>
16418
16419 PR c/4475, c++/3780:
16420 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
16421 * c-common.h (SWITCH_TYPE): Define.
16422 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
16423 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
16424 Rename spareness variable to sparseness.
16425 (expand_end_case_type): Renamed from expand_end_case, use orig_type
16426 if non-NULL instead of TREE_TYPE (orig_index).
16427 * tree.h (expand_end_case_type): Renamed from expand_end_case.
16428 (expand_end_case): Define using expand_end_case_type.
16429 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
16430 to expand_end_case_type.
16431 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
16432
79109502
JDA
164332002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16434
16435 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
16436 (BIGGEST_ALIGNMENT): Change to 128.
16437
e62a5987
JDA
164382002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16439
16440 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
16441
219f24a4
JDA
164422002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16443
16444 * pa.md (call_internal_reg_64bit): Remove unused variable.
16445
3cb66fd7
NC
164462002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
16447
16448 * config/arm/arm.h (machine_function): Add uses_anonymous_args
16449 field.
831c4e87 16450 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 16451 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
16452 replace uses with cfun->machine->uses_anonymous_args.
16453 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
16454
16455 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
16456 any geenral register.
b137f9fc 16457
5d5603e2 164582001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
16459
16460 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
16461 the entry block.
16462
563c12b0
RH
164632002-02-04 Richard Henderson <rth@redhat.com>
16464
16465 * combine.c (force_to_mode): Remove STACK_BIAS code.
16466 (nonzero_bits): Likewise. Replace sp/fp special case with
16467 REGNO_POINTER_ALIGN.
16468
16469 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
16470 (HARD_FRAME_POINTER_REGNUM): New.
16471 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
16472 (FIXED_REGS, CALL_USED_REGS): Update.
16473 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
16474 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
16475 (HARD_REGNO_NREGS): Update for SFP.
16476 (STACK_POINTER_OFFSET): Include bias here ...
16477 (FIRST_PARM_OFFSET): ... not here.
16478 (STACK_BIAS): Remove.
16479 (INIT_EXPANDERS): New.
16480 (STARTING_FRAME_OFFSET): Do not include bias.
16481 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
16482 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
16483 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
16484 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
16485 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
16486 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
16487 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
16488 (MUST_SAVE_REGISTER): Likewise.
16489 (sparc_flat_function_prologue): Likewise.
16490 (sparc_flat_function_epilogue): Likewise.
16491 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
16492 (sparc_init_modes): SFP is GENERAL_REGS.
16493 (sparc_builtin_saveregs): SFP does not have bias applied.
16494
14691f8d
RH
164952002-02-04 Richard Henderson <rth@redhat.com>
16496
16497 * config/alpha/alpha.c (current_function_is_thunk): Don't check
16498 current_function_is_thunk.
16499 (alpha_sa_mask): Distinguish between current_function_is_thunk
16500 called from ASM_OUTPUT_MI_THUNK and not.
16501 (alpha_does_function_need_gp): Thunks always need gp.
16502 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
16503 (alpha_output_mi_thunk_osf): New.
16504 * config/alpha/alpha-protos.h: Update.
16505 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
16506
af702de8
RS
165072002-02-04 Richard Sandiford <rsandifo@redhat.com>
16508
16509 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
16510 function types, not when they're taken away.
16511
5b1cacd8
JL
16512Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
16513
16514 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
16515 CODE_LABEL and jump table when replacing a table jump with a
16516 simple jump.
16517
f3e9edff
UW
165182002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
16519
16520 * config/s390/s390-protos.h (legitimize_la_operand,
16521 s390_secondary_input_reload_class, s390_plus_operand,
16522 s390_expand_plus_operand): Add prototypes.
16523
16524 config/s390/s390.c (s390_secondary_input_reload_class,
16525 s390_plus_operand, s390_expand_plus_operand): New functions.
16526
16527 (struct s390_address): New member 'pointer'.
16528 (s390_decompose_address): Compute it.
16529 (legitimate_la_operand_p): Use it.
16530 (legitimize_la_operand): New function.
16531 (movti, movdi, movdf splitters): Call it.
16532
16533 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
16534 (PREDICATE_CODES): Add s390_plus_operand.
16535
16536 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
16537 (la_ccclobber): Allow GENERAL_REGS as output operand.
16538
16539 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
16540 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
16541 (*la_64, *la_31, reload_indi, reload_insi): ... these.
16542
3c9a08ec
UW
165432002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
16544
16545 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
16546 register names for regular asm () construct.
16547
ac300a45
JJ
165482002-02-04 Jakub Jelinek <jakub@redhat.com>
16549
16550 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
16551 registers.
16552
fa852403
JJ
165532002-02-04 Jakub Jelinek <jakub@redhat.com>
16554
16555 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
16556 pat for recog.
16557
fecaac37
HP
165582002-02-04 Hartmut Penner <hpenner@de.ibm.com>
16559
831c4e87
KC
16560 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
16561 constant pool to be identical by string address and index.
fecaac37 16562
10c45943
AG
165632002-02-04 Anthony Green <green@redhat.com>
16564
16565 * output.h (SECTION_OVERRIDE): Define.
16566 * varasm.c (named_section): Obey SECTION_OVERRIDE.
16567
69474c3c
JT
165682002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
16569
16570 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
16571 by existing arm*-*-netbsd* (a.out) target.
16572 (ns32k-*-netbsdelf*): Likewise.
16573 (sparc-*-netbsdelf*): Likewise.
16574 (vax-*-netbsdelf*): Likewise.
16575
939a46f6 165762002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
16577
16578 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
16579 headers and libobjc headers.
16580
165812002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
16582
16583 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
16584 (_mingw.h): Remove duplicate include.
16585
2fd95d71
JT
165862002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
16587
16588 * config.gcc: Set cpu_type to m68k for 68010, as well.
16589 (m68010-*-netbsdelf*): New...
16590 (m68k*-*-netbsdelf*): ...targets.
16591 * config/m68k/netbsd-elf.h: New file.
16592
0ea6f6a0
KH
165932002-02-02 Kazu Hirata <kazu@hxi.com>
16594
16595 * config/h8300/h8300.c (hand_list): Move inside function_arg.
16596
cbf1b2da
KH
165972002-02-02 Kazu Hirata <kazu@hxi.com>
16598
16599 * config/h8300/h8300.c (h8_push_ops): Move inside
16600 h8300_init_once.
16601 (h8_pop_ops): Likewise.
16602 (h8_move_ops): Likewise.
16603
0869f126
KH
166042002-02-02 Kazu Hirata <kazu@hxi.com>
16605
16606 * config/h8300/h8300.c (os_task): Make it static.
16607 (monitor): Likewise.
16608 (pragma_saveall): Likewise.
16609
90e65b70
AO
166102002-02-02 Alexandre Oliva <aoliva@redhat.com>
16611
16612 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
16613 constant is a valid sign-extension for Pmode.
16614
9cbcd983
KH
166152002-02-02 Kazu Hirata <kazu@hxi.com>
16616
16617 * config/h8300/h8300.c: Fix formatting.
16618
7a27efc4
KH
166192002-02-02 Kazu Hirata <kazu@hxi.com>
16620
16621 * config/h8300/h8300.md: Fix formatting.
16622
54175a44
KH
166232002-02-02 Kazu Hirata <kazu@hxi.com>
16624
16625 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
16626 predicates of operands[1]. Split the patterns for each
16627 processor variant.
16628
eceb1755
KH
166292002-02-02 Kazu Hirata <kazu@hxi.com>
16630
16631 * config/h8300/h8300.md (xor patterns): Tighten the predicates
16632 of operands[1] to register_operand.
16633
0fef3fd0
NB
166342002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
16635
16636 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
16637 * cpphash.c (_cpp_init_hashtable): Similarly.
16638 * cppinit.c (cpp_create_reader): Default the signed_char flag.
16639 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
16640 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
16641 (cpp_handle_option): Handle the new options.
16642 * cpplex.c (cpp_interpret_charconst): Use new flag.
16643 * cpplib.h (struct cpp_options): New member signed_char.
16644 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
16645 (cpp_options): Handle -fsigned-char and -funsigned-char.
16646 (static_specs): Remove signed_char_spec.
16647 (do_spec1): Don't handle %c.
16648 * system.h: Poison SIGNED_CHAR_SPEC.
16649 * tradcif.y (yylex): Use flag_signed_char.
16650 * tradcpp.h (flag_signed_char): New.
16651 * tradcpp.c (flag_signed_char): New.
16652 (main): Handle new command-line options.
16653 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
16654config:
16655 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
16656 * avr/avr.h: Remove old comments.
16657 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
16658 (CC1_SPEC): Pass -fsigned-char if -mic*.
16659 (SIGNED_CHAR_SPEC): Remove.
16660doc:
16661 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
16662
0617ed52
EC
166632002-02-01 Eric Christopher <echristo@redhat.com>
16664
16665 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
16666 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
16667 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
16668 (ASM_OUTPUT_REG_POP): Ditto.
16669
dfd48d76
NB
166702002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
16671
16672 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
16673 patch.
16674
4a23409e
JJ
166752002-02-02 Jakub Jelinek <jakub@redhat.com>
16676
16677 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
16678
d3c52658
JJ
166792002-02-02 Jakub Jelinek <jakub@redhat.com>
16680
16681 PR c/5304:
16682 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
16683 unconditionally.
16684
02c5a3bd
JJ
166852002-02-01 Janis Johnson <janis187@us.ibm.com>
16686
16687 * cfganal.c: Include tm_p.h.
16688 (keep_with_call_p): Fix the test that determines if a register holds
16689 the return value of a call.
16690
3968de80
DD
166912002-02-01 DJ Delorie <dj@redhat.com>
16692
16693 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
16694 we are given conflicting registers, switch to the other one we
16695 had allocated for us.
16696 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
16697 as TImode so we know when the "other" register is available.
16698
1338ea6c
DB
166992002-02-01 David O'Brien <obrien@FreeBSD.org>
16700
16701 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
16702 sparc/sparc_bi.h.
16703
f015be23
JJ
167042002-02-01 Janis Johnson <janis187@us.ibm.com>
16705
16706 * cfganal.c (keep_with_call_p): New function.
16707 (flow_call_edges_add): Prevent splitting a block between a call and
16708 a single-set instruction that should be kept in the same block.
16709
63708ffc
CR
167102002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
16711
16712 * doc/install.texi (avr): Update outdated URL.
16713
5ee4950e
AH
167142002-01-30 Andrew Haley <aph@cambridge.redhat.com>
16715
831c4e87
KC
16716 * config/stormy16/stormy16.md (pushqi): New.
16717 (popqi): New.
16718 (pushhi): New.
16719 (pophi): New.
16720 (movhi): Remove stack operands.
16721 (movqi): Likewise.
16722 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
16723 nonimmediate_nonstack_operand.
16724 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
16725 New.
16726 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
16727 New.
5ee4950e 16728
b88c0704
JM
167292002-01-31 Jason Merrill <jason@redhat.com>
16730
16731 * Makefile.in (c-parse.c): Handle .output file.
16732 * objc/Make-lang.in (objc-parse.c): Likewise.
16733
ac282977
AO
167342002-02-01 Alexandre Oliva <aoliva@redhat.com>
16735
16736 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
16737 the -me[lb] option is given. Don't output the default flag
16738 twice.
16739
bebc7e8b
ZW
167402002-01-31 Zack Weinberg <zack@codesourcery.com>
16741
16742 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
16743 the primary source file; this has not been done yet.
16744 * c-decl.c (c_expand_body): Reset input_filename from
16745 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
16746
5809eb5f
KH
167472002-01-31 Kazu Hirata <kazu@hxi.com>
16748
16749 * rtlanal.c (subreg_regno_offset): Do not use
16750 SUBREG_REGNO_OFFSET.
16751 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
16752 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
16753
8512bbd7
JM
167542002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
16755
16756 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
16757 version rather than GNATS version in --version output.
16758
74cb3cc8
RS
167592002-01-31 Richard Sandiford <rsandifo@redhat.com>
16760
16761 * ifcvt.c (noce_process_if_block): Make a copy of the destination
16762 when copying back from a temporary.
16763
874b5b14
RH
167642002-01-30 Richard Henderson <rth@redhat.com>
16765
16766 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
16767 and new_dest are the same.
16768
e803a64b
RH
167692002-01-30 Richard Henderson <rth@redhat.com>
16770
89cf7be5 16771 PR opt/5076
e803a64b
RH
16772 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
16773 * rtl.c (note_insn_name): Update.
16774 * emit-rtl.c (remove_unnecessary_notes): Kill it.
16775 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
16776 to perform loop rotation.
16777 (expand_exit_loop_top_cond): New.
16778 * tree.h (expand_exit_loop_top_cond): Declare it.
16779 * c-semantics.c (genrtl_while_stmt): Use it.
16780 (genrtl_for_stmt): Likewise.
16781
0b51254d
AO
167822002-01-30 Alexandre Oliva <aoliva@redhat.com>
16783
16784 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
16785 arguments to 64-bit boundaries on 64-bit ABIs.
16786
71cef493
SE
167872002-01-30 Steve Ellcey <sje@cup.hp.com>
16788
16789 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
16790
6169e5fd
JM
167912002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
16792
16793 * c-decl.c (grokdeclarator): Handle type being a typedef for an
16794 invalid type.
16795
86f808dc
DB
167962002-01-30 David O'Brien <obrien@FreeBSD.org>
16797
16798 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
16799 * config/sparc/sparc_bi.h: Remove file.
16800 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
16801
5748ebeb
RH
168022002-01-30 Richard Henderson <rth@redhat.com>
16803
16804 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
16805
20d32cc2
ZW
168062002-01-30 Zack Weinberg <zack@codesourcery.com>
16807
16808 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
16809
b88c0704 168102002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
16811
16812 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
16813 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
16814 (reg_save): Use DW_CFA_offset_extended_sf instead.
16815
16816 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
16817
37060e78
JJ
168182002-01-29 Jakub Jelinek <jakub@redhat.com>
16819
16820 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
16821 in cselib_lookup.
16822
d18dba68
AH
168232002-01-29 Aldy Hernandez <aldyh@redhat.com>
16824
bebc7e8b
ZW
16825 * rs6000.md ("*call_value_local32"): Remove constraints.
16826 ("*call_value_local64"): Same.
16827 ("*call_value_indirect_nonlocal_aix32"): Same.
16828 ("*call_value_nonlocal_aix32"): Same.
16829 ("*call_value_indirect_nonlocal_aix64"): Same.
16830 ("*call_value_nonlocal_aix64"): Same.
16831 ("*call_value_nonlocal_sysv"): Same.
d18dba68 16832
80a8aac6
RH
168332002-01-29 Richard Henderson <rth@redhat.com>
16834
16835 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
16836
12beba6f
RH
168372002-01-29 Richard Henderson <rth@redhat.com>
16838
16839 * expr.c (force_operand): Ignore flag_pic for detecting pic
16840 address loads.
16841 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
16842 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
16843 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
16844 instead of open-coded loop.
16845 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
16846 be fixed when in use.
16847
2583081e
RH
168482002-01-29 Richard Henderson <rth@redhat.com>
16849
16850 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
16851 * sched-rgn.c (propagate_deps): Update them.
16852 * sched-deps.c (sched_analyze_insn): Update them. Flush the
16853 clobbers list when either gets too long.
16854
3b8d200e
JJ
168552002-01-29 Jakub Jelinek <jakub@redhat.com>
16856
16857 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
16858 and INDEX_REGS the same as GENERAL_REGS.
16859 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
16860
2d3115eb
NB
168612002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
16862
bebc7e8b 16863 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 16864
ecbe845e
UW
168652002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
16866
bebc7e8b 16867 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 16868 movstrsix_31): Remove, replace by ...
bebc7e8b 16869 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
16870 movstrsi_long): ... these. New.
16871 (movstrdi, movstrsi): Adapt.
16872
16873 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 16874 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
16875 Remove unnecessary CC clobber.
16876 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
16877 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
16878
16879 (divmoddi4): Don't partially initialize TImode register.
16880
0b32fca5
GK
168812002-01-29 Geoffrey Keating <geoffk@redhat.com>
16882
16883 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
16884
08ef5437
RH
168852002-01-29 Richard Henderson <rth@redhat.com>
16886
16887 * flow.c (print_rtl_and_abort): Remove.
16888 (print_rtl_and_abort_fcn): Remove.
16889 (verify_local_live_at_start): Use dump_bb instead.
16890 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
16891 (verify_wide_reg_1): Return 2 on mode test failure.
16892
8469e54e
NB
168932002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
16894
16895 PR c/3325, c/3326, c/2511, c/3347
16896 * c-decl.c (enum_decl_context): Remove BITFIELD.
16897 (grokdeclarator): Take bitfield width as an input.
16898 Ensure bitfields are given the correct type. Perform
16899 bitfield width validation with build_bitfield_integer_type
16900 rather than waiting for finish_struct.
16901 (grok_typename, grok_typename_in_parm_context, start_decl,
16902 push_parmdecl, grokfield, start_function): Update calls to
16903 grokdeclarator.
16904 (build_bitfield_integer_type): New function.
16905 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 16906 and build_bitfield_integer_type.
8469e54e
NB
16907 * tree.c (build_nonstandard_integer_type): New function.
16908 * tree.h (build_nonstandard_integer_type): New prototype.
16909objc:
16910 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
16911
ffdeea47
JJ
169122002-01-29 Jakub Jelinek <jakub@redhat.com>
16913
16914 PR other/1502:
16915 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
16916 don't ignore unrecognized -W* options.
16917 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
16918 * cpplib.h (cpp_handle_option): Adjust prototype.
16919 * c-decl.c (c_decode_options): Pass 0 as last argument to
16920 cpp_handle_option.
16921
16922 PR c/2896:
16923 * gcc.c (cpp_unique_options): Split from cpp_options.
16924 (cpp_options): Source cpp_unique_options.
16925 (default_compilers): Use cpp_unique_options instead of cpp_options
16926 when used together with cc1_options.
16927 (static_specs): Add cpp_unique_options.
16928 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
16929 when used together with cc1_options.
16930
1a275226
KH
169312002-01-29 Kazu Hirata <kazu@hxi.com>
16932
16933 * config/h8300/h8300-protos.h: Update the prototype of
16934 output_a_shift.
16935 * config/h8300/h8300.c (output_a_shift): Remove an unused
16936 argument 'insn'. Remove redundant code.
16937 * config/h8300/h8300.md: Adust to the new prototype of
16938 output_a_shift.
16939
a11d9dfc
KH
169402002-01-29 Kazu Hirata <kazu@hxi.com>
16941
16942 * config/h8300/h8300-protos.h: Update the prototypes of
16943 emit_a_rotate and expand_a_rotate.
16944 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
16945 first argument to 'enum rtx_code'.
16946 (expand_a_rotate): Likewise.
16947
871f73e3
KH
169482002-01-28 Kazu Hirata <kazu@hxi.com>
16949
16950 * config/h8300/h8300-protos.h: Update the prototype of
16951 output_simode_bld.
16952 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
16953 'log2'.
16954 * config/h8300/h8300.md: Adjust to the new prototype.
16955
5fc4b751
KH
169562002-01-28 Kazu Hirata <kazu@hxi.com>
16957
16958 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
16959 redundant code.
16960
2d67bd7b
JDA
169612002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
16962
16963 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
16964 is a fixed register before returning pic_offset_table_rtx.
16965 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
16966 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
16967
5a852b3e
JM
169682002-01-28 Jason Merrill <jason@redhat.com>
16969
6bb28965 16970 * dwarf2.h: Sync with src version.
5a852b3e 16971
3bca17dd
PK
169722002-01-28 Paul Koning <pkoning@equallogic.com>
16973
16974 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
16975 BT_FN_VOID_PTR_VAR.
16976 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
16977 * doc/extend.texi (__builtin_prefetch): Update documentation:
16978 first argument is now const void ptr.
16979
7dc3f8c0
KH
169802002-01-28 Kazu Hirata <kazu@hxi.com>
16981
16982 * config/h8300/h8300-protos.h: Remove an unused prototype.
16983
e83cb5f0
RZ
169842002-01-28 Roman Zippel <zippel@linux-m68k.org>
16985
16986 * toplev.c (lang_independent_init): Round up identifier size.
16987
5721cd84
RE
169882002-01-28 Richard Earnshaw <rearnsha@arm.com>
16989
16990 * config.gcc: Revert previous change.
16991
d534119e
AP
169922002-01-28 Andris Pavenis <pavenis@latnet.lv>
16993
16994 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
16995
5a721dab
RE
169962002-01-28 Richard Earnshaw <rearnsha@arm.com>
16997
16998 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
16999 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
17000 other non-elf netbsd config frags.
17001 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
17002 collect2 will does that.
17003 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
17004 shared-lib frobbing will work.
17005
da1775d6
KH
170062002-01-28 Kazu Hirata <kazu@hxi.com>
17007
17008 * config/h8300/h8300.h: Fix formatting.
17009 * config/h8300/h8300.md: Likewise.
17010
8f2e963b
LR
170112002-01-28 Loren J. Rittle <ljrittle@acm.org>
17012
17013 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
17014 the old, removed AAA_standards fix.
17015 * fixinc/fixincl.x: Rebuilt.
17016
fdae5767
HPN
170172002-01-28 Hans-Peter Nilsson <hp@axis.com>
17018
17019 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
17020 atexit call in crtbegin, hooked in after call to frame_dummy;
17021 register EH before registering __fini__start.
17022
2a2ecb63
AH
170232002-01-28 Aldy Hernandez <aldyh@redhat.com>
17024
17025 * config/rs6000/altivec.h: Remove spurious semicolons.
17026
8ed43adf
KH
170272002-01-27 Kazu Hirata <kazu@hxi.com>
17028
17029 * config/h8300/h8300.md: Replace dead bit extraction patterns
17030 with ones that work.
17031
917afb0c
RK
17032Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17033
17034 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
17035 if not STRICT_ALIGNMENT.
17036 * rtl.h (MEM_ALIGN): Likewise.
17037
f70a54cb
CR
170382002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
17039
17040 * doc/invoke.texi (-fdump-translation-unit): Revert this
17041 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
17042
d8fd4914
KH
170432002-01-27 Kazu Hirata <kazu@hxi.com>
17044
17045 * config/h8300/h8300.md (define_constants): New.
17046 (anonymous patterns) Use defined constants appropriately.
17047
15e0e275
KH
170482002-01-27 Kazu Hirata <kazu@hxi.com>
17049
17050 * config/h8300/h8300.c (function_arg): Remove redundant code.
17051
37a0f8a5
RH
170522002-01-26 Richard Henderson <rth@redhat.com>
17053
17054 * sched-deps.c (reg_pending_uses_head): New.
17055 (reg_pending_barrier): Rename from reg_pending_sets_all.
17056 (find_insn_list): Don't mark inline.
17057 (find_insn_mem_list): Remove.
17058 (add_dependence_list, add_dependence_list_and_free): New.
17059 (flush_pending_lists): Replace only_write param with separate
17060 for_read and for_write parameters. Update all callers. Use
17061 add_dependence_list_and_free.
17062 (sched_analyze_1): Do not add reg dependencies here; just set
17063 the pending bits. Use add_dependence_list.
17064 (sched_analyze_2): Likewise.
17065 (sched_analyze_insn): Replace schedule_barrier_found with
17066 reg_pending_barrier. Add all dependencies for pending reg
17067 uses, sets, and clobbers.
17068 (sched_analyze): Don't add reg dependencies for calls, just
17069 set pending bits. Use regs_invalidated_by_call. Treat
17070 sched_before_next_call as a normal list, not a fake insn.
17071 (init_deps): No funny init for sched_before_next_call.
17072 (free_deps): Free pending mems lists. Don't zero reg_last.
17073 (init_deps_global): Init reg_pending_uses.
17074 (finish_deps_global): Free it.
17075 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
17076 (find_insn_mem_list): Remove.
17077 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
17078 (propagate_deps): Use them. Zero temp mem lists.
17079
cea3bd3e
RH
170802002-01-26 Richard Henderson <rth@redhat.com>
17081
17082 * Makefile.in (CRTSTUFF_CFLAGS): New.
17083 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
17084 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
17085 crtstuff.c instead of alpha assembly version.
17086 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
17087 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
17088 not FORCE_{INIT,FINI}_SECTION_ALIGN.
17089 (__do_global_dtors_aux): Mark used.
17090 (frame_dummy, __do_global_ctors_aux): Mark used.
17091 (fini_dummy, init_dummy): Remove.
17092
17093 * config/alpha/crtbegin.asm: Remove file.
17094 * config/alpha/crtend.asm: Remove file.
17095 * config/alpha/t-crtbe: Remove file.
17096 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
17097 (LINK_EH_SPEC): New.
17098
17099 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
17100 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
17101 calling constructors.
17102 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
17103
17104 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
17105 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
17106 CRT_END_INIT_DUMMY hack.
17107 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
17108 FORCE_{INIT,FINI}_SECTION_ALIGN.
17109
17110 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
17111 FORCE_{INIT,FINI}_SECTION_ALIGN.
17112
17113 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
17114 invocation sequence.
17115 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
17116
17117 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
17118 (FORCE_CODE_SECTION_ALIGN): New.
17119
60ffa0e5
RH
171202002-01-26 Richard Henderson <rth@redhat.com>
17121
17122 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
17123
61334ebe
RH
171242002-01-26 Richard Henderson <rth@redhat.com>
17125
17126 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
17127 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
17128
1d788fb6
KH
171292002-01-26 Kazu Hirata <kazu@hxi.com>
17130
17131 * config/h8300/h8300.md: Remove bit extraction patterns that
17132 cannot be triggered.
17133 Restrict each bit extraction pattern to a variant on which the
17134 pattern is tested.
17135
87611f88
JM
171362002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
17137
17138 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
17139
cd74ec59
KH
171402002-01-26 Kazu Hirata <kazu@hxi.com>
17141
17142 * config/h8300/h8300.md: Remove bit test patterns that cannot
17143 be triggered.
17144 Restrict each bit test pattern to a variant on which the
17145 pattern is tested.
17146
93051e0f
KG
171472002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17148
17149 * builtins.c (expand_builtin_strncat): Remove redundant check for
17150 INTEGER_CST.
17151
216c995f
DB
171522002-01-25 David O'Brien <obrien@FreeBSD.org>
17153
17154 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
17155 default setting.
17156 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
17157 existing setting.
17158
33c7f925
GK
171592002-01-25 Geoffrey Keating <geoffk@redhat.com>
17160
17161 * dbxout.c (dbxout_init): Use assemble_name rather than just
17162 stripping off the first character.
17163 (dbxout_source_file): Likewise.
17164
6cd444b4
DD
171652002-01-25 DJ Delorie <dj@redhat.com>
17166
17167 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
17168 using rtx_equal_p, not by comparing pointers.
17169
751551d5
SE
171702002-01-25 Steve Ellcey <sje@cup.hp.com>
17171
17172 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
17173 for PIC_OFFSET_TABLE_REGNUM.
17174 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
17175
e564e618
DB
171762002-01-25 David O'Brien <obrien@FreeBSD.org>
17177
17178 * config.gcc (x86_64-*-freebsd*): New target.
17179 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
17180 value.
17181 (i[34567]86-*-freebsd*): Don't include svr4.h.
17182 * config/i386/freebsd64.h: New file.
17183
ff3aaf17
DR
171842002-01-25 Douglas B Rupp <rupp@gnat.com>
17185
4857d29d
DR
17186 * config/alpha/x-vms (version): Make static.
17187
17188 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
17189 in previous checkin.
17190
ff3aaf17
DR
17191 * Makefile.in (install-headers-cp): New target.
17192 * config.gcc (alpha-dec-*vms*): Install headers with
17193 install-headers-cp
17194
48d79c43
JH
17195Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
17196
17197 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
17198 avoid it's copies.
17199
995b5904
RK
17200Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17201
17202 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
17203 of compare_tree_int.
17204 (expand_builtin_strncat): Likewise.
17205 * c-decl.c (finish_struct): Use tree_low_cst.
17206 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
17207 * tree.c (compare_tree_int): Likewise.
17208
75eefe3f
UW
172092002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
17210
17211 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
17212 adjustments even if they are implemented by more than two insns.
17213
5a133afd
JH
17214Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
17215
995b5904 17216 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
17217 * df.h (struct ref): Kill B.
17218 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
17219
17220 * basic-block.h (PROP_EQUAL_NOTES): New flag.
17221 * flow.c (propagate_one_insn): Use it.
17222 (mark_used_regs): Handle NIL.
17223
ead39bdf 172242002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
17225
17226 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
17227 to help folding.
17228
01a2ccd0
DE
172292002-01-25 David Edelsohn <edelsohn@gnu.org>
17230
17231 * rs6000.md (prefetch): Make address V4SI mode so that the address
17232 is restricted to legitimate form for instruction.
17233
fd29f6ea
BW
172342002-01-25 Bob Wilson <bob.wilson@acm.org>
17235
17236 * doc/install.texi (xtensa-*-elf): New target.
17237 (xtensa-*-linux*): New target.
17238 * doc/contrib.texi: Add myself.
17239
55492b32
NC
172402002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
17241
17242 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
17243 purpose register to hold an SImode (or smaller) value.
17244
72c7c913
JJ
172452002-01-25 Jakub Jelinek <jakub@redhat.com>
17246
17247 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
17248 registry only.
17249 * crtstuff.c: Likewise.
17250
c4df4ceb
KH
172512002-01-25 Kazu Hirata <kazu@hxi.com>
17252
17253 * config/h8300/h8300.md (negation patterns): Tighten
17254 predicates to register_operand.
17255
70e531f5
AH
172562002-01-24 Aldy Hernandez <aldyh@redhat.com>
17257
3bca17dd
PK
17258 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
17259 mode, not Pmode.
70e531f5 17260
3bca17dd 17261 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 17262
a4f76ef9
AO
172632002-01-24 Alexandre Oliva <aoliva@redhat.com>
17264
17265 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
17266 modes.
17267
9bf25b09
KH
172682002-01-24 Kazu Hirata <kazu@hxi.com>
17269
17270 * config/h8300/h8300.c (print_operand): Remove support for
17271 operand character 'A'.
17272 * config/h8300/h8300.md (three anonymous patterns): Replace
17273 operand character 'A' with either 'T' or 'S'.
17274
974af6a5
KH
172752002-01-24 Kazu Hirata <kazu@hxi.com>
17276
17277 * config/h8300/h8300.c (print_operand): Remove support for
17278 operand character 'U'.
17279
7a5bb7b8
AP
172802002-01-24 Andris Pavenis <pavenis@latnet.lv>
17281
3bca17dd 17282 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 17283
92a4639e
NC
172842002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
17285
17286 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
17287 values to be assigned to the stack pointer.
17288
467cb2da
HP
172892002-01-14 Hartmut Penner <hpenner@de.ibm.com>
17290
bebc7e8b 17291 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
17292 to const_double needs to be done right for big-endian systems.
17293
3b6cb920
JM
172942002-01-24 Jason Merrill <jason@redhat.com>
17295
b08dd119 17296 PR c++/2432
3b6cb920
JM
17297 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
17298 to can_throw_internal.
17299
f3077311
RH
173002002-01-23 Richard Henderson <rth@redhat.com>
17301
17302 * fold-const.c (fold): Change UINT_MAX test to check vs precision
17303 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
17304
e1d71275
AO
173052002-01-24 Alexandre Oliva <aoliva@redhat.com>
17306
17307 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
17308 (symGOT2reg): Use them, then set as GOT value as unchanging.
17309 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
17310 as a temporary, if possible.
17311 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
17312 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
17313
dc271dbe
KH
173142002-01-23 Kazu Hirata <kazu@hxi.com>
17315
17316 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
17317 accept to accept 0x80 as operands[2].
17318
1a9017f9
AO
173192002-01-24 Alexandre Oliva <aoliva@redhat.com>
17320
17321 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
17322
6932f033
RH
173232002-01-23 Richard Henderson <rth@redhat.com>
17324
17325 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
17326
709619d9
AH
173272002-01-23 Aldy Hernandez <aldyh@redhat.com>
17328
3bca17dd
PK
17329 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
17330 (parmlist_or_identifiers_1): Verify that only a parmlist follows
17331 an attribute.
709619d9 17332
3d709fd3
RH
173332002-01-23 Richard Henderson <rth@redhat.com>
17334
17335 * expr.c (move_by_pieces_1): Extend size before negation.
17336
88a446c0
RH
17337 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
17338 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
17339 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
17340 * config/m68k/t-m68kelf: Likewise.
17341
03984308
BW
173422002-01-23 Bob Wilson <bob.wilson@acm.org>
17343
17344 * config/xtensa/elf.h: New file.
17345 * config/xtensa/lib1funcs.asm: New file.
17346 * config/xtensa/lib2funcs.S: New file.
17347 * config/xtensa/linux.h: New file.
17348 * config/xtensa/t-xtensa: New file.
17349 * config/xtensa/xtensa-config.h: New file.
17350 * config/xtensa/xtensa-protos.h: New file.
17351 * config/xtensa/xtensa.c: New file.
17352 * config/xtensa/xtensa.h: New file.
17353 * config/xtensa/xtensa.md: New file.
17354 * config.gcc (xtensa-*-elf*): New target.
17355 (xtensa-*-linux*): New target.
17356 * cse.c (canon_hash): Compare rtx pointers instead of register
17357 numbers. This is required for the Xtensa port.
17358 * integrate.c (copy_insn_list): Handle case where the static
17359 chain is in memory and the memory address has to be copied to
17360 a register.
17361 * doc/invoke.texi (Option Summary): Add Xtensa options.
17362 (Xtensa Options): New node.
17363 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
17364
c3d5c3fa
ZW
173652002-01-23 Zack Weinberg <zack@codesourcery.com>
17366
a63bea75
ZW
17367 * diagnostic.c (internal_error): Do ICE suppression only
17368 when ENABLE_CHECKING is not defined.
17369
c3d5c3fa
ZW
17370 * c-typeck.c (require_complete_type): Return error_mark_node
17371 if type is error_mark_node.
17372
1398974c
JJ
173732002-01-23 Janis Johnson <janis187@us.ibm.com>
17374
17375 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
17376 -Os and issue a warning.
17377
807633e5
ZW
173782002-01-23 Zack Weinberg <zack@codesourcery.com>
17379
17380 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
17381 current (lack of) need for host configuration by hand.
17382
17383 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
17384 references. Documentation of some target macros moved from
17385 hostconfig.texi to tm.texi.
17386
cf8002d0
WC
173872002-01-23 Will Cohen <wcohen@redhat.com>
17388
17389 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
17390 defined.
17391
d1e76310
KH
173922002-01-23 Kazu Hirata <kazu@hxi.com>
17393
17394 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
17395 operand[3].
17396
b2115575
JM
173972002-01-23 Jason Merrill <jason@redhat.com>
17398
f893c16e
JM
17399 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
17400
b2115575
JM
17401 * function.c (assign_parms): Don't put args of inline functions
17402 into registers when not optimizing.
17403
6bacc7b0
NC
174042002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
17405
17406 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
17407 (prologue_use): New pattern.
17408 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
17409 preference to gen_rtx_USE.
17410 (thumb_expand_prologue): Use gen_prologue_use in preference to
17411 gen_rtx_USE.
17412 (thumb_expand_epilogue): Use gen_prologue_use in preference to
17413 gen_rtx_USE.
17414
a415f7bc
HPN
174152002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
17416
17417 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
17418
5372b3fb
NB
174192002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
17420
17421 PR c/3504
17422 * doc/extend.texi: Correct documentation of __alignof__.
17423
bd571ffc
ZW
174242002-01-22 Zack Weinberg <zack@codesourcery.com>
17425
17426 * params.h: Rename arguments of DEFPARAM so that it will be
17427 recognized as a translation keyword.
17428
333c8841
AH
174292002-01-22 Aldy Hernandez <aldyh@redhat.com>
17430
bd571ffc
ZW
17431 * extend.texi: Document altivec functions.
17432 Fix N-bit adjectives in X86 builtin documentation.
333c8841 17433
38979c65
AO
174342002-01-22 Alexandre Oliva <aoliva@redhat.com>
17435
17436 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
17437 auto_inc_dec values.
17438
7458a9f0
RE
174392002-01-22 Richard Earnshaw <rearnsha@arm.com>
17440
17441 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
17442 after backslash.
17443 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
17444
129bd0c4
AO
174452002-01-22 Alexandre Oliva <aoliva@redhat.com>
17446
17447 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
17448
8b9b74a9
RH
174492002-01-22 Richard Henderson <rth@redhat.com>
17450
17451 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
17452 copy_insn not copy_rtx.
17453
d0c9db30
AM
174542002-01-23 Alan Modra <amodra@bigpond.net.au>
17455
17456 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
17457 "nonzero" as that might add "1" bits. Ensure "constop" is
17458 properly sign extened.
17459 (force_to_mode): Tweak for sign extended constop.
17460
1e7e480e
RH
174612002-01-22 Richard Henderson <rth@redhat.com>
17462
17463 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
17464 for_each_rtx instead of assuming we're already looking at the MEM.
17465 (split_small_symbolic_mem_operand): Likewise.
17466 * config/alpha/alpha.h (PREDICATE_CODES): Update.
17467 * config/alpha/alpha.md (small symbolic memory splitters): Update.
17468
174692002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
17470
17471 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
17472 sequence number for the literal.
17473 (divmoddi_internal_er): Likewise.
17474
b7f2fb96
CR
174752002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
17476
17477 PR java/4972
17478 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
17479 in LIBICONV variable.
17480 * configure: Regenerated.
17481
f66a0046
KW
174822002-01-22 Krister Walfridsson <cato@df.lth.se>
17483
17484 * dependence.c (build_def_use): Remove array_idx.
17485
e3b0efd1
KW
17486 * dwarfout.c (last_filename): Remove.
17487 (output_compile_unit_die): Remove last_filename.
17488
d8086cbb
RS
174892002-01-22 Roger Sayle <roger@eyesopen.com>
17490 Richard Henderson <rth@redhat.com>
17491
17492 PR opt/3640
17493 * fold-const.c (fold): Optimize unsigned comparisons against
17494 UINT_MAX (and similar unsigned constants).
17495
e8d52ba0
JJ
174962002-01-22 Janis Johnson <janis187@us.ibm.com>
17497
d8086cbb 17498 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 17499 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 17500 against the predicate.
11303d15 17501
e8d52ba0
JJ
17502 PR target/5379
17503 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
17504 for the address operand.
17505
cc7b420e
RH
175062002-01-22 Richard Henderson <rth@redhat.com>
17507
17508 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
17509
816e265a
CR
175102002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
17511
17512 PR other/5450
cc7b420e
RH
17513 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
17514 preprocessor flags.
816e265a 17515
7c884404
JT
175162002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
17517
17518 * config.gcc (x86_64-*-netbsd*): New target.
17519 * config/i386/netbsd64.h: New file.
17520
2b672c08
AH
175212002-01-22 Aldy Hernandez <aldyh@redhat.com>
17522
d8086cbb 17523 * regrename.c (kill_value): Fix typo.
2b672c08
AH
17524
175252002-01-22 Aldy Hernandez <aldyh@redhat.com>
17526
d8086cbb 17527 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 17528
d8086cbb 17529 * config/rs6000/rs6000.h: Same.
2b672c08 17530
d8086cbb
RS
17531 * function.c (instantiate_virtual_regs): Remove
17532 STARTING_FRAME_PHASE.
17533 (assign_stack_local_1): Same.
17534 Calculate frame phase.
2b672c08 17535
4b02997f
NC
175362002-01-22 Nick Clifton <nickc@redhat.com>
17537
17538 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
17539 variable declaration to outer scope in order to simplify
17540 future extensions.
17541 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
17542 arm_hard_regno_mode_ok.
17543 * config/arm/arm-protos.h: Add a prototype for
17544 arm_hard_regno_mode_ok.
17545 * config/arm/arm.c (soft_df_operand): Remove now redundant
17546 check for DImode values using IP_REGNUM.
17547 (nonimmediate_soft_df_operand): Remove now redundant check for
17548 DImode values using IP_REGNUM.
17549 (arm_hard_regno_mode_ok): New function. New check: make sure
17550 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
17551
17552 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
17553 note with a USE.
17554 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
17555
8a827ab2
JM
175562002-01-22 Jason Merrill <jason@redhat.com>
17557
17558 * c-semantics.c (genrtl_compound_stmt): Only check nesting
17559 consistency if this COMPOUND_STMT is scoped.
17560
cf403648
KH
175612002-01-22 Kazu Hirata <kazu@hxi.com>
17562
17563 * predict.c: Fix formatting.
17564 * print-tree.c: Likewise.
17565 * protoize.c: Likewise.
17566 * real.h: Likewise.
17567 * rtl.h: Likewise.
17568 * sbitmap.h: Likewise.
17569 * scan.c: Likewise.
17570 * sched-deps.c: Likewise.
17571 * sched-vis.c: Likewise.
17572 * sdbout.c: Likewise.
17573 * sibcall.c: Likewise.
17574 * ssa.c: Likewise.
17575 * ssa-ccp.c: Likewise.
17576 * ssa-dce.c: Likewise.
17577 * stmt.c: Likewise.
17578 * stor-layout.c: Likewise.
17579 * system.h: Likewise.
17580
aea9695c
RK
17581Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17582
a8765ae7
RK
17583 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
17584 if fits in bounds of base type.
17585
aea9695c
RK
17586 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
17587 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
17588 (add_bound_info, default): If can't find a context, make a
17589 SAVE_EXPR.
17590 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
17591
58bf601b
HPN
175922002-01-22 Hans-Peter Nilsson <hp@axis.com>
17593
17594 * c-typeck.c (parser_build_binary_op): If result from
17595 build_binary_op is ERROR_MARK just return error_mark_node without
17596 further processing.
17597
f982f805
JT
175982002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
17599
17600 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
17601 Split a.out-specific bits into...
17602 * config/netbsd-aout.h: ...this.
17603 * config/netbsd-elf.h: New file.
17604 * config/alpha/netbsd-elf.h: Remove.
17605 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
17606 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 17607 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
17608 (ENDFILE_SPEC): Likewise.
17609 (LINK_SPEC): Likewise.
17610 (CPP_SPEC): Likewise.
17611 (ASM_SPEC): Likewise.
17612 (LIB_SPEC): Likewise.
17613 (SWITCH_TAKES_ARG): Likewise.
17614 (TARGET_MEM_FUNCTIONS): Likewise.
17615 (CPP_PREDEFINES): Redefine.
17616 (ASM_FINAL_SPEC): Remove redefinition.
17617 (ASM_COMMENT_START): Redefine.
17618 (FUNCTION_PROFILER): Define.
17619 (TARGET_VERSION): Redefine.
17620 Comment and formatting cleanup.
17621 * config/i386/netbsd.h: Include <netbsd-aout.h>.
17622 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
17623 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
17624 big- or little-endian.
17625 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
17626 * config.gcc (*-*-netbsd*): Add definitions common to all
17627 NetBSD configs.
17628 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
17629 gnu_ld definitions. Add netbsd-elf.h to and remove
17630 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
17631 tmake_file, and don't lose previous tmake_file contents.
17632 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
17633 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
17634 gnu_ld definitions. Add netbsd-elf.h to tm_file.
17635 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
17636 (mipsel-*-netbsd*): Rename this to...
17637 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
17638 mips/little.h to tm_file for mips*el-*.
17639 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
17640 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
17641 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
17642
2e396476
JDA
176432002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
17644
17645 * pa-protos.h (reg_before_reload_operand): New function prototype.
17646 * pa.c (reg_before_reload_operand): New function implementation.
17647 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
17648 contraints to "*m".
17649
3b5708e7
FS
176502002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
17651
17652 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
17653
85e79f96
JDA
176542002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
17655
17656 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
17657 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
17658 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
17659 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
17660 (ENDFILE_SPEC): Undefine.
17661 (STARTFILE_SPEC): Redefine for PA.
17662
38abadee
FS
176632002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
17664
17665 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
17666
94f1d97c
DJ
176672002-01-21 Daniel Jacobowitz <drow@mvista.com>
17668
17669 * config.gcc: Add entries to supported PowerPC --with-cpu
17670 types.
17671
0333394e
JJ
176722002-01-21 Jakub Jelinek <jakub@redhat.com>
17673
17674 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
17675 true for 64-bit mode only SSE registers in 32-bit mode.
17676
e9d1b155
KH
176772002-01-21 Kazu Hirata <kazu@hxi.com>
17678
17679 * unwind-dw2.c: Fix formatting.
17680 * unwind-dw2-fde.c: Likewise.
17681 * unwind-dw2-fde.h: Likewise.
17682 * unwind-pe.h: Likewise.
17683 * varasm.c: Likewise.
17684 * varray.h: Likewise.
17685
07338cf8
HPN
176862002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
17687
17688 Remove workaround for register stack overwrite bug in mmix.
17689 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
17690 support for TARGET_REG_STACK_FILL_BUG.
17691 * config/mmix/mmix.h: Remove member has_call_without_parameters.
17692 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
17693 Delete.
17694 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
17695 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
17696 -mno-reg-stack-fill-bug-workaround.
17697 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
17698 machine member has_call_without_parameters.
17699 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
17700 -mreg-stack-fill-bug-workaround and
17701 -mno-reg-stack-fill-bug-workaround.
17702 (MMIX Options): Ditto.
17703
7192cbf1
KH
177042002-01-21 Kazu Hirata <kazu@hxi.com>
17705
17706 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
17707 as appropriate.
17708 Remove redundant code.
17709
d1552d7b
JM
177102002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
17711
17712 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
17713 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
17714 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
17715 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
17716 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
17717 out target macro definitions and non-target-specific comments
17718 mostly taken from old versions of the manual.
17719
ed168e45
KH
177202002-01-20 Kazu Hirata <kazu@hxi.com>
17721
17722 * config/h8300/h8300.h: Fix comment formatting.
17723 * config/ia64/aix.h: Likewise.
17724 * config/ia64/ia64-protos.h: Likewise.
17725 * config/ia64/ia64.c: Likewise.
17726 * config/ia64/ia64.h: Likewise.
17727 * config/ia64/ia64intrin.h: Likewise.
17728 * config/ia64/linux.h: Likewise.
17729 * config/ia64/unwind-aix.c: Likewise.
17730 * config/ia64/unwind-ia64.c: Likewise.
17731
005e3e05
KH
177322002-01-20 Kazu Hirata <kazu@hxi.com>
17733
17734 * config/h8300/h8300.c: Revise comments about shift code.
17735
64bead4c
KH
177362002-01-20 Kazu Hirata <kazu@hxi.com>
17737
17738 * config/h8300/h8300.c (function_arg): Update a comment.
17739
ed863595
KH
177402002-01-20 Kazu Hirata <kazu@hxi.com>
17741
17742 * config/h8300/h8300.md: Update the comments at the beginning
17743 of the file.
17744
5904dc87
KH
177452002-01-20 Kazu Hirata <kazu@hxi.com>
17746
17747 * config/i370/i370.c: Fix comment formatting.
17748 * config/i370/i370.h: Likewise.
17749 * config/i370/i370.md: Likewise.
17750 * config/i370/linux.h: Likewise.
17751
9702143f
RK
17752Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17753
cbafacd1
RK
17754 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
17755
9702143f
RK
17756 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
17757 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
17758 in incomplete case.
17759
6b6996b8
GS
177602002-01-20 Graham Stott <grahams@redhat.com>
17761
17762 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
17763
eab854f6
JDA
177642002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
17765
17766 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
17767
5b029315
TR
177682002-01-19 Tom Rix <trix@redhat.com>
17769
17770 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
17771
1d690052
AH
177722002-01-18 Aldy Hernandez <aldyh@redhat.com>
17773
d8086cbb 17774 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 17775
d8086cbb
RS
17776 * function.c (assign_stack_local_1): Adjust x_frame_offset with
17777 STARTING_FRAME_PHASE.
17778 (STARTING_FRAME_PHASE): New.
17779 (instantiate_virtual_regs): Check saneness of
17780 STARTING_FRAME_PHASE.
1d690052 17781
d8086cbb 17782 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 17783
4dd8c093
AO
177842002-01-19 Alexandre Oliva <aoliva@redhat.com>
17785
17786 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
17787
6f2a28d7
CR
177882002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
17789
17790 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
17791 be used for bootstrapping GCC 3.0.
17792
8763a465
KH
177932002-01-18 Kazu Hirata <kazu@hxi.com>
17794
17795 * config/h8300/h8300.md: Fix an insn length.
17796
3ef42a0c
KH
177972002-01-18 Kazu Hirata <kazu@hxi.com>
17798
17799 * bitmap.h: Fix comment formatting.
17800 * combine.c: Likewise.
17801 * cppfiles.c: Likewise.
17802 * c-pragma.h: Likewise.
17803 * c-typeck.c: Likewise.
17804 * df.c: Likewise.
17805 * dwarf2out.c: Likewise.
17806 * function.c: Likewise.
17807 * gcc.c: Likewise.
17808 * genattrtab.c: Likewise.
17809 * gthr-win32.h: Likewise.
17810 * haifa-sched.c: Likewise.
17811 * predict.c: Likewise.
17812 * rtlanal.c: Likewise.
17813 * rtl.h: Likewise.
17814 * unwind-dw2-fde.h: Likewise.
17815 * unwind-pe.h: Likewise.
17816 * vmsdbgout.c: Likewise.
17817
dd4dc3cd
RK
17818Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17819
17820 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
17821 if type_required and passed decl.
17822
5fb4cf24
AH
178232002-01-17 Aldy Hernandez <aldyh@redhat.com>
17824
d8086cbb
RS
17825 * config.gcc (cpu_type): Include altivec.h in powerpc
17826 extra_headers.
17827 Same for darwin.
5fb4cf24 17828
d8086cbb 17829 * config/rs6000/altivec.h: New.
5fb4cf24 17830
2705baf5
DE
178312002-01-17 David Edelsohn <edelsohn@gnu.org>
17832
17833 * doc/install.texi (*-ibm-aix*): Update assembler and exception
17834 handling information.
17835 * doc/trouble.texi (Interoperation): Add libstdc++ information
17836 for AIX.
17837 (Misunderstandings): Add template instantiation and static template
17838 member information for AIX.
17839
dbd680e1
JM
178402002-01-17 Jason Merrill <jason@redhat.com>
17841
821adc5e
JM
17842 * dbxout.c (dbxout_type): Support const and volatile.
17843
dbd680e1
JM
17844 * except.c (add_partial_entry): Remove backwards compatibility code.
17845 (end_protect_partials): Likewise.
17846
d0e82870
JJ
178472002-01-17 Jakub Jelinek <jakub@redhat.com>
17848
17849 * config/ia64/ia64.md (prologue_use): New.
17850 * config/ia64/ia64.c (ia64_expand_prologue): Use
17851 gen_prologue_use instead of gen_rtx_USE.
17852 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
17853 as CODE_FOR_pred_rel_mutex.
17854 (ia64_sched_reorder2): Likewise.
17855
f9f45c65
EC
178562002-01-16 Eric Christopher <echristo@redhat.com>
17857
17858 * config/mips/r3900.h: Reformat.
17859 (SUBTARGET_CPP_SIZE_SPEC): Remove.
17860 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
17861 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
17862 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
17863 * config/mips/t-elf: Remove mips3 multilib.
17864
c66c8b0e
L
178652002-01-16 H.J. Lu <hjl@gnu.org>
17866
17867 * config/mips/linux.h: Include "mips/abi64.h".
17868
5f083b72
L
178692002-01-16 H.J. Lu <hjl@gnu.org>
17870
17871 * config/mips/t-linux: New.
17872
17873 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
17874
17875 * config/mips/linux.h: Don't include "gofast.h".
17876 (INIT_SUBTARGET_OPTABS): Removed.
17877
af3c90a6
KH
178782002-01-16 Kazu Hirata <kazu@hxi.com>
17879
17880 * config/h8300/h8300-protos.h: Replace emit_a_shift with
17881 output_a_shift.
17882 * config/h8300/h8300.c: Likewise.
17883 * config/h8300/h8300.md: Likewise.
17884
a1bf0a16
KH
178852002-01-16 Kazu Hirata <kazu@hxi.com>
17886
17887 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
17888 spaces after an opcode name.
17889 (pushqi1_h8300hs): Likewise.
17890 (pushhi1_h8300hs): Likewise.
17891
88ab0d1c
KH
178922002-01-16 Kazu Hirata <kazu@hxi.com>
17893
17894 * doc/extend.texi: Replace "option" with "attribute"
17895 appropriately.
17896
51c561e3
JJ
178972002-01-16 Jakub Jelinek <jakub@redhat.com>
17898
17899 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
17900 (and:DI () (const_int -8)).
17901 (split_small_symbolic_mem_operand): Split
17902 (mem (and:DI () (const_int -8)).
17903
b8c1a6b8
JJ
179042002-01-16 Jakub Jelinek <jakub@redhat.com>
17905
17906 PR target/5309:
d8086cbb 17907 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
17908 same way as TYPE_IMUL.
17909 (ultrasparc_sched_reorder): Likewise.
17910 * config/sparc/sparc.md (type): Add comment to update
17911 ultrasparc_sched_reorder when making changes.
17912
1e4e4df2
KH
179132002-01-16 Kazu Hirata <kazu@hxi.com>
17914
17915 * doc/invoke.texi: Change the dump file name of block
17916 reordering pass from 28.bbro to 29.bbro.
17917 Mention -dk option.
17918
14d920c0
JH
17919Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
17920
17921 * i386.md (minsf splitter): Fix pasto.
17922
2e99323f
NC
179232002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
17924
17925 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
17926 to frame pointer initialisation instruction.
17927 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
17928 initialisation instruction.
ab8081c1
NC
17929 (soft_df_operand): Do not accept the IP register.
17930 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 17931
c4031a04
JJ
179322002-01-16 Jakub Jelinek <jakub@redhat.com>
17933
17934 PR target/5357:
17935 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
17936 MASK_V8 being both set.
17937
44b8152b
UW
179382002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
17939
17940 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
17941 insn for GOT register; add REG_MAYBE_DEAD notes instead.
17942 config/s390/s390.md (call, call_value): Add GOT register to
17943 CALL_INSN_FUNCTION_USAGE where needed.
17944 (call_exp, call_value_exp): New.
17945
1d6e90ac
NC
179462002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
17947
17948 * config/arm/arm.c: General formatting tidy up.
17949
179502002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
17951
17952 * calls.c (try_to_integrate): Use "(size_t)" intermediate
17953 cast and when casting an integer literal to "rtx" pointer.
17954 (expand_call): Likewise.
17955 * flow.c (try_pre_increment): Likewise.
17956 (find_use_as_address): Likewise.
17957 * integrate.c (expand_iline_function): Likewise.
17958 * regmove.c (try_auto_increment): Likewise.
17959
1d6e90ac 179602002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
17961
17962 * sched-rgn.c (passed): Use sbitmap_free.
17963 (header): Likewise.
17964 (inner): Likewise.
17965 (in_queue): Likewise.
17966 (in_stack): Likewise.
17967
31fce3c4
EC
179682002-01-15 Eric Christopher <echristo@redhat.com>
17969
17970 * flow.c (propagate_one_insn): Change to use fatal_insn.
17971
c99d986a
KH
179722002-01-15 Kazu Hirata <kazu@hxi.com>
17973
17974 * expmed.c (extract_fixed_bit_field): Remove unused code.
17975 * system.h: Poison SLOW_ZERO_EXTEND.
17976 * doc/tm.texi: Remove.
17977 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
17978 * config/arm/arm.h: Likewise.
17979 * config/avr/avr.h: Likewise.
17980 * config/clipper/clipper.h: Likewise.
17981 * config/convex/convex.h: Likewise.
17982 * config/d30v/d30v.h: Likewise.
17983 * config/dsp16xx/dsp16xx.h: Likewise.
17984 * config/elxsi/elxsi.h: Likewise.
17985 * config/fr30/fr30.h: Likewise.
17986 * config/h8300/h8300.h: Likewise.
17987 * config/i370/i370.h: Likewise.
17988 * config/i386/i386.h: Likewise.
17989 * config/m68k/m68k.h: Likewise.
17990 * config/mips/mips.h: Likewise.
17991 * config/ns32k/ns32k.h: Likewise.
17992 * config/pdp11/pdp11.h: Likewise.
17993 * config/pj/pj.h: Likewise.
17994 * config/s390/s390.h: Likewise.
17995 * config/sh/sh.h: Likewise.
17996 * config/stormy16/stormy16.h: Likewise.
17997 * config/v850/v850.h: Likewise.
17998 * config/vax/vax.h: Likewise.
17999 * config/we32k/we32k.h: Likewise.
18000
acfab996
AH
180012002-01-15 Aldy Hernandez <aldyh@redhat.com>
18002
d8086cbb
RS
18003 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
18004 (altivec_lvsl): Change constraint to b.
18005 (altivec_lvsr): Same.
18006 (altivec_lvebx): Same.
18007 (altivec_lvehx): Same.
18008 (altivec_lvewx): Same.
18009 (altivec_lvxl): Same.
18010 (altivec_lvx): Same.
18011 (altivec_stvx): Add parallel.
18012 (altivec_stvxl): Same.
18013 (altivec_stvehx): Same.
18014 (altivec_stvebx): Same.
18015 (altivec_stvebx): Same.
acfab996 18016
5e505bc9
AH
180172002-01-15 Aldy Hernandez <aldyh@redhat.com>
18018
d8086cbb 18019 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 18020
d8086cbb 18021 * config/rs6000/altivec.h: Delete.
5e505bc9 18022
d8086cbb 18023 * config/rs6000/altivec-defs.h: Add.
5e505bc9 18024
5c41fdfb
JDA
180252002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
18026
18027 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
18028 and UMOD modes.
18029
18030 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
18031 less than or equal to eight bytes.
18032
18033 * vax.md (andsi3): Remove constraints and change SET destination
18034 operand type to nonimmediate_operand.
18035 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
18036 when it is a CONST_INT.
18037
de097a2d
JM
180382002-01-15 Jason Merrill <jason@redhat.com>
18039
18040 * c-common.def (FILE_STMT): New code.
18041 * c-common.c (statement_code_p): It's a statement.
18042 * c-common.h (stmt_tree_s): Add x_last_filename.
18043 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
18044 (last_expr_filename): New macro.
18045 * c-semantics.c (begin_stmt_tree): Initialize it.
18046 (add_stmt): If the filename changed, also insert a
18047 FILE_STMT.
18048 (expand_stmt): Handle seeing one.
18049
4a913dd6
EC
180502002-01-15 Eric Christopher <echristo@redhat.com>
18051
18052 * flow.c (propagate_one_insn): Add error message and print out
18053 insn for debugging.
18054
006946e4
JM
180552002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
18056
18057 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
18058 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
18059 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
18060 TRAMPOLINE_ALIGNMENT.
18061 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
18062 to be in bits.
18063 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
18064 PCC_BITFIELD_TYPE_MATTERS.
18065 * config/interix.h (STDC_VALUE): Remove. Use
18066 STDC_0_IN_SYSTEM_HEADERS.
18067 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
18068 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
18069 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
18070
751a1458
CR
180712002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
18072
18073 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
18074 not work on this platform currently.
18075
57771fe8
JM
180762002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
18077
18078 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
18079 readonly_warning in _().
18080
0e83ceb1 180812002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 18082
0e83ceb1 18083 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 18084
8e2e89f7
KH
180852002-01-15 Kazu Hirata <kazu@hxi.com>
18086
0e83ceb1
DR
18087 * config/h8300/h8300.c (print_operand): Remove support for
18088 unused operand characters.
18089
8e2e89f7
KH
18090 * read-rtl.c: Fix formatting.
18091 * real.c: Likewise.
18092 * recog.c: Likewise.
18093 * regclass.c: Likewise.
18094 * regmove.c: Likewise.
18095 * reg-stack.c: Likewise.
18096 * reload1.c: Likewise.
18097 * rtlanal.c: Likewise.
18098
b531087a
KH
180992002-01-15 Kazu Hirata <kazu@hxi.com>
18100
18101 * config/i386/i386.c: Fix formatting.
18102
7c94ce7f
JJ
181032002-01-15 Jakub Jelinek <jakub@redhat.com>
18104
18105 * c-typeck.c (process_init_element): Don't save_expr
18106 COMPOUND_LITERAL_EXPR if just its initializer will be used.
18107
6041bf2f
DE
181082002-01-15 David Edelsohn <edelsohn@gnu.org>
18109
18110 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
18111 emit optional traceback table if optimize_size or TARGET_ELF.
18112 * config/rs6000/rs6000.md (prefetch): New.
18113
8559c8c0
AJ
181142002-01-15 Andreas Jaeger <aj@suse.de>
18115
18116 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
18117
70f122f2
KH
181182002-01-15 Kazu Hirata <kazu@hxi.com>
18119
18120 * mips-tfile.c: Fix formatting.
18121
6a7b4ca6
JH
18122Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
18123
18124 * unroll.c (final_reg_note_copy): Fix previous commit.
18125
e7afe229
KH
181262002-01-14 Kazu Hirata <kazu@hxi.com>
18127
18128 * config/h8300/h8300-protos.h: Remove the prototype for
18129 eq_operator.
18130 * config/h8300/h8300.c (eq_operator): Remove.
18131
7d378549
RH
181322002-01-14 Richard Henderson <rth@redhat.com>
18133
18134 * config/i386/i386.md (prefetch): Tidy.
18135 (prefetch_3dnow): Fix locality operand.
18136
ab093b81
RH
181372002-01-14 Richard Henderson <rth@redhat.com>
18138
18139 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
18140 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
18141
d300f51f
HPN
181422002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
18143
18144 * reload1.c (reload_combine): Pass reg_sum replacement through
18145 copy_rtx in loop performing multiple changes.
18146
655dd289
JJ
181472002-01-14 Jakub Jelinek <jakub@redhat.com>
18148
18149 * except.c (remove_unreachable_regions): New.
18150 (free_eh_status): Clear exception_handler_labels.
18151 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
18152 (find_exception_handler_labels): Don't add the same label more than
18153 once.
18154 (remove_exception_handler_label): Don't die if
18155 find_exception_handler_labels hasn't been called for the current
18156 function yet.
18157
1fba46a7
JH
18158Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
18159
18160 * toplev.c (rest_of_compilation): Rebuild jump labels after
18161 gcse.
18162
0975678f
JM
181632002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
18164
18165 * doc/extend.texi: Move documentation of X86 built-in functions
18166 here.
18167 * doc/invoke.texi: From here.
18168 * doc/sourcebuild.texi: Document location of documentation for
18169 machine built-in functions.
18170
969815c7
CF
181712002-01-13 Christopher Faylor <cgf@redhat.com>
18172
18173 * cppfiles.c (TEST_THRESHOLD): New macro.
18174 (SHOULD_MMAP): Ditto.
18175 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
18176 be used.
18177
494c950b
JH
18178Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
18179
18180 * unroll.c (final_reg_note_copy): Properly handle
18181 REG_LABEL
18182 (unroll_loops): Fix LOOP_CONDITION heuristics.
18183
69a0611f
GK
181842002-01-14 Geoffrey Keating <geoffk@redhat.com>
18185
18186 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
18187 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
18188
b90e45ae
JH
18189Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
18190
18191 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
18192 threaded loop.
18193
8377288b
TR
181942002-01-14 Tom Rix <trix@redhat.com>
18195
18196 * config/rs6000/rs6000.md: Fix typo with sradi.
18197
9f37ccb1
UW
181982002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
18199
18200 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
18201 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
18202 (clrstrdi, clrstrsi): Adapt callers.
18203
18204 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
18205
8559c8c0 18206 (movti splitter): Never use register 0 as base register.
9f37ccb1 18207
6c2d03d0
HP
182082002-01-14 Hartmut Penner <hpenner@de.ibm.com>
18209
8559c8c0
AJ
18210 * combine.c (simplify_shift_const): Always generate new rtx
18211 for shift expression instead of reusing given expression.
6c2d03d0 18212
d3e98208
RK
18213Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18214
18215 * config/alpha/alpha.c (alpha_expand_mov): Don't call
18216 alpha_legitimize_address unless mode is Pmode.
18217
9f339dde
GK
182182002-01-13 Geoffrey Keating <geoffk@redhat.com>
18219
18220 * doc/md.texi (Modifiers): Document the '*' constraint for the
18221 user.
18222
18223 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
18224 * doc/extend.texi (Function Attributes): 'interrupt' is valid
18225 for xstormy16 too.
18226
02a10130
RH
182272002-01-13 Richard Henderson <rth@redhat.com>
18228
18229 * reload.c (find_reloads): Use a hard reg destination as reload reg
18230 for an input reload of the source.
18231
61d47787
GP
182322002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18233
18234 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
18235 more generic.
18236
f0df8029
DR
18237Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
18238
18239 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
18240 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
18241
d2a37256
DR
18242 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
18243
a9e8a5ee
RK
18244Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18245
18246 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
18247
bc06712d
TR
182482002-01-12 Tom Rix <trix@redhat.com>
18249
8559c8c0 18250 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
18251 TARGET_POWERPC64.
18252
7cbe9bb7
RH
182532002-01-12 Richard Henderson <rth@redhat.com>
18254
38b29e64
RH
18255 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
18256
58605ba0
RH
18257 * doc/invoke.texi: Update Alpha options.
18258
7cbe9bb7
RH
18259 * doc/invoke.texi: Update i386 built-in function lists.
18260
9d560860
JH
18261Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
18262
18263 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
18264 referencing outside.
18265
bb93b973
RK
18266Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18267
18268 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
18269 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
18270 offsets, and change line folding.
18271 * optabs.c (expand_binop): Remove warnings.
18272 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 18273
f9f6b7df
GS
182742002-01-12 Graham Stott <grahams@redhat.com>
18275
18276 * attribs.c (handle_deprecated_attribute): constify WHAT.
18277 * diagnostic.c (warn_deprecated_use): Add braces, fixes
18278 dangling else warning and constify WHAT.
18279 * except.h (struct function, struct inline_remap): Move
18280 struct tag forward defs before all prototypes.
18281 (duplicate_eh_regions): Whitespace.
18282
4a692617
NC
182832002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
18284
18285 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
18286 MODE_BASE_REG_CLASS.
18287 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
18288
e37af218
RH
182892002-01-12 Richard Henderson <rth@redhat.com>
18290
18291 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
18292 (ix86_expand_vector_move): New.
18293 (bdesc_2arg): Remove andps, andnps, orps, xorps.
18294 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
18295 Remove old prefetch builtins. Special case the logicals removed above.
18296 (ix86_expand_builtin): Likewise.
18297 (safe_vector_operand): Use V4SFmode, not TImode.
18298 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
18299 (ix86_expand_timode_binop_builtin): New.
18300 * config/i386/i386-protos.h: Update.
18301 * config/i386/i386.h (enum ix86_builtins): Update.
18302 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
18303 Use ix86_expand_vector_move in vector move expanders.
18304 (movti_internal, movti_rex64): Add xorps alternative.
18305 (sse_clrv4sf): Rename and adjust from sse_clrti.
18306 (prefetch): Don't work so hard.
18307 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
18308 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
18309 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
18310
6f1a6c5b
RH
183112002-01-11 Richard Henderson <rth@redhat.com>
18312
18313 * config/i386/mmintrin.h: New file.
18314 * config/i386/xmmintrin.h: New file.
18315 * config.gcc (i?86-*-*): Add extra_headers.
18316 * simplify-rtx.c (simplify_unary_operation): Handle saturating
18317 truncation codes.
18318 (simplify_binary_operation): Handle saturating arithmetic codes.
18319 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
18320 not the lowpart subreg.
18321 (ix86_expand_builtin): Return a TImode dummy register instead of 0
18322 on error.
18323 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
18324
cdb574d3
MH
183252002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
18326
18327 * conflict.c (conflict_graph_compute): Free regsets when finished.
18328 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 18329
cf11ac55
HB
183302002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
18331
18332 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
18333 every where we allocate a register.
18334
76ac938b
MH
183352002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
18336
18337 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
18338 * lcm.c (compute_earliest, compute_farthest): Likewise.
18339
a84b4898
JJ
183402002-01-11 Janis Johnson <janis187@us.ibm.com>
18341
18342 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
18343
aaef1c12
JJ
183442002-01-11 Janis Johnson <janis187@us.ibm.com>
18345
18346 * doc/rtl.texi (Insns): Fix 2 typos.
18347
5d22c1a5
JM
183482002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
18349
18350 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
18351 options. Use @table @gcctabopt for MMIX options. Add index
18352 entries for MMIX options. Start new paragraph with first
18353 heading of the machine-dependent options.
18354
3e92902c
CR
183552002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
18356
18357 PR other/5299
18358 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
18359 * combine.c (force_to_mode): Same.
18360 * reload1.c (clear_reload_reg_in_use): Same.
18361
96ae8197
NC
183622002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
18363
18364 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
18365 and 'subtargets'.
18366
9b780582
AJ
183672002-01-11 Andreas Jaeger <aj@suse.de>,
18368 Brad Lucier <lucier@math.purdue.edu>
18369
18370 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
18371 mcpu.
18372
12300dad
DR
18373Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
18374
18375 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
18376 Protect with IN_LIBGCC.
18377 (LINK_EH_SPEC): Add required trailing space.
18378
27511a9a
NP
18379Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
18380
9b780582 18381 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
18382 under the filename which contains them.
18383 (check_identifier, finish_decl_top_level,
18384 lookup_name_current_level_global, shadow_record_fields): Remove.
18385
4daeab16
AJ
183862002-01-11 Andreas Jaeger <aj@suse.de>
18387
18388 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
18389 march.
18390
40571d67
RH
183912002-01-10 Richard Henderson <rth@redhat.com>
18392
18393 * config/alpha/alpha.c (print_operand): Add 'J'.
18394 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
18395 new operand with the sequence number for the lituse. When splitting
18396 the insns, use gen_movdi_er_high_g and generate a sequence number.
18397 (gen_movdi_er_high_g): Print the sequence number if non-zero.
18398
6525c0e7
AH
183992002-01-10 Aldy Hernandez <aldyh@redhat.com>
18400
d8086cbb
RS
18401 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
18402 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
18403 stvxl.
18404 (altivec_expand_builtin): Same.
18405 (altivec_expand_stv_builtin): New.
18406
18407 * config/rs6000/rs6000.h (rs6000_builtins): Same.
18408
18409 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
18410 ("altivec_lvehx"): New.
18411 ("altivec_lvewx"): New.
18412 ("altivec_lvxl"): New.
18413 ("altivec_lvx"): New.
18414 ("altivec_stvx"): New.
18415 ("altivec_stvebx"): New.
18416 ("altivec_stvehx"): New.
18417 ("altivec_stvewx"): New.
18418 ("altivec_stvxl"): New.
6525c0e7 18419
cda94cbb
RH
184202002-01-10 Richard Henderson <rth@redhat.com>
18421
18422 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
18423 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
18424 care not to delete instructions twice.
18425
df2c9a44
ZW
184262002-01-10 Zack Weinberg <zack@codesourcery.com>
18427
18428 * toplev.c: Don't declare environ (it's not used anywhere).
18429 * configure.in: Don't check for declaration of environ.
18430 * config/i386/xm-mingw32.h: Don't #define environ.
18431 * config.in, configure: Regenerate.
18432
5dd8a9b1
ZW
184332002-01-10 Zack Weinberg <zack@codesourcery.com>
18434
18435 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
18436 * configure: Regenerate.
18437
18438 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
18439 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
18440 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
18441 alpha/xm-vms.h.
18442 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
18443 LIMITS_H_TEST here, not in m68k/x-next.
18444 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
18445 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
18446
18447 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
18448 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
18449 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
18450
18451 * config/i386/x-djgpp: Renamed i386/t-djgpp.
18452 * config/m88k/x-dolph: Renamed m88k/t-dolph.
18453 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
18454 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
18455 replacement of quadlib.asm with quadlib.c.
18456
18457 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
18458 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
18459 config/rs6000/xm-beos.h: Delete file.
18460
18461 * config.gcc: Update to match above changes.
18462
d10dd44c
KH
184632002-01-10 Kazu Hirata <kazu@hxi.com>
18464
18465 * config/h8300/h8300.h: Fix comment typos.
18466 * config/h8300/h8300.md: Likewise.
18467 * config/h8300/lib1funcs.asm: Likewise.
18468
04894c5a
DJ
184692002-01-10 Dale Johannesen <dalej@apple.com>
18470
18471 PR optimization/5269
18472 * unroll.c (precondition_loop_p): Make *increment be the correct
18473 sign when n_iterations known, to avoid confusing caller.
18474
adc9fe67
KH
184752002-01-10 Kazu Hirata <kazu@hxi.com>
18476
18477 * doc/extend.texi (deprecated): Fix a typo.
18478
b446e5a2
JH
18479Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
18480
18481 * basic-block.h (update_br_prob_note): Declare.
18482 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
18483 (try_forward_edges): Care negative frequencies and update note.
18484 (outgoing_edges_match): Tweek conditional merging heuristics.
18485 (try_crossjump_to_edge): use update_br_prob_note.
18486 * cfglayout.c (fixup_reorder_chain): Likewise.
18487 * cfrtl.c (update_br_prob_note): New.
18488 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
18489
18490 * i386.c (ix86_decompose_address): Return -1 if address contains
18491 shift.
18492 (legitimate_address_p): Require ix86_decompose_address to return 1.
18493
18494 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
18495 (cprop_insn): Likewise.
18496
a01da83b
KH
184972002-01-10 Kazu Hirata <kazu@hxi.com>
18498
18499 * toplev.c: Fix formatting.
18500 * tree.c: Likewise.
18501 * tree-dump.c: Likewise.
18502 * unroll.c: Likewise.
18503 * unwind-dw2.c: Likewise.
18504 * unwind-dw2-fde.c: Likewise.
18505 * unwind-dw2-fde-glibc.c: Likewise.
18506 * unwind-sjlj.c: Likewise.
18507
9f85bca7
JM
185082002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
18509
18510 * doc/invoke.texi: Document PDP-11 options.
18511
f48f56b1
KH
185122002-01-10 Kazu Hirata <kazu@hxi.com>
18513
18514 * config/h8300/h8300.h: Fix formatting.
18515
ead39bdf 185162002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
18517
18518 Add __attribute__ ((deprecated)).
18519 * extend.texi: Document __attribute__ ((deprecated)).
18520 * invoke.texi: Document -Wno-deprecated-declarations.
18521 * testsuite/g++.dg/other/deprecated.C: New C++ test.
18522 * testsuite/gcc.dg/deprecated.c: New C test.
18523 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
18524 (c_common_attribute_table): Add "deprecated" entry.
18525 (handle_deprecated_attribute): New function.
18526 * c-decl.c (deprecated_states): New enum.
18527 deprecated_state: State of "deprecated" handling.
18528 (start_decl): Set deprecated_state based on attributes.
18529 (grokdeclarator): Test for deprecated uses, propagate attribute.
18530 * c-typeck.c (build_component_ref): Test for deprecated fields.
18531 (build_external_ref): Test for deprecated primaries.
18532 * diagnostic.c (warn_deprecated_use) New function to issue
18533 warnings about __attribute__ ((depricated)) references.
18534 * flags.h (warn_deprecated_decl): Extern declared for
18535 -W[no-]deprecated-declarations option.
18536 * print-tree.c (print_node): Show deprecated flag status.
18537 * toplev.c (warn_deprecated_decl): Defined.
18538 (W_options): Added "deprecated-declaration".
18539 * toplev.h (warn_deprecated_use): Extern declared.
18540 * tree.h (struct tree_common): Define deprecated_flag.
18541 (TREE_DEPRECATED): New macro to access flag.
18542 * cp/call.c (build_call): Test for deprecated calls.
18543 * cp/class.c (add_implicitly_declared_members): Set global
18544 flag to tell grokdeclarator to not issue deprecated warnings.
18545 * cp/cp-tree.h: Add extern for adding_implicit_members.
18546 * cp/decl.c (deprecated_states): New enum.
18547 (start_decl): Set deprecated_state based on attributes.
18548 (grokdeclarator): Test for deprecated uses, propagate attribute.
18549 * cp/lex.c (do_identifier): Test for deprecated primaries.
18550 * cp/typeck.c (build_component_ref): Test for deprecated fields.
18551
ead39bdf 185522002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
18553
18554 Fix to assign attributes to inline member functions.
18555 * cp/decl.c (start_method): Handle attrlist.
18556
47073a38
KH
185572002-01-10 Kazu Hirata <kazu@hxi.com>
18558
18559 * combine.c (expand_field_assignment): Use subreg_lsb().
18560
d288e53d
DE
185612002-01-10 David Edelsohn <edelsohn@gnu.org>
18562
18563 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
18564 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
18565 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
18566 Recurse for any operand of AND as long as constant is non-zero.
18567
08a02ffa
KH
185682002-01-10 Kazu Hirata <kazu@hxi.com>
18569
18570 * config/h8300/h8300.md: Remove constraints from expanders.
18571
c203e7fe
KH
185722002-01-10 Kazu Hirata <kazu@hxi.com>
18573
18574 * varasm.c: Fix formatting.
18575 * varray.c: Likewise.
18576 * vmsdbgout.c: Likewise.
18577 * xcoffout.c: Likewise.
18578
bcb3bc6d
JH
18579Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
18580
18581 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 18582 update edge probabilities to match.
bcb3bc6d 18583
0a553c7e
JM
185842002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
18585
18586 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
18587 dependencies.
18588 * doc/languages.texi, doc/sourcebuild.texi: New files.
18589 * doc/configfiles.texi: Make a subsubsection. Update.
18590 * doc/configterms.texi: Add @node. Remove warning that this isn't
18591 instructions for building GCC.
18592 * doc/makefile.texi: Make a subsection.
18593 * doc/gccint.texi: Update.
18594
adc7fcb8
JH
18595Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
18596
18597 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
18598
5a4dd0b3
NP
18599Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
18600
18601 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
18602
3987b9db
JH
18603Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
18604
18605 * optabs.c (expand_fix): Look for wider integer modes first.
18606
18607 * i386.md (mov?f): Avoid the fake const double trick for medium
18608 memory model.
18609 (min?f*/max?f*): Prohibit memory operands for i387 variant.
18610 (fop_df_4): Disable for SSE compilation.
18611
ceb15948 186122002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
18613
18614 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 18615 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 18616
e1623399
RH
186172002-01-10 Richard Henderson <rth@redhat.com>
18618
18619 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
18620
c4abb293
RH
186212002-01-10 Richard Henderson <rth@redhat.com>
18622
18623 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
18624 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
18625
d2604ae9
KH
186262002-01-10 Kazu Hirata <kazu@hxi.com>
18627
18628 * combine.c (can_combine_p): Fix a comment typo.
18629
766c7ad1
ZW
186302002-01-09 Zack Weinberg <zack@codesourcery.com>
18631
18632 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
18633 empty list correctly. Change loop index $t to $f for
18634 consistency with rest of Makefile.
18635
95385cbb
AH
186362002-01-08 Aldy Hernandez <aldyh@redhat.com>
18637
18638 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
18639 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
18640
18641 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
18642 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
18643 (altivec_init_builtins): Same.
18644 (altivec_expand_unop_builtin): Return NULL_RTX on error.
18645 (altivec_expand_binop_builtin): Same.
18646 (altivec_expand_ternop_builtin): Same.
18647 (bdesc_dst): New.
18648
18649 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
18650 ("altivec_vctuxs"): Fix typo.
18651 ("altivec_vnmsubfp"): Same.
18652 ("altivec_dssall"): New.
18653 ("altivec_mfvscr"): New.
18654 ("altivec_dss"): New.
18655 ("altivec_lvsl"): New.
18656 ("altivec_lvsr"): New.
18657 ("altivec_dstt"): New.
18658 ("altivec_dstst"): New.
18659 ("altivec_dststt"): New.
18660 ("altivec_dst"): New.
18661
18662 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
18663 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
18664
e4ac76b4
RH
186652002-01-09 Richard Henderson <rth@redhat.com>
18666
18667 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
18668
c893e4a4
HPN
186692002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
18670
18671 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
18672 function.
18673 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
18674 prototype.
7387c700 18675 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 18676
f4f4d0f8
KH
186772002-01-09 Kazu Hirata <kazu@hxi.com>
18678
18679 * read-rtl.c: Fix formatting.
18680 * real.c: Likewise.
18681 * regclass.c: Likewise.
18682 * regrename.c: Likewise.
18683 * reg-stack.c: Likewise.
18684 * reload1.c: Likewise.
18685 * reload.c: Likewise.
18686 * rtl.c: Likewise.
18687
cc863bea
KH
186882002-01-09 Kazu Hirata <kazu@hxi.com>
18689
18690 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
18691 to extract items in the expr_list chain.
18692
7b4dfe3d
RH
186932002-01-09 Richard Henderson <rth@redhat.com>
18694
18695 * config/vax/vax.c (vax_rtx_cost): Never abort.
18696
1d969638
RH
18697 * config/vax/vax.h (REAL_ARITHMETIC): Define.
18698
7d5ab30e
JH
186992002-01-09 Jan Hubicka <jh@suse.cz>
18700
18701 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
18702
9503f3d1
RH
187032002-01-09 Richard Henderson <rth@redhat.com>
18704
18705 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
18706 Unify code from various alternatives.
18707
42bd17b7
RH
187082002-01-09 Richard Henderson <rth@redhat.com>
18709
18710 * regrename.c (copy_value): Ignore the copy if the source register
18711 is present in the value chain with a narrower mode.
18712
bdca3c33
HB
187132002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
18714
cda94cbb
RH
18715 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
18716 for the c4x target. Also improve layout.
bdca3c33 18717
c73a5e94
RH
187182002-01-09 Richard Henderson <rth@redhat.com>
18719
18720 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
18721 * config/m32r/m32r.md (and ior xor splitters): Swap operands
18722 to match insn patterns.
18723
dd0a18c0
RH
187242002-01-09 Richard Henderson <rth@redhat.com>
18725
18726 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
18727 (copyprop_hardreg_forward_1): Likewise.
18728
1fd9ac1e
JDA
187292002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
18730
18731 * pa.md (decrement_and_branch_until_zero): Change predicate for
18732 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
18733
5cb265ec
BM
187342002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
18735
18736 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
18737 gets undefined. For Darwin.
18738
fcd8fa8b
HB
187392002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
18740
18741 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
18742
bd3ab23a
MH
187432002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
18744
18745 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
18746
21e16bd6
RH
187472002-01-08 Richard Henderson <rth@redhat.com>
18748
18749 * regrename.c (copy_value): Ignore overlapping copies.
18750
a5376276
RH
187512002-01-08 Richard Henderson <rth@redhat.com>
18752
18753 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
18754 as needed to avoid shared structure.
18755
18cf8dda
KH
187562002-01-08 Kazu Hirata <kazu@hxi.com>
18757
18758 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
18759 H8/300H and H8/S.
18760
16c484c7
JM
187612002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
18762
18763 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
18764 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
18765 documentation of obsolete macros.
18766 * system.h: Poison these macros.
18767 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
18768 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
18769 config/c4x/c4x.h, config/clipper/clipper.h,
18770 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
18771 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
18772 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
18773 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
18774 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
18775 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
18776 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
18777 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
18778 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
18779 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
18780 config/sparc/sparc.h, config/stormy16/stormy16.h,
18781 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
18782 definitions and commented out definitions of obsolete macros.
18783 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
18784 of MAX_INT_TYPE_SIZE.
18785
14b3e8ef
UW
187862002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
18787
18788 * config/s390/s390.c (s390_preferred_reload_class): Never
18789 return ADDR_REGS if it isn't a subset of the given class.
18790 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
18791 FP_REGS, but all superclasses as well.
18792
18793 * config/s390/s390.c (s390_function_profiler): Fix thinko.
18794
18795 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
18796 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
18797 must not be a const_int.
18798
a693284d
RH
187992002-01-08 Richard Henderson <rth@redhat.com>
18800
18801 * Makefile.in (toplev.o): Depend on options.h.
18802 (gcc.o): Depend on specs.h.
18803
b3ca30df
JJ
188042002-01-08 Jakub Jelinek <jakub@redhat.com>
18805
18806 * expr.c (store_expr): Convert VOIDmode constants back to target's
18807 mode.
18808
24dbb440
GP
188092002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18810
18811 * doc/invoke.texi: Markup gcc as @command. Refer to
18812 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
18813 of http://gcc.gnu.org/thanks.html.
18814
234e114c
DJ
188152002-01-08 Dale Johannesen <dalej@apple.com>
18816
18817 * config/rs6000/rs6000.md: Add missing int register
18818 target case to movdf_low.
18819
0d24f4d1
ZW
188202002-01-08 Zack Weinberg <zack@codesourcery.com>
18821
18822 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
18823 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
18824 (cppinit.o): Depend on except.h.
18825 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
18826 s-specs): New rules.
18827
18828 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
18829 Don't create specs.h/options.h/gencheck.h here. Remove
18830 unnecessary variable settings from last argument of AC_OUTPUT.
18831 * config.in, configure: Regenerate.
18832 * intl.c: Hardcode package name as "gcc".
18833
18834 * cppinit.c: Include except.h.
18835 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
18836 appropriate.
18837 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
18838 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
18839 (!)USING_SJLJ_EXCEPTIONS.
18840 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
18841
ed722f66
JM
188422002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
18843
18844 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
18845 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
18846 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
18847 documentation of obsolete macros.
18848 * system.h: Poison these macros.
18849 * config/d30v/d30v.h, config/ns32k/encore.h,
18850 config/stormy16/stormy16.h: Remove definitions and commented out
18851 definitions of obsolete macros.
18852
31e5e29a
NP
18853Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
18854
18855 * objc/objc-act.c (handle_class_ref): Mark the declaration of
18856 %sobjc_class_ref_%s as used - to prevent unwanted compiler
18857 warnings.
18858
bc1fa59c
UW
188592002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
18860
18861 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
18862 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
18863 to insn adjusting stack/frame pointer.
0d24f4d1 18864 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
18865 accept operands that cause the insn to be non-splittable.
18866
a8086abf
GS
188672002-01-08 Graham Stott <grahams@redhat.com>
18868
18869 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
18870 (C_TYPE_FIELDS_VOLATILE): Likewise.
18871 (C_TYPE_BEING_DEFINED): Likewise.
18872 (C_IS_RESERVED_WORD): Likewise.
18873 (C_TYPE_VARIABLE_SIZE): Likewise.
18874 (C_DECL_VARIABLE_SIZE): Likewise.
18875 (C_MISSING_PROTOTYPE_WARNED): Likewise.
18876 (C_SET_EXP_ORIGINAL_CODE): Likewise.
18877 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
18878 parenthesis.
18879 (C_DECL_ANTICIPATED): Likewise.
18880 (c_build_type_variant): Add parenthesis.
18881
3f595aa1
JM
188822002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
18883
18884 * gcc.c (option_map): Remove --version.
18885 (process_command): Handle -fversion following the GNU Coding
18886 Standards. Partially addresses PR other/704.
18887
5bc5a8f9
GS
188882002-01-08 Graham Stott <grahams@redhat.com>
18889
18890 * combine.c (combine_instructions): Fix typo.
18891
16ec4ebf
GS
188922002-01-08 Graham Stott <grahams@redhat.com>
18893
18894 * debug.h: Use "tree" and "rtx" throughout.
18895
18896 * debug.c: Likewise.
18897
4b69f385
NC
188982002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
18899
18900 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
18901 constant pool, use the pool's version of the symbol instead.
18902
57d1019b
RH
189032002-01-07 Richard Henderson <rth@redhat.com>
18904
18905 * regrename.c (find_oldest_value_reg): Ignore the value chain if
18906 the original register was copied in a mode with a fewer number of
18907 hard registers than the desired mode.
18908 (copyprop_hardreg_forward_1): Likewise.
18909 (debug_value_data): Fix loop test.
18910 * toplev.c (parse_options_and_default_flags): Reenable
18911 -fcprop-registers at -O1.
18912
189132002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 18914
0d24f4d1
ZW
18915 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
18916 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 18917
0d24f4d1
ZW
18918 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
18919 predicates.
fa066a23 18920
0d24f4d1 18921 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 18922
8f949e7e
JDA
189232002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
18924
18925 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
18926 (pa_output_function_prologue): Output local label at the beginning of
18927 the prologue when profiling.
18928 (hppa_profile_hook): Use the local label rather than the function label.
18929 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
18930
c62f2db5
AH
189312002-01-07 Aldy Hernandez <aldyh@redhat.com>
18932
0d24f4d1
ZW
18933 * config/rs6000/rs6000.c (print_operand): Remove extra space.
18934 (altivec_expand_unop_builtin): Fix thinko.
18935 (altivec_expand_binop_builtin): Same.
18936 (altivec_expand_ternop_builtin): Same.
18937 (altivec_expand_builtin): Same.
c62f2db5 18938
b5235ba7
RH
189392002-01-07 Richard Henderson <rth@redhat.com>
18940
18941 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
18942
7d8ac293
JM
189432002-01-07 Jason Merrill <jason@redhat.com>
18944
18945 * unwind-dw2.c (execute_cfa_program): Use < again.
18946
571a03b8
JJ
189472002-01-07 Jakub Jelinek <jakub@redhat.com>
18948
18949 * predict.c (combine_predictions_for_insn): Avoid division by zero.
18950
2e951384
JJ
189512002-01-07 Jakub Jelinek <jakub@redhat.com>
18952
18953 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
18954 Don't allow -1 - x -> ~x simplifications in the first pass.
18955
20e26713
AH
189562002-01-07 Aldy Hernandez <aldyh@redhat.com>
18957
0d24f4d1
ZW
18958 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
18959 arguments.
18960 (altivec_expand_binop_builtin): Same.
18961 (altivec_expand_unop_builtin): Same.
18962 (print_operand): Fix typo.
18963 (bdesc_1arg): Add vupk* variants.
20e26713 18964
0d24f4d1 18965 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 18966
0d24f4d1 18967 * rs6000.md: Add altivec_vupk* variants.
20e26713 18968
4dd57c18
JM
189692002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
18970
18971 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
18972 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
18973 and last update dates.
18974
0341c5d2
JJ
189752002-01-07 Janis Johnson <janis187@us.ibm.com>
18976
18977 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
18978
c7f3e0b0
MM
189792002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
18980
18981 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
18982 * config/avr/avr.h (CPP_SPEC): Likewise.
18983 (LINK_SPEC): Likewise.
18984 (CRT_BINUTILS_SPECS): Likewise.
18985 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
18986 * doc/invoke.texi (AVR Options): Document them.
18987
6ba4d630
JH
18988Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
18989
18990 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
18991 LABEL_NUSES.
18992
6253d571
GS
189932002-01-07 Graham Stott <grahams@redhat.com>
18994
0d24f4d1
ZW
18995 * config/i386/i386.h: Update copyright date.
18996 (HALF_PIC_PTR): Add parenthesis.
18997 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
18998 (CONSTANT_ALIGNMENT): Add parenthesis.
18999 (DATA_ALIGNMENT): Likewise.
19000 (LOCAL_ALIGNMENT): Likewise.
19001 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
19002 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
19003 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
19004 (HARD_REGNO_NREGS): Add paranethesis.
19005 (VALID_SSE_REG_MODE): Whitespace.
19006 (VALID_MMX_REG_MODE): Whitespace.
19007 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
19008 (ix86_hard_regno_mode_ok): Add parenthesis.
19009 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
19010 (RETURN_IN_MEMORY): Whitespace.
19011 (N_REG_CLASSES): Add parenthesis.
19012 (INTEGER_CLASS_P): Add parenthesis and wrap.
19013 (FLOAT_CLASS_P): Likewise.
19014 (SSE_CLASS_P): Likewise.
19015 (MMX_CLASS_P): Likewise.
19016 (MAYBE_INTEGER_CLASS_P): Likewise.
19017 (MAYBE_FLOAT_CLASS_P): Likewise.
19018 (MAYBE_SSE_CLASS_P): Likewise.
19019 (MAYBE_MMX_CLASS_P): Likewise.
19020 (Q_CLASS_P): Likewise.
19021 (GENERAL_REGNO_P): Uppercase macro parameter.
19022 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
19023 (FP_REGNO_P): Likewise.
19024 (ANY_FP_REGNO_P): Uppercase macro parameter.
19025 (SSE_REGNO_P): Likewise.
19026 (SSE_REGNO): Likewise.
19027 (SSE_REG_P): Likewise.
19028 (SSE_FLOAT_MODE_P): Likewise.
19029 (MMX_REGNO_P): Likewise.
19030 (MMX_REG_P):Likewise.
19031 (STACK_REG_P): Likewise.
19032 (NON_STACK_REG_P): Likewise.
19033 (STACK_TOP_P): Likewise.
19034 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
19035 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
19036 (SECONDARY_MEMORY_NEEDED): Likewise.
19037 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
19038 (MD_ASM_CLOBBERS): Whitespace and wrap.
19039 (MUST_PASS_IN_STACK): Whitespace and wrap.
19040 (RETURN_POPS_ARGS): Add parenthesis.
19041 (INIT_CUMULATIVE_ARGS): Likewise.
19042 (FUNCTION_ARG): Likewise.
19043 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
19044 (SETUP_INCOMING_VARARGS): Likewise.
19045 (BUILD_VA_LIST_TYPE): Add parenthesis.
19046 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
19047 parenthsis.
19048 (EXPAND_BUILTIN_VA_ARG): Likewise.
19049 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
19050 (INITIALIZE_TRAMPOLINE): Add parenthesis.
19051 (INITIAL_ELIMINATION_OFFSET): Likewise.
19052 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
19053 (REGNO_OK_FOR_BASE_P): Likewise.
19054 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
19055 (REGNO_OK_FOR_DIREG_P): Likewise.
19056 (REG_OK_FOR_INDEX_P): Whitespace.
19057 (REG_OK_FOR_BASE_P): Whitespace.
19058 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
19059 parenthesis.
19060 (FIND_BASE_TERM): Fix typo.
19061 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
19062 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
19063 (SYMBOLIC_CONST; Whitespace.
19064 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
19065 (ENCODE_SECTION_INFO): Whitespace.
19066 (FINALIZE_PIC): Remove do { ... } while (0).
19067 (PROMOTE_MODE): Wrap in do { ... } while (0).
19068 (CONST_COSTS): Whitespace.
19069 (RTX_COSTS): Add paramethesis, whitespace and wrap.
19070 (REGISTER_MOVE_COST): Add parenthesis.
19071 (MEMORY_MOVE_COST): Likewise.
19072 (EXTRA_CC_MODES): Whitespace.
19073 (SELECT_CC_MODE): Add parenthesis and whitespace.
19074 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
19075 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
19076 (ASM_OUTPUT_LABEL): Add paramethesis.
19077 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
19078 (ASM_OUTPUT_REG_POP): Likewise.
19079 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
19080 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 19081
07933f72
GS
19082 * config/i386/i386.c: Update copyright.
19083 (CHECK_STACK_LIMIT): Add parenthesis.
19084 (AT_BP): Uppercase macro parameter.
19085 (x86_64_int_parameter_registers): Constify.
19086 (x86_64_int_return_registers): Likewise.
19087 (ix86_compare_op0): Use rtx.
19088 (construct_container): Constify INTREG parameter.
19089 (function_arg): Use rtx.
19090
0b4d32c9
GS
19091 * diagnostic.h: Update copyright date.
19092 (output_buffer_state): Add parenthesis.
19093 (output_buffer_format_args): Likewise.
19094
6253d571
GS
19095 * combine.c (combine_instructions): Replace XEXP (links, 0)
19096 with link.
19097
68f3f6f1
L
190982002-01-06 H.J. Lu <hjl@gnu.org>
19099
19100 * cfgcleanup.c (thread_jump): Fix 2 typos.
19101
191022002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 19103
0d24f4d1 19104 * config.gcc: Add support for --enable-altivec.
480f7f3a 19105
13b8c631
CR
191062002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
19107
19108 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
19109
58ad89b1
JJ
191102002-01-06 Jakub Jelinek <jakub@redhat.com>
19111
19112 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
19113 __objc_class_name_*.
19114
e403b4bc
CR
191152002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
19116
19117 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
19118
e41c7831
RH
191192002-01-06 Richard Henderson <rth@redhat.com>
19120
19121 * reorg.c (emit_delay_sequence): Remove death notes, not merely
19122 nop them out. Increment label reference count for REG_LABEL.
19123 (fill_slots_from_thread): Frob label reference count around
19124 delete_related_insns.
19125
3b3b1e32
RH
191262002-01-05 Richard Henderson <rth@redhat.com>
19127
19128 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
19129 jump threading.
19130
c28abdf0
RH
191312002-01-05 Richard Henderson <rth@redhat.com>
19132
19133 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
19134 * integrate.c (output_inline_function): Likewise.
19135 * toplev.c (rest_of_compilation): Do it here instead. Move call
19136 to remove_unnecessary_notes after emitting abstract instance.
19137 Force an emitted nested function to have its parent emited as well.
19138 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
19139 for null.
19140 (rtl_for_decl_location): Do not look at reload data structures
19141 before reload has run.
19142
c4f2c499
KH
191432002-01-05 Kazu Hirata <kazu@hxi.com>
19144
19145 * cse.c: Fix formatting.
19146 * dwarf2asm.c: Likewise.
19147 * dwarf2out.c: Likewise.
19148 * explow.c: Likewise.
19149 * expmed.c: Likewise.
19150 * function.c: Likewise.
19151 * gcov.c: Likewise.
19152 * gencheck.c: Likewise.
19153 * genrecog.c: Likewise.
19154 * ggc-common.c: Likewise.
19155 * ggc-page.c: Likewise.
19156 * global.c: Likewise.
19157
cf0d9408
KH
191582002-01-05 Kazu Hirata <kazu@hxi.com>
19159
19160 * combine.c: Fix formatting.
19161
bedca03a
CR
191622002-01-05 Craig Rodrigues <crodrigu@bbn.com>
19163
19164 PR middle-end/1557
19165 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
19166
0134bf2d
DE
191672002-01-05 David Edelsohn <edelsohn@gnu.org>
19168
19169 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
19170 as 1 for __powerpc64__ as well.
19171
19172 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
19173
19174 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
19175 return it.
19176
9ca88d5a
DB
191772002-01-05 Daniel Berlin <dan@dberlin.org>
19178
19179 * lcm.c: Revert change, due to performance regression it causes on
19180 SPEC because it's slightly more conservative (sigh, I hate
19181 edge-based LCM).
0d24f4d1 19182
1c570418
JH
19183Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
19184
19185 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
19186
d83bb9f7
NB
191872002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
19188
19189 * doc/cppinternals.texi: Update.
19190
3e0f61ac
HPN
191912002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
19192
19193 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
19194 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
19195 negatives.
19196 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
19197 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
19198 kludge for pre-october-14th mmix versions to handle new-found bug
19199 with PUSHJ/PUSHGO and the register stack.
19200 * config/mmix/mmix.h (struct machine_function): Rename member
19201 has_call_value_without_parameters to has_call_without_parameters.
19202 All referers changed.
19203 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
19204 TARGET_MASK_BRANCH_PREDICT): New macros.
19205 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
19206 -mno-reg-stack-fill-bug-workaround.
19207 * config/mmix/mmix.md ("call"): Set struct machine member
19208 has_call_without_parameters.
19209
4deaa2f8
JH
19210Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
19211
19212 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
19213
9f16e871
JH
19214Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
19215
19216 * cfgcleanup.c: Include tm_p.h
19217 (mark_effect): Fix handling of hard register; fix handling of SET
19218
96eb1157
KH
192192002-01-04 Kazu Hirata <kazu@hxi.com>
19220
19221 * config/h8300/h8300.md (anonymous patterns): Check that
19222 operands are registers before using REGNO on them.
19223
48180d68
RM
192242002-01-03 Roland McGrath <roland@frob.com>
19225
19226 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
19227
b0832fe1
JJ
192282002-01-04 Jakub Jelinek <jakub@redhat.com>
19229
19230 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
19231 * c-common.h (genrtl_expr_stmt_value): Likewise.
19232 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
19233 (expand_expr_stmt_value): Add maybe_last argument.
19234 Don't warn about statement with no effect if it is the last statement
19235 in expression statement.
19236 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
19237 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
19238 expand_expr_stmt_value.
19239 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
19240 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
19241 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
19242 as maybe_last to expand_expr_stmt_value.
19243
c1e14513
JL
19244Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
19245
0d24f4d1
ZW
19246 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
19247 be passed in, do not build it.
19248 (c_begin_if_stmt): New function.
19249 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
19250 * c-common.h (c_expand_start_cond): Update prototype.
19251 (c_begin_if_stmt): Prototype new function.
19252 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
19253 * c-parse.in (if_prefix): Use c_begin_if_stmt,
19254 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 19255
b6ec437a
WC
192562002-01-04 William Cohen <wcohen@redhat.com>
19257
19258 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
19259 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
19260 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
19261 * config/pa/som.h (ASM_FILE_START): Likewise.
19262
ead39bdf 192632002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
19264
19265 * lcm.c: Include df.h.
19266 Add available_transfer_function prototype.
19267 (compute_available): Rework to use iterative dataflow framework.
19268 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
19269 with bb_info in df.h
19270 (available_transfer_function): New function.
19271
19272 * Makefile.in (lcm.o): add df.h to dependencies.
19273
551cc6fd
RH
192742002-01-04 Richard Henderson <rth@redhat.com>
19275
19276 * config/alpha/alpha.c (some_operand): Accept HIGH.
19277 (input_operand): Likewise; accept simple references to globals.
19278 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
19279 (alpha_const_double_ok_for_letter_p): Likewise.
19280 (alpha_extra_constraint): Likewise.
19281 (alpha_preferred_reload_class): Likewise. Do not force
19282 symbolic constants to memory.
19283 (alpha_legitimate_address_p): Accept simple references
19284 to small_symbolic_operand.
19285 (alpha_legitimize_address): New arg scratch. Be prepared to be
19286 called when no_new_pseudos. Emit simple symbolic references.
19287 Split integers into low, high, and rest.
19288 (alpha_expand_mov): Use alpha_legitimize_address.
19289 (some_small_symbolic_mem_operand): New.
19290 (split_small_symbolic_mem_operand): New.
19291 * config/alpha/alpha-protos.h: Update.
19292 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
19293 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
19294 (EXTRA_CONSTRAINT): Likewise.
19295 (PREFERRED_RELOAD_CLASS): Likewise.
19296 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
19297 (PREDICATE_CODES): Update.
19298 * config/alpha/alpha.md: New post-reload splitters to convert
19299 simplfied symbolic operands to the form that references $29.
19300 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
19301 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
19302
1eaea054
RH
193032002-01-03 Richard Henderson <rth@redhat.com>
19304
19305 * local-alloc.c (function_invariant_p): Update commentary.
19306
c4cc12b7
L
193072002-01-04 H.J. Lu <hjl@gnu.org>
19308
19309 * toplev.c (rest_of_compilation): Fix a typo when calling
19310 cleanup_cfg.
19311
173bf5be
KH
193122002-01-03 Kazu Hirata <kazu@hxi.com>
19313
19314 * c-common.c: Fix formatting.
19315 * diagnostic.c: Likewise.
19316 * doloop.c: Likewise.
19317 * dwarf2out.c: Likewise.
19318
187462ac
KH
193192002-01-03 Kazu Hirata <kazu@hxi.com>
19320
19321 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
19322 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
19323
5d8ebbd8
NB
193242002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
19325
19326 * cpperror.c: Update comments and copyright.
19327 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
19328 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
19329
518c1311
JDA
193302002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
19331
19332 * collect2.c (main): Use strcmp when testing for "-shared".
19333
d15a58c0
NB
193342002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
19335
19336 * cppmacro.c: Don't include intl.h. Update comments.
19337 (new_number_token): Allocate enough buffer for 64-bit unsigned
19338 integers; update prototype.
19339 * cppmain.c: Update comments.
19340
70f4f91c
WC
193412002-01-03 William Cohen <wcohen@redhat.com>
19342
19343 * function.h (struct function): Add profile.
19344 (current_function_profile): New.
19345 doc/extend.texi: Update documentation.
19346 * final.c (final_start_function): Use current_function_profile
19347 instead of profile_flag.
19348 (profile_after_prologue): Likewise.
19349 * function.c (expand_function_start): Likewise.
19350 (expand_function_start): Likewise.
c4cc12b7 19351 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
19352 (alpha_does_function_need_gp): Likewise.
19353 (alpha_expand_prologue): Likewise.
19354 * config/arm/arm.c (arm_expand_prologue): Likewise.
19355 thumb_expand_prologue: Likewise.
19356 * config/d30v/d30v.c (d30v_stack_info): Likewise.
19357 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
19358 (fr30_expand_prologue): Likewise.
19359 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
19360 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
19361 * config/i386/i386.h (FINALIZE_PIC): Likewise.
19362 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
19363 * config/i960/i960.c (i960_output_function_prologue): Likewise.
19364 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
19365 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
19366 (m32r_expand_prologue): Likewise.
19367 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
19368 (m88k_expand_prologue): Likewise.
19369 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
19370 * config/mips/mips.c (compute_frame_size): Likewise.
19371 (mips_expand_prologue): Likewise.
19372 (mips_can_use_return_insn): Likewise.
19373 * config/pa/elf.h (ASM_FILE_START): Likewise.
19374 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
19375 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
19376 * config/pa/som.h (ASM_FILE_START): Likewise.
19377 * config/romp/romp.c (romp_using_r14): Likewise.
19378 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
19379 (rs6000_stack_info): Likewise.
19380 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 19381 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
19382 * config/v850/v850.c (compute_register_save_size): Likewise.
19383
cb1ac742
JJ
193842002-01-03 Jakub Jelinek <jakub@redhat.com>
19385
19386 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
19387 gen_lowpart_common fails, use gen_lowpart_SUBREG.
19388
61d951df 193892002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 19390
61d951df
TC
19391 * darwin.c (machopic_output_possible_stub_label): Don't generate
19392 stub routines for pseudo-stubs which we've just defined.
19393
505ddab6
KH
193942002-01-03 Kazu Hirata <kazu@hxi.com>
19395
19396 * builtins.c: Fix formatting.
19397 * c-typeck.c: Likewise.
19398 * combine.c: Likewise.
19399 * expr.c: Likewise.
19400 * loop.c: Likewise.
19401
b7e30d8a
AS
194022002-01-03 Andreas Schwab <schwab@suse.de>
19403
19404 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
19405 and return true if _cpp_push_next_buffer pushed a new include
19406 file.
19407 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
19408 _cpp_pop_file_buffer did not push a new file.
19409 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
19410
ff81832f
EC
194112002-01-02 Eric Christopher <echristo@redhat.com>
19412
19413 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
19414 FIND_REG_INC_NOTE call. Update copyright.
19415 * loop.c (canonicalize_condition): Ditto.
19416 * reorg.c (delete_scheduled_jump): Ditto.
19417
8e42ace1
KH
194182002-01-03 Kazu Hirata <kazu@hxi.com>
19419
19420 * gcse.c: Fix formatting.
19421
fb2bf631
GS
194222002-01-03 Graham Stott <grahams@redhat.com>
19423
19424 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
19425 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 19426 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
19427
19428 * system.h: Move forward defs for struct tags rtx_def, union_tree,
19429 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 19430 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
19431
194322002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
19433
19434 * tree.h: Update copyright date.
19435 (IS_EXPR_CODE_CLASS): Add parenthesis.
19436 (TREE_SET_CODE): Add whitespace.
19437 (TREE_CHECK): Add parenthesis.
19438 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
19439 (CST_OR_CONSTRUCTOR_CHECK):
19440 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
19441 (TREE_SYMBOL_REFERENCED): Whitespace.
19442 (INT_CST_LT): Likewise.
19443 (INT_CST_LT_UNSIGNED): Likewise.
19444 (tree_real_cst): Unwrap comment.
19445 (tree_string): Likewise.
19446 (tree_complex): Likewise.
19447 (IDENTIFIER_POINTER): correct cast.
19448 (SAVE_EXPR_CONTEXT): Whitespace.
19449 (EXPR_WFL_FILENAME_NODE): Likewise.
19450 (EXPR_WFL_FILENAME): Remove parenthesis.
19451 (DECL_ORIGIN): Add parenthesis.
19452 (DECL_FROM_INLINE): Use NULL_TREE.
19453 (build_int_2): Whitespace.
19454 (build_type_variant): Add parenthesis.
19455
19456 * gcc/jcf-parse.c: Update copyright date.
19457 (yyparse): Constify resource_filename.
19458
f52eda29
GS
194592002-01-03 Graham Stott <grahams@redhat.com>
19460
19461 * rtl.h: Update copyright date.
19462 (RTL_CHECK1): Wrap long line.
19463 (RTL_CHECK2): Likewise.
19464 (RTL_CHECKC1): Wrap long line and whitespace.
19465 (RTL_CHECKC2): Likewise.
19466 (XWINT): Whitespace.
19467 (XINT): Likewise.
19468 (XSTR): Likewise.
19469 (XEXP): Likewise.
19470 (XVEC): Likewise.
19471 (XMODE): Likewise.
19472 (XBITMAP): Likewise.
19473 (XTREE): Likewise.
19474 (XBBDEF): Likewise.
19475 (XTMPL): Likewise.
19476 (X0WINT): Likewise.
19477 (X0INT):Likewise.
19478 (X0UINT): Likewise.
19479 (X0STR): Likewise.
19480 (X0EXP): Likewise.
19481 (X0VEC): Likewise.
19482 (X0MODE): Likewise.
19483 (X0BITMAP): Likewise.
19484 (X0TREE): Likewise.
19485 (X0BBDEF): Likewise.
19486 (X0ADVFLAGS): Likewise.
19487 (X0CSELIB): Likewise.
19488 (X0MEMATTR): Likewise.
19489 (XCWINT): Likewise.
19490 (XCINT): Likewise.
19491 (XCUINT): Likewise.
19492 (XCSTR): Likewise.
19493 (XCEXP): Likewise.
19494 (XCVEC): Likewise.
19495 (XCMODE): Likewise.
19496 (XCBITMAP): Likewise.
19497 (XCTREE): Likewise.
19498 (XCBBDEF): Likewise.
19499 (XCADVFLAGS): Likewise.
19500 (XCCSELIB): Likewise.
19501 (XC2EXP): Likewise.
19502 (INSN_UID): Likewise.
19503 (PREV_INSN): Likewise.
19504 (PATTERN): Likewise.
19505 (INSN_CODE): Likewise.
19506 (PUT_REG_NOTE_KIND): Likewise.
19507 (CODE_LABEL_NUMBER): Likewise.
19508 (NOTE_SOURCE_FILE): Likewise.
19509 (NOTE_BLOCK): Likewise.
19510 (NOTE_EH_HANDLER): Likewise.
19511 (NOTE_RANGE_INFO): Likewise.
19512 (NOTE_LIVE_INFO): Likewise.
19513 (NOTE_BASIC_BLOCK): Likewise.
19514 (NOTE_EXPECTED_VALUE): Likewise.
19515 (NOTE_LINE_NUMBER): Likewise.
19516 (LABEL_NAME): Likewise.
19517 (LABEL_NUSES): Likewise.
19518 (LABEL_ALTERNATE_NAME): Likewise.
19519 (ADDRESSOF_DECL): Likewise.
19520 (JUMP_LABEL): Likewise.
19521 (LABEL_NEXTREF): Likewise.
19522 (REGNO): Likewise.
19523 (ORIGINAL_REGNO: Likewise.
19524 (HARD_REGISTER_NUM_P): Add parenthesis.
19525 (SUBREG_REG): Whitespace.
19526 (SUBREG_BYTE): Likewise.
19527 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
19528 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
19529 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
19530 (ASM_OPERANDS_INPUT_VEC): Likewise.
19531 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
19532 (ASM_OPERANDS_INPUT): Likewise.
19533 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
19534 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
19535 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
19536 (ASM_OPERANDS_INPUT_MODE): Likewise.
19537 (ASM_OPERANDS_SOURCE_FILE): Likewise.
19538 (ASM_OPERANDS_SOURCE_LINE): Likewise.
19539 (MEM_SET_IN_STRUCT_P): Minor reformat.
19540 (TRAP_CONDITION): Whitespace.
19541 (TRAP_CODE): Likewise.
19542 (COND_EXEC_TEST): Likewise.
19543 (COND_EXEC_CODE): Likewise.
19544 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
19545 (PHI_NODE_P): Add parenthesis.
19546 (plus_constant): Whitespace and add parenthesis.
19547
e03f5d43
KH
195482002-01-03 Kazu Hirata <kazu@hxi.com>
19549
19550 * config/avr/avr.c: Fix comment typos.
19551 * config/c4x/c4x.md: Likewise.
19552 * config/dsp16xx/dsp16xx.h: Likewise.
19553 * config/dsp16xx/dsp16xx.md: Likewise.
19554 * config/i386/i386.md: Likewise.
19555 * config/ia64/ia64.c: Likewise.
19556 * config/m32r/m32r.h: Likewise.
19557 * config/m68hc11/m68hc11.md: Likewise.
19558 * config/mmix/mmix.c: Likewise.
19559 * config/mn10200/mn10200.c: Likewise.
19560 * config/romp/romp.c: Likewise.
19561 * config/sh/sh.c: Likewise.
19562 * config/stormy16/stormy16.c: Likewise.
19563 * config/stormy16/stormy16.h: Likewise.
19564 * config/stormy16/stormy16.md: Likewise.
19565
97e300e9
GS
195662002-01-03 Graham Stott <grahams@redhat.com>
19567
19568 * loop.h: Update copyright date.
0d24f4d1
ZW
19569 (LOOP_MOVABLES): Fix typo.
19570 (LOOP_REGS): Likewise.
19571 (LOOP_IVS): Likewise.
ff81832f 19572
745b26b3
GS
195732002-01-03 Graham Stott <grahams@redhat.com>
19574
19575 * cppinit.c: Update copyright date.
19576 Don't include output.h
19577 * Makefile.in: Update copyright date.
19578 Update dependency.
19579
0a379b7a
CR
195802002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
19581
19582 PR c/5226
19583 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
19584 (-pthread) Add to RS/6000 options.
19585
a8154559
KH
195862002-01-02 Kazu Hirata <kazu@hxi.com>
19587
19588 * except.c: Fix comment typos.
19589 * loop.c: Likewise.
19590 * varasm.c: Likewise.
19591 * doc/tm.texi: Fix a typo.
19592
e6ecc89b
JJ
195932002-01-02 Jakub Jelinek <jakub@redhat.com>
19594
19595 * c-typeck.c (output_init_element): Allow initializing static storage
19596 duration objects with compound literals.
19597
d1094b40
RH
195982002-01-02 Richard Henderson <rth@redhat.com>
19599
19600 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
19601 after abusing it.
19602
0c5d8c82
KG
196032002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19604
5e65297b
KG
19605 * gcc.c (default_compilers): Const-ify.
19606 * mips-tdump.c (stab_names): Likewise.
19607 * mips-tfile.c (map_coff_types, map_coff_storage,
19608 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
19609 pseudo_ops_t, pseudo_ops): Likewise.
19610 * protoize.c (default_include): Likewise
19611
0c5d8c82
KG
19612 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
19613 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
19614 Add array size in declaration.
19615 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
19616 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
19617 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
19618 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
19619 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
19620 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
19621 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
19622 emtens, make_nan): Const-ify.
19623 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
19624 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
19625
817e13c4
JM
196262002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
19627
19628 * config.gcc (ia64-*-*): Set extra_headers.
19629 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
19630 * config/alpha/t-osf: Remove.
19631 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
19632
98095e2b
DE
196332002-01-02 David Edelsohn <edelsohn@gnu.org>
19634
19635 * config/rs6000/t-aix43: Revert previous change.
19636
a4200657
JM
196372002-01-02 Jason Merrill <jason@redhat.com>
19638
19639 * c-decl.c (c_expand_body): Call outlining_inline_function when
19640 emitting an inline function out of line.
19641
54ba1f0d
RH
196422002-01-02 Richard Henderson <rth@redhat.com>
19643
19644 * dwarf2out.c (limbo_die_node): Add created_for member.
19645 (new_die): New argument created_for. Update all callers.
19646 (mark_limbo_die_list): New.
19647 (dwarf2out_init): Register limbo_die_list as a root.
19648 (dwarf2out_finish): Force insert limbo dies into their function
19649 context.
19650
323728aa
NS
196512002-01-02 Nathan Sidwell <nathan@codesourcery.com>
19652
19653 PR c++/5089
19654 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
19655
aefc5826
KH
196562002-01-02 Kazu Hirata <kazu@hxi.com>
19657
19658 * config/h8300/fixunssfsi.c: Update copyright.
19659 Fix comment typos.
19660 Fix formatting.
19661 * config/h8300/h8300.c: Update copyright.
19662 Eliminate warnings.
19663
b1c9bc51
KH
196642002-01-02 Kazu Hirata <kazu@hxi.com>
19665
19666 * config/romp/romp.c: Fix comment formatting.
19667 * config/romp/romp.h: Likewise.
19668 * config/romp/romp.md: Likewise.
19669 * config/s390/s390.c: Likewise.
19670 * config/stormy16/stormy16.c: Likewise.
19671 * config/stormy16/stormy16.h: Likewise.
19672
1574ef13
AO
196732002-01-02 Alexandre Oliva <aoliva@redhat.com>
19674
19675 * c-common.h (genrtl_expr_stmt_value): Declare.
19676 * c-semantics.c (genrtl_goto_stmt): Redirect to...
19677 (genrtl_goto_stmt_value): ... this new function. Pass new
19678 argument down to expand_expr_stmt_value, taking
19679 TREE_ADDRESSABLE into account.
19680 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
19681 STMT_EXPR as addressable, i.e., one whose result we want.
19682 * expr.c (expand_expr): Don't save expression statement value
19683 of labeled_blocks or loop_exprs.
19684 * stmt.c (expand_expr_stmt): Redirect to...
19685 (expand_expr_stmt_value): ... this new function. Use new
19686 argument to tell whether to save expression value.
19687 (expand_end_stmt_expr): Reset last_expr_type and
19688 last_expr_value if we don't have either.
19689 * tree-inline.c (declare_return_variable): Mark its use
19690 statement as addressable.
19691 * tree.h: Document new use of TREE_ADDRESSABLE.
19692 (expand_expr_stmt_value): Declare.
19693
252b88f7
TR
196942002-01-01 Tom Rix <trix@redhat.com>
19695
19696 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
19697 rs6000_emit_allocate_stack.
19698
29f7a208
JM
196992002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
19700
19701 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
19702 ${srcdir}/ginclude/ to every entry in extra_headers.
19703 * configure: Regenerate.
19704 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
19705 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
19706 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
19707 * ginclude/proto.h: Rename to config/convex/proto.h.
19708
2cc2d4bb
RK
19709Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19710
19711 * attribs.c (handle_vector_size_attribute): Use host_integerp
19712 and tree_int_cst; remove warnings.
19713 * caller-save.c (insert_restore): Add cast to get rid of warning.
19714 (insert_save): Likewise.
19715 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
19716 * regmove.c (find_matches): Add temporary var to kill a warning.
19717
f01c9bcd
DR
197182002-01-01 Douglas B Rupp <rupp@gnat.com>
19719
16b61764
DR
19720 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
19721 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
19722 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
19723 (vms-dwarf2eh.o): Add Makefile rule.
19724 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
19725 * config/alpha/vms-dwarf2eh.asm: New file.
19726
f01c9bcd
DR
19727 * gcc.c (delete_if_ordinary): Delete all versions.
19728
91312b81
HPN
197292002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
19730
19731 * config/mmix/mmix.md: Update FIXME to not mention
19732 define_constants.
19733 (MMIX_rJ_REGNUM): New define_constants constant.
19734 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
19735 "*movdicc_real"): Adjust contraints formatting.
19736 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
19737 for branch prediction.
19738 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
19739 output template.
19740 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
19741 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
19742 number. Delete related FIXMEs.
19743 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
19744 from number to MMIX_rJ_REGNUM.
19745 (TARGET_MASK_BRANCH_PREDICT): New.
19746 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
19747 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
19748 value. Add -mbranch-predict and -mno-branch-predict.
19749 (TARGET_VERSION): Drop date.
19750 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
19751 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
19752 for finding out global symbols.
19753 (mmix_asm_output_labelref): Revert condition for global symbol.
19754 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
19755 (mmix_print_operand_punct_valid_p): A '+' is valid.
19756
619acae7 19757See ChangeLog.6 for earlier changes.