]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
355be0dc
JH
1Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
2 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
3
4 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
5
6 * basic-block.h: Do not include et-forest.h
7 (dominance_info): Declare as struct dominance-info.
8 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
9 deleting block.
10 * dominance.c (struct dominance_info): Define.
11 (BB_NODE, SET_BB_NODE): New macros.
12 (bb_hash_func, bb_eq_func): Kill.
13 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
14 nearest_common_dominator, dominated_by_p, recount_dominator,
15 add_to_dominance_info, delete_from_dominance_info): update for new
16 representation.
17 (get_dominated_by, redirect_immediate_dominators): Rewrite using
18 enumerate_sons.
19 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
20 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
21 structure.
22
23 * et-forest.h: Update copyright; revamp all function to operate on
24 nodes
25 (et_forest_value): Kill.
26 (et_forest_enumerate_sons, et_forest_node_value): New.
27 * et-forest.c: Update copyright.
28 * et-forest.h: Update copyright; revamp all function to operate on
29 nodes
30 (et_forest_value): Kill.
31 (et_forest_enumerate_sons, et_forest_node_value): New.
32
33 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
34
35 * basic-block.h: Inlude et-forest.h
36 (basic_block_def): Kill dominator.
37 (dominance_info): New type.
38 (loops): Use dominace_info.
39 (dominace handling functions): Take dominace_info as argument
40 instead of bitmaps.
41 (create_preheader): Likewise.
42 * cfg.c (entry_exit_blocks): Kill dominator.
43 (dump_flow_info): Do not dump dominators.
44 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
45 dominators.
46 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
47 (flow_loops_pre_header_scan, make_forwarder_block,
48 canonicale_loop_headers, flow_loops_find): Likewise.
49 * dominance.c: Include error.h
50 (idoms_to_doms): Kill.
51 (bb_hash_func, bb_eq_func): New static functions.
52 (debug_dominace_info): New global function.
53 (calculate_dominance_info): Use new et forest structure.
54 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
55 get_dominated_by, redirect_immediate_dominators,
56 nearest_common_dominator, dominated_by_p, verify_dominators,
57 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
58 delete_from_dominance_info): New global functions.
59 * gcse.c (domnators): CHange to dominance_info.
60 (alloc_hoist_mem): Do not alloc dominators
61 (free_code_hoist_mem): Use free_dominance_info.
62 (compute_code_hoist_data): Use dominance_info.
63 (hoist_code): Likewise.
64 * ifcvt.c (post_dominators): Likewise.
65 (find_if_case_2, if_convert): Likewise.
66 * predict.c (process_note_predictions, process_note_prediction,
67 estimate-probability): Likewise.
68 * sched-rgn.c (find_rgns, init_regions): Likewise.
69 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
70 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
71 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
72 find_evaluations, convert_to_ssa): Likewise.
73 * ssa.h (compute_dominance_frontiers): Likewise.
74
75 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
76
77 * Makefile.in (et-forest.c): Add.
78 * et-forest.c: New file.
79 * at-forest.h: New file.
80
ef9772c8
KG
812002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
82
62c71f4b
KG
83 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
84 array size calculation.
85 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
86 Likewise.
87
ef9772c8
KG
88 * diagnostic.c (diagnostic_kind_text): Const-ify.
89 * gengtype.c (lang_names): Likewise.
90
b0dd4808
JH
91Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
92
93 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
94
8433a25e
RO
952002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
96
97 * config/sol2.h: New file.
98 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
99 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
100 (sparc-*-chorusos*): Likewise.
101 (sparc-*-elf*): Likewise.
102 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
103 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
104 (sparc-hal-solaris2*): Likewise.
105 (sparc-*-solaris2*): Likewise.
106 (sparclite-*-elf*): Likewise.
107 (sparc86x-*-elf*): Likewise.
108 (sparc64-*-elf*): Likewise.
109
110 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
111 config/sol2.h.
112 (ASM_SPEC): Override config/sol2.h version for now.
113 Removed obsolete GAS_REJECTS_MINUS_S variant.
114 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
115 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
116 (TARGET_OS_CPP_BUILTINS): Likewise.
117 Assert system=unix.
118 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
119 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
120 config/sol2.h.
121 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
122 (ASM_CPU_SPEC): Define.
123 (SUBTARGET_EXTRA_SPECS): Define.
124
125 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
126 in config/sparc/sol2.h.
127 (ASM_SPEC): Moved to config/sol2.h.
128 (CPP_CPU_SPEC): Simplified.
129 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
130 consistency.
131 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
132 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
133 STARTFILE_ARCH64_SPEC.
134 (STARTFILE_SPEC): Moved to config/sol2.h
135 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
136 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
137 (LINK_ARCH64_SPEC): Simplified.
138 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
139 (LINK_SPEC): Moved to config/sol2.h
140
141 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
142 config/sol2.h.
143 Use BITS_PER_WORD for size.
144 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
145 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
146 (CPP_PREDEFINES): Removed OS-specific part handled by
147 TARGET_OS_CPP_BUILTINS.
148 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
149 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
150 (ASM_SPEC): Moved to config/sol2.h.
151 (PREFERRED_DEBUGGING_TYPE): Likewise.
152 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
153 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
154 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
155 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
156
157 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
158 * config/i386/sol2gas.h: Removed.
159
b6bb1d56
JH
160Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
161
162 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
163
74d86f4f
RH
1642002-05-20 Richard Henderson <rth@redhat.com>
165
166 * c-common.c (c_common_get_alias_set): Correctly handle characters.
167 Rearrange order of expressions; don't handle vectors here.
168 * alias.c (get_alias_set): Let vectors match their components.
169
1867b624
CD
1702002-06-19 Chris Demetriou <cgd@broadcom.com>
171
172 * config/mips/mips.c (mips_emit_prefetch): Use hints which
173 match desired locality.
174
2c1d2fcb
DD
1752002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
176
177 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
178 (h8300_insert_attributes): New.
179
84d901be
AD
1802002-06-19 Akim Demaille <akim@epita.fr>
181
182 * c-parse.in (initelt: identifier ':' initval): Add an empty
183 action to fix a type clash.
184 (aliasdecl, classdef): Add the missing closing `;'.
185 Whitespace changes.
186 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
187 $$ = $1 type clashes.
188
8f2e3902
EC
1892002-06-19 Eric Christopher <echristo@redhat.com>
190
191 * config/mips/mips.c (symbol_operand): New function.
192 (mips_emit_prefetch): Ditto.
193 * config/mips/mips-protos.h: Define.
194 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
195 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
196 (LEGITIMIZE_ADDRESS): Ditto.
197 * config/mips/mips.md (prefetch, prefetch_si_address,
198 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
199
c894819c
EC
2002002-06-19 Eric Christopher <echristo@redhat.com>
201
202 * config/fp-bit.h: Add unordered defines for gofast.
203
4005971c
VM
2042002-06-19 Vladimir Makarov <vmakarov@redhat.com>
205
206 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
207 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
208 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
209 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
210 checking and without it.
211 (decl_name, decl_mode_check_failed, regexp_name,
212 regexp_mode_check_failed): New functions.
213 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
214 gen_presence_set, gen_absence_set, gen_automaton,
215 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
216 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
217 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
218 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
219 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
220 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
221 (decl_hash, decl_eq_p): Use the macros.
222 (find_decl): Ditto. Set up mode of work_decl.
223 (process_excls, process_presence_absence, process_decls,
224 check_automaton_usage, process_regexp, process_regexp_decls,
225 check_usage, loop_in_regexp, check_loops_in_regexps,
226 process_regexp_cycles, add_advance_cycle_insn_decl,
227 initiate_states, initiate_excl_sets,
228 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
229 transform_2): Use the macros.
230 (transform_3): Ditto. Check mode before making transformations of
231 ALLOF.
232 (regexp_transform_func, transform_insn_regexps,
233 process_unit_to_form_the_same_automaton_unit_lists,
234 form_the_same_automaton_unit_lists_from_regexp,
235 form_the_same_automaton_unit_lists,
236 process_seq_for_forming_states, process_alts_for_forming_states,
237 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
238 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
239 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
240 units_to_automata_heuristic_distr, create_ainsns,
241 units_to_automata_distr, create_automata): Use the macros.
242 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
243 (longest_path_length, min_issue_delay_pass_states,
244 output_dead_lock_vect, output_tables, output_insn_code_cases,
245 output_internal_insn_latency_func, output_print_reservation_func,
246 output_description, output_automaton_units, generate): Use the
247 macros.
248 (make_insn_alts_attr): Ditto. Check case when there are not
249 alternatives in the reservation.
250 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
251 make_bypass_attr, form_important_insn_automata_lists,
252 expand_automata): Use the macros.
c894819c 253
015089dd
TJ
2542002-06-20 Tim Josling <tej@melbpc.org.au>
255
256 * Makefile.in: Clean up code to check for misspecified languages
257 in enable-languages.
258
7999462c
AP
2592002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
260
84d901be 261 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 262
9c8d079c
JM
2632002-06-19 Jason Merrill <jason@redhat.com>
264
265 * Makefile.in (unstrap, restrap): New targets.
266 (bootstrap): Mention restrap.
267
d90a95fb
MK
2682002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
269
270 * except.c (ehl_free): Remove.
271
272 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
273 builtin_define and builtin_define_std.
274
f01a0d8d
ID
2752002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
276
277 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
278 (sCOND): Restrict operand class so that gcc knows how to reload them.
279 (bitfield_set): Merge two unnamed insn's using alternatives.
280 (call_value): Remove constraint on unused uperand.
281 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
282 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
c894819c 283
f01a0d8d
ID
284 * longlong.h (count_trailing_zeros): Escape newline and beautify.
285
62363d99
MM
2862002-06-19 Mark Mitchell <mark@codesourcery.com>
287
288 * Makefile.in (QMTEST_DIR): Simplify definition.
289
099bd656
NC
2902002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
291
292 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
293 #define.
294
278c4662
NB
2952002-06-19 Neil Booth <neil@daikokuya.co.uk>
296
297 * cpphash.h (struct cpp_reader): Make date and time strings.
298 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
299 _cpp_replacement_text_len): New.
300 * cppinit.c (cpp_create_reader): Update.
301 (init_builtins): Register appropriate builtins for -traditional-cpp.
302 * cppmacro.c (new_number_token): Remove.
303 (_cpp_builtin_macro_text): New.
304 (builtin_macro): Use it.
305 (cpp_macro_definition): Update to handle traditional macros.
306 * cppmain.c (cb_line_change): Don't do column positioning for
307 traditional output.
308 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
309 state ls_fun_close.
310 (skip_whitespace): Fix.
311 (maybe_start_funlike): Don't set state.parsing_args.
312 (scan_out_logical_line): Remove duplicate error. Use lex_state
313 rather than state.parsing_args.
314 (push_replacement_text): Handle builtins.
315 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
316
afd1930f 3172002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 318 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
319
320 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
321 attribute __always_inline__.
322
5ee924c2
BW
3232002-06-18 Bob Wilson <bob.wilson@acm.org>
324
325 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
326 when generating the call to _mcount.
327 (NO_PROFILE_COUNTERS): Define.
328
32c36ac8
RH
3292002-06-18 Richard Henderson <rth@redhat.com>
330
331 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
332 2002-06-02 change.
333
c985dc5e
R
334Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
335
336 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
337 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
338 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
339 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
e3ba8d11
R
340
341 * sh-protos.h (sh_pr_interrupt): Declare.
342 * sh.c (sh_pr_interrupt): New function.
343 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
344 (sh_hard_regno_rename_ok): Likewise.
345 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
346
e3c8eb86
VM
3472002-06-18 Vladimir Makarov <vmakarov@redhat.com>
348
349 * rtl.def (DEFINE_AUTOMATON): Add description of new options
350 `time' and `v'. Fix incorrect description of option `w'.
351
352 * doc/md.texi: Ditto.
353
354 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
355 (gen_automata_option): Process the new options.
356 (transform_2, transform_3): Initialize some variables.
357 (initiate_automaton_gen): Use the new macros.
c894819c 358
b2471838
RS
3592002-06-18 Richard Sandiford <rsandifo@redhat.com>
360
361 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
362 (mips_set_return_address, mips_restore_gp): Declare.
363 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
364 (current_frame_info): Remove.
365 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
366 * config/mips/mips.c: Remove uses of current_frame_info.
367 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
368 (struct machine_function): Add 'frame' and 'insns_len'.
369 (current_frame_info, zero_frame_info): Remove.
370 (mips_restore_gp, mips_set_return_address): New.
371 (mips_initial_elimination_offset): New.
372 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
373 (eh_return define_split): Use mips_set_return_address.
374
d97371e0
NB
3752002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
376
377 * cpplib.c (dtable): Update.
378 (end_directive): Decrement expansion prevention count.
379 Clear state.in_expression.
380 (prepare_directive_trad): Set state.in_expression.
381 Increment expansion prevention count.
382 * cpptrad.c (enum ls): New.
383 (_cpp_overlay_buffer): Set overlaid_buffer.
384 (_cpp_remove_overlay): Use overlaid_buffer.
385 (_cpp_read_logcial_line_trad): Update buffer when it might
386 have changed.
387 (scan_out_logical_line): Handle state transitions for assertions
388 and defined() in #if, and for funlike invocations including the
389 directive case. Handle '<' and '>' as a quote mechanism in
390 #include. Warn about unterminated macro invocations.
391 * cpphash.h (struct lexer_state): New member in_expression.
392 (struct cpp_reader): New member overlaid buffer.
393
807b20b0
HPN
3942002-06-18 Hans-Peter Nilsson <hp@axis.com>
395
396 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
397 __always_inline__.
398
8a09a7e5
AM
3992002-06-18 Alan Modra <amodra@bigpond.net.au>
400
147d5f6f
AM
401 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
402
8a09a7e5
AM
403 * doloop.c (doloop_optimize): Extract pattern from insn.
404
390de769
MK
4052002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
406
407 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
408
912ce297
JL
4092002-06-17 Jeff Law <law@redha.com>
410
411 * libgcc2.c: Do not include symcat.h or machmode.h.
412
5c45425b
RH
4132002-06-17 Richard Henderson <rth@redhat.com>
414
415 PR target/6922
416 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
417
9aa497ae
TT
4182002-06-17 Tom Tromey <tromey@redhat.com>
419
420 * dwarfout.c: Include function.h.
421
7f11f1f9
AS
4222002-06-17 Andreas Schwab <schwab@suse.de>
423
424 * print-rtl.c (print_rtx): Print space before vector, not after.
425 (debug_rtx): Clear sawclose before printing.
426 (debug_rtx_list): Print newline after each list element.
427 (debug_rtx_range): Likewise.
428
df696a75
RH
4292002-06-17 Richard Henderson <rth@redhat.com>
430
431 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
432 (current_function_funcdef_no): Similarly.
433 * function.c (funcdef_no): Similarly.
434 (prepare_function_start): Set current_function_funcdef_no.
435 (expand_function_start): Don't set current_function_profile_label_no.
436 * dwarf2out.h (current_funcdef_number): Remove.
437 * dwarf2out.c (current_funcdef_number): Remove. Replace with
438 current_function_funcdef_no throughout.
439 * dwarfout.c, vmsdbgout.c: Similarly.
440 * except.c (sjlj_funcdef_number): Remove.
441 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
442 (output_function_exception_table): Likewise.
443 * final.c (profile_function): Use current_function_funcdef_no
444 instead of current_function_profile_label_no.
445
97272202
VM
4462002-06-17 Vladimir Makarov <vmakarov@redhat.com>
447
448 * sched-ebb.c (init_ready_list): Check INSN_P first.
449
8bccce2d
R
450Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
451
452 * sh.md (divsi3): Update way how to find insns in a sequence.
dec0798e
R
453
454 * reload1.c (merge_assigned_reloads): Don't change reloads
455 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
456 to RELOAD_OTHER when there are conflicting input reloads.
457
0af5c896
RE
4582002-06-17 Richard Earnshaw (rearnsha@arm.com)
459
460 * function.c (epilogue_done): Correctly build a sequence of insns for
461 a sibcall epilogue.
462
9d0fa9d6
NC
4632002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
464
845b1456
NC
465 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
466 #define.
467
9d0fa9d6
NC
468 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
469
e83f3cff
RH
4702002-06-16 Richard Henderson <rth@redhat.com>
471
472 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
473 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
474
caecc099
RH
4752002-06-16 Richard Henderson <rth@redhat.com>
476
477 PR opt/6722
478 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
479
3d05b15f
NB
4802002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
481
caecc099
RH
482 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
483 * config/i386/i386-aout.h, config/i386/i386elf.h,
484 config/i386/sysv4.h: Remove CPP_PREDEFINES.
485 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
486 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
487 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
488 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3d05b15f 489 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 490 * config/i386/sysv4-cpp.h: New.
3d05b15f 491
8370aa3a
RH
4922002-06-16 Richard Henderson <rth@redhat.com>
493
65a90f3c 494 PR c/7030
8370aa3a
RH
495 * dwarf2out.c (modified_type_die): Don't assign the qualified die
496 to the unqualified type.
497
e932b21b
JH
498Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
499
500 * i386-protos.h (x86_field_alignment): Declare.
501 * i386.c (x86_field_alignment): Define.
502 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
503 (BIGGEST_FIELD_ALIGNMENT): Kill.
504
7ee02381
RH
5052002-06-16 Richard Henderson <rth@redhat.com>
506
f01a0d8d 507 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 508
750491fc
RH
5092002-06-16 Richard Henderson <rth@redhat.com>
510
511 * c-common.c (flag_ms_extensions): Move from c++ front end.
512 * c-common.h (flag_ms_extensions): Declare.
513 * c-decl.c (c_decode_option): Add -fms-extensions.
514 (grokfield): Don't accept anonymous structures in ISO C mode;
515 accept only unnamed anonymous structures in GNU C mode; accept
516 Plan 9 extensions in MS mode.
517 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
518 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
519 (extension): Clear flag_iso.
520 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
521
c134da6b
HPN
5222002-06-16 Hans-Peter Nilsson <hp@axis.com>
523
524 PR target/7042
525 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
526 early if current_function_epilogue_delay_list is non-empty.
527 * config/cris/cris.md ("return"): Add sanity check asserting that
528 current_function_epilogue_delay_list is empty.
529
038c7976
JL
5302002-06-16 Jeff Law <law@redhat.com>
531
006a94b0
JL
532 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
533 sharing of hard registers.
534
535 * toplev.c (rest_of_compilation): Remove redundant conditional.
536
038c7976
JL
537 * toplev.c (rest_of_compilation): Perform a simpler, less costly
538 cleanup of the CFG when not optimizing.
539
0797741a
AM
5402002-06-16 Alan Modra <amodra@bigpond.net.au>
541
542 * gcc.c (main): Correct startfile_prefix_spec check.
543
a6e2e53e
GK
5442002-06-12 Geoffrey Keating <geoffk@redhat.com>
545
546 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
547 include both darwin.o and rs6000-c.o.
548
129e0ee8
RS
5492002-06-15 Roger Sayle <roger@eyesopen.com>
550
551 * expr.c (compare_from_rtx): Call simplify_relational_operation
552 on all comparisons, not just those between integer constants,
553 with the correct (possibly unsigned) comparison code.
554 (do_compare_rtx_and_jump): Likewise.
555
d5355cb2
JDA
5562002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
557
558 * Makefile.in (tm_defines): New configuration variable.
559 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
560 Pass tm_defines in TM_DEFINES.
561 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
562 * config.gcc (tm_defines): New configuration variable.
563 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
564 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
565 * configure.in: Substitute tm_defines.
566 * configure: Rebuilt.
567 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
568 * doc/install.texi: Update.
569 * pa/pa-700.h: Delete file.
570 * pa/pa-7100.h: Delete file.
571
8dcb27ed
RS
5722002-06-15 Roger Sayle <roger@eyesopen.com>
573
574 * fold-const.c (comparison_to_compcode): New function to convert
575 an comparison TREE CODE into a bit-based representation.
576 (compcode_to_comparison): New function to convert from this bit
577 based representation back to a comparison TREE CODE.
578 (fold_truthop): Simplify (x<y) && (x==y) and related composite
579 comparisons.
580
182e515e
AH
5812002-06-15 Aldy Hernandez <aldyh@redhat.com>
582
f01a0d8d 583 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 584
f01a0d8d
ID
585 * stor-layout.c (compute_record_mode): Remove check for
586 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
587 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
588 MEMBER_TYPE_FORCES_BLK.
182e515e 589
f01a0d8d 590 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 591
f01a0d8d 592 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 593
8773135d
JS
5942002-06-14 Jeff Sturm <jsturm@one-point.com>
595
596 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
597
893a047c
SE
5982002-06-14 Steve Ellcey <sje@cup.hp.com>
599
600 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
601 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
602 * configure, config.in: Regenerate.
603
045d7161
EB
6042002-06-14 Eric Botcazou <ebotcazou@multimania.com>
605
606 * loop.c (check_final_value): Use v->always_executed
607 instead of v->always_computable.
608 * unroll.c (final_giv_value): Don't calculate the final
609 value as a function of the biv if the giv is not computed
610 for every loop iteration.
611
048c8616 6122002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 613
048c8616
EB
614 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
615
43e4a9d8
EB
6162002-06-14 Eric Botcazou <ebotcazou@multimania.com>
617
52689a98 618 PR c/6677
43e4a9d8
EB
619 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
620 the truncation down when the target type is signed.
621 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
622 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
623 the conversion if the target type is a smaller type.
624
fa4a5557
RH
6252002-06-14 Richard Henderson <rth@redhat.com>
626
627 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
628 earlier. Re-factor comparisons vs extrema.
629
d95eb49f
RH
6302002-06-14 Richard Henderson <rth@redhat.com>
631
632 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
633
be202ec2
FS
6342002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
635
636 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
637 * sched-deps.c (add_dependence): Likewise.
638 (group_leader): Likewise.
639 * sched-rgn.c (init_ready_list): Likewise.
640 * doc/rtl.texi: Adjust accordingly.
641
e56c4463
JL
6422002-06-13 Jeffrey Law <law@redhat.com>
643
99a15921
JL
644 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
645 null pointer checks were eliminated. Update prototype.
646 (delete_null_pointer_checks): Similarly.
647 * rtl.h (delete_null_pointer_checks): Update prototype.
648 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
649 delete_null_pointer_checks deletes one or more null
650 pointer checks. Do not run cleanup_cfg before gcse, the
651 CFG is accurate and optimized at that point..
652
e56c4463
JL
653 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
654 of hard registers.
655
556b821e
UW
6562002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
657
658 * Makefile.in (libgcc.mk): Depend on specs.
659
fa60f36d
R
660Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
661
662 * sh.md (mulsi3): Update way how to find insns in a sequence.
663
03b8ec29
DD
664Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
665
666 * sh.h: Define HARD_REGNO_RENAME_OK
667 * sh.c: sh_hard_regno_rename_ok: New. If current function has
668 interrupt_handler attribute, only registers saved on stack are OK.
669 * sh-protos.h: Declare sh_hard_regno_rename_ok.
670
8e831557
KK
6712002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
672
673 * config/sh/sh.md (jump): Emit jump insn.
674 (call_pcrel): Get pattern of the result of gen_call_site.
675 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
676
bf9d5852
NB
6772002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
678
679 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
680 * cpptrad.c: Update comments.
681 (skip_whitespace, copy_comment): Take a new parameter.
682 (skip_escaped_newlines): Don't duplicate escaped newline test.
683 (copy_comment): Different location for CUR, decide here how
684 to copy / replace the comment.
685 (skip_whitespace): Copy whitespace.
686 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
687 (scan_out_logical_line): Let copy comment handle keeping or
688 replacing comments.
689 (scan_parameters, _cpp_create_trad_definition): Update.
690
57292ec3
AL
6912002-06-13 Alan Lehotsky <apl@alum.mit.edu>
692
693 * reload.c (get_secondary_mem,find_reloads_address,
694 find_reloads_address_1): Pass reference to MEM to find_reloads_address
695 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
c894819c 696
a6f5e048
RH
6972002-06-13 Jessica Han <jessica@cup.hp.com>
698
699 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
700 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
701 * doc/tm.texi: Document them.
702 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
703 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
704 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
705 (ASM_OUTPUT_FDESC): Likewise.
706
3aafa0bb
EC
7072002-06-13 Eric Christopher <echristo@redhat.com>
708
709 * diagnostic.c (output_format): Fix thinko.
710
8e581963
R
711Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
712
713 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
714 (DWARF2_UNWIND_INFO): Define to 0.
9d7ed806
R
715
716 * config/sh/sh.c (calc_live_regs): Don't use initial_value
717 optimization for PR_MEDIA_REG.
718
b66377c1
NB
7192002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
720
721 * cpphash.h (_cpp_lex_identifier_trad): Remove.
722 * cpplib.c (end_directive): Don't skip, always remove overlay
723 apart from #define.
724 (prepare_directive_trad): Handle NULL pfile->directive.
725 (_cpp_handle_directive): Always call prepare_directive_trad
726 if traditional.
727 * cppmain.c (check_multiline_token): Rename account_for_newlines,
728 generalize inputs.
729 (scan_translation_unit_trad): Use it.
730 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
731 output, get escaped newline in comment close correct.
732 (check_output_buffer, skip_whitespace): Update.
733 (_cpp_lex_identifier_trad): Remove.
734 (scan_out_logical_line): Handle -C and comments in directives
735 properly.
736
8bc6e101
R
737Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
738
739 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
740 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
741 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
742 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
743 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
744 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
745 (SELECT_SH5_COMPACT_NOFPU): Likewise.
746 (TARGET_SWITCHES): Use them.
747 (TARGET_CPU_DEFAULT): Define if not already defined.
748 (TARGET_DEFAULT): Use it.
749 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
750 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
751 * config/sh/t-monolib: New file.
752
2181005d
RS
7532002-06-13 Roger Sayle <roger@eyesopen.com>
754
755 * toplev.c (rest_of_compilation): Simplify (and correct) the
756 logic of the first delete-null-pointer-checks pass.
757
aaae0bb9
JH
758Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
759
760 * i386.c (ix86_expand_movstr): Fix pasto.
761
762Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
763
764 * reload.c (find_valid_class): Fix thinko in my previous patch.
765
dd3fbd93
UW
7662002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
767
768 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
769 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
770 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
771 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
772
0d0f605c
GDR
7732002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
774
775 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 776 fields.
0d0f605c 777
c92bcccb
GDR
7782002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
779
780 * diagnostic.c (output_format): Recognize "%H" as a format
781 specifier for a location_t.
782 (text_specifies_location): New function.
783 (diagnostic_set_info): Use it.
784
7f243674
JL
7852002-06-13 Jeffrey Law <law@redhat.com>
786
6cde4876
JL
787 * emit-rtl.c (static_regno_reg_rtx): Define.
788 (init_emit_once): Initialize static_regno_reg_rtx.
789 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
790 of building new hard reg objects once per function.
791 (gen_rtx_REG): Try to share hard regs.
792 * regclass.c (init_fake_stack_mems): New function broken out from
793 init_regs.
794 * rtl.h (init_fake_stack_mems): Declare.
795 * toplev.c (lang_independent_init): Call init_regs before
796 init_emit_once. Call init_fake_stack_mems after init_emit_once.
797
110b3faa
JL
798 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
799
7f243674
JL
800 * alias.c (argument_registers): Remove.
801 (init_alias_once): Initialize static_reg_base_value here. Remove
802 initialization of argument_registers.
803 (init_alias_once_per_function): Remove.
804 (init_alias_analysis): Copy all the entries from static_reg_base_value
805 into new_reg_base_value all at once.
806 * rtl.h (init_alias_once_per_function): Remove declaration.
807 * function.c (prepare_function_start): Do not call
808 init_alias_once_per_function.
809
810 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
811 starting a sequence and emitting an INSN.
812
a336f2e5
RS
8132002-06-13 Richard Sandiford <rsandifo@redhat.com>
814
815 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
816
2acf0fa9
DM
8172002-06-13 David S. Miller <davem@redhat.com>
818
819 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
820
974c43f1
NB
8212002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
822
823 * cpplib.c (end_directive): Handle line skipping. Only remove
824 the rest of the line if the directive was valid.
825 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
826 expanding a traditional macro.
827 * cpptrad.c (recursive_macro): New.
828 (read_logical_line_trad): Handle skipping.
829 (scan_out_logical_line): Continue after a successful directive.
830 Don't expand macros whilst skipping, or if recursing.
831 (_cpp_create_trad_definition): scan_out_logical_line now sets
832 the output current position.
833
12bf26b6
EC
8342002-06-12 Eric Christopher <echristo@redhat.com>
835
836 From Chris Demetriou <cgd@broadcom.com>
837 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
838 comment.
839 (ISA_HAS_MADD_MSUB): Ditto.
840 (ISA_HAS_NMADD_NMSUB): Ditto.
841
be95b8a5
EC
8422002-06-12 Eric Christopher <echristo@redhat.com>
843
844 * config.gcc: Consolidate little endian handling and
845 little/big endian targets.
846 * config/mips/elfl.h: Remove file.
847 * config/mips/elfl64.h: Ditto.
848 * config/mips/ecoffl.h: Ditto.
849 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
850
e03856fe
GK
8512002-06-12 Geoffrey Keating <geoffk@redhat.com>
852
853 * gengtype.h (xvasprintf): New prototype.
854 (xasprintf): New prototype.
855 (struct outf): New.
856 (get_output_file): Return an outf_p.
857 (header_file): Is now an outf_p.
858 (base_files): Now are outf_p.
859 (oprintf): New.
860 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
861 rather than stdio operations. Use xasprintf in a few places,
862 when appropriate.
863 (xvasprintf): New.
864 (xasprintf): New.
865 (struct filemap): Delete.
866 (files): Delete.
867 (output_files): New.
868 (oprintf): New.
869 (create_file): Create an outf_p. Add parameter to indicate output
870 file name, change all callers.
871 (open_base_files): Create gtype-desc.c here.
872 (get_output_file_with_visibility): Rewrite.
873 (get_output_file_name): Just look at 'name' field in struct outf.
874 (close_output_files): Rewrite.
875
ec01703c
JT
8762002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
877
878 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 879 (MASK_G_FLOAT): Define.
ec01703c
JT
880 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
881 (TARGET_SWITCHES): Likewise.
882 (TARGET_DEFAULT): Likewise.
883
8b0397a6
DJ
8842002-06-12 Daniel Jacobowitz <drow@mvista.com>
885
886 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
887 * config/mips/mips.c (mips_output_filename): Don't print a
888 ".file" directive if we are using DWARF-2.
889 (mips_output_function_prologue): Do not emit source file
890 name for TARGET_GAS.
891
495333a6
JH
892Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
893
894 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
895 decide whether emit the short opcode.
896 * i386.h (x86_shift1): Declare.
897 (TARGET_SHIFT1): New macro.
898 * i386.c (x86_shift1): New global variable.
899
8b0397a6
DJ
900 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
901 unconditionally; make loop to rebuild CFG; kill unnecesary
902 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
903 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
904 * haifa-sched.c (sched_init): Likewise.
905 * ssa-ccp.c (ssa_const_prop): Likewise.
906 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
907
d11cea13
DM
9082002-06-11 David S. Miller <davem@redhat.com>
909
910 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
911 active_insn_p.
912
676997cf
RH
9132002-06-11 Richard Henderson <rth@redhat.com>
914
915 * c-common.c (builtin_define_type_max): New.
916 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
917 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
918
919 From Joseph S. Myers:
920 * glimits.h: Rewrite to expect the double underscore definitions
921 from the compiler.
922
923 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
924 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
925 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
926 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
927 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
928 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
929 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
930 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
931
116b7a5e
RH
9322002-06-11 Richard Henderson <rth@redhat.com>
933
934 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
935 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
936 (code_for_builtns): Update.
937 (alpha_init_builtins): Add __builtin_thread_pointer and
938 __builtin_set_thread_pointer.
939 (alpha_expand_builtin): Handle void builtins.
940 * doc/extend.texi (Alpha Built-in Functions): Update.
941
0cec6af1
HPN
9422002-06-11 Hans-Peter Nilsson <hp@axis.com>
943
944 PR target/6997
945 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
946
1c0ca89d
ZW
9472002-06-11 Zack Weinberg <zack@codesourcery.com>
948
949 * config.gcc: Make the name of the extra-modes file adjustable
950 by target stanzas.
951 (s390x, strongarm, xscale stanzas): Use this facility.
952 * configure.in: Update to match.
953 * configure: Regenerate.
954
5dc8d536
AH
9552002-06-11 Aldy Hernandez <aldyh@redhat.com>
956
1c0ca89d
ZW
957 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
958 max/mins as unsigned GE compares.
5dc8d536 959
169274cd
JT
9602002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
961
1c0ca89d 962 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
963 * config/vax/bsd.h: New file.
964 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
965 (CPP_PREDEFINES): Remove.
966 (TARGET_OS_CPP_BUILTINS): Define.
967 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
968 * config/vax/openbsd.h: Update copyright years.
969 (CPP_PREDEFINES): Remove.
970 (TARGET_OS_CPP_BUILTINS): Define.
971 * config/vax/ultrix.h: Likewise.
972 * config/vax/vaxv.h: Likewise.
973 * config/vax/vms.h: Likewise.
974 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
975 (CPP_PREDEFINES, CPP_SPEC): Remove.
976
2f41793e
JH
977Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
978
979 * i386.md (addqi_1_slp, subqi_1_slp
980 (andqi_ext0, testqi_ext0): Remove unnecesary check.
981 (addhi*, addqi*): Simplify "dec" condition.
982 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
983 (and, or, xor to QImode splitters): New.
984 (iorqi_ext*): New.
985 (xorqi_ext_0): New.
986 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
987 (andqi_ext_1_rex64): New.
988 (ashrqi*_slp): New.
989 (ashlqi*_slp): New.
990 (lshlqi*_slp): New.
991 (rotrqi3*_slp): New.
992 (rotlqi3*_slp): New.
993
fc5c400a
GK
9942002-06-11 Geoffrey Keating <geoffk@redhat.com>
995
4c4eb375
GK
996 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
997 softfloat.h.
998 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
999 (CPP_ENDIAN_LITTLE_SPEC): Delete.
1000 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
1001 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
1002 __LONG_DOUBLE_128__ setting, _CALL_* setting.
1003 (CPP_DEFAULT_SPEC): Delete.
1004 (CPP_FLOAT_DEFAULT_SPEC): Delete.
1005 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
1006 (CPP_SYSV_DEFAULT_SPEC): Delete.
1007 (CPP_ENDIAN_BIG_SPEC): Delete.
1008 (CPP_ENDIAN_LITTLE_SPEC): Delete.
1009 (CPP_ENDIAN_SPEC): Delete.
1010 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
1011 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
1012 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
1013 cpp_longdouble_default.
1014 * config/rs6000/softfloat.h: Delete.
1015 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
1016 (EXTRA_SPECS): Delete cpp_cpu.
1017 (TARGET_CPU_CPP_BUILTINS): New.
1018 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
1019 prototype.
1020 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
1021 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
1022 (CPP_DEFAULT_SPEC): Delete.
1023 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
1024 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
1025 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
1026 (CPP_DEFAULT_SPEC): Delete.
1027 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
1028 (CPLUSPLUS_CPP_SPEC): Likewise.
1029 (CPP_CPU_SPEC): Delete.
1030 (CPP_DEFAULT_SPEC): Delete.
1031 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
1032 (CPLUSPLUS_CPP_SPEC): Likewise.
1033 (CPP_CPU_SPEC): Delete.
1034 (CPP_DEFAULT_SPEC): Delete.
1035 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
1036 (CPP_DEFAULT_SPEC): Delete.
1037 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
1038 (CPP_DEFAULT_SPEC): Delete.
1039
fc5c400a
GK
1040 * doc/gty.texi: Small updates.
1041
13f0d49c
GDR
10422002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
1043
1044 * objc/objc-act.c (warn_with_ivar): Adjust calls to
1045 diagnostic_count_error.
1046 (warn_with_method): Likewise.
1047
1048 * diagnostic.h (warnings_are_errors_message): New field of
1049 diagnostic_context.
1050 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
1051 match semantics.
1052 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
1053 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 1054 diagnostics.
13f0d49c
GDR
1055 (diagnostic_initialize): Initialize warnings_are_errors_message field.
1056
0797e472
TT
10572002-06-11 Tom Tromey <tromey@redhat.com>
1058
1059 For PR java/6520:
1060 * fold-const.c (fold_convert): Don't modify existing tree's type.
1061
f288d4aa
GK
10622002-06-11 Geoffrey Keating <geoffk@redhat.com>
1063
1064 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
1065
d27bab4c
RH
10662002-06-11 Richard Henderson <rth@redhat.com>
1067
1068 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
1069
bc2a8f08
RH
10702002-06-11 Richard Henderson <rth@redhat.com>
1071
1c0ca89d 1072 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
1073 DWARF2_UNWIND_INFO is false.
1074
b217ec1b
BW
10752002-06-11 Bob Wilson <bob.wilson@acm.org>
1076
1077 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
1078
11819f80
UW
1079 * config/s390/s390.c (emit_prologue): gen_store_multiple
1080 returns an insn now, not a pattern.
1081
c2727579
RO
10822002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1083
1084 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
1085 $(TEXI2DVI) -o.
1086
285464d0
JH
1087Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
1088
1089 * i386.c (x86_promote_QImode): Set for Athlon
1090 (x86_fast_prefix): New global variable.
1091 (x86_arch_always_fancy_math_387): Fix formating.
1092 * i386.h (x86_fast_prefix): Declare
1093 (TARGET_FAST_PREFIX): define.
1094 * i386.md (and to strict_low_part, HI to SI
1095 promoting splitter): Use new macro.
1096
1097 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
1098
1bb1f121
ZW
10992002-06-11 Zack Weinberg <zack@codesourcery.com>
1100
1101 * Makefile.in (distclean): Delete junk left in testsuite
1102 directory, too.
1103
88c65786
JL
11042002-06-11 Jeffrey Law <law@redhat.com>
1105
c6a3fcf0
JL
1106 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
1107 last insn created by the splitter.
1108
0db79a6b
JL
1109 * caller-save.c (init_caller_save): Move creation of SAVEINSN
1110 and RESTINSN into into the scope of the sequence.
1111
47eb2ca8
JL
1112 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
1113 RETURN insns.
1114
603b4b92
JL
1115 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
1116
88c65786
JL
1117 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
1118 not the pattern. So extract the pattern from the insn.
882c7223
JL
1119
1120 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
1121
df14489a
UW
11222002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
1123
1124 * config/s390/s390.md (movsi): Only use floating point
1125 register alternatives when operands are already fprs.
1126 (movdi_31, movdi_64): Likewise.
1127
6f9703af
DM
11282002-06-11 David S. Miller <davem@redhat.com>
1129
1130 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
1131 Only run RTX equality checks on INSN_P rtl.
1132
b2ccb744
UW
11332002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
1134
1135 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 1136 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 1137 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 1138 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
1139 s390_asm_output_pool_prologue): Likewise.
1140 * s390.h (s390_pool_start_insn): Likewise.
1141
1c0ca89d 1142 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
1143 old-style pool chunks.
1144 (s390_function_epilogue): Likewise.
1c0ca89d 1145 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
1146 alignment for 64-bit literal pools.
1147 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 1148 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
1149 old-style pool chunks.
1150 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
1151 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
1152 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
1153
1154 * s390.c (consttable_operand): New function.
1155 * s390-protos.h (consttable_operand): Declare it.
1156 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
1157 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
1158 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
1159 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
1160 * s390.c (struct constant, struct constant_pool): New data types.
1161 (constant_modes, gen_consttable): New variables.
1c0ca89d 1162 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 1163 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 1164 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
1165 overflow handling.
1166
1167 * s390.c (s390_pool_overflow): New variable.
1168 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 1169 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
1170 jumps in literal pool overflow situations.
1171
1172 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 1173 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
1174 by new literal pool overflow code.
1175 (s390_emit_prologue): Likewise.
1176
2f937369
DM
11772002-06-05 David S. Miller <davem@redhat.com>
1178
1179 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
1180 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
1181 emit_insns_before_scope, emit_insns_after,
1182 emit_insns_after_scope): Delete declaration.
1183 * ada/misc.c (insert_code_for): Use emit_insn* instead of
1184 emit_insns_foo.
1185 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
1186 (alpha_set_memflags): Fix comment.
1187 (set_frame_related_p): Use get_insns instead of gen_sequence.
1188 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
1189 emitting no insns.
1190 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
1191 gen_sequence.
1192 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
1193 * config/fr30/fr30.c (fr30_move_double): Likewise.
1194 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
1195 Likewise.
1196 * config/ia64/ia64.c (spill_restore_mem): Likewise.
1197 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
1198 no insns.
1199 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
1200 instead of gen_sequence.
1201 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
1202 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
1203 * config/sh/sh.c (sh_need_epilogue): Likewise.
1204 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
1205 attributes.
1206 (setjmp pattern and split): Use them to avoid splitter which emits
1207 no RTL.
1208 * genattrtab.c (main): Emit include of function.h
1209 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
1210 get_insns instead of gen_sequence.
1211 * config/cris/cris.c (cris_split_movdx): Likewise.
1212 * emit-rtl.c (emit_insns*): Kill.
1213 (try_split): Expect insn list instead of SEQUENCE.
1214 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
1215 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
1216 Make them abort if a SEQUENCE is given and RTL checking is
1217 enabled.
1218 (emit_*_scope): Don't forget to set scope on final insn.
1219 (gen_sequence): Move from here...
1220 * ssa.c (gen_sequence): To here as private function.
1221 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
1222 comments.
1223 (expand_builtin_return, expand_builtin_mathfn): Likewise.
1224 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
1225 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
1226 (expand_builtin_expect_jump): Use get_insns and fix comments.
1227 * calls.c (try_to_integrate): Use emit_insn_foo.
1228 (expand_call, emit_library_call_value_1): Likewise.
1229 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
1230 (emit_move_insn_1): Use get_insns instead of gen_sequence.
1231 (expand_expr): Use emit_insn_foo.
1232 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
1233 * except.c (build_post_landing_pads): Likewise.
1234 * flow.c (attempt_auto_inc): Likewise.
1235 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
1236 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
1237 * function.c (fixup_var_refs_insn): Use get_insns instead of
1238 gen_sequence.
1239 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
1240 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
1241 (fixup_stack_1, purge_addressof_1, expand_main_function,
1242 get_arg_pointer_save_area): Likewise.
1243 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
1244 expand_function_end): Use emit_insn_foo.
1245 (record_insns, keep_stack_depressed): Work with insn list instead
1246 of SEQUENCE, fix comments.
1247 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
1248 noce_try_store_flag_constants, noce_try_store_flag_inc,
1249 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
1250 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
1251 (noce_process_if_block): Use get_insns instead of gen_sequence.
1252 * optabs.c (add_equal_note): Work with insn list, fix comments.
1253 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
1254 (expand_unop, expand_complex_abs, expand_unop_insn,
1255 expand_no_conflict_block): Likewise.
1256 (gen_move_insn): Use get_insns instead of gen_sequence.
1257 (gen_cond_trap): Likewise.
1258 * integrate.c (copy_rtx_and_substitute): Likewise.
1259 (emit_initial_value_sets): Use emit_insn_foo.
1260 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
1261 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
1262 now that RTL generators give insn lists.
1263 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
1264 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
1265 instead of gen_sequence.
1266 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
1267 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
1268 instead of gen_sequence.
1269 * loop.c (move_movables, emit_prefetch_instructions,
1270 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
1271 Likewise.
1272 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
1273 (product_cheap_p): Likewise, and add commentary about RTL wastage
1274 here.
1275 * lcm.c (optimize_mode_switching): Use get_insns instead of
1276 gen_sequence.
1277 * profile.c (gen_edge_profiler): Likewise.
1278 * regmove.c (copy_src_to_dest): Likewise.
1279 * reg-stack.c (compensate_edge): Likewise and fix comment.
1280 * gcse.c (process_insert_insn): Likewise.
1281 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
1282 * jump.c (delete_prior_computation): Update comment.
1283 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
1284 of gen_sequence, update comments to match.
1285 * recog.c (peephole2_optimize): Work with insn lists instead of
1286 SEQUENCE rtl.
1287 * sched-vis.c (print_pattern): Abort on SEQUENCE.
1288 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
1289 Use get_insns instead of gen_sequence.
1290 (copy_loop_body): Likewise and don't emit dummy NOTE.
1291 * genrecog.c: Don't mention SEQUENCE rtl in comments.
1292 * combine.c (try_combine): Expect insn lists from split generator.
1293 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
1294 hand.
1c0ca89d 1295
43cf10b5
RS
12962002-06-11 Roger Sayle <roger@eyesopen.com>
1297 Andreas Jaeger <aj@suse.de>
1298
1299 * cfgbuild.c: Update copyright years.
1300
1062f15a
AS
13012002-06-11 Andreas Schwab <schwab@suse.de>
1302
1c0ca89d 1303 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 1304
ce3649d2
EC
13052002-06-11 Eric Christopher <echristo@redhat.com>
1306
1307 * doc/tm.texi (Run-time Target): Add comment about flag_iso
1308 and strict ANSI.
1309 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
1310 * config/mips/ecoffl.h: Ditto.
1311 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
1312 (CPP_PREDEFINES): Ditto.
1313 * config/mips/elfl64.h: Ditto.
1314 * config/mips/elfl.h: Ditto.
1315 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
1316 out until irix header consolidation.
1317 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
1318 with SUBTARGET_OS_CPP_BUILTINS.
1319 * config/mips/iris6.h: Ditto.
1320 (CPLUSPLUS_CPP_SPEC): Remove.
1321 * config/mips/linux.h: Ditto.
1322 * config/mips/netbsd.h: Ditto.
1323 * config/mips/openbsd.h: Ditto.
1324 * config/mips/rtems.h: Ditto.
1325 * config/mips/rtems64.h: Ditto.
1326 * config/mips/sni-svr4.h: Ditto.
1327 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
1328 ISA_MIPS32, ISA_MIPS64): New defines.
1329 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
1330 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
1331 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
1332 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
1333 (TARGET_CPU_CPP_BUILTINS): Define.
1334 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
1335 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
1336 (movdicc): Remove check for ISA_MIPS32.
1337 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
1338 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
1339 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
1340 sunge_sf, sunle_df, sunle_sf): New patterns.
1341
bc3437ba
NB
13422002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
1343
1344 * Makefile.in: Update cppmain.o.
1345 * cpphash.h (struct cpp_reader): Move some members to a
1346 nested structure.
1347 (trad_line): Rename saved_line.
1348 (_cpp_read_logical_line_trad): Update.
1349 (_cpp_remove_overlay): New.
1350 * cppinit.c (cpp_create_reader): No need to set saved_line.
1351 (cpp_destroy): Update.
1352 (cpp_read_main_file): Only overlay if compiling.
1353 * cpplex.c (continue_after_nul): Return false if in directive.
1354 * cpplib.c (EXPAND): New.
1355 (directive_table, SEEN_EOL): Update.
1356 (end_directive): Remove overlay if traditional; don't skip
1357 line in traditional #define.
1358 (prepare_directive_trad): New.
1359 (_cpp_handle_directive, run_directive): Update for traditional
1360 directives.
1361 (lex_macro_node): Simplify, don't use lex_identifier_trad.
1362 * cpplib.h (struct options): Add preprocess_only.
1363 * cppmain.c: Don't include intl.h.
1364 (cpp_preprocess_file): Set options->preprocess_only.
1365 (scan_translation_unit_trad): Fix, and print line numbers.
1366 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
1367 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
1368 save_replacement_text, _cpp_create_trad_definition): Update for
1369 variable renaming.
1370 (_cpp_overlay_buffer): Save line number.
1371 (_cpp_remove_overlay): Rename from restore_buff, restore line.
1372 (_cpp_read_logical_line_trad): Don't handle overlays here.
1373 (scan_out_logical_line): Process directives.
1374
b25bb36a
DS
13752002-06-11 Danny Smith <dannysmith@users.sourforge.net>
1376
1377 * gthr-win32.h: Wrap functions in extern "C".
1378 (__gthread_key_t): Typedef as unsigned long,
1379 not win32 DWORD.
1380 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
1381 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
1382 (__gthr_win32_once, __gthr_win32_key_create,
1383 __gthr_win32_key_delete, __gthr_win32_getspecific,
1384 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
1385 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
1386 __gthr_win32_mutex_unlock): Declare.
1387 (__gthread_once,__gthread_key_create,
1388 __gthread_key_delete, __gthread_getspecific,
1389 __gthread_setspecific, __gthread_mutex_init_function,
1390 __gthread_mutex_lock,__gthread_mutex_trylock,
1391 __gthread_mutex_unlock): Call corresponding
1392 __gthr_win32_* extern implementations if #defined
1393 __GTHREAD_HIDE_WIN32API.
1394 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 1395 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
1396 * config/i386/gthr-win32.c: New implementation file.
1397 (__gthr_win32_once, __gthr_win32_key_create,
1398 __gthr_win32_key_delete, __gthr_win32_getspecific,
1399 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
1400 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
1401 __gthr_win32_mutex_unlock): New functions, based on
1402 static inlines in gthr-win32.h.
1403
a69c385e
BW
14042002-06-10 Bob Wilson <bob.wilson@acm.org>
1405
1406 * config/xtensa/xtensa.c (override_options): Don't warn about
1407 using -fpic or -fPIC when PIC is enabled by default.
1408
e654730d
RS
14092002-06-10 Roger Sayle <roger@eyesopen.com>
1410
1411 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
1412
a5381466
ZW
14132002-06-10 Zack Weinberg <zack@codesourcery.com>
1414
1415 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 1416 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
1417 exists, substitute its pathname as @extra_modes_file@, define
1418 EXTRA_MODES_FILE to be an appropriate string to #include it
1419 with, and define EXTRA_CC_MODES to 1.
1420
1421 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
1422 it's defined. Get rid of redundancy in calling sequence for
1423 CC; don't use it to define CCmode, to avoid a warning.
1424 * libgcc2.c: Include symcat.h for the sake of machmode.def.
1425
1426 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
1427 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
1428 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
1429 New files.
1430 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
1431 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
1432
1433 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
1434 defining extra CC modes.
1435
852c6ec7
RS
14362002-06-10 Roger Sayle <roger@eyesopen.com>
1437 Andreas Jaeger <aj@suse.de>
1438
1439 * cfgrtl.c (create_basic_block_structure): Remove index argument
1440 and use last_basic_block++ instead. (create_basic_block): Update.
1441 * cfgbuild.c (find_basic_blocks_1): Likewise.
1442
1443 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
1444 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
1445 * sched-ebb.c (schedule_ebbs): Likewise.
1446 * sched-rgn.c (schedule_insns): Likewise.
1447 * ssa-ccp.c (ssa_const_prop): Likewise.
1448 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
1449 * toplev.c (rest_of_compilation): Likewise.
1450 * config/ia64/ia64.c (ia64_reorg): Likewise.
1451
60c86d4e
RS
14522002-06-10 Roger Sayle <roger@eyesopen.com>
1453
1454 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
1455 of matching registers.
1456
9543a9d2
RS
14572002-06-10 Roger Sayle <roger@eyesopen.com>
1458
1459 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
1460 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
1461
38e18619
HPN
14622002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
1463
1464 * config/mmix/mmix.h: Improve comments.
1465 (CPP_SPEC, CPP_PREDEFINES): Don't define.
1466 (TARGET_CPU_CPP_BUILTINS): Define.
1467 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
1468 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
1469 unused predicate.
1470 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
1471 compiler warning.
1472 (mmix_constant_address_p): Remove another
1473 redundant test before case.
1474 (mmix_canonicalize_comparison): Remove unused function.
1475 (mmix_print_operand_address): Don't test and adjust for operand in
1476 non-canonical format.
1477 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
1478 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
1479
ac17cd8f
ZW
14802002-06-10 Zack Weinberg <zack@codesourcery.com>
1481
1482 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
1483 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
1484 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
1485 (gen_compare): Use CCmode unconditionally.
1486
7b668f9e
JJ
14872002-06-10 Jakub Jelinek <jakub@redhat.com>
1488
1489 PR optimization/6759
1490 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
1491 the REQ_EQUAL note.
1492
85d49058
JJ
14932002-06-10 Jakub Jelinek <jakub@redhat.com>
1494
1495 PR c/6660
1496 * c-decl.c (grokfield): Allow user defined types if they declare
1497 structs or unions for unnamed fields.
1498
50f30e6b
JJ
14992002-06-10 Jakub Jelinek <jakub@redhat.com>
1500
1501 PR c/6809
1502 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
1503
156755ac
JJ
15042002-06-10 Jakub Jelinek <jakub@redhat.com>
1505
1506 PR optimization/6842
1507 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
1508 operand subreg cannot be simplified.
1509
5d056e9b
JJ
15102002-06-10 Jakub Jelinek <jakub@redhat.com>
1511
1512 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
1513 (compare_constant): Likewise.
1514 (output_addressed_constants): Likewise.
1515
2bf87216
JJ
15162002-06-10 Jakub Jelinek <jakub@redhat.com>
1517
1518 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
1519 merge bb with itself.
1520
135fd2d8
RH
15212002-06-10 Richard Henderson <rth@redhat.com>
1522
1523 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
1524 (builtin_zapnot): Likewise.
1525
1526 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
1527 reservation.
1528
fce5a9f2
EC
15292002-06-10 Eric Christopher <echristo@redhat.com>
1530
1531 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
1532 prototype and function.
1533 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
1534 (call_insn_operand): Remove half pic references.
1535 (legitimate_address_p): Ditto.
1536 * config/i386/i386.h: Remove half pic defines.
1537
95b1627e
EC
15382002-06-10 Eric Christopher <echristo@redhat.com>
1539
1540 * doc/extend.texi (Return Address): Add note explaining the side-
1541 effects of inlining on __builtin_return_address.
1542
aea185b3
TT
15432002-06-10 Tom Tromey <tromey@redhat.com>
1544
1545 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
1546 (c-common.o): Depend on langhooks.h.
1547
afb03408
NB
15482002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
1549
1550 * cpphash.h (_cpp_read_logical_line_trad,
1551 _cpp_expansions_different_trad): Update prototypes.
1552 * cpplex.c (continue_after_nul): New.
1553 * cppmain.c: Include cpphash.h.
1554 (scan_translation_unit_trad): New.
1555 (cpp_preprocess_file): Call it.
1556 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
1557 overlay.
1558 (_cpp_expansions_different_trad): Update prototype.
1559
2754d3c5
R
1560Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
1561
1562 Fix cfi generation for SH[1-4]:
1563
1564 * sh.c (frame_insn): New function.
1565 (output_stack_adjust): Add parameter emit_fn. All callers changed.
1566 (push): Now returns rtx. Use frame_insn.
1567 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
1568 of a DF register.
1569 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
1570
ad854f24
ZW
15712002-06-10 Zack Weinberg <zack@codesourcery.com>
1572
1573 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
1574 and gtype-desc.c.
1575 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
1576 (distclean): ... not here. But do delete all testsuite/*.log,
1577 testsuite/*.sum files here. Delete mkheaders. Delete
1578 po/*.gmo and the testsuite directory in a split tree build.
1579
bf1660a6
JL
15802002-06-10 Jeffrey Law <law@redhat.com>
1581
1582 * alias.c (static_reg_base_value): New to hold RTL for
1583 items allocated once per function for the aliasing code.
1584 (init_alias_once_per_function): Initialize static_reg_base_value.
1585 (init_alias_analysis): Avoid throw-away allocations of RTL by
1586 using pre-computed values in static_reg_base_value.
1587 * function.c (prepare_function_start): Call
1588 init_alias_once_per_function appropriately.
1589 * rtl.h (init_alias_once_per_function): Declare.
1590 * caller-save (init_caller_save): Restructure slightly to
1591 avoid lots of silly RTL generation.
1592 * expr.c (init_expr_once): Likewise.
1593 * reload1.c (reload_cse_regs_1): Allocate throw-away register
1594 RTL object here. Pass it into children.
1595 (reload_cse_simplify_operands): Use passed-in register RTL
1596 object.
1597 (reload_cse_simplify): Pass through throw-away register
1598 RTL object.
1599
8dc58484 16002002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 1601
8dc58484
DB
1602 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
1603
ea16b5ee
RS
16042002-06-10 Richard Sandiford <rsandifo@redhat.com>
1605
1606 * gcc.c (process_command): Avoid assignment to read-only location.
1607 Fix sizeof calculation.
1608
6618c5d4
NB
16092002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
1610
1611 * cpphash.h (struct cpp_macro): Put comments on their own lines.
1612 (_cpp_expansions_different_trad): New.
1613 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
1614 * cpptrad.c (canonicalize_text): New.
1615 (scan_out_logical_line): Handle no arguments correctly.
1616 (save_replacement_text): Commit memory when finished.
1617 (_cpp_expansions_different_trad): New.
1618
96e3ac4f
TJ
16192002-06-10 Tim Josling <tej@melbpc.org.au>
1620
1621 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
1622 TREELANG and COBOL.
1623 (lang_names): Add treelang and cobol.
1624 (get_file_basename): Add code to support treelang and cobol as
1625 4th and 5th users of c-common.c.
1626
37a4aa31
GK
16272002-06-09 Geoffrey Keating <geoffk@redhat.com>
1628
1629 * Makefile.in (install-driver): Install driver as
1630 $(target_alias)-gcc-$(version).
1631 * gcc.c (spec_version): Make const.
1632 (process_command): Handle -V and -b by using exec.
1633 * doc/invoke.texi (Target Options): Restore -V option,
1634 update docs for -b option.
1635
02ef40d9
TJ
16362002-06-10 Tim Josling <tej@melbpc.org.au>
1637
ad854f24
ZW
1638 * configure.in (remaining_languages_check):
1639 Added check that all languages specified were found.
02ef40d9
TJ
1640 Exit if not found. Previous behaviour was silent failure.
1641 * configure: Regenerated.
1642
b38b97c4 16432002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 1644
1c0ca89d 1645 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
1646 instructions in sourcebuild.texi. Also add to gcc.c list of
1647 default languages.
ad854f24 1648
b38b97c4
TJ
1649 * doc/contrib.texi: Add self as contributor of treelang.
1650
1651 * doc/frontends.texi: Add mention of treelang.
1652
1653 * doc/invoke.texi (Overall Options): Add mention of treelang.
1654
1655 * doc/standards.texi: Add mention of treelang.
1656
ae9dbf1f
HPN
16572002-06-09 Hans-Peter Nilsson <hp@axis.com>
1658
1659 * config/cris/cris.c: Include ggc.h
1660
1ce676a0
NB
16612002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
1662
1663 * cpphash.h (_cpp_push_text_context): Update.
1664 (_cpp_arguments_ok): New.
1665 * cppmacro.c (_cpp_arguments_ok): New, split out from...
1666 (collect_args): ...here.
1667 (_cpp_push_text_context): Change inputs.
1668 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
1669 replace_args_and_push): New.
1670 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
1671 Don't use IS macros directly.
1672 (scan_out_logical_line): Handle function-like macro argument
1673 collection.
1674 (push_replacement_text): Update.
1675 (replacement_length): Remove.
1676 (_cpp_create_trad_definition): Don't skip whitespace before
1677 checking for '('.
1678
25f2e176
MM
16792002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
1680
1681 * config/avr/avr.c (avr_mcu_types): Update for new devices.
1682 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
1683 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
1684 * config/avr/avr.md ("type" and "length" attributes): New type
1685 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
1686 output a single "call" or "rcall" insn depending on device size.
1687 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
1688
309323c2
DE
16892002-06-09 David Edelsohn <edelsohn@gnu.org>
1690
1691 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
1692 synonym for 630. Add power4. Remove embedded processors. Use -m604
1693 assembler option.
1694 (CPP_CPU_SPEC): Add power3 and power4.
1695 (PROCESSOR_DEFAULT): Change to 604e.
1696 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
1697 (CPP_CPU_SPEC): Similar additions.
1698 (enum process_type): Add POWER4.
1699 (RTX_COSTS): Add POWER4.
1700 (CPP_CPU_SPEC): Similar additions.
1701 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 1702 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
1703 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
1704 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
1705 branch adjustment.
1706 (rs6000_issue_rate): Add Power4.
1707 * config/rs6000/rs6000.md (cpu attr): Add power4.
1708 (iu compare): Remove 604, 604e, 620, 630.
1709 Add basic Power4 scheduling information.
1710 (mfcr/mtcrf): Change type attribute to cr_logical.
1711
1f8e4682
KG
17122002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1713
57d80297
KG
1714 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
1715 ATTRIBUTE_PRINTF_2.
1716 * gengtype-lex.l: Fix format specifier warning.
1717
1f8e4682
KG
1718 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
1719 not isspace.
1720 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
1721 lieu of isspace/IDchar.
1722 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
1723 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
1724 ISSPACE.
1725
5a9ee623
ZW
17262002-06-08 Zack Weinberg <zack@codesourcery.com>
1727
1728 * Makefile.in (LIBCPP_OBJS): Take out version.o.
1729 * cpphash.h (cpp_reader): Take out print_version member.
1730 * cppinit.c: (cpp_handle_option): Don't do anything with
1731 -version. Just set help_only for --version, --target-help.
1732 Just set verbose option for -v.
1733 (cpp_post_options): Don't print a version string.
1734
c16e5a35
MM
17352002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
1736
1737 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
1738 (avr_section_type_flags): New, handle .noinit* sections.
1739
79bc889e
JT
17402002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1741
1742 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
1743 and include netbsd_entry_point.
1744 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
1745 (NETBSD_ENTRY_POINT): Define.
1746
6a79bb0a
JT
17472002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1748
1749 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 1750 if not already defined.
6a79bb0a
JT
1751 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
1752
e52b6b63
MM
17532002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
1754
1755 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
1756 in a noreturn function.
1757 (avr_output_function_prologue, avr_output_function_epilogue):
1758 Correct function size calculation. Do not crash on empty function.
1759 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
1760
1569d670
JT
17612002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1762
1763 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
1764 netbsd_link_spec and netbsd_entry_point.
1765 (LINK_SPEC): Use %(netbsd_link_spec).
1766 (NETBSD_ENTRY_POINT): Define.
1767
cfb06024
JT
17682002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1769
1770 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
1771 linker emulation.
1772 (LINK_ARCH64_SPEC): Likewise.
1773 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
1774 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
1775
5a9ee623
ZW
17762002-06-08 Marc Espie <espie@openbsd.org>
1777
1778 * lists.c (free_list): Fix typo in comment.
e3623158 1779
272cdf58
AJ
17802002-06-08 Andreas Jaeger <aj@suse.de>
1781
1782 * lcm.c (optimize_mode_switching): Add unused attribute for
1783 variable.
1784
1785 * sched-deps.c (sched_analyze): Remove unused variable.
1786
bf3f2a12
GDR
17872002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
1788
1789 * diagnostic.def: Don't capitalize diagnostict descriptors.
1790
523a5f2f
JT
17912002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1792
1793 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
1794 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
1795 (NETBSD_ENTRY_POINT): Define.
1796
a3e944f9
JT
17972002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1798
1799 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
1800 NETBSD_LINK_SPEC_ELF.
1801 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
1802 (NETBSD_ENTRY_POINT): Define.
1803 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
1804 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
1805 netbsd_entry_point.
1806 (NETBSD_ENTRY_POINT): Define.
1807
854928a0
JT
18082002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1809
1810 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
1811 netbsd_link_spec and netbsd_entry_point.
1812 (LINK_SPEC): Use %(netbsd_link_spec).
1813 (NETBSD_ENTRY_POINT): Define.
1814
6bb5d2e7
JT
18152002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1816
1817 * config/netbsd-elf.h (LINK_SPEC): Rename to...
1818 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
1819 to specify program entry point.
1820
e50126e8
JL
18212002-06-07 Jeff Law <law@redhat.com
1822
1823 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 1824 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
1825 than creating a new register.
1826 (distribute_notes): Likewise.
1827 * df.c (df_reg_use_gen): Likewise.
1828 (df_reg_clobber_gen): Likewise.
1829 (df_ref_record): Likewise.
1830 * expr.c (use_regs): Likewise.
1831 * flow.c (propagate_one_insn): Likewise.
1832 (mark_set_1): Likewise.
1833 (mark_used_reg): Likewise.
1834 * reload.c (emit_reload_insns): Likewise.
1835
bc9c18c3
RS
18362002-06-07 Roger Sayle <roger@eyesopen.com>
1837
1838 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
1839 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
1840 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
1841 comparison code comp can be reversed.
1842
437f1df1
RS
18432002-06-07 Roger Sayle <roger@eyesopen.com>
1844
1845 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
1846 constants last in comparisons. Optimize (x+1.0)>0.0 into the
1847 equivalent x > -1.0 when -ffast-math.
1848
cd24b8a4
JT
18492002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
1850
1851 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
1852 * config/mips/t-netbsd: New file.
1853
09e77dee
ZW
18542002-06-07 Zack Weinberg <zack@codesourcery.com>
1855
1856 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
1857 options their own entries.
1858 (parse_option): Clarify comment.
1859 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
1860 special case. Replace if/strcmp chain for -W options with
1861 use of new OPT_* entries for them.
1862 (cpp_handle_options): Update to match.
1863 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
1864 * c-decl.c: Update call to cpp_handle_option.
1865
942030dc
AD
18662002-06-07 Akim Demaille <akim@epita.fr>
1867
1868 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
1869 Whitespace changes.
1870
f2846820
JL
18712002-06-07 Jeffrey Law <law@redhat.com>
1872
1873 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
1874 on empty lists.
1875
4bafaa6f
L
18762002-06-07 H.J. Lu (hjl@gnu.org)
1877
1878 * configure.in: Add --enable-__cxa_atexit.
1879 * configure: Regenerated.
1880 * config.in: Likewise.
1881
1882 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
1883 not defined.
1884
caef5b46
GDR
18852002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
1886
1887 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
1888
ac64a17c
JT
18892002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
1890
1891 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
1892
97459791
JM
18932002-06-07 Jason Merrill <jason@redhat.com>
1894
1895 * cppexp.c (num_equality_op): Use a temporary variable to work
1896 around gcc 3.0.4 bug.
1897
4b1d52c7
GDR
18982002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
1899
1900 * diagnostic.c (diagnostic_build_prefix): Tidy.
1901
c70f6ed3
NB
19022002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
1903
1904 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
1905 scan_parameters, save_replacement_text, replacement_length): New.
1906 (scan_out_logical_line): Take a macro and save parameters if
1907 non-NULL.
1908 (_cpp_logical_line_trad): Update.
1909 (_cpp_create_trad_definition): Update to handle function-like
1910 macros.
1911 * cpplex.c (new_buff): Update.
1912 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
1913 * cpphash.h: ...here.
1914 (CPP_ALIGN2, _cpp_save_parameter): New.
1915 * cppmacro.c (save_parameter): Rename, export.
1916 (parse_params): Update.
1917
aec2ac46
AJ
19182002-06-07 Andreas Jaeger <aj@suse.de>
1919
1920 * config/mmix/mmix.c: Remove extra broken prototype for
1921 mmix_init_machine_status.
1922
9f313342
GK
19232002-06-06 Geoffrey Keating <geoffk@redhat.com>
1924
1925 * gengtype.c: Add comments before all the routines.
1926
3fa1b448
JT
19272002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
1928
1929 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
1930 from and add t-sh64 to ${tmake_file}.
1931 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
1932 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
1933 * config/sh/t-netbsd-sh5-32: Remove.
1934 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
1935 MULTILIB_ENDIAN.
1936 (MULTILIB_DIRNAMES): Define.
1937
0d682900
JH
1938Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
1939
1940 * i386.md (and promoting splitters): Disable QI to SImode promoting
1941 when doing so changes immediate to be 32bit.
1942
1943 * rtl.h (emit_*_scope): Declare.
1944 * emit-rtl.c (emit_*_scope): New global functions.
1945 (try_split): Copy scope.
1946 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
1947 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
1948 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
1949 noce_process_if_block, find_cond_trap): Copy scopes.
1950 * recog.c (peephole2_optimize): likewise.
1951
c991649c
JL
19522002-06-06 Jeffrey Law <law@redhat.com>
1953
1954 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
1955
8a5d66c4
R
1956Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
1957
1958 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
1959
d7f8491b
RO
19602002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1961
1962 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
1963 ($(docdir)/gccinstall.info): New target.
1964 (info): Depend on it.
1965 (gccinstall.dvi): New target.
1966 (dvi): Depend on it.
1967 * doc/.cvsignore: Ignore new info files.
1968 * doc/install.texi (@setfilename): Reflect new info filename.
1969
eaeb7de8
R
1970Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
1971
1972 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
1973 on an UNSPEC.
1974
0c7aeb88
NP
1975Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
1976
1977 PR objc/6834
1978 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
1979 c_common_get_alias_set.
aec2ac46 1980 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 1981
2a496e8b
JDA
19822002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
1983
1984 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
1985 functions.
1986 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
1987 * avr/avr.c (avr_output_function_epilogue): Use above to determine
1988 function size.
1989 * pa/pa.c (pa_output_function_prologue): Likewise.
1990
2ff581c3
DM
19912002-06-05 David S. Miller <davem@redhat.com>
1992
1993 * integrate.c (subst_constants): Handle 'B' RTL format.
1994
b2e2d0cc
EC
19952002-06-05 Eric Christopher <echristo@redhat.com>
1996
1997 * varasm.c (make_decl_rtl): Fix comment for removed
1998 halfpic.c.
1999
0f81faf6
EC
20002002-06-05 Eric Christopher <echristo@redhat.com>
2001
2002 * Makefile.in: Remove missed halfpic bits.
2003
33005162
EC
20042002-06-05 Eric Christopher <echristo@redhat.com>
2005
2006 * toplev.c: Remove half-pic.
2007 * config/mips/mips.c: Ditto.
2008 * config/mips/mips.h: Ditto. Remove unused defines.
2009 * config/mips/openbsd.h: Update comment to reflect above.
2010 * config/mips/mips.md: Remove half-pic constraints.
2011 * halfpic.h: Delete.
2012 * halfpic.c: Ditto.
2013
80081028
JL
20142002-06-05 Jeffrey Law <law@redhat.com>
2015
5a9ee623
ZW
2016 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
2017 rejects (mem (lo_sum (reg) (unspec))), but will allow
2018 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 2019
cbc69f84
NB
20202002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
2021
2022 * cpphash.h (_cpp_create_definition): Update prototype.
2023 (_cpp_push_text_context, _cpp_create_trad_definition): New.
2024 ( cpp_lex_identifier_trad): New.
2025 (_cpp_set_trad_context): New.
2026 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
2027 * cpplib.c (SEEN_EOL): Update.
2028 (lex_macro_node): Update for -traditional.
2029 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
2030 * cppmacro.c (_cpp_create_definition): Split into
2031 create_iso_definition() and _cpp_create_trad_definition().
2032 (warn_of_redefinition): Update prototype; handle traditional
2033 macros.
2034 (_cpp_push_text_context): New.
2035 * cpptrad.c (skip_whitespace, push_replacement_text): New.
2036 (lex_identifier): Call ht_lookup with correct start.
2037 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
2038 _cpp_set_trad_context): New.
2039 (scan_out_logical_line): Update to handle changing contexts.
2040
dbf87f32
R
2041Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
2042
2043 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
2044 (shl*-*-elf*): Add.
2045 * config/sh/t-be (MULTILIB_ENDIAN): Set.
2046 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
2047 * t-sh (MULTILIB_ENDIAN): Set.
2048 (MULTILIB_OPTIONS): Use it.
2049 * t-sh64 (MULTILIB_OPTIONS): Likewise.
2050 (MULTILIB_DIRNAMES): Likewise.
2051
47b69537
GDR
20522002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
2053
2054 * toplev.h (report_error_function): Remove.
2055
2056 * diagnostic.h (location_t): New datatype.
2057 (text_info): Likewise.
2058 (diagnostic_info): Likewise.
2059 (output_prefix): New macro.
2060 (diagnostic_last_function_changed): Likewise.
2061 (diagnostic_set_last_function): Likewise.
2062 (diagnostic_last_module_changed): Likewise.
2063 (diagnostic_set_last_module): Likewise.
2064 (report_diagnostic): Now macro.
2065 (diagnostic_set_info): Declare.
2066
2067 * diagnostic.c (report_problematic_module): Rename to
33005162 2068 diagnostic_repor_current_module.
47b69537
GDR
2069 (set_diagnostic_context): Remove.
2070 (count_error): Rename to diagnostic_error_count.
2071 (error_function_changed): Remove.
2072 (record_last_error_function): Likewise.
2073 (error_module_changed): Likewise.
2074 (record_last_error_module): Likewise.
2075 (context_as_prefix): Rename to diagnostic_build_prefix.
2076 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
2077 (diagnostic_set_info): New function.
2078
2079 * objc/objc-act.c: #include diagnostic.h
2080 (error_with_ivar): Adjust call to count_error.
2081 (warn_with_method): Likewise.
2082 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
2083
540eaea8
BW
20842002-06-05 Bob Wilson <bob.wilson@acm.org>
2085
2086 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
2087 lang_hooks.types.make_type instead of make_node; set up
2088 __va_list_tag type decl.
2089 (xtensa_builtin_saveregs): Remove broken use of
2090 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
2091 for saved registers; add varargs alias set.
2092
f23a084d
NB
20932002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
2094
2095config:
2096 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
2097 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
2098 CPP_PREDEFINES and part of CPP_SPEC.
2099 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
2100 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
2101
3fe3a596
JH
2102Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
2103
2104 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
2105
1fd9ba59
AM
21062002-06-05 Alan Modra <amodra@bigpond.net.au>
2107
2108 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
2109
cea554e0
ZW
21102002-06-04 Zack Weinberg <zack@codesourcery.com>
2111
2112 * gengtype-yacc.y: Make sure all rules end with a semicolon.
2113
07232638
BW
21142002-06-04 Bob Wilson <bob.wilson@acm.org>
2115
2116 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
2117 typo in function prototype and include "ggc.h" header.
2118
c4b50f1a
RH
21192002-06-04 Richard Henderson <rth@redhat.com>
2120
2121 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
2122 (print_operand) ['U']: Likewise.
2123 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
2124 (alpha_expand_unaligned_store_words): Likewise.
2125 (alpha_expand_builtin_vector_binop): Fix typo.
2126 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
2127 umulh, and cix insns.
2128 (one_arg_builtins): Add cix builtins.
2129 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
2130 (alpha_expand_builtin): Fix typo in arity.
2131 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
2132 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
2133 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
2134 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
2135 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
2136 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
2137 builtin_ctlz, builtin_ctpop): New.
2138 * doc/extend.texi (Alpha Built-in Functions): Update.
2139
aaab35ae
GK
21402002-06-04 Geoffrey Keating <geoffk@redhat.com>
2141
afb0f770
GK
2142 * gengtype.c (write_gc_root): Don't unnecessarily prevent
2143 global variable-length arrays being roots.
2144
aaab35ae
GK
2145 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
2146 * configure.in (config_gtfiles): New variable.
2147 (all_gtfiles): Initialise from config_gtfiles.
2148 * configure: Regenerate.
2149
1ba7b414
NB
21502002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
2151
2152config/i386:
2153 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
2154 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
2155 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
2156 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
2157 win32.h (CPP_SPEC): Remove cpp_cpu.
2158 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
2159 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
2160
135ca7b2
JJ
21612002-06-04 Janis Johnson <janis187@us.ibm.com>
2162
2163 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
2164
85d69216 21652002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
2166 David Edelsohn <edelsohn@gnu.org>
2167 Michael Matz <matz@kde.org>
85d69216
JL
2168
2169 * sched-int.h (struct deps): New field libcall_block_tail_insn.
2170 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
2171 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
2172 is set, then mark the current insn as being part of a libcall
2173 scheduling group.
2174 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
2175
2176 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
2177 insns against the issue rate.
2178
63f4a88e
JH
2179Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
2180
2181 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
2182 * final.c (final_scan_insn): Likewise.
2183 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
2184 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
2185 * haifa-sched.c (unlink_other_notes): Likeewise.
2186 (reemit_notes): Likewise.
2187 * print-rtl.c (print_rtx): Likewise.
2188 * sched-deps (sched-analyze): Likewise.
2189 * rtl.c (note_insn_name): Likewise.
2190 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
2191 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
2192 (RANGE_*): Kill.
2193
a5d1f75b
JT
21942002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
2195
2196 * varasm.c (mark_constants): Handle RTX format 'B'.
2197
82eda77e
NB
21982002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
2199
2200 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
2201 (struct cpp_context): Add traditional fields.
2202 * cppmacro.c (paste_all_tokens, push_ptoken_context,
2203 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
2204 * cpptrad.c (skip_comment, lex_identifier,
2205 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
2206
589005ff
KH
22072002-06-04 Kazu Hirata <kazu@cs.umass.edu>
2208
2209 * gbl-ctors.h: Fix formatting.
2210 * gcc.c: Likewise.
2211 * gccspec.c: Likewise.
2212 * gcov.c: Likewise.
2213 * gcov-io.h: Likewise.
2214 * gcse.c: Likewise.
2215 * ggc-common.c: Likewise.
2216 * ggc.h: Likewise.
2217 * ggc-page.c: Likewise.
2218 * ggc-simple.c: Likewise.
2219 * global.c: Likewise.
2220 * graph.h: Likewise.
2221 * gthr-dce.h: Likewise.
2222 * gthr.h: Likewise.
2223 * gthr-posix.h: Likewise.
2224 * gthr-rtems.h: Likewise.
2225 * gthr-solaris.h: Likewise.
2226 * gthr-win32.h: Likewise.
2227
e2500fed
GK
22282002-06-03 Geoffrey Keating <geoffk@redhat.com>
2229
2230 Merge from pch-branch:
33005162 2231
e2500fed
GK
2232 * gengtype.h (UNION_OR_STRUCT_P): New macro.
2233 * gengtype.c (write_gc_structure_fields): Use it.
2234 (write_gc_root): Use it here too.
2235
2236 * gengtype.c (write_gc_structure_fields): Assume that lengths
2237 of typenames fit into an 'int'; don't pass a size_t to "%d" in
2238 printf.
2239 (write_gc_marker_routine_for_structure): Likewise.
2240 (write_gc_types): Likewise.
2241 (write_gc_root): Likewise.
2242
2243 * varray.h (VARRAY_CLEAR): New.
2244 (varray_clear): Prototype.
2245 * varray.c (varray_clear): New.
2246 * cselib.c (reg_values_old): New.
2247 (used_regs_old): New.
2248 (cselib_init): Use cached varrays if available to avoid
2249 generating large amounts of garbage.
2250 (cselib_finish): Don't throw away old varrays.
2251
2252 * final.c (insn_addresses_): Move out of ifdef.
2253
2254 * varray.c (uses_ggc): Make more varray kinds GCable.
2255 * varray.h (union varray_data_tag): Let gengtype see
2256 fields 'generic' and 'te'.
2257 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
2258 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
2259 (reg_to_stack): Don't call VARRAY_FREE.
2260 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
2261 (insn_addresses_): Use gengtype to mark.
2262 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
2263 pointers; handle generic pointers in unused union fields.
2264 (get_output_file_with_visibility): Include cselib.h,
2265 insn-addr.h in gtype-desc.c.
2266 * function.c (prologue): Use gengtype to mark.
2267 (epilogue): Likewise.
2268 (sibcall_epilogue): Likewise.
2269 * dependence.c: Include gt-dependence.h, ggc.h.
2270 (struct def_use): Use gengtype to mark.
2271 (struct loop): Likewise.
2272 (struct induction): Likewise.
2273 (struct dependence): Likewise.
2274 (def_use_chain): Likewise.
2275 (dep_chain): Likewise.
2276 (loop_chain): Likewise.
2277 (induction_chain): Likewise.
2278 (init_dependence_analysis): Don't free anything, just clear pointers.
2279 (build_def_use): Use GGC to allocate def_use.
2280 (add_loop): Use GGC to allocate loop.
2281 (find_induction_variable): Use GGC to allocate induction.
2282 (check_node_dependence): Use GGC to allocate induction, dependence.
2283 (dump_node_dependence): Don't free varrays.
2284 (end_dependence_analysis): Likewise.
2285 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
2286 (struct elt_loc_list): Likewise.
2287 (struct elt_list): Likewise.
2288 * cselib.c: Don't include obstack.h.
2289 (hash_table): Use gengtype to mark.
2290 (reg_values): Use gengtype to mark.
2291 (used_regs): Use gengtype to mark.
2292 (cselib_obstack): Delete.
2293 (cselib_startobj): Delete.
2294 (empty_vals): Mark as deletable.
2295 (empty_elt_lists): Mark as deletable.
2296 (empty_elt_loc_lists): Mark as deletable.
2297 (new_elt_list): Use GGC to allocate struct elt_list.
2298 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
2299 (clear_table): Don't delete obstack; don't unnecessarily clear
2300 deletable variables.
2301 (new_cselib_val): Use GGC to allocate struct cselib_val.
2302 (cselib_init): Don't set up obstacks. Use GGC to allocate
2303 hash table.
2304 (cselib_finish): Just clear variables, don't free anything.
2305 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
2306 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
2307 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
2308 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
2309 (gt-reg-stack.h): New rule.
2310 (gt-dependence.h): New rule.
2311 (gtype-desc.o): Add cselib.h, insn-addr.h.
2312
2313 * varray.c: Use only necessary headers.
2314 (element_size): New.
2315 (uses_ggc): New.
2316 (varray_init): Take type, not size. Use GGC if appropriate.
2317 (varray_grow): Update for change to struct varray_head_tag.
2318 Use GGC if appropriate.
2319 * varray.h (struct const_equiv_data): Use gengtype.
2320 (enum varray_data_enum): New.
2321 (union varray_data_tag): Use gengtype.
2322 (struct varray_head_tag): Use gengtype. Replace size field with
2323 enum varray_data_enum.
2324 (varray_init): Update prototype.
2325 (VARRAY_SCHED_INIT): Delete.
2326 (VARRAY_*_INIT): Update for change to varray_init.
2327 (VARRAY_SCHED): Delete.
2328 (VARRAY_PUSH_SCHED): Delete.
2329 (VARRAY_TOP_SCHED): Delete.
2330 * tree.h: Update for change to length specifier.
2331 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
2332 (clone_body): Likewise.
2333 * ssa.h (ssa_definition): Use gengtype to mark.
2334 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
2335 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
2336 * rtl.h (struct rtvec_def): Update for change to length specifier.
2337 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
2338 (struct initial_value_struct): Update for change to length specifier.
2339 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
2340 (ggc_add_tree_varray_root): Delete prototype.
2341 (ggc_mark_rtx_varray): Delete prototype.
2342 (ggc_mark_tree_varray): Delete prototype.
2343 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
2344 (ggc_add_tree_varray_root): Delete.
2345 (ggc_mark_rtx_varray): Delete.
2346 (ggc_mark_tree_varray): Delete.
2347 (ggc_mark_rtx_varray_ptr): Delete.
2348 (ggc_mark_tree_varray_ptr): Delete.
2349 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
2350 (create_varray): Delete prototype.
2351 * gengtype.c (varrays): Delete.
2352 (create_varray): Delete.
2353 (adjust_field_type): Detect array of string pointers.
2354 (process_gc_options): Remove code to handle varray_type option.
2355 (set_gc_used_type): Remove TYPE_VARRAY case.
2356 (output_escaped_param): New.
2357 (write_gc_structure_fields): Use output_escaped_param on all
2358 parameters. Handle 'skip' with 'use_param' option. Handle
2359 arrays of strings. Remove TYPE_VARRAY handling.
2360 (write_gc_roots): Use boolean to detect 'length' option.
2361 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
2362 (struct_fields): Call adjust_field_type on array fields.
2363 (type): Remove VARRAY_TYPE case.
2364 (type_option): Likewise.
2365 * gengtype-lex.l: Don't consider varray_type a keyword.
2366 * function.h: Update for change to length specifier.
2367 (free_eh_status): Delete prototype.
2368 * function.c (free_after_compilation): Don't call free_eh_status.
2369 (reorder_blocks): Don't use VARRAY_FREE.
2370 * except.c (struct eh_status): Update for change to length specifier.
2371 remove varray_type specifier.
2372 (free_eh_status): Delete.
2373 * dwarf2out.c: Include gt-dwarf2out.h.
2374 (used_rtx_varray): Use gengtype to mark, move
2375 outside ifdefs.
2376 (incomplete_types): Likewise.
2377 (decl_scope_table): Likewise.
33005162 2378 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
2379 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
2380 * c-tree.h (struct lang_type): Update for change to length specifier.
2381 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
2382 * c-objc-common.c: Include gt-c-objc-common.h.
2383 (deferred_fns): Mark for gengtype.
2384 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
2385 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
2386 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
2387 (gtype-desc.o): Update dependencies.
2388 (dwarf2out.o): Add gt-dwarf2out.h.
2389 (varray.o): Update dependencies.
2390 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
2391 (gt-c-objc-common.h): New rule.
2392 (gt-dwarf2out.h): New rule.
2393 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
2394
2395 * doc/gty.texi (GTY Options): Correct spelling.
2396 (GGC Roots): Likewise.
2397 * Makefile.in (TEXI_CPP_FILES): New.
2398 (TEXI_GCC_FILES): New.
2399 (TEXI_GCCINT_FILES): New.
2400 (TEXI_CPPINT_FILES): New.
2401 ($(docdir)/cpp.info): Use new macros.
2402 ($(docdir)/gcc.info): Likewise.
2403 ($(docdir)/gccint.info): Likewise.
2404 ($(docdir)/cppinternals.info): Likewise.
2405 (cpp.dvi): Likewise.
2406 (gcc.dvi): Likewise.
2407 (gccint.dvi): Likewise.
2408 (cppinternals.dvi): Likewise.
2409
2410 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
2411 * doc/gccint.texi (Top): Include gty.texi.
2412 * doc/gty.texi: New file.
2413
2414 * bitmap.c: Include ggc.h, gt-bitmap.h.
2415 (bitmap_ggc_free): New.
2416 (bitmap_elem_to_freelist): New.
2417 (bitmap_element_free): Use bitmap_elem_to_freelist.
2418 (bitmap_element_allocate): Allow use of GGC.
2419 (bitmap_clear): Use bitmap_elem_to_freelist.
2420 (bitmap_copy): Update for change to bitmap_element_allocate.
2421 (bitmap_set_bit): Likewise.
2422 (bitmap_operation): Update for changes elsewhere.
2423 (bitmap_initialize): Allow to create bitmaps that will use GGC.
2424 * bitmap.h (struct bitmap_element_def): Use gengtype.
2425 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
2426 (bitmap_initialize): Add extra parameter.
2427 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
2428 (BITMAP_ALLOCA): Delete.
2429 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
2430 (BITMAP_GGC_ALLOC): New.
2431 * Makefile.in (gtype-desc.o): Add bitmap.h.
2432 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
2433 (GTFILES): Add bitmap.c.
2434 (gt-bitmap.h): New rule.
2435 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
2436 * basic-block.h: Update for changes to bitmap_initialize.
2437 * except.c (exception_handler_label_map): Move into...
2438 (struct eh_status): Here.
2439 (struct eh_region): Make 'aka' GCable.
2440 (free_eh_status): Don't need to specially handle
2441 exception_handler_label_map.
2442 (add_ehl_entry): Update for changes to exception_handler_label_map.
2443 (find_exception_handler_labels): Likewise.
2444 (remove_exception_handler_label): Likewise.
2445 (maybe_remove_eh_handler): Likewise.
2446 (for_each_eh_label): Likewise.
2447 (remove_eh_handler): Allocate 'aka' using GGC.
2448 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
2449 to list of includes.
2450
2451 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 2452 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
2453 (write_gc_types): Arrange for the tests with NULL to be inlined.
2454 (write_gc_roots): Update uses of procedure pointers.
2455 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
2456
2457 * Makefile.in (explow.o): Add dependency on gt-explow.h.
2458 (sdbout.o): Add dependency on gt-sdbout.h.
2459
2460 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
2461 (mem_attrs_htab): Likewise.
2462 (init_emit_once): Don't call ggc_add_deletable_htab.
2463 * fold-const.c (size_htab): Use gengtype to clear unused entries.
2464 (size_int_type_wide): Don't call ggc_add_deletable_htab.
2465 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
2466 parameters, use them, change callers.
2467 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
2468 (write_gc_roots): Handle 'if_marked' option.
2469 (main): Don't need to call set_gc_used_type any more.
2470 * ggc.h (ggc_htab_marked_p): Delete.
2471 (ggc_htab_mark): Delete.
2472 (struct ggc_cache_tab): New.
2473 (gt_ggc_cache_rtab): New declaration.
2474 * ggc-common.c (struct d_htab_root): Delete.
2475 (d_htab_roots): Delete.
2476 (ggc_add_deletable_htab): Delete.
2477 (ggc_htab_delete): Handle new htab-deleting mechanism.
2478 (ggc_mark_roots): Use new htab-deleting mechanism.
2479 * tree.c (type_hash_table): Use gengtype to clear unused entries.
2480 Make static.
2481 (init_obstacks): Don't call ggc_add_deletable_htab.
2482
2483 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
2484 (struct hashed_entry): Likewise.
2485 (nst_method_hash_list): Likewise.
2486 (cls_method_hash_list): Likewise.
2487 (HASH_ALLOC_LIST_SIZE): Delete.
2488 (ATTR_ALLOC_LIST_SIZE): Delete.
2489 * objc/objc-act.c (hash_init): Use ggc to allocate
2490 nst_method_hash_list, cls_method_hash_list.
2491 (hash_enter): Use ggc to allocate; allocate one entry at a time.
2492 (hash_add_attr): Likewise.
2493 (ggc_mark_hash_table): Delete.
2494 (objc_act_parse_init): Delete.
2495 (objc_init): Delete reference to objc_act_parse_init.
2496 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
2497 obstack.h. Replace references to 'struct hash_table' with htab_t.
2498 (struct symbol_hash_entry): Replace hash header with key field.
2499 (struct file_hash_entry): Replace hash header with key field.
2500 (struct demangled_hash_entry): Replace hash header with key field.
2501 (hash_string_eq): New.
2502 (hash_string_hash): New.
2503 (symbol_hash_newfunc): Delete.
2504 (symbol_hash_lookup): Modify to use htab_t.
2505 (file_hash_newfunc): Delete.
2506 (file_hash_lookup): Modify to use htab_t.
2507 (demangled_hash_newfunc): Delete.
2508 (demangled_hash_lookup): Modify to use htab_t.
2509 (tlink_init): Modify to use htab_t.
2510 * hash.h: Delete.
2511 * hash.c: Delete.
2512 * ggc.h: Delete forward structure declarations.
2513 Delete prototypes for deleted functions.
2514 * ggc-common.c: Don't include hash.h.
2515 (ggc_add_tree_hash_table_root): Delete.
2516 (ggc_mark_tree_hash_table_entry): Delete.
2517 (ggc_mark_tree_hash_table): Delete.
2518 (ggc_mark_tree_hash_table_ptr): Delete.
2519 * gengtype.c (write_gc_structure_fields): Allow param_is option.
2520 (write_gc_marker_routine_for_structure): Use visibility of
2521 the parameter if there is one.
2522 * function.c: Replace hash.h with hashtab.h. Replace references
2523 to 'struct hash_table *' with htab_t.
2524 (struct insns_for_mem_entry): Include a plain key.
2525 (fixup_var_refs_insns_with_hash): Update to use htab_t.
2526 (insns_for_mem_newfunc): Delete.
2527 (insns_for_mem_hash): Update to use htab_t.
2528 (insns_for_mem_comp): Likewise.
2529 (insns_for_mem_walk): Likewise.
2530 * c-lang.c: Include ggc.h.
2531 * Makefile.in (OBJS): Remove hash.o.
2532 (c-lang.o): Add GGC_H.
2533 (COLLECT2_OBJS): Remove hash.o.
2534 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
2535 (ggc-common.o): Remove hash.h.
2536 (function.o): Remove hash.h, add HASHTAB_H.
2537 (genautomata.o): Remove hash.h, add HASHTAB_H.
2538
2539 * varasm.c (mark_const_str_htab_1): Delete.
2540 (mark_const_str_htab): Delete.
2541 (const_str_htab_del): Delete.
2542 (const_str_htab): Use gengtype to mark.
2543 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
2544 allocate them.
2545 * tree.c (mark_tree_hashtable_entry): Delete.
2546 (mark_tree_hashtable): Delete.
2547 * tree.h (mark_tree_hashtable): Delete prototype.
2548 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
2549 (ggc_mark): Likewise.
2550 (ggc_calloc): New.
2551 (htab_create_ggc): New.
2552 * ggc-common.c (ggc_calloc): New.
2553 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
2554 (struct type): Add param_struct structure.
2555 * gengtype.c (param_structs): New.
2556 (adjust_field_type): Handle param_is option.
2557 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
2558 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
2559 (write_gc_structure_fields): Add new PARAM parameter. Update
2560 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
2561 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
2562 Use it to generate function name. Update callers.
2563 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
2564 Process them.
2565 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
2566 option.
2567 (main): Define PTR as pointer-to-scalar. Don't specially
2568 mark deferred_string or ehl_map_entry.
2569 * gengtype-yacc.y (PARAM_IS): Add new token.
2570 (externstatic): Use adjust_field_type.
2571 (type_option): Add PARAM_IS.
2572 * gengtype-lex.l: Add rule for typedef of function pointers.
2573 Add rule for PARAM_IS.
2574 (IWORD): Add size_t.
2575 * except.c (exception_handler_label_map): Use gengtype to mark.
2576 (type_to_runtime_map): Likewise.
2577 (mark_ehl_map_entry): Delete.
2578 (mark_ehl_map): Delete.
2579 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
2580 (t2r_mark_1): Delete.
2581 (t2r_mark): Delete.
2582 * Makefile.in (gtype-desc.o): Correct dependencies.
2583 (GTFILES): Add hashtab.h.
2584 (genautomata.o): Actually uses hashtab.h.
2585
2586 * Makefile.in (stringpool.o): Add $(GGC_H).
2587 (dwarf2asm.o): Likewise.
2588 (GTFILES): Add hashtable.h.
2589 * c-common.h (struct c_common_identifier): Use gengtype.
2590 * c-decl.h (c_mark_tree): Delete.
2591 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
2592 * c-tree.h (struct lang_identifier): Use gengtype.
2593 (union lang_tree_node): New.
2594 (c_mark_tree): Delete prototype.
33005162 2595 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
2596 dwarf2_debug_hooks.
2597 * gengtype-lex.l (IWORD): Allow 'bool'.
2598 (ptr_alias): Match.
2599 * gengtype-yacc.y (ALIAS): New token.
2600 (type_option): New rule.
2601 (option): Use type_option.
2602 * gengtype.c (process_gc_options): New.
2603 (set_gc_used_type): Use it.
2604 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
2605 Add new variable 't' to hold the type of the field being processed.
2606 Add more error checking. Use UNION_P when looking at 'desc' option.
2607 Handle language-specific structures containing other
2608 language-specific structures.
2609 (write_gc_types): Handle 'ptr_alias' option.
2610 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
2611 * ggc-common.c (ggc_pending_trees): Delete.
2612 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
2613 (ggc_mark_trees): Delete.
2614 (gt_ggc_m_tree_node): Delete.
2615 * ggc.h (ggc_pending_trees): Delete.
2616 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
2617 * hashtable.h (ht_identifier): Use gengtype.
2618 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
2619 * langhooks.h (struct lang_hooks): Delete mark_tree.
2620 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
2621 anyway.
2622 * system.h: Poison LANG_HOOKS_MARK_TREE.
2623 * tree.c (tree_node_structure): New.
2624 * tree.h (struct tree_common): Use gengtype.
2625 (struct tree_int_cst): Likewise.
2626 (struct tree_real_cst): Likewise.
2627 (struct tree_string): Likewise.
2628 (struct tree_complex): Likewise.
2629 (struct tree_vector): Likewise.
2630 (struct tree_identifier): Likewise.
2631 (struct tree_list): Likewise.
2632 (struct tree_vec): Likewise.
2633 (struct tree_exp): Likewise.
2634 (struct tree_block): Likewise.
2635 (struct tree_type): Likewise.
2636 (struct tree_decl): Likewise.
2637 (enum tree_structure_enum): New.
2638 (union tree_node): Use gengtype, with an alias.
2639 (tree_node_structure): Prototype.
2640 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
2641
2642 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
2643 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
2644 to LANG_HOOKS_FUNCTION_FINAL.
2645 * Makefile.in (GTFILES): Add bitmap.h.
2646 * except.c (struct eh_region): Mark field 'aka' to be skipped.
2647
2648 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
2649 (alpha_init_machine_status): Give proper type.
2650 * Makefile.in (c-lang.o): Depend on gtype-c.h.
2651 (optabs.o): Depend on gt-optabs.h.
2652 (GTFILES): Add optabs.o.
2653 (gt-optabs.h): Add rule.
2654 * optabs.c: Include gt-optabs.h.
2655
2656 * gengtype.c (set_gc_used_type): Correct some errors in last change.
2657 (write_gc_structure_fields): If a field which should be NULL is
2658 not, abort.
2659 * c-pragma.c: Move struct align_stack and variable alignment_stack
2660 out from the ifdef.
2661
2662 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
2663 * config/xtensa/xtensa.c: Include gt-cris.h.
2664 (struct machine_function): Use gengtype to mark.
2665 * config/mmix/mmix.h (struct machine_function): Use gengtype
2666 to mark.
2667 * config/cris/t-cris: Add dependencies for gt-cris.h.
2668 * config/cris/cris.c: Include gt-cris.h.
2669 (struct machine_function): Use gengtype to mark.
2670 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
2671 to mark.
2672 * doc/tm.texi (Per-Function Data): Delete references to
2673 mark_machine_status.
2674 * config/ia64/ia64.c (ia64_override_options): Don't set
2675 mark_machine_status.
2676 * config/i386/i386.c (override_options): Likewise.
2677 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
2678 * config/arm/arm.c (arm_init_expanders): Likewise.
2679 * config/alpha/alpha.c (override_options): Likewise.
33005162 2680 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
2681 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
2682 (write_gc_structure_fields): Don't handle 'really' option.
2683 Handle 'maybe_null' option.
2684 (write_gc_types): Handle 'maybe_null' option.
2685 * function.h (struct function): Don't use "really".
2686 (mark_machine_status): Delete declaration.
2687 (mark_lang_status): Delete declaration.
2688 (gt_ggc_mr_machine_function): Delete prototype.
2689 (gt_ggc_mr_language_function): Delete prototype.
2690 * function.c (mark_machine_status): Delete.
2691 (mark_lang_status): Delete.
2692 (gt_ggc_mr_machine_function): Delete.
2693 (gt_ggc_mr_language_function): Delete.
2694 * c-tree.h (mark_c_function_context): Delete prototype.
2695 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
2696 * c-decl.c (struct language_function): Rename from struct
2697 c_language_function. Update uses. Use gengtype to mark.
2698 (mark_c_function_context): Delete.
2699 * c-common.h (struct c_language_function): Rename from struct
2700 language_function.
2701 (mark_stmt_tree): Delete prototype.
2702 (c_mark_lang_decl): Delete prototype.
2703 (mark_c_language_function): Delete prototype.
2704 * c-common.c (mark_stmt_tree): Delete.
2705 (c_mark_lang_decl): Delete.
2706 (mark_c_language_function): Delete.
2707
2708 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
2709 (lang_bitmap): New typedef. Use where appropriate.
2710 (struct type): Add gc_used field, lang_struct field.
2711 (UNION_P): New macro.
2712 (new_structure): New prototype.
2713 (find_structure): Remove 'pos' parameter. Change all callers.
2714 * gengtype-lex.l: Update for changes to find_structure.
2715 * gengtype-yacc.y (typedef_struct): Use new_structure.
2716 (yacc_ids): Suppress warning.
2717 (type): Use new_structure.
2718 * gengtype.c (string_type): Update for changes to struct type.
2719 (find_structure): Just find a structure, don't worry about
2720 creating one.
2721 (new_structure): New.
2722 (note_yacc_type): Use new_structure.
2723 (set_gc_used_type): New.
2724 (set_gc_used): New.
2725 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
2726 (write_gc_types): Handle TYPE_LANG_STRUCT.
2727 (write_gc_marker_routine_for_structure): New.
2728 (main): Call set_gc_used. Add some calls to set_gc_used_type
2729 for places where GCC doesn't use gengtype properly yet.
2730 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
2731 (gt_ggc_m_tree_node): Likewise.
2732
2733 * varasm.c (copy_constant): Call expand_constant if we hit
2734 something we can't recognise.
2735
2736 * ggc-common.c (ggc_mark_rtvec_children): Delete.
2737 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
2738 (lang_mark_false_label_stack): Delete.
2739 * rtl.h (struct rtvec_def): Use gengtype to mark.
2740 * ggc.h (ggc_mark_rtvec): Delete.
2741 (gt_ggc_m_rtvec_def): Delete.
2742 (ggc_mark_nonnull_tree): Delete.
2743 (ggc_mark_rtvec_children): Delete prototype.
2744 (lang_mark_false_label_stack): Delete declaration.
2745
2746 * gengtype.h (note_yacc_type): Add prototype.
2747 * gengtype.c (note_yacc_type): New function.
2748 * gengtype-lex.l: Add lexer support for yacc files.
2749 * gengtype-yacc.y (start): Extract union from yacc files.
2750 (yacc_union): New rule.
2751 (yacc_typematch): New rule.
2752 (yacc_ids): New rule.
2753 (enum_items): Tweak for efficiency.
2754 (optionseq): Likewise.
2755
2756 * c-common.h (struct language_function): Use gengtype.
2757 (struct c_lang_decl): Likewise.
2758 * c-tree.h (struct lang_decl): Likewise.
2759 (struct lang_type): Likewise.
2760 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
2761 tree language substructures.
2762
2763 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
2764 ggc_mark_tree.
2765 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
2766
2767 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
2768
2769 * stmt.c (struct nesting): Add discriminator. Use gengtype to
2770 mark. Remove 'data.block.cleanup_ptr' field.
2771 (struct stmt_status): Use usual technique to mark struct nesting.
2772 (gt_ggc_mr_nesting_cond): Delete.
2773 (gt_ggc_mr_nesting_loop): Delete.
2774 (gt_ggc_mr_nesting_block): Delete.
2775 (gt_ggc_mr_nesting_case_stmt): Delete.
2776 (expand_start_cond): Set discriminator.
2777 (expand_start_loop): Likewise.
2778 (expand_start_null_loop): Likewise.
2779 (expand_start_bindings_and_block): Set discriminator. Don't set
2780 deleted fields.
2781 (expand_decl_cleanup): Replace 'cleanup_ptr' with
2782 &thisblock->data.block.cleanups.
2783 (expand_start_case): Set discriminator.
2784 (expand_start_case_dummy): Set discriminator.
2785
2786 * ggc-callbacks.c: Remove.
2787
2788 * gengtype.h (struct type): Add 'u.s.bitmap' field.
2789 (find_structure): Add 'pos' parameter.
2790 * gengtype-lex.l: Update callers to find_structure.
2791 * gengtype-yacc.y: Likewise.
2792 * gengtype.c (find_structure): Allow for structures to be defined
2793 in multiple language backends.
2794 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
2795 (counter): Rename to gc_counter.
2796 (write_gc_structure_fields): Fail when writing out fields for
2797 an incomplete structure. Ignore arrays of scalars. Handle
2798 'tree_vec' special.
2799 (write_gc_types): Reset counter for each procedure written.
2800
2801 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
2802 (free_case_nodes): Delete.
2803 (expand_end_case_type): Delete call to free_case_nodes.
2804
2805 * Makefile.in (cselib.o): Include gt-<filename>.h.
2806 (gcse.o): Likewise.
2807 (profile.o): Likewise.
2808 (alias.o): Likewise.
2809 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
2810 alphabetize backend files.
2811 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
2812 * alias.c: Use gengtype for roots.
2813 * c-common.h (struct stmt_tree_s): Use gengtype.
2814 * c-decl.c: Use gengtype for roots.
2815 * cselib.c: Use gengtype for roots.
2816 * expr.c: Use gengtype for roots.
2817 * fold-const.c: Use gengtype for roots.
2818 * gcse.c: Use gengtype for roots.
2819 * gengtype-lex.l: Handle typedefs of function types.
2820 Allow for empty array bounds.
2821 Allow processing to stop on initialisers.
2822 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
2823 (semiequal): New rule.
2824 * gengtype.c (create_file): Tidy output files.
2825 (get_output_file_with_visibility): Fix paren warning. Fix bug
2826 involving multiple input files mapping to one output file.
2827 (write_gc_structure_fields): Skip arrays of scalars.
2828 (write_gc_types): Tidy output files.
2829 (write_gc_root): New function.
2830 (write_gc_roots): Fix bugs, add support for roots that are
2831 structures.
2832 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
2833 (ggc_mark_tree_ptr): Delete.
2834 (ggc_add_rtx_root): Delete.
2835 (ggc_add_tree_root): Delete.
2836 (ggc_del_root): Delete.
2837 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
2838 allocate struct initial_value_struct.
2839 * profile.c: Use gengtype for roots.
2840 * sdbout.c: Use gengtype for roots.
2841 * varasm.c (mark_weak_decls): Delete unused prototype.
2842 (mark_const_hash_entry): Delete unused function.
2843 * config/darwin-protos.h: Use gengtype for roots.
2844 (machopic_add_gc_roots): Delete.
2845 * config/arm/arm.c: Use gengtype for roots.
2846 * config/arm/arm.h: Use gengtype for roots.
2847 * config/c4x/c4x-protos.h: Use gengtype for roots.
2848 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
2849 * config/d30v/d30v-protos.h: Use gengtype for roots.
2850 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
2851 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
2852 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
2853 * config/ia64/ia64-protos.h: Use gengtype for roots.
2854 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
2855 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
2856 * config/m68hc11/m68hc11.c (z_reg): Make global.
2857 (z_reg_qi): Make global.
2858 (m68hc11_add_gc_roots): Delete.
2859 * config/mcore/mcore-protos.h: Use gengtype for roots.
2860 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
2861 * config/mips/mips.c (mips_add_gc_roots): Delete.
2862 * config/mips/mips.h: Use gengtype for roots.
2863 * config/mmix/mmix.c (override_options): Use gengtype for roots.
2864 * config/mmix/mmix.h: Use gengtype for roots.
2865 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
2866 * config/mn10200/mn10200.h: Use gengtype for roots.
2867 * config/pa/pa.c: Use gengtype for roots, marking.
2868 (struct deferred_plabel): Use GGC, gengtype.
2869 (pa_add_gc_roots): Delete.
2870 (mark_deferred_plabels): Delete.
2871 * config/pj/pj-protos.h: Use gengtype for roots.
2872 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
2873 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
2874 machopic_add_gc_roots.
2875 * config/rs6000/rs6000.h: Use gengtype for roots.
2876 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
2877 (gt-darwin.h): Add rule.
2878 * config/sh/sh.c: Use gengtype for roots.
2879 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
2880 (gt-sh.h): Add rule.
2881 * config/sparc/sparc.c: Use gengtype for roots.
2882 (sparc_add_gc_roots): Delete.
2883 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
2884 (mark_ultrasparc_pipeline_state): Delete.
2885 * config/sparc/sparc.h: Use gengtype for roots.
2886
2887 * Makefile.in (c-parse.o): Update dependencies.
2888 (c-common.o): Likewise.
2889 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
2890 Add dependencies for the files they generate.
2891 * c-common.c: Replace ggc_add_* uses with GTY annotations.
2892 * c-common.h: Likewise.
2893 * c-decl.c: Likewise.
2894 (gt_ggc_mp_binding_level): Delete.
2895 * c-lang.c: Include gtype-c.h.
2896 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
2897 gt-c-parse.h.
2898 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
2899 (gt_ggc_mp_align_stack): Delete.
2900 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
2901 * function.c: Replace ggc_add_* uses with GTY annotations.
2902 (gt_ggc_mp_function): Delete.
2903 * function.h: Replace ggc_add_* uses with GTY annotations.
2904 * gengtype.c (lang_names): New.
2905 (NUM_BASE_FILES): New.
2906 (open_base_files): Create language base files.
2907 (startswith): New.
2908 (get_file_basename): New.
2909 (get_base_file_bitmap): New.
2910 (get_output_file_with_visibility): Rename from get_output_file.
2911 Add more mappings for various C/Objc filenames.
2912 (finish_root_table): New.
2913 (write_gc_roots): Handle dependencies and scoping properly.
2914 * gengtype.h: Add prototypes for new functions.
2915 * ggc-common.c (struct deletable_root): Delete.
2916 (deletables): Delete.
2917 (ggc_add_deletable_root): Delete.
2918 (ggc_mark_roots): No need to deal with deleted functionality.
2919 * ggc.h (ggc_add_deletable_root): Delete prototype.
2920 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
2921 (gtype-objc.h): Add rule to create.
2922 * objc/config-lang.in (gtfiles): New.
2923 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
2924 ggc_add_* with GTY markers. Include gtype-objc.h.
2925 (ggc_mark_imp_list): Delete.
2926 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
2927 * objc/objc-lang.c: Random Whitespace Change.
2928
2929 * except.h (exception_handler_labels): Delete.
2930 (get_exception_handler_labels): New.
2931 * except.c (exception_handler_labels): Delete.
2932 (struct eh_status): Add exception_handler_labels field.
2933 (doing_eh): Don't add exception_handler_labels as root.
2934 (free_eh_status): Don't need to free exception_handler_labels.
2935 (get_exception_handler_labels): New.
2936 (find_exception_handler_labels): Update for move of
2937 exception_handler_labels.
2938 (remove_exception_handler_label): Likewise.
2939 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
2940 * jump.c (rebuild_jump_labels): Likewise.
2941 * loop.c (find_and_verify_loops): Likewise.
2942 * sched-rgn.c (is_cfg_nonregular): Likewise.
2943
2944 * gengtype.c (write_gc_structure_fields): Handle variable-length
2945 TYPE_ARRAYs.
2946
2947 * varasm.c (struct weak_syms): Use GGC, gengtype.
2948 (mark_weak_decls): Delete.
2949 (weak_decls): Likewise.
2950 (add_weak): Likewise.
2951 (remove_from_pending_weak_list): Likewise.
2952 (init_varasm_once): Likewise.
2953
2954 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
2955 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
2956 stor-layout.c, regclass.c, and lists.c.
2957 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
2958 gt-regclass.h and gt-lists.h on s-gtype.
2959 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
2960 * except.c: Use gengtype for roots.
2961 * explow.c: Use gengtype for roots. Include gt-explow.h.
2962 * expr.h (init_stor_layout_once): Delete prototype.
2963 * function.c: Use gengtype for roots.
2964 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
2965 * gengtype-yacc.y (start): Can also be an externstatic.
2966 (externstatic): New production.
2967 (struct_fields): Correct array bounds inversion for 2-d arrays.
2968 * gengtype.c (variables): New variable.
2969 (note_variable): New function.
2970 (get_output_file): Include libfuncs.h into gtype-desc.c.
2971 (get_output_file_name): New function.
2972 (write_gc_structure_fields): Suppress warnings.
2973 (write_gc_types): Make static.
2974 (put_mangled_filename): New function.
2975 (write_gc_roots): New function.
2976 (main): Call write_gc_roots.
2977 * gengtype.h (note_variable): Prototype.
2978 (get_output_file_name): Prototype.
2979 (write_gc_types): Delete prototype.
2980 * ggc.h: Clean up unnecessary structure predefinitions.
2981 (struct ggc_root_tab): Define.
2982 (gt_ggc_m_rtx_def): Make function, not macro.
2983 (gt_ggc_m_tree_node): Likewise.
2984 * libfuncs.h: Use gengtype for roots.
2985 * lists.c: Use gengtype for roots. Include gt-lists.h.
2986 (init_EXPR_INSN_LIST_cache): Delete.
2987 * optabs.c: Use gengtype for roots.
2988 (gt_ggc_mp_optab): Delete.
2989 * optabs.h: Use gengtype for roots.
2990 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
2991 * rtl.h: Use gengtype for roots.
2992 (init_EXPR_INSN_LIST_cache): Delete prototype.
2993 * stor-layout.c: Use gengtype for roots.
2994 Include gt-stor-layout.h.
2995 (init_stor_layout_once): Delete.
2996 * toplev.c: Use gengtype for roots. Delete calls to deleted
2997 routines.
2998 * tree.c: Use gengtype for roots.
2999 * tree.h: Use gengtype for roots.
3000 * varasm.c: Use gengtype for roots.
33005162 3001
e2500fed
GK
3002 * Makefile.in (GTFILES): Add @all_gtfiles@.
3003 * configure: Regenerate.
3004 * configure.in: Construct all_gtfiles from the gtfiles definitions
3005 in config-lang.in.
3006 * gengtype-yacc.y (type): Warn about duplicate structure names.
3007 * gengtype.c (get_output_file): Handle .c files in language
3008 subdirectories.
3009
3010 * Makefile.in (GTFILES): Run gengtype on all the config files
3011 and on the target .c file.
3012 * except.c (mark_eh_region): Delete.
3013 (init_eh_for_function): Use GGC on struct eh_status.
3014 (mark_eh_status): Delete.
3015 (free_eh_status): Use GGC.
3016 (expand_eh_region_start): Use GGC to
3017 (collect_eh_region_array): Allocate last_region_number using GGC.
3018 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
3019 (remove_eh_handler): Let GGC free struct eh_region.
3020 (add_call_site): Use GGC to reallocate call_site_record array.
3021 * function.c (init_machine_status): Update calling sequence.
3022 (mark_machine_status): Likewise.
3023 (mark_lang_status): Likewise.
3024 (prepare_function_start): Update init_machine_status call.
3025 (mark_function_status): Delete.
3026 (maybe_mark_struct_function): Delete.
3027 (ggc_mark_struct_function): Delete.
3028 (gt_ggc_mp_function): New.
3029 (gt_ggc_mr_machine_function): New.
3030 (gt_ggc_mr_language_function): New.
3031 (init_function_once): Use canonical names.
3032 * function.h (struct function): Use gengtype.
3033 (init_machine_status): Return the structure.
3034 (mark_machine_status): Take a 'void *'.
3035 (mark_lang_status): Likewise.
3036 * ggc-common.c (ggc_mark_trees): Use canonical name for
3037 ggc_mark_struct_function.
3038 * tree.h (ggc_mark_struct_function): Delete prototype.
3039 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
3040 (alpha_init_machine_status): Likewise.
3041 (override_options): Use canonical name for alpha_mark_machine_status.
3042 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
3043 * config/arm/arm.h (struct machine_function): Use gengtype.
3044 * config/arm/arm.c (arm_mark_machine_status): Delete.
3045 (arm_init_machine_status): Update calling sequence.
3046 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 3047 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
3048 calling sequence.
3049 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 3050 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
3051 calling sequence.
3052 (d30v_mark_machine_status): Delete.
3053 * config/i386/i386.c: Include gt-i386.h.
3054 (struct machine_function): Use gengtype.
3055 (ix86_init_machine_status): Update calling sequence.
3056 (ix86_mark_machine_status): Delete.
3057 (override_options): Use canonical namke for ix86_mark_machine_status.
3058 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 3059 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
3060 sequence.
3061 (ia64_mark_machine_status): Delete.
33005162 3062 (ia64_override_options): Use canonical name for
e2500fed 3063 ia64_mark_machine_status.
33005162 3064 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
3065 sequence.
3066 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
3067 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
3068 * gengtype.c (get_output_file): Fix warning.
3069 (main): Add prototype to suppress warning.
3070 * tree.c: Remove tree_hash_mark prototype.
3071
3072 * tree.h (init_stmt): Delete prototype.
3073 * toplev.c (lang_independent_init): Don't call init_stmt.
3074 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
3075 (stmt_obstack): Delete.
3076 (POPSTACK): No need to free 'struct nesting'.
3077 (gt_ggc_mr_nesting_cond): Use canonical names.
3078 (gt_ggc_mr_nesting_loop): Use canonical names.
3079 (gt_ggc_mr_nesting_block): Use canonical names.
3080 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
3081 (mark_stmt_status): Delete.
3082 (init_stmt): Delete.
3083 (clear_last_expr): Clear both last_expr_type and last_expr_value.
3084 Use it everywhere that last_expr_type was cleared.
3085 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
3086 (zap_lists): Delete.
3087 * ggc.h (ggc_add_deletable_root): Prototype.
3088 (mark_stmt_status): Remove prototype.
3089 * ggc-common.c (ggc_add_deletable_root): New.
3090 (ggc_mark_roots): Handle deletable roots.
3091 * function.c (ggc_mark_struct_function): Use canonical name
3092 for mark_stmt_status.
3093 * emit-rtl.c (free_sequence_stack): New.
3094 (start_sequence): Use a freelist for sequences.
3095 (end_sequence): Likewise.
3096 (init_emit_once): Add free_sequence_stack as a deleteable root.
3097 * c-pragma.c Include gt-c-pragma.h.
3098 (struct align_stack): Use gengtype.
3099 (push_alignment): Use GGC for struct align_stack.
3100 (mark_align_stack): Delete.
3101 (gt_ggc_mp_align_stack): New.
3102 (init_pragma): Use canonical name for mark_align_stack.
3103 * c-decl.c: Include gt-c-decl.h.
3104 (struct binding_level): Use gengtype.
3105 (make_binding_level): Use GGC; handle the freelist here.
3106 (pop_binding_level): New.
3107 (pushlevel): Move code into make_binding_level.
3108 (push_label_level): Likewise.
3109 (poplevel): Move code into pop_binding_level.
3110 (pop_label_level): Likewise.
3111 (mark_binding_level): Delete.
3112 (gt_ggc_mp_binding_level): New.
3113 (c_init_decl_processing): Use canonical name for mark_binding_level.
3114 Add free_binding_level as deletable root.
3115 (mark_c_function_context): Use canonical name for mark_binding_level.
3116 * Makefile.in (c-decl.o): Add gt-c-decl.h.
3117 (c-pragma.o): Add gt-c-pragma.h.
3118 (GTFILES): Add c-decl.c and c-pragma.c.
3119 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
3120
3121 * tree.c (struct type_hash): Use gengtype.
3122 (init_obstacks): Use canonical name for type_hash_mark.
3123 (type_hash_mark): Delete.
3124 Include gt-tree.h.
3125 * rtl.h (struct mem_attrs): Use gengtype.
3126 * optabs.h (struct optab): Use gengtype.
3127 * optabs.c (expand_binop): Squish signed/unsigned warning.
3128 (mark_optab): Make local, use canonical name, use autogenerated
3129 marker procedure.
3130 (init_optabs): Use canonical name for mark_optab.
3131 (new_optab): Use GGC to allocate optabs.
3132 * ggc.h: Delete mark_optab prototype.
3133 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
3134 mem_attrs marker procedure.
3135 * gengtype.c (get_output_file): Include headers in gtype-desc.c
3136 explicitly rather than deducing them from file names.
3137 (write_gc_structure_fields): Handle arrays of structures.
3138 (main): Return non-zero exit code if errors occur during output.
3139 * emit-rtl.c (mem_attrs_mark): Delete.
3140 (init_emit_once): Use canonical name for mem_attrs marker procedure.
3141 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
3142 (tree.o): Depend on gt-tree.h.
3143 (GTFILES): Add rtl.h, optabs.h, tree.c.
3144 (gt-tree.h): Add it to s-gtype rule.
3145
3146 * .cvsignore: Ignore gengtype flex/bison generated files.
3147 * Makefile.in (GGC_H): Add gtype-desc.h.
3148 (OBJS): Add gtype-desc.o.
3149 (GEN): Add gengtype.
3150 (STAGESTUFF): Add gengtype.
3151 (varasm.o): Add gt-varasm.h.
3152 (stmt.o): Add gt-stmt.h.
3153 (except.o): Add gt-except.h.
3154 (integrate.o): Add gt-integrate.h.
3155 (GTFILES): New.
3156 Add new rules for new files.
3157 * configure: Regenerate.
3158 * configure.in: Correct defaults.h paths.
3159 * emit-rtl.c (mark_sequence_stack): Delete.
3160 (mark_emit_status): Delete.
3161 (start_sequence): Allocate sequence structures using GGC.
3162 (end_sequence): Allocate sequence structures using GGC.
3163 * except.c: Use gengtype for various structures. Include
3164 gt-except.h.
3165 * expr.c (mark_expr_status): Delete.
3166 * function.c: Use gengtype for various structures. Include
3167 gt-function.h.
3168 (mark_function_status): Use standard gt_ggc names for marker functions.
3169 (ggc_mark_struct_function): Likewise.
3170 * function.h: Use gengtype for various structures.
3171 * gengtype-lex.l: New file.
3172 * gengtype-yacc.y: New file.
3173 * gengtype.c: New file.
3174 * gengtype.h: New file.
3175 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
3176 the standard names. Remove some now-unnecessary prototypes.
3177 * integrate.c: Use gengtype for various structures. Include
3178 gt-integrate.h.
3179 (mark_hard_reg_initial_vals): Delete.
3180 * integrate.h (mark_hard_reg_initial_vals): Delete.
3181 * stmt.c: Use gengtype for various structures. Include
3182 gt-stmt.h.
3183 (mark_case_node): Delete.
3184 (mark_goto_fixup): Delete.
3185 (mark_stmt_status): Use standard gt_ggc names for marker functions.
3186 * system.h: Define GTY to empty. In flex/bison files,
3187 don't poison malloc or realloc, instead just define them to
3188 xmalloc and xrealloc.
3189 * varasm.c: Use gengtype for various structures. Include
3190 gt-varasm.h. Use standard gt_ggc names for marker functions.
3191 (mark_pool_constant): Delete.
3192 (mark_varasm_status): Delete.
3193 (decode_rtx_const): #if 0 out non-typesafe hack.
3194
3195 * function.h (free_lang_status): Mark as obsolete.
3196 * function.c (free_lang_status): Mark as obsolete.
3197 * c-decl.c (push_c_function_context): Use GC to allocate and free
3198 struct language_function.
3199 (pop_c_function_context): Likewise.
3200 * c-common.c (mark_c_language_function): Mark struct
3201 language_function.
3202
3203 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
3204 Document that the machine_function structures must be allocated
3205 using GC. Update mark_machine_status documentation.
3206 * function.h: Don't declare free_machine_status.
33005162 3207 * function.c (free_machine_status): Don't define.
e2500fed
GK
3208 (free_after_compilation): Don't call free_machine_status.
3209 (ggc_mark_struct_function): Mark f->machine. Call
3210 mark_machine_status only on non-NULL pointers.
3211 * system.h: Poison free_machine_status.
3212 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
3213 struct machine_function.
3214 (xtensa_free_machine_status): Delete.
3215 (override_options): Don't set free_machine_status.
3216 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
3217 free_machine_status.
3218 (rs6000_init_machine_status): Use GC on struct machine_function.
3219 (rs6000_free_machine_status): Delete.
3220 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
3221 machine_function.
3222 (ia64_mark_machine_status): Likewise.
3223 (ia64_free_machine_status): Delete.
3224 (ia64_override_options): Don't set free_machine_status.
3225 * config/i386/i386.c (override_options): Don't set
3226 free_machine_status.
3227 (ix86_init_machine_status): Use GC on struct machine_function.
3228 (ix86_mark_machine_status): Likewise.
3229 (ix86_free_machine_status): Delete.
3230 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
3231 machine_function.
3232 (d30v_mark_machine_status): Likewise.
3233 (d30v_free_machine_status): Delete.
3234 (d30v_init_expanders): Don't set free_machine_status.
3235 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
3236 machine_function.
3237 (arm_init_machine_status): Likewise.
3238 (arm_free_machine_status): Delete.
3239 (arm_init_expanders): Don't set free_machine_status.
3240 * config/alpha/alpha.c (override_options): Don't set
3241 free_machine_status.
3242 (alpha_init_machine_status): Use GC on struct machine_function.
3243 (alpha_mark_machine_status): Likewise.
3244 (alpha_free_machine_status): Delete.
3245
3246 * varasm.c (compare_constant): Fix typo.
3247
3248 * varasm.c: Don't include obstack.h.
3249 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
3250 (struct rtx_const): Give substructures names, improve formatting.
3251 (struct constant_descriptor): Delete.
3252 (struct constant_descriptor_tree): New, based on constant_descriptor.
3253 (const_hash_table): Is a hash table of trees.
3254 (mark_const_hash_entry): Is used for hashes of trees. Mark
3255 constant_descriptor_tree structure.
3256 (mark_const_str_htab_1): Mark deferred_string structure.
3257 (compare_constant): Rewrite to compare trees.
3258 (compare_constant_1): Delete.
3259 (record_constant): Delete.
3260 (record_constant_1): Delete.
3261 (output_constant_def): Use struct constant_descriptor_tree.
3262 Don't duplicate trees twice.
3263 (struct constant_descriptor_rtx): New.
3264 (struct pool_constant): Used for rtx constants.
3265 (init_varasm_status): Update for change to struct varasm_status.
3266 (mark_varasm_status): Likewise.
3267 (free_varasm_status): Delete.
3268 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
3269 (record_constant_rtx): Likewise.
3270 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
3271 (force_const_mem): Likewise.
3272 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
3273 * function.c (free_after_compilation): Don't use free_varasm_status.
3274 * function.h: Don't prototype free_varasm_status.
3275
3276 * ggc-common.c (ggc_realloc): Handle X being NULL.
3277
3278 * ggc-common.c (ggc_realloc): New function.
3279 * ggc.h: Prototype it.
3280 * emit-rtl.c (free_emit_status): Delete.
3281 (init_emit): Allocate emit subarrays using GC.
3282 (gen_reg_rtx): Reallocate subarrays using GC.
3283 (init_emit): Use GC to allocate 'struct emit_status' and its
3284 subarrays.
3285 (mark_emit_status): Mark structure and its subarrays.
3286 * stmt.c (free_stmt_status): Delete.
3287 * expr.c (free_expr_status): Delete.
3288 * function.h: Remove prototypes for deleted functions.
3289 * function.c (free_after_compilation): Don't use deleted functions.
3290 Don't call free() on x_parm_reg_stack_loc.
3291 (free_after_parsing): Don't use free_stmt_status.
3292 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
3293 (mark_function_status): Mark x_parm_reg_stack_loc.
3294
3295 * varasm.c (init_varasm_status): Use GC to allocate
3296 'struct varasm_status' and its fields x_const_rtx_hash_table
3297 and x_const_rtx_sym_hash_table.
3298 (mark_varasm_status): Mark them.
3299 (free_varasm_status): Use GC to free them.
3300 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
3301 (mark_expr_status): Mark the structure itself.
3302 (free_expr_status): Use GC to free the structure.
3303 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
3304 (mark_stmt_status): Mark the 'struct stmt_status' itself.
3305 (init_stmt_for_function): Allocate the structure for GC.
3306
3307 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
3308 (equate_type_number_to_die): Likewise.
3309 * tree.h (TYPE_SYMTAB_DIE): New macro.
3310 (struct die_struct): Predeclare.
3311 (struct tree_type): Add field symtab.die. Add a tag
3312 to the union type of field symtab.
3313
3314 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
3315 'struct rtvec_def *', not 'struct rtvec_def'.
3316
3317 * function.h (original_arg_vector): Make a real rtvec.
3318 * function.c (ggc_mark_struct_function): Adjust.
3319 * integrate.c (expand_inline_function): Adjust.
3320
b655555e
JT
33212002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
3322
3323 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
3324 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
3325 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
3326 (TARGET_VERSION_CPU): Define according to the
3327 default target.
3328 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
3329 TARGET_VERSION_CPU.
3330 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
3331 if TARGET_SHMEDIA64.
3332 (LINK_DEFAULT_CPU_EMUL): Define according to the
3333 default target.
3334 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
3335 (SUBTARGET_LINK_SPEC): Define.
3336 (LINK_SPEC): Use SH_LINK_SPEC.
3337 (ASM_SPEC): Remove.
3338 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
3339 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
3340 and TARGET_SHMEDIA64 which abort, for now.
3341 * config/sh/t-netbsd-sh5: New file.
3342 * config/sh/t-netbsd-sh5-32: New file.
3343 * config/sh/t-netbsd-sh5-64: New file.
3344
6d8fd7bb
RH
33452002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3346 Richard Henderson <rth@redhat.com>
3347
3348 * config/alpha/alpha.c (reg_or_const_int_operand): New.
3349 (some_operand, input_operand): Accept CONST_VECTOR.
3350 (alpha_extra_constraint): Add 'W'.
3351 (alpha_expand_zap_mask): New.
3352 (alpha_expand_builtin_vector_binop): New.
3353 (enum alpha_builtin): New.
3354 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
3355 (alpha_init_builtins, alpha_expand_builtin): New.
3356 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
3357 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
3358 (PREDICATE_CODES): Update.
3359 * config/alpha/alpha-protos.h: Update.
3360 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
3361 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
3362 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
3363 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
3364 (movv2si, movv2si_fix, movv2si_nofix): New.
3365 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
3366 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
3367 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
3368 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
3369 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
3370 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
3371 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
3372 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
3373 builtin_unpkbw, unpkbw): New.
3374 * doc/extend.texi (Alpha Built-in Functions): New.
3375
618939de
RH
33762002-06-03 Richard Henderson <rth@redhat.com>
3377
3378 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
3379 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
3380
73db7137
RH
33812002-06-03 Richard Henderson <rth@redhat.com>
3382
6933647a
RH
3383 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
3384
73db7137
RH
3385 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
3386 (const0_operand): New.
3387 (reg_or_fp0_operand, fp0_operand): Remove.
3388 * config/alpha/alpha.h (PREDICATE_CODES): Update.
3389 * config/alpha/alpha-protos.h: Update.
3390 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
3391 and fp0_operand with reg_or_0_operand and const0_operand.
3392
a6f7c915
DN
33932002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
3394
3395 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
3396
b2f02503
RS
33972002-06-03 Roger Sayle <roger@eyesopen.com>
3398
3399 * gcse.c (cprop_jump): Use single_set to get the pattern
3400 from the setcc argument.
3401
4fcc2065
GDR
34022002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
3403
33005162 3404 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
3405 diagnostic_context.
3406 (diagnostic_kind_count): Adjust definition.
3407
5204d665
JH
3408Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
3409
3410 * except.c (except.c): Do not rebuild CFG.
3411 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
3412 optimization.
3413
0478a14c
JH
3414Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
3415
3416 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
3417 * toplev.c: Include cfglahout.h
3418 * Makefile.in (toplev.c): Add dependnecy.
3419
30efe578
NB
34202002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
3421
3422 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
3423 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
3424 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
3425
a782515b
JT
34262002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
3427
3428 * config/ns32k/netbsd.h: Update copyright years.
3429 (TARGET_OS_CPP_BUILTINS): Define.
3430 (CPP_PREDEFINES): Remove.
3431 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
3432 (TARGET_CPU_CPP_BUILTINS): Define.
3433
0fb7aeda
KH
34342002-06-02 Kazu Hirata <kazu@cs.umass.edu>
3435
589005ff 3436 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
3437 * errors.h: Likewise.
3438 * except.c: Likewise.
3439 * explow.c: Likewise.
3440 * expmed.c: Likewise.
3441 * expr.c: Likewise.
3442 * expr.h: Likewise.
3443
1c8ec18b
KH
34442002-06-02 Kazu Hirata <kazu@cs.umass.edu>
3445
3446 * config/h8300/elf.h: Fix formatting.
3447 * config/h8300/rtems.h: Likewise.
3448
86cb04f6
JT
34492002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
3450
3451 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
3452
5d83269d
TT
34532002-06-02 Tom Tromey <tromey@redhat.com>
3454
3455 * fixinc/fixincl.x: Rebuilt.
3456 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
3457
62f6a494
NB
34582002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
3459
3460config/i370:
3461 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
3462 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
3463 * mvs.h: Similarly.
3464 * oe.h: Similarly.
3465
0acb0203
JH
3466Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
3467
3468 * final.c (final): Allow notes to not have computed addresses;
3469 kill no longer needed STACK_REGS ifdef.
3470
ada8d98a
RH
34712002-06-02 Richard Henderson <rth@redhat.com>
3472
3473 * gcse.c (bypass_conditional_jumps): Fix typo last change.
3474
ba4f7968
JH
3475Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
3476
ada8d98a
RH
3477 * loop.c (emit_prefetch_instructions): Properly place the address
3478 computation.
ba4f7968
JH
3479
3480Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
3481
3482 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
3483 (set_block_for_insn): Turn into macro.
3484 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
3485 * cfglayout.c (insn_scopes): Kill.
3486 (scope_to_insns_initialize): Do not use insn_scopes.
3487 (scope_to_insns_finalize): Likewise.
3488 (duplicate_insn_chain): Likewise.
3489 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
3490 * cfgrtl.c (basic_block_for_insn): Kill.
3491 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
3492 (create_basic_block_structure): Use reorder_insns.
3493 (compute_bb_for_insn): Do not use basic_block_for_insn.
3494 (merge_blocks_nomove): Likewise.
3495 (update_bb_for_insn): Likewise.
3496 (verify_flow_info): Likewise.
3497 (set_block_for_insn): Kill.
3498 * combine.c (try_combine): Update gen_rtx_INSN call.
3499 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
3500 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
3501 scopes and BBs.
3502 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
3503 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
3504 Clear BB.
3505 (emit_insns_after): Simplify.
3506 (emit_copy_of_insn_after): Copy scope.
3507 * final.c (final_start_function): Lower scopes.
3508 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
3509 * integrate.c (copy_insn_list): Cope scopes.
3510 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
3511 * loop.c (loop_optimize): Do not care block notes.
3512 * print-rtl.c (print_rtx): Print BB.
3513 * recog.c (apply_change_group): Simplify.
3514 * rtl.c (copy_rtx): Handle 'B'.
3515 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
3516 * rtl.h (Field accessors): Update indexes.
3517 * sched-ebb.c (schedule_ebbs): Do not lower notes.
3518 * sched-rgn.c (schedule_insns): Likewise.
3519 * toplev.c (rest_of_compilation): Lower notes.
3520 * unroll.c (unroll_loop): Do not care scoping notes.
3521 (copy_loop_body): Copy scopes.
3522
537fc532
NB
35232002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
3524
3525config/h8300:
3526 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
3527 SUBTARGET_SPEC.
3528 * rtems.h: Similarly.
3529 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
3530 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
3531 (TARGET_CPU_CPP_BUILTINS): Use.
3532
ab780373
RH
35332002-06-02 Richard Henderson <rth@redhat.com>
3534
3535 * alias.c: Include target.h.
3536 (mark_constant_function): Use targetm.binds_local_p instead
3537 of checking TREE_PUBLIC ourselves.
3538 * Makefile.in (alias.o): Add TARGET_H.
3539
b9305c66
NB
35402002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
3541
3542 * c-lex.c: Update copyright and file description.
3543
0ac3e0c4
NB
35442002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
3545
3546 * config/fr30/fr30.h: Update to new CPP macros.
3547
be3a1d46
NB
35482002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
3549
3550 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
3551
ceeedfc1 35522002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 3553 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
3554
3555 * c-common.c (c_common_init): Override cpplib's default
3556 warn_long_long setting.
3557 * c-lex.c (lex_number): Replace with interpret_integer,
3558 interpret_float, narrowest_unsigned_type and
3559 narrowest_signed_type, taking advantage of the new
3560 cpplib functionality.
3561 * cpperror.c (_cpp_begin_message): If a warning is turned
3562 into an error, avoid printing "warning:".
3563 * cppexp.c (cpp_num_sign_extend): New.
3564 * cppinit.c: Update comment.
3565 * cpplib.h (cpp_num_sign_extend): New.
3566 * tree.h: Update comment.
3567
27e511e0
GDR
35682002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
3569
3570 * diagnostic.h (struct diagnostic_context): Add new member
33005162 3571 internal_error.
27e511e0
GDR
3572 (internal_error_function): Remove declaration.
3573 * diagnostic.c (internal_error_function): Remove definition..
3574 (internal_error): Adjust use.
3575
818b6b7f
RH
35762002-06-02 Richard Henderson <rth@redhat.com>
3577
3578 * rtl.h (CC0_P): New.
3579 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
3580 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
3581 (bypass_block): Save old dest block for dump text.
3582 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
3583 Allow only true SET insns, not single_set.
3584
167143a0
GDR
35852002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
3586
3587 * diagnostic.c (diagnostic_finish): Rename to output_flush.
3588 (clear_disgnostic_info): Rename to output_clear_data. Use false
3589 instead of 0 for boolean value.
3590 Adjust function call throughout.
3591
eae4bc56
JH
3592Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
3593
3594 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
3595 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
3596
9eb404a0
NB
35972002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
3598
3599 * d30v.h (CPP_PREDEFINES): Replace with
3600 (TARGET_CPU_CPP_BUILTINS): New.
3601
53e8b0b8
RS
36022002-06-02 Roger Sayle <roger@eyesopen.com>
3603
3604 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
3605
92e34b67
JH
3606Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
3607
3608 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
3609
e7e9d242
RH
36102002-06-02 Richard Henderson <rth@redhat.com>
3611
3612 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
3613
9af145ae
MM
36142002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
3615
3616 Support for C++ constructors/destructors.
3617 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
3618 instead of looping if main() returns.
3619 (asm_file_start): Output global symbols that cause .data and .bss
3620 initialization code to be linked in, unconditionally for now.
3621 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
3622 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
3623 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
3624 (LIBSTDCXX): New.
3625 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
3626 (__tablejump__): New.
3627 (__do_copy_data, __do_clear_bss): New.
3628 (__do_global_ctors, __do_global_dtors): New.
3629 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
3630 _ctors, _dtors.
3631
0d66ad57
NB
36322002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
3633
3634 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
3635 (CPP_SPEC, CPP_PREDEFINES): Kill.
3636 * c4x/rtems.h (CPP_PREDEFINES): Kill.
3637 (TARGET_OS_CPP_BUILTINS): New.
3638
5c856b23
JH
3639Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
3640
3641 * Makefile.in (tracer.o): New.
3642 * params.def (TRACER_*): New options.
3643 * rtl.h (tracer): Declare.
3644 * timevar.def (TV_TRACER): New.
3645 * toplev.c (dump_file_index): Add DFI_tracer.
3646 (dump_file_info): Add tracer.
3647 (flag_tracer): New.
3648 (lang_indepdenent_options): Add tracer.
3649 (rest_of_compilation): Call tracer.
3650 * tracer.c: New file.
3651 * invoke.texi (-ftracer): Document.
3652 (--param tracer-*): Document.
3653
e2405951
DB
36542002-06-01 Daniel Berlin <dberlin@dberlin.org>
3655
3656 * tree-inline.c (expand_call_inline): Make the statement
33005162 3657 expression we generate have a COMPOUND_STMT.
e2405951 3658
0e3f0221
RS
36592002-06-01 Roger Sayle <roger@eyesopen.com>
3660
3661 * gcse.c (cprop_cc0_jump): Function deleted.
3662 (cprop_jump): Take an additional argument which is the possibly
3663 NULL cc setting insn immediately before the conditional jump.
3664 When a MODE_CC set is present, substitute it into the JUMP_INSN
3665 before attempting the constant propagation.
3666 (cprop_insn): Recognize cc setters followed by conditional jumps
3667 as a special case. Use cprop_jump instead of cprop_cc0_jump.
3668 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
3669 (find_bypass_set): New function based upon find_avail_set used by
3670 cprop, but finds constant expressions available at the end of
3671 basic blocks.
3672 (bypass_block): New function. Given a basic block that begins
3673 with a conditional jump and multiple incoming edges, perform
3674 the jump bypass optimization.
3675 (bypass_conditional_jumps): New function. Call bypass_block with
3676 each suitable basic block in the CFG using a simple single pass.
3677
378393da
RS
36782002-06-01 Roger Sayle <roger@eyesopen.com>
3679
3680 * tree.c (real_minus_onep): New function to test for -1.0.
3681 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
3682
01c58f26
RS
36832002-06-01 Roger Sayle <roger@eyesopen.com>
3684
3685 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
3686 and "!p && !q" into "(p|q) == 0" under suitable conditions.
3687
91b12472
AJ
36882002-06-01 Andreas Jaeger <aj@suse.de>
3689
3690 * cppexp.c (cpp_classify_number): Cast precission to int for
3691 correct printf format.
3692
01e9ae86
MM
36932002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
3694
3695 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
3696 expected, but don't really exist: atmega83, atmega85, attiny10.
3697 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
3698 emulations for all devices.
3699 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
3700 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
3701
be1e06df
KH
37022002-06-01 Kazu Hirata <kazu@cs.umass.edu>
3703
3704 * config/h8300/h8300-protos.h: Add a prototype for
3705 h8300_shift_needs_scratch_p.
3706 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
3707 * config/h8300/h8300.h (OK_FOR_R): New.
3708 (OK_FOR_S): Likewise.
3709 (OK_FOR_T): Likewise.
3710 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
3711 * config/h8300/h8300.md (anonymous shift patterns): Use
3712 constraints R, S, and T.
3713
2ecfd709
ZD
3714Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3715
3716 * basic-block.h (struct basic_block_def): New field loop_father.
3717 (BB_VISITED): New flag.
3718 (struct loop): New field pred, removed field shared.
3719 (struct loops): New field parray.
3720 (LOOP_EXITS_DOMS): Removed.
3721 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
3722 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
3723 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
3724 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
3725 verify_loop_structure): Declare.
3726 * cfg.c (entry_exit_blocks): Initialize loop_father field.
3727 * cfganal.c (dfs_enumerate_from): New function.
3728 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
3729 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
3730 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
3731 flow_loop_dump, flow_loops_dump, flow_loops_free,
3732 flow_loop_tree_node_add, flow_loop_level_compute,
3733 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
3734 flow_loop_outside_edge_p): Modified for new infrastructure.
3735 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
3736 redirect_edge_with_latch_update, flow_loop_free): New static functions.
3737 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
3738 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
3739 find_common_loop, verify_loop_structure, loop_latch_edge,
3740 loop_preheader_edge): New functions.
3741 (flow_loops_cfg_dump): Do not show dominators, as this information
3742 does not remain up to date long.
3743 (flow_loops_find): Store results in new format.
3744 * predict.c (propagate_freq, estimate_probability,
3745 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
3746 infrastructure.
3747
d9763749 37482002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 3749
d9763749
AL
3750 * except.c (nothrow_function_p): Walk epilogue delay list
3751 checking the insn, not the chain for potential throws.
91b12472 3752
1e730c5c
ZW
37532002-05-31 Zack Weinberg <zack@codesourcery.com>
3754
3755 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
3756 (install): Refer to install-cpp directly.
3757 (uninstall-cpp): Folded into uninstall rule.
3758 * configure.in: Delete all code relating to --disable-cpp.
3759 * configure: Regenerate.
3760 * config/t-install-cpp: Delete.
3761
6f9b006d
RH
37622002-05-31 Richard Henderson <rth@redhat.com>
3763
3764 * configure.in (HAVE_AS_TLS): Add alpha tests.
3765 * configure: Rebuild.
3766 * config/alpha/alpha.c (TARGET_AS_TLS): New.
3767 (alpha_tls_size, alpha_tls_size_string): New.
3768 (overide_options): Set it. Always install machine_status hooks.
3769 (input_operand): Accept got tls predicates.
3770 (local_symbol_p): Merge into ...
3771 (local_symbolic_operand): ... here. Reject tls symbols.
3772 (global_symbolic_operand): Likewise.
3773 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
3774 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
3775 (tp16_symbolic_operand, tp32_symbolic_operand): New.
3776 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
3777 (alpha_encode_section_info): Handle TLS symbols.
3778 (alpha_strip_name_encoding): Likewise.
3779 (alpha_legitimate_address_p): Likewise.
3780 (alpha_legitimize_address): Likewise.
3781 (alpha_expand_mov): Early exit to avoid nop moves.
3782 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
3783 (alpha_init_machine_status, alpha_mark_machine_status,
3784 alpha_free_machine_status): Always define.
3785 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
3786 (print_operand, print_operand_address): Add TLS relocs.
3787 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
3788 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
3789 (TARGET_SWITCHES): Add -mtls-kernel.
3790 (alpha_tls_size, alpha_tls_size_string): New.
3791 (TARGET_OPTIONS): Add -mtls-size=.
3792 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
3793 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
3794 (ASM_OUTPUT_LABELREF): Skip %.
3795 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
3796 (PREDICATE_CODES): Update.
3797 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
3798 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
3799 UNSPEC_TP, UNSPECV_SET_TP): New.
3800 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
3801 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
3802 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
3803 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
3804 (call_value_osf_2_er): Accept anything as op4.
3805 * config/alpha/alpha-protos.h: Update.
3806 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
3807
39e5db1a
ZW
38082002-05-31 Zack Weinberg <zack@codesourcery.com>
3809
3810 * cppinit.c (append_include_chain): Always pay attention to
3811 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
3812 marker on argument.
3813
41077ce4
KH
38142002-05-31 Kazu Hirata <kazu@cs.umass.edu>
3815
3816 * target.h: Fix formatting.
3817 * timevar.h: Likewise.
3818 * tlink.c: Likewise.
3819 * toplev.c: Likewise.
3820 * toplev.h: Likewise.
3821 * tree.c: Likewise.
3822 * tree-dump.h: Likewise.
3823 * tree.h: Likewise.
3824 * tree-inline.h: Likewise.
3825 * unroll.c: Likewise.
3826 * unwind-dw2.c: Likewise.
3827 * unwind-dw2-fde.c: Likewise.
3828 * unwind-dw2-fde-glibc.c: Likewise.
3829 * unwind-dw2-fde.h: Likewise.
3830 * unwind.h: Likewise.
3831 * unwind-sjlj.c: Likewise.
3832 * varasm.c: Likewise.
3833 * varray.h: Likewise.
3834 * vmsdbg.h: Likewise.
3835 * vmsdbgout.c: Likewise.
3836 * xcoffout.h: Likewise.
3837
b2e426a0
IS
38382002-05-31 Igor Shevlyakov <igor@microunity.com>
3839
1e730c5c 3840 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
3841 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
3842
8b968bd1
MW
38432002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
3844
3845 * gcc.c (cpp_unique_options): Remove "-d" options.
3846 (cpp_debug_options): New spec string.
3847 (default_compilers): Use it.
3848 * objc/lang-specs.h: Likewise.
3849
5c35940c
NN
38502002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
3851
1e730c5c 3852 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
3853 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
3854 * gcc/mklibgcc.in: Likewise.
3855 * gcc/config/arc/t-arc: Likewise.
3856 * gcc/configure.in: Likewise.
3857 * gcc/configure: Regenerate.
3858
8b496ceb
SS
38592002-05-31 Stan Shebs <shebs@apple.com>
3860 Turly O'Connor <turly@apple.com>
3861
3862 * c-decl.c (struct binding_level): Change int field n_incomplete
3863 to tree list incomplete_list.
3864 (clear_binding_level): Init field with NULL.
3865 (pushdecl): Add incomplete type to list.
3866 (mark_binding_level): Mark the incomplete list.
3867 (finish_struct): Scan the incomplete list for types instead
3868 of all decls in the current binding level.
3869
4722213d
JDA
38702002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
3871
3872 * pa.c (output_millicode_call): Add missing '%' characters.
3873 (output_call): Likewise.
3874
1086fcb1
DE
38752002-05-31 David Edelsohn <edelsohn@gnu.org>
3876
3877 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
3878 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
3879
afdfb380 38802002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 3881
afdfb380
AL
3882 * varasm.c (mark_constant_pool): Walk epilogue delay list
3883 checking the insn, not the chain for potential constants.
1e730c5c 3884
f2df45f6
R
3885Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
3886
3887 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
3888
91ea38f9
JH
3889Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
3890
3891 * i386.c (classify_argument): Properly handle base types.
3892
3893 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
3894 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
3895 registers.
3896
10d1bb36
JH
3897Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
3898
3899 * gcse.c (gcse_emit_move_after): New.
3900 (pre_delete, hoist_store): Use it.
3901
3902 * reload1.c (emit_input_reload_insns): Use constrain_operands
3903 instead of constraint_accepts_reg_p to verify optimization.
3904 (constraint_accepts_reg_p): Kill
3905
3906 * reload1.c (reload_cse_delete_noop_set): Kill.
3907 (reload_cse_simplify): use delte_insn_and_edges.
3908
8a72fb76
ZD
39092002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3910
3911 * cfgloop.c (flow_loops_find): Initialize first and last fields
3912 correctly.
3913
a9da2e5b
NB
39142002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
3915
3916 * c-common.c (builtin_define_std): Correct logic.
3917
6248c4dd
JDA
39182002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
3919
3920 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
3921 (output_call): Likewise.
3922
d499455b
JDA
39232002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
3924
3925 * pa.c: Move output.h include after tree.h include.
3926 (pa_asm_output_mi_thunk): Constify identifier lab.
3927
2eb2901a
JT
39282002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
3929
3930 * config/ns32k/ns32k.h: Define named constants for the
3931 bits in target_flags and use them.
3932 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
3933
806bf413
JDA
39342002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3935
3936 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
3937 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
3938 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
3939 default scheduling model.
3940 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
3941 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
3942 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
3943 * doc/install.texi (hppa*-*-*): Document default scheduling.
3944
6d8d2bbc
JDA
39452002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3946
3947 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
3948
c8eb9785
JT
39492002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
3950
3951 * config.gcc (ns32k-*-netbsd*): Set tm_file to
3952 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
3953 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
3954 netbsd.h, or netbsd-aout.h.
3955
6e2e5b6a
JT
39562002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
3957
3958 * longlong.h (count_trailing_zeros): Add missing \, and clean up
3959 whitespace in __ns32000__ case.
3960
00182e1e
AH
39612002-05-31 Aldy Hernandez <aldyh@redhat.com>
3962
1e730c5c
ZW
3963 * expr.c (expand_expr): Output partially zeroed out vectors with
3964 output_constant_def.
00182e1e 3965
b4eb03fe
JT
39662002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
3967
3968 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
3969 (sh-*-netbsdelf*)
3970 (shl*-*-netbsdelf*): New targets.
3971 * config/sh/netbsd-elf.h: New file.
8fd0df91 3972 * config/sh/t-netbsd: New file.
b4eb03fe 3973
261376e7
RH
39742002-05-30 Richard Henderson <rth@redhat.com>
3975 Eric Botcazou <ebotcazou@multimania.com>
3976
3977 PR optimization/6822
3978 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
3979 to unsigned int for op1 comparisons. Use gen_int_mode.
3980
ce60bf25
EB
39812002-05-30 Eric Botcazou <ebotcazou@multimania.com>
3982
3983 * expmed.c (const_mult_add_overflow_p): New.
3984 * expr.h: Declare it.
3985 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
3986 Don't eliminate the biv if the giv has a constant multiplier and
3987 the rhs argument of the comparison does satisfy the predicate.
3988 Use expand_mult_add to compute the replacement constant.
3989
d18b1ed8
OS
39902002-05-30 Osku Salerma <osku@iki.fi>
3991
3992 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
3993 (c_common_get_alias_set): Handle it.
3994 * doc/extend.texi: Document it.
3995
a7943381
RH
39962002-05-30 Richard Henderson <rth@redhat.com>
3997
3998 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
3999 * toplev.c (process_options): Don't check it.
4000 * doc/tm.texi: Don't document it.
4001 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
4002 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
4003 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
4004 frame pointer optimization if current_function_profile.
4005
e11e816e
KH
40062002-05-30 Kazu Hirata <kazu@cs.umass.edu>
4007
4008 * langhooks.c: Fix formatting.
4009 * langhooks.h: Likewise.
4010 * lcm.c: Likewise.
4011 * libgcc2.c: Likewise.
4012 * lists.c: Likewise.
4013 * local-alloc.c: Likewise.
4014 * loop.c: Likewise.
4015 * loop.h: Likewise.
4016
40172002-05-30 Marc Espie <espie@openbsd.org>
4018
4019 * config.gcc (sparc64-*-openbsd*): New.
4020 * config/sparc/openbsd1-64.h: New.
4021 * config/sparc/openbsd64.h: New.
91f0fcee 4022
d35dfca9
JL
40232002-05-30 Jeff Law <law@redhat.com>
4024
4025 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
4026 a dead insn with a REG_RETVAL note when the entire libcall is not
4027 dead and remove the associated REG_LIBCALL note at the same time.
4028
81b40b72
R
4029Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
4030
4031 * lcm.c (output.h): #include.
4032 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
4033 as an ordinary block.
4034 (optimize_mode_switching): Don't pretend that the exit block is
4035 an ordinary block, or handle sucessors of entry block specially.
4036 Instead, split edges from entry block and to exit block, and
4037 put a computing definition on the thus gained post-entry-block,
4038 and a need on the pre-exit-block.
4039
c8ea9a0f
JH
4040Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
4041
4042 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
4043 * rtl.texi: Document 'B'
4044
348f0869
JT
40452002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
4046
4047 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
4048 at run-time.
4049 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
4050
9a171fcd
AH
40512002-05-30 Aldy Hernandez <aldyh@redhat.com>
4052
1e730c5c
ZW
4053 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
4054 const0_rtx instead of NULL_RTX when in error.
4055 (altivec_expand_abs_builtin): Same.
4056 (rs6000_expand_binop_builtin): Same.
4057 (altivec_expand_predicate_builtin): Same.
4058 (altivec_expand_stv_builtin): Same.
4059 (rs6000_expand_ternop_builtin): Same.
4060 (altivec_expand_builtin): Same.
9a171fcd 4061
62a35e60
DM
40622002-05-29 David S. Miller <davem@redhat.com>
4063
4064 * rtl.h (clear_emit_caches): Delete.
4065 * integrate.c (output_inline_function): Don't call it.
4066 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
4067 (clear_emit_caches): Delete definition.
4068 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
4069
cbc39da8
HPN
40702002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
4071
4072 * config/mmix/mmix.c: Include real.h.
4073 (mmix_constant_address_p): Remove redundant test before switch.
4074
50efa737
JT
40752002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
4076
4077 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
4078 only if not already defined.
4079
2e760b15
KH
40802002-05-29 Kazu Hirata <kazu@cs.umass.edu>
4081
4082 * config/h8300/h8300-protos.h: Remove prototypes for
4083 ok_for_bclr and small_power_of_two.
4084 * config/h8300/h8300.c (small_power_of_two): Remove.
4085 (ok_for_blcr): Likewise.
4086 (fix_bit_operand): Make WHAT deal with an integer instead of a
4087 constraint character.
4088 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
4089 (CONST_OK_FOR_P): Likewise.
4090 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
4091 CONST_OK_FOR_P any more.
4092 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
4093 of fix_bit_operand.
4094 (iorqi3): Likewise.
4095 (xorqi3): Likewise.
4096
e1c293ae
JT
40972002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
4098
4099 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
4100 (CPP_PREDEFINES): Make sure this is undefined.
4101 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
4102 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
4103 or -U__MIPSEB__ before defining one or the other. Instead,
4104 use %(subtarget_endian_default) if neither -EB nor -EL are
4105 specified.
4106 (SUBTARGET_EXTRA_SPECS): Define.
4107 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
4108 %(netbsd_cpp_spec).
4109
fde6d81f
HPN
41102002-05-29 Hans-Peter Nilsson <hp@axis.com>
4111
4112 * doc/md.texi (Patterns): Note pattern condition pitfall
4113 for unnamed insn.
4114
92898235
AH
41152002-05-29 Aldy Hernandez <aldyh@redhat.com>
4116
1e730c5c
ZW
4117 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
4118 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
4119 ternary operations from here...
4120 (rs6000_expand_builtin): ...to here.
4121 New argument expandedp.
4122 Change all instances of altivec_expand_binop_builtin to
4123 rs6000_expand_binop_builtin.
4124 (altivec_expand_unop_builtin): Rename to
4125 rs6000_expand_unop_builtin.
4126 (altivec_expand_binop_builtin): Rename to
4127 rs6000_expand_binop_builtin.
4128 (altivec_expand_ternop_builtin): Rename to
4129 rs6000_expand_ternop_builtin.
92898235 4130
67adf6a9
RH
41312002-05-29 Richard Henderson <rth@redhat.com>
4132
4133 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
4134 (TARGET_BI_ARCH): Likewise.
4135 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
4136 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
4137 (TARGET_64BIT_DEFAULT): Default to 0.
4138 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
4139
145aacc2
RH
41402002-05-29 Richard Henderson <rth@redhat.com>
4141
4142 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
4143 (get_pc_thunk_name): New.
4144 (output_set_got): Use it.
4145 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
4146 into linkonce sections.
4147
a5b49bbc
JT
41482002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
4149
4150 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
4151 (CPP_PREDEFINES): Make sure this is undefined.
4152 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
4153 (CPP_SUBTARGET_SPEC): Don't provide different versions for
4154 default-32 and default-64. Just always use %(netbsd_cpp_spec).
4155 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
4156 cpp_subtarget_spec64. Add netbsd_cpp_spec.
4157 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
4158 (CPP_PREDEFINES): Make sure this is undefined.
4159 (SUBTARGET_EXTRA_SPECS): Define.
4160 (CPP_SPEC): Use %(netbsd_cpp_spec).
4161
54374491
JL
41622002-05-29 Jeff Law <law@redhat.com>
4163
ae02eae8
JL
4164 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
4165
b862c2aa
JL
4166 * flow.c (propagate_one_insn): Do not remove a dead insn if it
4167 contains a REG_RETVAL note.
4168
d10791ba
JL
4169 * haifa-sched (sched_analyze): Remove another useless clearing
4170 of SCHED_GROUP_P I missed yesterday.
4171
54374491
JL
4172 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
4173 * pa.c (pa_asm_output_mi_thunk): New function.
4174 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
4175
92c392e6
NB
41762002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
4177 Marek Michalkiewicz <marekm@amelek.gda.pl>
4178
4179 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
4180 (avr_asm_only_p): Make non-static.
4181 (enum avr_arch): Remove.
4182 (avr_arch_types): New.
4183 (avr_mcu_types): Update.
4184 (avr_override_options): Use avr_arch_types table instead of switch.
4185 * avr.h (CPP_PREDEFINES): Die.
4186 (avr_base_arch_macro, avr_extra_arch_macro): New.
4187 (TARGET_CPU_CPP_BUILTINS): New.
4188 (CPP_SPEC, EXTRA_SPECS): Simplify.
4189 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
4190 CPP_AVR5_SPEC): Die.
4191
4528173e
JT
41922002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
4193
4194 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
4195 NETBSD_OS_CPP_BUILTINS_AOUT.
4196 (SUBTARGET_EXTRA_SPECS): Define.
4197 (CPP_SPEC): Use %(netbsd_cpp_spec).
4198
bd09bdeb
RH
41992002-05-29 Richard Henderson <rth@redhat.com>
4200
4201 * config/i386/i386.c (ix86_output_function_epilogue): New.
4202 (TARGET_ASM_FUNCTION_EPILOGUE): New.
4203 (pic_label_name): Remove.
4204 (pic_labels_used): New.
4205 (ix86_asm_file_end): Emit one pc load stub for each register used.
4206 (output_set_got): Generate deep pc load to any register.
4207 (ix86_select_alt_pic_regnum): New.
4208 (ix86_save_reg): Don't save pic register if we can find a valid
4209 call-clobbered replacement.
4210 (ix86_expand_prologue): If we found a valid replacement, renumber
4211 pic_offset_table_rtx.
4212 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
4213 pic_offset_table_rtx after reload.
4214 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
4215 * config/i386/i386.md (set_got): Make insn, not expander.
4216 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
4217
002ff5bc
RH
42182002-05-29 Richard Henderson <rth@redhat.com>
4219
4220 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
4221 alignment for alloca.
4222
edfe8595
RH
42232002-05-29 Richard Henderson <rth@redhat.com>
4224
4225 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
4226 (print_operand_address): Only add rip for symbolic addresses
4227 for which we do not have another relocation type.
4228
cd7714ee
JT
42292002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
4230
4231 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
4232 (EXTRA_SPECS): Add netbsd_cpp_spec.
4233 (CPP_SPEC): Use %(netbsd_cpp_spec).
4234 (CPP_PREDEFINES): Remove.
4235 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
4236 (EXTRA_SPECS): Define.
4237 (CPP_SPEC): Use %(netbsd_cpp_spec).
4238 (CPP_PREDEFINES): Remove.
4239
8dc901de
NB
42402002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
4241
4242 PR preprocessor/6844
4243 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
4244 NUL.
4245
2274b31a
EC
42462002-05-29 Eric Christopher <echristo@redhat.com>
4247
4248 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
4249 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
4250
5c7666c1
NC
42512002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
4252
4253 * config/fr30/fr30.md: Remove previous restriction on splits.
4254 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 4255 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
4256 as the assembler does not support ".bss".
4257
45beef47
JT
42582002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
4259
4260 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
4261 (CPP_PREDEFINES): Remove.
4262 (SUBTARGET_EXTRA_SPECS): Define.
4263 (CPP_SPEC): Use %(netbsd_cpp_spec).
4264 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
4265 (CPP_PREDEFINES): Remove.
4266 (SUBTARGET_EXTRA_SPECS): Define.
4267 (CPP_SPEC): Use %(netbsd_cpp_spec).
4268 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
4269 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
4270 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
4271 Add netbsd_cpp_spec.
4272 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
4273
cd7ab83f
NB
42742002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
4275 Zack Weinberg <zack@codesourcery.com>
4276
4277 * cppexp.c (cpp_num): Move to cpplib.h.
4278 (CPP_ERROR): Remove.
4279 (interpret_float_suffix, interpret_int_suffix): New.
4280 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
4281 (cpp_classify_number, cpp_interpret_integer): New.
4282 (interpret_number): Remove.
4283 (eval_token): Update to use new routines.
4284 * cpphash.h (cpp_num_part): Move to cpplib.h.
4285 * cppinit.c (cpp_post_options): Set warn_long_long.
4286 * cpplib.h (struct cpp_options): Add warn_long_long.
4287 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
4288 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
4289 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
4290 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
4291 cpp_interpret_integer): New.
4292
61a8515c
JS
42932002-05-29 Joel Sherrill <joel@OARcorp.com>
4294
4295 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
4296
53a428b5
JT
42972002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
4298
4299 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
4300 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
4301 (CPP_SUBTARGET_SPEC): Define.
4302 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
4303 (CPP_SPEC): Remove.
4304
45b1f7c7
CL
43052002-05-29 Chris Lattner <sabre@nondot.org>
4306
1e730c5c
ZW
4307 * ssa.c (rename_insn_1): Rename uses of undefined registers to
4308 prevent confusion if/when the register is defined.
45b1f7c7 4309
049746c2
HPN
43102002-05-29 Hans-Peter Nilsson <hp@axis.com>
4311
4312 PR target/6838
4313 * config/cris/cris.md: Fix typos and thinkos in comments.
4314 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
4315 second alternative.
4316 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
4317 ("*mov_sideqi_mem"): Similar, but for operand 3.
4318 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
4319 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
4320 Remove spurious mode specifier on operand 2.
4321
4d4d89e2
KH
43222002-05-29 Kazu Hirata <kazu@cs.umass.edu>
4323
4324 * config/h8300/h8300-protos.h: Remove the prototype for
4325 o_operand.
4326 Add prototypes for single_one_operand and single_zero_operand.
4327 * config/h8300/h8300.c (o_operand): Remove.
4328 (single_one_operand): New.
4329 (single_zero_operand): Likewise.
4330 (print_operand): For 'V' operand, and the operand with 0xff.
4331 For 'V' and 'W' operands, do not and the bit position with 7.
4332 * config/h8300/h8300.md (various anonymous patterns): Replace
4333 use of exact_log2 with single_one_operand/single_zero_operand.
4334
abd6ddec
UW
43352002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
4336
4337 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
4338
da06d85a
UW
43392002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
4340
4341 * config/s390/s390.c (legitimate_pic_operand_p): Do not
4342 accept symbolic LARL operands.
2274b31a 4343 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 4344 epilogue insns.
2274b31a 4345
f8766020
HP
43462002-05-29 Hartmut Penner <hpenner@de.ibm.com>
4347
4348 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 4349 input registers as used.
f8766020 4350
66edd3b4
RH
43512002-05-28 Richard Henderson <rth@redhat.com>
4352
4353 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
4354 not current_function_uses_pic_offset_table and
4355 current_function_uses_const_pool; examine current_function_profile.
4356 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
4357 input to blockage if needed.
4358 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
4359 (legitimize_pic_address): Likewise. Set regs_ever_live for
4360 pic_offset_table_rtx when invoked during reload.
4361 * config/i386/i386.h (FINALIZE_PIC): Remove.
4362 * config/i386/i386.md (tablejump): Reformat. Do not set
4363 current_function_uses_pic_offset_table.
4364 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
4365 (blockage): Accept anything as operand 0.
4366
52f4fff6
JT
43672002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
4368
4369 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
4370 common CPP built-ins for all NetBSD a.out targets.
4371 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
4372 common CPP built-ins for all NetBSD ELF targets.
4373 * config/netbsd.h: Add missing notice.
4374 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
4375 for all NetBSD targets.
4376 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
4377 for all NetBSD targets using an LP64 code model.
4378 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
4379 NetBSD targets.
4380
e0e577a2
RH
43812002-05-28 Richard Henderson <rth@redhat.com>
4382
4383 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
4384 update if UPDATE_LIFE_LOCAL.
4385
43862002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
4387
4388 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
4389
f1a58d92 4390Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 4391 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
4392
4393 config/sh reorganization to factor out endianness and coff:
4394
4395 * config/sh/little.h: New file.
1e730c5c
ZW
4396 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
4397 defined, define to 0 to select big-endian.
f1a58d92 4398 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
4399 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
4400 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
4401 * config/sh/t-be: New file.
4402 * config/sh/t-le: New file.
f1a58d92
R
4403
4404 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
4405 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
4406 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
4407 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
4408 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
4409 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4410 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
4411 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
4412 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
4413 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
4414 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
4415 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
4416 (LINK_SPEC): Define to SH_LINK_SPEC.
4417 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
4418 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
4419 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
4420 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
4421 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
4422 * config/sh/coff.h: New file.
4423 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
4424 (TARGET_OBJFMT_CPP_BUILTINS): Define.
4425 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
4426 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
4427 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
4428 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
4429 (PTRDIFF_TYPE): Likewise.
4430 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
4431 (CPP_PREDEFINES): Don't define.
4432 (TARGET_OBJFMT_CPP_BUILTINS): Define.
4433 (LINK_SPEC): Define to SH_LINK_SPEC.
4434 (LINK_EMUL_PREFIX): Redefine.
4435 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
4436 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
4437 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
4438 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
4439 (TARGET_OS_CPP_BUILTINS): Define.
4440 (TARGET_DEFAULT): Redefine.
4441 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
4442 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
4443 (LINK_SPEC): Don't redefine.
4444 (LINK_DEFAULT_CPU_EMUL): Redefine.
4445 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
4446 * sh.c (sh_asm_named_section): Don't declare / define.
4447 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
4448 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
4449 (sh64-*-elf* tm_file): Likewise.
4450 (sh-*-rtemself* tm_file): Likewise.
4451 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
4452 (sh-*-linux* tmake_file): Add sh/t-le.
4453 (sh-*-rtems* tm_file): Add sh/coff.h
4454 (sh-*-* tm_file): Likewise.
4455
4456Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
4457
4458 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
4459 CONSTANT_POOL_ADDRESS_P.
4460
4461 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
4462
d10791ba 44632002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
4464 Jeff Law <law@redhat.com>
4465
64de6c0a
DE
4466 * optabs.c (expand_binop): Fix nwords sign warnings.
4467 generate pseudo for add_optab.
4468
33a3dfc4
DE
4469 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
4470 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
4471
972957ba 44722002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 4473
2274b31a 4474 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
4475 inherited from gas.h.
4476 (ASM_QUAD): Undef. OpenBSD does not support it.
4477
cc92b8ab
DS
44782002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
4479
4480 * doc/install.texi (binaries): Change mingw binaries
4481 link to www.mingw.org.
4482
f8088d55
ZD
44832002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4484
4485 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
4486
0b7ae565
RH
44872002-05-28 Richard Henderson <rth@redhat.com>
4488
4489 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
4490 bottom alignment for leaf functions.
4491
16069d69
ZW
44922002-05-28 Zack Weinberg <zack@codesourcery.com>
4493
4494 * config/pa/milli32.S, config/pa/lib1funcs.asm,
4495 config/sparc/sol2-g1.asm: Delete unused files.
4496
04653686
RH
44972002-05-28 Richard Henderson <rth@redhat.com>
4498
4499 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
4500
f3ea5f6a
RH
4501 * flow.c (calculate_global_regs_live): Rename call_used to
4502 invalidated_by_call. Initialize from regs_invalidated_by_call
4503 instead of call_used_regs.
4504
923c7cdf
RH
4505 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
4506 DECL_EXTERNAL.
4507
11ad4784
ZW
45082002-05-28 Zack Weinberg <zack@codesourcery.com>
4509
8abbd76a
ZW
4510 * tree.h: Don't include real.h.
4511 Forward-declare struct realvaluetype.
11ad4784
ZW
4512 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
4513 contain it.
4514 (TREE_REAL_CST_PTR): New accessor.
4515 (TREE_REAL_CST): Update.
4516 * real.h: Include machmode.h.
2274b31a 4517 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
4518 (build_real): Prototype here.
4519
4520 * tree.c: Include real.h.
2274b31a
EC
4521 (build_real): Allocate the REAL_VALUE_TYPE as a separate
4522 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
4523 (build_real_from_int_cst): Use build_real.
4524 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
4525 REAL_CST.
4526
4527 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
4528 fold-const.c, print-tree.c, real.c: Include real.h.
4529 * Makefile.in: Update dependency lists.
4530
bf77398c
ZD
45312002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4532
4533 * basic-block.h (last_basic_block): Declare.
4534 (expunge_block_nocompact): Declaration removed.
4535 (compact_blocks): Declare.
4536 * cfg.c (last_basic_block): New variable.
4537 (expunge_block_nocompact): Removed.
4538 (expunge_block): Do not compact basic blocks.
4539 (compact_blocks): New.
4540 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
4541 longer change.
4542 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
4543 last_basic_block.
4544 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
4545 real positions of blocks.
4546 (delete_unreachable_blocks): Simplified -- quadratic behavior now
4547 cannot occur.
4548 (cleanup_cfg): Compact blocks.
4549 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
4550 basic_block_info varray.
4551 (flow_delete_block): Comment update.
4552 (back_edge_of_syntactic_loop_p): Modify position check code.
4553 (verify_flow_info): Update checking.
4554 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
4555 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
4556 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
4557 indices no longer change.
4558 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
4559 last_basic_block.
4560 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
4561 * profile.c (branch_prob): Compact blocks.
4562 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
4563 last_basic_block.
4564
ae12a094
KH
45652002-05-28 Kazu Hirata <kazu@cs.umass.edu>
4566
4567 * config/h8300/h8300.md (two anonymous patterns): New.
4568
c6172f14
DM
45692002-05-28 David S. Miller <davem@redhat.com>
4570
4571 * config/sparc/sparc.md (cpu): Tidy.
4572 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
4573 'trap'.
4574 (in_call_delay): Delete reference to 'return' type.
4575 (eligible_for_return_delay, in_return_delay, define_delay
4576 referencing those): Delete.
4577 (rest of file): Use new type attributes as appropriate.
4578 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
4579 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
4580 * config/sparc/ultra1_2.md (us1_single): New reservation.
4581 (us1_ialuX): Likewise.
4582 * config/sparc/ultra3.md (us3_single): Likewise.
4583 (us3_ialuX): Likewise.
4584 (us3_imul, us3_idiv): Tweak.
2274b31a 4585
34a6c2ec
RH
45862002-05-28 Richard Henderson <rth@redhat.com>
4587
4588 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
4589 STRING_CST.
4590
9c075570
RH
45912002-05-28 Richard Henderson <rth@redhat.com>
4592
4593 * config.gcc: Obsolete mn10200.
4594
359b0bec
NB
45952002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
4596
4597 * cppexp.c (interpret_number): Optimize for single-digit
4598 and less-than-half-precision cases.
4599 (num_trim, num_positive, num_div_op): Cast constants.
4600
4075db8f
BT
46012002-05-27 Bo Thorsen <bo@suse.de>
4602
4603 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
4604 3.1 branch. The file was made by Jakub Jelinek.
4605 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
4606 support so multilib doesn't break. And don't define this at all
4607 when -Dinhibit_libc is used.
4608 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
4609 * config/i386/t-linux64: Implement full multilib support. Patch
4610 originally done by Andreas Jaeger and Jakub Jelinek.
4611
39f2f3c8
RS
46122002-05-27 Roger Sayle <roger@eyesopen.com>
4613
4614 * c-common.c: Add support for __attribute__((nothrow)) to specify
4615 that a function cannot throw an exception (using TREE_NOTHROW).
4616 (handle_nothrow_attribute): New function to process this attribute.
4617
4618 * doc/extend.texi: Document the new nothrow function attribute.
4619
d51b0053
L
46202002-05-27 H.J. Lu (hjl@gnu.org)
4621
4622 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
4623 (num_positive): Likewise.
4624 (num_div_op): Likewise.
4625
630363b4
NB
46262002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
4627
4628 * c-common.c (c_common_init): Always use intmax_t.
4629
d94cde01
NB
46302002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
4631
4632 * c-common.c (c_common_init): Use intmax_t for now.
4633
57f851a3
AH
46342002-05-24 Andrew Haley <aph@redhat.com>
4635
4636 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
4637 if T is a boolean type.
4638
d55bc081
ZD
46392002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4640
4641 * basic-block.h (last_basic_block): Defined as synonym for
4642 n_basic_blocks.
4643 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
4644 flow_depth_first_order_compute, flow_preorder_transversal_compute,
4645 flow_dfs_compute_reverse_init): Replaced relevant occurences of
4646 n_basic_blocks with last_basic_block.
4647 * cfgbuild.c (make_edges): Likewise.
4648 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
4649 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
4650 * combine.c (combine_instructions): Likewise.
4651 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
4652 iterative_dataflow_bitmap): Likewise.
4653 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
4654 calc_idoms, idoms_to_doms): Likewise.
4655 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
4656 Likewise.
4657 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
4658 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
4659 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
4660 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
4661 delete_null_pointer_checks, compute_code_hoist_vbeinout,
4662 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
4663 compute_store_table, build_store_vectors): Likewise.
4664 * haifa-sched.c (sched_init): Likewise.
4665 * ifcvt.c (if_convert): Likewise.
4666 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
4667 pre_edge_lcm, compute_available, compute_nearerout,
4668 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
4669 Likewise.
4670 * predict.c (estimate_probability, process_note_prediction,
4671 note_prediction_to_br_prob): Likewise.
4672 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
4673 * recog.c (split_all_insns, peephole2_optimize): Likewise.
4674 * regrename.c (copyprop_hardreg_forward): Likewise.
4675 * resource.c (init_resource_info): Likewise.
4676 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
4677 init_regions, schedule_insns): Likewise.
4678 * ssa-ccp.c (ssa_const_prop): Likewise.
4679 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
4680 * ssa.c (compute_dominance_frontiers,
4681 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
4682
4683 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
4684 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
4685 sizes consistently.
4686
71d2c5bd
JH
4687Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
4688
4689 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
4690 new.
4691 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
4692 hoist_insn_after, hoist_insn_to_edge): New.
4693
5149f070
JH
4694Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
4695
4696 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
4697 (PROP_FINAL): Include.
4698 * flow.c (life_analysis, update_life_info,
4699 init_propagate_block_info, mark_set_1, mark_used_rgs):
4700 Support SCAN_DEAD_STORE.
4701
c9220e3a
NB
47022002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
4703
4704 * c-common.c (c_common_init): Set CPP arithmetic precision.
4705 * cppexp.c (cpp_num_part): Move typedef ...
4706 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
4707 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
4708 (sanity_checks): Update.
4709
e34a3d31
GK
47102002-05-26 Geoffrey Keating <geoffk@redhat.com>
4711
4712 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
4713 (mkheaders): New rule.
4714 (install-mkheaders): New rule.
4715 * configure.in (all_outputs): Add mkheaders.
4716 * configure: Regenerate.
4717 * mkheaders.in: New file.
4718
9059e33c
JJ
47192002-05-26 Jakub Jelinek <jakub@redhat.com>
4720
4721 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
4722
291cc0fe
AJ
47232002-05-26 Andreas Jaeger <aj@suse.de>
4724
4725 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
4726
91318908
NB
47272002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
4728
4729 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
4730 right_shift): Remove.
4731 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
4732 HIGH_PART): New.
4733 (struct op): Use cpp_num.
4734 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
4735 num_part_mul, num_unary_op, num_binary_op, num_negate,
4736 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
4737 num_div_op, num_lshift, num_rshift, append_digit): New.
4738 (interpret_number, parse_defined, eval_token, reduce): Update
4739 for two-integer arithmetic.
4740 (binary_handler): New typedef.
4741 (optab): Update.
4742 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
4743 (_cpp_parse_expr, reduce): Update to handle two-integers.
4744 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
4745
331ca350
MM
47462002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
4747
4748 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
4749 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
4750 branch insn into account, do not assume 1.
4751 (avr_out_sbxx_branch): New function. Optimize cases of skipping
4752 over single word insn. Handle upper half of I/O space too.
4753 * config/avr/avr.md (*sbrx_branch): Use it.
4754 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
4755 (*sbix_branch, *sbix_branch_bit7): Likewise.
4756 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
4757 Use RTL peepholes to optimize register operand sign tests.
4758
bcb6a2be
MM
47592002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
4760
4761 * config/avr/avr.c (avr_asm_only_p): New variable.
4762 (avr_override_options): Set it here if AVR1.
4763 (asm_file_start): Test it here, report an error if set.
4764
ca7fd9cd
KH
47652002-05-26 Kazu Hirata <kazu@cs.umass.edu>
4766
4767 * alias.c: Fix formatting.
4768 * attribs.c: Likewise.
4769 * bb-reorder.c: Likewise.
4770 * bitmap.c: Likewise.
4771 * bitmap.h: Likewise.
4772 * builtins.c: Likewise.
4773
a65dc37d
JH
4774Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
4775
4776 * reload.c (find_valid_class): Accept new argument DEST,
4777 choose class accordingly.
4778 (push_reload): Update callers.
4779
9b89393b
AJ
47802002-05-26 Andreas Jaeger <aj@suse.de>
4781
4782 * combine.c (combine_instructions): Do not indent #if for
4783 traditional C.
4784
b53bb376
RH
47852002-05-25 Richard Henderson <rth@redhat.com>
4786
4787 * c-pragma.c (apply_pragma_weak): Convert value identifier to
4788 string for decl_attributes.
4789 (handle_pragma_weak): Call assemble_alias if we're modifying
4790 an existing decl.
4791
e133041b
RH
47922002-05-25 Richard Henderson <rth@redhat.com>
4793
4794 PR target/6788
4795 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
4796 using rtl instead of fprintf.
4797 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
4798 * config/sparc/sparc-protos.h: Update.
4799
81a75f0f
NB
48002002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
4801
4802 * Makefile.in (C_COMMON_H): Fix.
4803 Update other targets.
4804 * c-common.c: Don't include c-lex.h.
4805 (builtin_define_with_value): Make static and prototype.
4806 (builtin_define_std): Move from c-lex.h.
4807 * c-common.h (init_c_lex): Move from c-lex.h.
4808 * c-decl.c: Don't include c-lex.h.
4809 (make_pointer_declarator): Move from c-parse.in.
4810 * c-lex.c: Don't include c-lex.h.
4811 * c-lex.h: Remove.
4812 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
4813 (make_pointer_declarator): Move to c-decl.c.
4814 * c-pragma.c: Don't include c-lex.h.
4815 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
4816 * c-tree.h (make_pointer_declarator): New.
4817doc:
4818 * passes.texi, tm.texi: Update.
4819objc:
4820 * Make-lang.in: Update and correct.
4821 * objc-act.c: Don't include c-lex.h or cpplib.h.
4822treelang:
4823 * treetree.c: Don't include c-lex.h.
4824config:
4825 * darwin-c.c: Don't include c-lex.h.
4826 * c4x/c4x-c.c: Don't include c-lex.h.
4827 * c4x/t-c4x: Update.
4828 * i370/i370-c.c: Don't include c-lex.h.
4829 * i370/t-i370: Update.
4830 * i960/i960-c.c: Don't include c-lex.h.
4831 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
4832 * i960/t-960bare: Update.
4833 * i960/t-vxworks: Update.
4834 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
4835 * rs6000/t-darwin: Update.
4836 * rs6000/t-rs6000-c-rule: Update.
4837 * v850/v850-c.c: Don't include c-lex.h.
4838 * v850/v850.c: Don't include c-lex.h or cpplib.h.
4839
4840
04d2be8e
KH
48412002-05-25 Kazu Hirata <kazu@cs.umass.edu>
4842
4843 * tree.def: Fix typos.
4844 * doc/install.texi: Likewise.
4845
7b6e506e
RH
48462002-05-25 Richard Henderson <rth@redhat.com>
4847
4848 * configure.in (HAVE_AS_TLS): Add ia64 test.
4849 * configure: Rebuild.
4850 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
4851 (override_options): Set it.
4852 (TARGET_HAVE_TLS): New.
4853 (sdata_symbolic_operand): Look for 's'.
4854 (tls_symbolic_operand): New.
4855 (ia64_expand_load_address): Abort for tls symbols.
4856 (gen_tls_get_addr): New.
4857 (gen_thread_pointer): New.
4858 (ia64_expand_move): Split out from movdi. Handle tls symbols.
4859 (rtx_needs_barrier): Add new unspecs.
4860 (ia64_encode_section_info): Handle tls symbols.
4861 (ia64_strip_name_encoding): Strip two encoding chars.
4862 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
4863 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
4864 (TARGET_OPTIONS): Add tls-size.
4865 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
4866 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
4867 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
4868 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
4869 (movsf, movdf): Likewise.
4870 (movdi_symbolic): Use match_scratch. Don't split if we won't
4871 have a scratch availiable.
4872 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
4873 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
4874 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
4875 * config/ia64/ia64-protos.h: Update.
4876 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
4877 sdata_symbolic_operand.
4878 (ASM_OUTPUT_LABELREF): Strip two characters.
4879
8c1d52a3
KH
48802002-05-25 Kazu Hirata <kazu@cs.umass.edu>
4881
4882 * combine.c (simplify_set): Remove an unnecessary subreg.
4883
b47cae3d
MM
48842002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
4885
4886 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
4887
4888 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
4889
ce9e3a6d
GDR
48902002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
4891
4892 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
4893
fb2c6841
RS
48942002-05-25 Roger Sayle <roger@eyesopen.com>
4895
4896 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
4897 (cond (compare x y) 0) into the equivalent (cond x y).
4898
da7ac8f1
GDR
48992002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
4900
4901 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
4902
c7bdf0a6
ZW
49032002-05-24 Zack Weinberg <zack@codesourcery.com>
4904
4905 * config.gcc: Remove all stanzas for previously obsoleted
4906 systems. Where necessary, add explicit error stanzas to
4907 prevent removed systems from being misidentified as something
4908 else. Begin a fresh obsoletions list, with the systems that
4909 were reprieved last round.
4910 * doc/install.texi: Remove all mention of dead targets.
4911 * fixinc/mkfixinc.sh: Likewise.
4912
4913 * config/arm/arm.h: Bit 31 of target_flags is no longer
4914 reserved.
4915
4916 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
4917 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
4918 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
4919 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
4920 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
4921 config/alpha/osf12.h, config/alpha/osf2or3.h,
4922 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
4923 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
4924 config/clipper/clipper-protos.h, config/clipper/clipper.c,
4925 config/clipper/clipper.h, config/clipper/clipper.md,
4926 config/clipper/clix.h, config/convex/convex-protos.h,
4927 config/convex/convex.c, config/convex/convex.h,
4928 config/convex/convex.md, config/convex/fixinc.convex,
4929 config/convex/proto.h, config/elxsi/elxsi-protos.h,
4930 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
4931 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
4932 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
4933 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
4934 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
4935 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
4936 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
4937 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
4938 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
4939 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
4940 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
4941 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
4942 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
4943 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
4944 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
4945 config/m68k/altos3068.h, config/m68k/apollo68.h,
4946 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
4947 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
4948 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
4949 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
4950 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
4951 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
4952 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
4953 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
4954 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
4955 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
4956 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
4957 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
4958 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
4959 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
4960 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
4961 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
4962 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
4963 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
4964 config/mips/dec-osf1.h, config/mips/elflorion.h,
4965 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
4966 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
4967 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
4968 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
4969 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
4970 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
4971 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
4972 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
4973 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
4974 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
4975 config/ns32k/sequent.h, config/ns32k/tek6000.h,
4976 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
4977 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
4978 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
4979 config/sparc/rtems.h, config/we32k/we32k-protos.h,
4980 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
4981 Delete file.
4982
755ac5d4
RH
49832002-05-24 Richard Henderson <rth@redhat.com>
4984
4985 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
4986 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
4987 * config/i386/i386.c (tls_model_chars): Add leading space.
4988 (tls_symbolic_operand): Don't bias by 1.
4989 (legitimize_address): Don't unbias by 1.
4990
c429f12e
TM
49912002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
4992
4993 * lcm.c (optimize_mode_switching): Change bb used as indices
4994 to bb->index.
4995
8beda321
RH
49962002-05-24 Richard Henderson <rth@redhat.com>
4997
4998 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
4999 of update_life_info_in_dirty_blocks.
5000
90442291
JJ
50012002-05-24 Jakub Jelinek <jakub@redhat.com>
5002
5003 PR other/6782
5004 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
5005
3620711b
NB
50062002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
5007
5008 PR preprocessor/6780
5009 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
5010
2f8d482e
JB
50112002-05-24 Jim Blandy <jimb@redhat.com>
5012
5013 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
5014 entry with a type code of zero, marking the end of the compilation
5015 unit's macro info.
5016
95bfe95f
RH
50172002-05-24 Richard Henderson <rth@redhat.com>
5018
c7bdf0a6
ZW
5019 * varasm.c (asm_output_bss): Always output one byte.
5020 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 5021
7efda054
BM
50222002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5023
5024 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
5025 namespace.
5026
8a951190
AJ
50272002-05-24 Andreas Jaeger <aj@suse.de>
5028
5029 * ggc-page.c (alloc_page): Cast variables of type size_t to
5030 unsigned long, adjust printf format string.
5031 (ggc_alloc): Likewise.
5032 (ggc_print_statistics): Likewise.
5033 (ggc_print_statistics): Correct printf format string for SCALE to
5034 use unsigned long.
5035
f29e2ec0
DS
50362002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
5037
5038 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
5039
211a0cbe 50402002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 5041 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
5042
5043 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
5044 quoted strings.
5045 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 5046 directive in assembly file.
211a0cbe
GDR
5047 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
5048 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
5049 * config/pj/pj.h (ASM_FILE_START): Likewise.
5050 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
5051 * config/avr/avr.c (asm_file_end): Likewise.
5052 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 5053 char.
211a0cbe
GDR
5054 * toplev.h (output_clean_symbol_name): Declare
5055 * toplev.c (output_clean_symbol_name): Define.
5056 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
5057 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
5058
2f0552b6
AM
50592002-05-24 Alan Modra <amodra@bigpond.net.au>
5060
5061 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
5062
b326b2c1
VM
50632002-05-23 Vladimir Makarov <vmakarov@redhat.com>
5064
5065 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
5066 of size of unsigned.
5067
f996902d
RH
50682002-05-23 Richard Henderson <rth@redhat.com>
5069
5070 * configure.in (HAVE_AS_TLS): New test.
5071 * config.in, configure: Rebuild.
5072 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
5073 (ix86_tls_dialect_string, ix86_tls_dialect): New.
5074 (override_options): Set it.
5075 (tls_model_chars, tls_symbolic_operand): New.
5076 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
5077 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
5078 (local_exec_symbolic_operand): New.
5079 (get_pic_label_name): Merge into output_set_got.
5080 (ix86_asm_file_end): Emit pic_label_name if defined.
5081 (legitimate_constant_p, constant_address_p): New.
5082 (legitimate_pic_operand_p): New.
5083 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
5084 (legitimate_address_p): Likewise.
5085 (ix86_encode_section_info): Rename from i386_; handle tls decls.
5086 (ix86_strip_name_encoding): New.
5087 (get_thread_pointer): New.
5088 (legitimize_address): Handle tls symbols.
5089 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
5090 Remove UNSPEC_PLT.
5091 (struct machine_function): Add some_ld_name.
5092 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
5093 (print_operand) [&]: Use it. Handle UNSPEC_TP.
5094 (output_addr_const_extra): New.
5095 (maybe_get_pool_constant): New.
5096 (ix86_split_to_parts): Use it.
5097 (ix86_expand_move): Handle tls symbols.
5098 (ix86_tls_get_addr): New.
5099 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
5100 (TARGET_OPTIONS): Add tls-dialect.
5101 (CONSTANT_ADDRESS_P): Use new out-of-line function.
5102 (LEGITIMATE_CONSTANT_P): Likewise.
5103 (LEGITIMATE_PIC_OPERAND_P): Likewise.
5104 (TARGET_STRIP_NAME_ENCODING): New.
5105 (ASM_OUTPUT_LABELREF): New.
5106 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
5107 (OUTPUT_ADDR_CONST_EXTRA): New.
5108 (PREDICATE_CODES): Update.
5109 (ix86_tls_dialect, ix86_tls_dialect_string): New.
5110 * config/i386/i386.md: Regroup and renumber unspec constants.
5111 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
5112 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
5113 (tls_global_dynamic, tls_local_dynamic_base): New.
5114 (tls_local_dynamic_once): New.
5115 * config/i386/i386-protos.h: Update.
5116
821e35ba
RH
51172002-05-23 Richard Henderson <rth@redhat.com>
5118
5119 * genemit.c (gen_insn): Print file:lineno comment before function.
5120 (main): likewise.
5121 * gensupport.c (struct queue_elem): Add filename member.
5122 (queue_pattern): Initialize it; update all callers.
5123 (process_include): Don't free filename.
5124 (read_md_rtx): Set read_rtx_filename.
5125
0f1ffa23 51262002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
5127
5128 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 5129
8e9fadc3
RH
51302002-05-23 Richard Henderson <rth@redhat.com>
5131
5132 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
5133
244c2241
RH
51342002-05-23 Richard Henderson <rth@redhat.com>
5135
5136 * doc/extend.texi (C++98 Thread-Local Edits): Update with
5137 commentary from Mark.
5138
e0082a72
ZD
51392002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5140
5141 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
5142 Use FOR_EACH_BB macros to iterate over basic block chain.
5143 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
5144 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
5145 Likewise.
5146 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
5147 find_unreachable_blocks, create_edge_list, verify_edge_list,
5148 remove_fake_edges, add_noreturn_fake_exit_edges,
5149 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
5150 Likewise.
5151 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
5152 find_sub_basic_blocks): Likewise.
5153 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
5154 Likewise.
5155 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
5156 Likewise.
5157 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
5158 Likewise.
5159 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
5160 commit_edge_insertions, commit_edge_insertions_watch_calls,
5161 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
5162 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
5163 * conflict.c (conflict_graph_compute): Likewise.
5164 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
5165 df_modified_p, df_refs_unlink, df_dump): Likewise.
5166 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
5167 * final.c (compute_alignments): Likewise.
5168 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
5169 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
5170 count_or_remove_death_notes): Likewise.
5171 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
5172 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
5173 classic_gcse, compute_transp, cprop, compute_pre_data,
5174 compute_transpout, invalidate_nonnull_info,
5175 delete_null_pointer_checks_1, delete_null_pointer_checks,
5176 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
5177 compute_store_table, build_store_vectors, store_motion): Likewise.
5178 * global.c (global_conflicts, mark_elimination): Likewise.
5179 * graph.c (print_rtl_graph_with_bb): Likewise.
5180 * haifa-sched.c (sched_init): Likewise.
5181 * ifcvt.c (if_convert): Likewise.
5182 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
5183 compute_available, compute_nearerout, compute_rev_insert_delete,
5184 optimize_mode_switching): Likewise.
5185 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
5186 * predict.c (estimate_probability, note_prediction_to_br_prob,
5187 propagate_freq, counts_to_freqs, expensive_function_p,
5188 estimate_bb_frequencies): Likewise.
5189 * profile.c (instrument_edges, get_exec_counts,
5190 compute_branch_probabilities, compute_checksum, branch_prob,
5191 find_spanning_tree): Likewise.
5192 * recog.c (split_all_insns, peephole2_optimize): Likewise.
5193 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
5194 Likewise.
5195 * regclass.c (scan_one_insn, regclass): Likewise.
5196 * regmove.c (mark_flags_life_zones, regmove_optimize,
5197 record_stack_memrefs): Likewise.
5198 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
5199 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
5200 * resource.c (find_basic_block): Likewise.
5201 * sched-ebb.c (schedule_ebbs): Likewise.
5202 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
5203 find_single_block_region, find_rgns, schedule_insns)
5204 * sibcall.c (optimize_sibling_and_tail_recursive_call)
5205 * ssa-ccp.c (optimize_unexecutable_edges,
5206 ssa_ccp_df_delete_unreachable_insns): Likewise.
5207 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
5208 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
5209 rename_block, convert_to_ssa, compute_conservative_reg_partition,
5210 compute_coalesced_reg_partition, rename_equivalent_regs,
5211 convert_from_ssa): Likewise.
5212 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
5213 process_for_unwind_directive): Likewise.
5214
5215 * df.c (FOR_ALL_BBS): Removed.
5216 * gcse.c (struct null_pointer_info): Type of current_block field
5217 changed.
5218 (struct reg_avail_info): Type of last_bb field changed.
5219 * config/ia64/ia64.c (block_num): Removed.
5220 (need_copy_state): Type changed.
5221 (last_block): New.
5222
17645b15
NB
52232002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
5224
5225 * cppinit.c (mark_named_operators): Split out from init_builtins.
5226 (cpp_finish_options): Call it from here instead.
5227
79ed7328
JT
52282002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
5229
5230 * builtin-attrs.def: Update copyright years.
5231 (ATTR_NONNULL): New attribute identifier.
5232 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
5233 attribute tree lists.
5234 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
5235 format operand.
5236 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
5237 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
5238 attribute lists. Chain the appropriate nonnull attribute.
5239 * c-format.c (check_format_arg): Remove null format string
5240 warning.
5241 * testsuite/gcc.dg/format/null-1.c: New test.
5242
7d600178
RO
52432002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5244
5245 * Makefile.in (ADAC): Define.
5246 (SYSLIBS): Define.
5247 (.SUFFIXES): Move before language makefile fragments.
5248 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
5249
5ff225fc
MM
52502002-05-23 Mark Mitchell <mark@codesourcery.com>
5251
5252 * varasm.c (make_decl_rtl): Don't allow weak variables to be
5253 placed in common.
5254
0f72964f
JH
5255Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
5256
5257 * cfg.c (dump_flow_info): Print results of
5258 maybe_hot/probably_never_executed predicates.
5259 * toplev.c (open_dump_file): Print function frequency.
5260
c863f8c2
DM
52612002-05-23 David S. Miller <davem@redhat.com>
5262
5263 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
5264 regsets.
5265
b34c7881
JT
52662002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
5267
5268 * c-common.c (warn_nonnull): Declare.
5269 (c_common_attribute_table): Add "nonnull" attribute.
5270 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
5271 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
5272 check_function_arguments_recurse): New functions.
5273 * c-common.h (warn_nonnull): Declare extern.
5274 (check_function_arguments, check_function_arguments_recurse): New
5275 prototypes.
5276 * c-decl.c (c_decode_option): Add -Wnonnull option.
5277 * c-format.c (set_Wformat): Set warn_nonnull if enabling
5278 format checking.
5279 (format_check_context): New structure.
5280 (check_format_info_recurse): Remove recursion and rename to...
5281 (check_format_arg): ...this. Update comment.
5282 (check_format_info): Use check_function_arguments_recurse.
5283 * c-typeck.c (build_function_call): Call check_function_arguments
5284 instead of check_function_format.
5285 * doc/extend.texi: Document "nonnull" attribute.
5286 * doc/invoke.texi: Docuemnt -Wnonnull option.
5287 * testsuite/gcc.dg/nonnull-1.c: New test.
5288 * testsuite/gcc.dg/nonnull-2.c: New test.
5289
95479831
DM
52902002-05-23 David S. Miller <davem@redhat.com>
5291
5292 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
5293 * cfgcleanup.c (cleanup_cfg): If it is set do not
5294 attempt to delete trivially dead insns.
5295 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
5296 * toplev.c (rest_of_compilation): Document non-trivial aspect
5297 the RTL before optimize_save_area_alloca is run.
5298
a97d1398
NB
52992002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
5300
5301 * c-lex.c (indent_level): Remove.
5302 (cb_file_change, c_lex): Remove indent level handling.
5303 * c-lex.h (indent_level): Remove.
5304 * input.h (struct file_stack): Remove indent_level.
5305 * toplev.c (push_srcloc): Remove indent_level handling.
5306
66b408f2
JJ
53072002-05-23 Jakub Jelinek <jakub@redhat.com>
5308
5309 PR target/6753
5310 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
5311 of x in constraints for clarity.
5312 (sse_mov?fcc split): abort if op2 == op3.
5313 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
5314 sse_movsfcc_const0_4): Add earlyclobber.
5315 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
5316 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
5317 Use Y instead of x in constraints.
5318
5bf0ebab
RH
53192002-05-23 Richard Henderson <rth@redhat.com>
5320
9217ef40
RH
5321 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
5322 (C++98 Thread-Local Edits): New subsection.
5323
5bf0ebab
RH
5324 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
5325 (ix86_arch): Set type to enum processor_type.
5326
8a951190 5327 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
5328 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
5329
4832c9e1
JJ
53302002-05-23 Jakub Jelinek <jakub@redhat.com>
5331
5332 * configure.in: Fix as version test for binutils 2.12.1 releases
5333 (without dates).
5334 * configure: Rebuilt.
5335
c8c03509
RH
53362002-05-23 Richard Henderson <rth@redhat.com>
5337
5338 * config/i386/i386.c (get_pic_label_name): New.
5339 (load_pic_register): Remove.
5340 (output_set_got): New.
5341 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
5342 * config/i386/i386.md (UNSPEC_SET_GOT): New.
5343 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
5344 (prologue_set_got, prologue_get_pc): Remove.
5345 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
5346 (builtin_setjmp_receiver): Use gen_set_got.
5347 * config/i386/i386-protos.h: Update.
5348
d51f3632
JH
5349Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5350
5351 * gcse.c (hash_expr): Do not use alias set for hashing.
5352
b0a93386
KB
53532002-05-22 Kevin Buettner <kevinb@redhat.com>
5354
5355 * dbxout.c (dbxout_class_name_qualifiers): New function.
5356 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
5357
bdee42b1
NB
53582002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
5359
5360 * cpperror.c (_cpp_begin_message): No special casing
5361 of CPP_FATAL_LIMIT.
5362 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
5363 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
5364 * cpplib.c (do_include_common): Use DL_ERROR.
5365 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
5366 (DL_ICE): Renumber.
5367 * fix-header.c (read_scan_file): Update.
5368
0e07aff3
RH
53692002-05-22 Richard Henderson <rth@redhat.com>
5370
5371 * config/i386/i386.c (ix86_expand_call): New function, extracted
5372 from md call patterns. Add pic_offset_table_rtx to
5373 CALL_INSN_FUNCTION_USAGE when needed.
5374 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
5375 (call_value_pop, call_value, untyped_call): Likewise.
5376 (call_exp, call_value_exp): Remove.
5377 * config/i386/i386-protos.h: Update.
5378
6f001fdf
RH
53792002-05-22 Richard Henderson <rth@redhat.com>
5380
5381 * varasm.c (default_section_type_flags): Check for VAR_DECL
5382 before using DECL_THREAD_LOCAL.
5383
cbaaba19
DE
53842002-05-22 David Edelsohn <edelsohn@gnu.org>
5385
5386 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
5387 (STARTFILE_SPEC): Delete PE crt0.o.
5388 * config/rs6000/aix51.h: Same.
5389 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
5390 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
5391 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
5392 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
5393 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
5394
c711ba8e
RH
53952002-05-22 Richard Henderson <rth@redhat.com>
5396
5397 * varasm.c (default_section_type_flags): Handle tls data and
5398 default sections.
5399 (default_unique_section): Handle tls sections.
5400
343f59d9
AM
54012002-05-23 Alan Modra <amodra@bigpond.net.au>
5402
5403 * configure.in (CROSS): Define NATIVE_CROSS.
5404 * configure: Regenerate.
5405 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
5406 (startfile_prefix_spec): New var.
5407 (static_specs): Add startfile_prefix_spec.
5408 (do_spec_2): Split out from..
5409 (do_spec): ..here.
5410 (main): Process startfile_prefix_spec.
5411 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
5412 dynamic linker.
5413 (STARTFILE_PREFIX_SPEC): Define.
5414 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 5415 absolute paths.
343f59d9 5416
df383483
KH
54172002-05-22 Kazu Hirata <kazu@cs.umass.edu>
5418
5419 * cpperror.c: Fix formatting.
5420 * cppexp.c: Likewise.
5421 * cppfiles.c: Likewise.
5422 * cpphash.c: Likewise.
5423 * cpphash.h: Likewise.
5424 * cppinit.c: Likewise.
5425 * cpplex.c: Likewise.
5426 * cpplib.c: Likewise.
5427 * cppmacro.c: Likewise.
5428 * cppmain.c: Likewise.
5429 * cppspec.c: Likewise.
5430
2dd36f90
JJ
54312002-05-22 Jakub Jelinek <jakub@redhat.com>
5432
5433 * combine.c (force_to_mode): Use gen_int_mode.
5434 Don't clear CONST_INT bits outside of mode.
5435
8dc02d7f
RH
54362002-05-22 Richard Henderson <rth@redhat.com>
5437
5438 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
5439 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
5440
45f79783
JJ
54412002-05-22 Jakub Jelinek <jakub@redhat.com>
5442
5443 PR c/6643
5444 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
5445 if DECL_SIZE_UNIT is INTEGER_CST.
5446
19f71cd7
RH
54472002-05-22 Richard Henderson <rth@redhat.com>
5448
5449 * flow.c (life_analysis): Delete broken reg_label check.
5450
d5bcfcce
RH
54512002-05-22 Richard Henderson <rth@redhat.com>
5452
5453 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
5454 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
5455
985d311b 5456Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
5457
5458 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
5459 (embed-bb.c): New rule.
985d311b 5460 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
5461 * config/sh/embed_bb.c: Delete.
5462
985d311b
R
5463Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
5464
5465 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
5466
f6d45746
KH
54672002-05-22 Kazu Hirata <kazu@cs.umass.edu>
5468
5469 * config/h8300/h8300.md (*andorqi3): New.
5470
e5f3b786
NB
54712002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
5472
5473 PR preprocessor/6517
5474 * Makefile.in: Update.
5475 * c-common.c (c_common_post_options): Add preprocessor
5476 errors to the error count.
5477 * c-lang.c (c_post_options): Kill.
5478 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
5479 * hooks.h: Add header guards.
5480 * langhooks-def.h: Include hooks.h.
5481 (LANG_HOOKS_POST_OPTIONS): Update.
5482 * langhooks.h (struct lang_hooks): Update post_options.
5483 * toplev.c (parse_options_and_default_flags): Update.
5484objc:
5485 * objc-lang.c (objc_post_options): Kill.
5486 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
5487
4c526be3
BK
54882002-05-21 Bruce Korb <bkorb@gnu.org>
5489
5490 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
5491 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
5492 * fixinc/fixincl.x: regen.
4c526be3 5493
f87c27b4
KH
54942002-05-21 Kazu Hirata <kazu@cs.umass.edu>
5495
5496 * cfgbuild.c: Fix formatting.
5497 * cfg.c: Likewise.
5498 * cfgcleanup.c: Likewise.
5499 * cfglayout.c: Likewise.
5500 * cfgloop.c: Likewise.
5501 * cfgrtl.c: Likewise.
5502
3d78f2e9
RH
55032002-05-21 Richard Henderson <rth@redhat.com>
5504
5505 * c-common.h (enum rid): Add RID_THREAD.
5506 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
5507 (grokdeclarator): Grok __thread.
5508 * c-parse.in (reswords): Add __thread.
5509 (rid_to_yy): Add RID_THREAD.
5510
5511 * tree.h (DECL_THREAD_LOCAL): New.
5512 (struct tree_decl): Add thread_local_flag.
5513 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
5514 * tree.c (staticp): TLS variables are not static.
5515
5516 * target-def.h (TARGET_HAVE_TLS): New.
5517 * target.h (have_tls): New.
5518 * output.h (SECTION_TLS): New.
5519 * varasm.c (assemble_variable): TLS variables can't be common for now.
5520 (default_section_type_flags): Handle .tdata and .tbss.
5521 (default_elf_asm_named_section): Handle SECTION_TLS.
5522 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
5523
5524 * flags.h (flag_tls_default): Declare.
5525 * toplev.c (flag_tls_default): Define.
5526 (display_help): Display help for it.
5527 (decode_f_option): Set it.
5528
5529 * doc/extend.texi (Thread-Local): New node describing language-level
5530 thread-local storage.
5531 * doc/invoke.texi (-ftls-model): Document.
5532
5533 * fixinc/inclhack.def (thread_keyword): New.
5534 * fixinc/fixincl.x: Rebuild.
5535
a151daf0
JL
55362002-05-21 Jeffrey A Law <law@redhat.com>
5537
8a951190 5538 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
5539 do not compute intermediate results into something that is
5540 not a register (such as a SUBREG or MEM).
5541
a151daf0
JL
5542 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
5543 (ix86_sched_reorder): Make sure to initialize scheduling
5544 data even when there's only one insn in the ready queue.
5545
96b1f73b
VM
55462002-05-21 Vladimir Makarov <vmakarov@redhat.com>
5547
5548 * genautomata.c (reserv_sets_hash_value): Fix a typo.
5549
dceb2b75
VM
55502002-05-21 Vladimir Makarov <vmakarov@redhat.com>
5551
5552 * genautomata.c (reserv_sets_hash_value): Define hash_value as
5553 set_el_t. Transform the hash value into unsigned.
5554 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
5555 (transform_3): Add code to process `(A,B)+(D,E)'.
5556
159d5964
NY
55572002-05-21 NIIBE Yutaka <gniibe@m17n.org>
5558
5559 * reload1.c (do_output_reload): Run delete_output_reload
5560 only if optimizing.
5561
cf5124f6
RS
55622002-05-21 Roger Sayle <roger@eyesopen.com>
5563
5564 PR middle-end/6600
5565 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
5566 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
5567 (can_store_by_pieces): ... and here to limit the largest mode used.
5568 Add a comment to document this function.
5569
380e6ade
RH
55702002-05-21 Richard Henderson <rth@redhat.com>
5571
5572 * flow.c (life_analysis): Fix test for deleted label.
5573
1f95326c
NB
55742002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
5575
5576 * doc/tm.texi: Fix typo.
5577
2a1dc0d8
ZW
55782002-05-21 Zack Weinberg <zack@codesourcery.com>
5579
5580 * c-common.c (c_common_init): Set options->unsigned_char from
5581 flag_signed_char.
5582 (cb_register_builtins): Define __STRICT_ANSI__ and
5583 __CHAR_UNSIGNED__ here...
5584 * cppinit.c (init_builtins): Not here.
5585 (cpp_create_reader): unsigned_char option defaults to 0, not
5586 !DEFAULT_SIGNED_CHAR.
5587 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
5588 and -funsigned-char.
5589
5590 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
5591 * cpphash.c (_cpp_init_hashtable): Don't set it.
5592 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
5593 directly. Clarify comment.
5594
d29146f2 55952002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 5596
f5eb2fc8
ZD
5597 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
5598 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
5599 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
5600 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 5601 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 5602 flow_preorder_transversal_compute): Too.
d29146f2 5603 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
5604 find_sub_basic_blocks): Too.
5605 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 5606 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
5607 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
5608 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
5609 * combine.c (this_basic_block): Type changed to basic_block.
5610 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
5611 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
5612 get_last_value, distribute_notes, distribute_links): Too.
5613 * final.c (compute_alignments): Too.
5614 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
5615 * function.c (thread_prologue_and_epilogue_insns): Too.
5616 * gcse.c (compute_code_hoist_vbeinout): Too.
5617 * global.c (build_insn_chain): Too.
5618 * ifcvt.c (find_if_block, find_cond_trap): Too.
5619 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
5620 * regmove.c (regmove_optimize): Too.
5621 * resource.c (find_basic_block): Too.
5622 * sched-ebb.c (schedule_ebbs): Too.
5623 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 5624
68bd6dd6
AJ
56252002-05-21 Andreas Jaeger <aj@suse.de>
5626
5627 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
5628
35a76aac
RH
56292002-05-21 Richard Henderson <rth@redhat.com>
5630
5631 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
5632 unspec names, not numbers.
5633
2870428f
JM
56342002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
5635
5636 * doc/sourcebuild.texi: Mention snapshot-README and
5637 snapshot-index.html as needing updating for new front ends.
5638
b0ad77d5
KG
56392002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5640
5641 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
5642 disabling checking, and avoid multiple evaluation of RTX.
5643
279be7c8
RE
56442002-05-21 Richard Earnshaw <rearnsha@arm.com>
5645
5646 * bitmap.c (bitmap_find_bit): Return early if we have the correct
5647 element cached.
5648
193a563a
JH
5649Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
5650
5651 * profile.c (gen_edge_profiler): Set alias set before the memory is
5652 used.
5653
31825e57
DM
56542002-05-20 David S. Miller <davem@redhat.com>
5655
5656 * cselib.c (max_value_regs): New.
5657 (cselib_lookup, cselib_invalidate_regno): Initialize it when
5658 adding new entries to the REG_VALUES table and we are dealing with
5659 a hard register.
5660 (clear_table): Initialize it.
5661 (cselib_invalidate_regno): Use it to determine which hard
5662 registers to scan when mode is not VOIDmode.
5663
68bd6dd6 56642002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
5665
5666 * tradcpp.c (fixup_newlines): Use old-style function header.
5667
e0a09fda
KW
56682002-05-20 Krister Walfridsson <cato@df.lth.se>
5669
5670 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
5671
e0c13c70
L
56722002-05-20 H.J. Lu (hjl@gnu.org)
5673
5674 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
5675
5676 * config/mips/mips.h (DFMODE_NAN): Defined.
5677 (SFMODE_NAN): Likewise.
5678
4c11675d 56792002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 5680
2a1dc0d8
ZW
5681 * combine.c (cant_combine_insn_p): Back out my
5682 previous patch.
4c11675d 5683
6a4d6760
KH
56842002-05-20 Kazu Hirata <kazu@cs.umass.edu>
5685
5686 * params.c: Fix formatting.
5687 * params.h: Likewise.
5688 * predict.c: Likewise.
5689 * prefix.c: Likewise.
5690 * print-rtl.c: Likewise.
5691 * print-tree.c: Likewise.
5692 * profile.c: Likewise.
5693
5715ca64
L
56942002-05-20 H.J. Lu (hjl@gnu.org)
5695
5696 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
5697
00b89f01
NC
56982002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
5699
5700 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
5701 switches straight on to the assembler, do not abbreviate them.
5702 * config/arm/elf.h (ASM_SPEC): As above.
5703 * config/arm/semi.h (ASM_SPEC): As above.
5704 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
5705 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
5706 -mcpu=xscale on to the assembler by default.
5707 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
5708
1441374b
RH
57092002-05-20 Richard Henderson <rth@redhat.com>
5710
5711 * cse.c (canon_hash): Reorder do_not_record test. Always
5712 allow pic_offset_table_rtx.
5713
c0fe508e
TM
57142002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
5715
5716 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
5717 (expand_binop): Ditto (3 times).
5718
f362c762
MM
57192002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
5720
5721 * Makefile.in (distclean): Remove QMTest stuff.
5722 (QMTEST_PATH): New variable.
5723 (QMTESTFLAGS): Likewise.
5724 (QMTESTRUNFLAGS): Likewise.
5725 (QMTEST): Likewise.
5726 (QMTEST_GPP_TESTS): Likewise.
5727 (QMTEST_DIR): Likewise.
5728 (QMTEST_DIR/context): New target.
5729 (qmtest-g++): Likeise.
5730 (qmtest-gui): Likewise.
5731 (QMTEST_DIR/gpp-expected.qmr): Likewise.
5732
16861f33
AH
57332002-05-19 Aldy Hernandez <aldyh@redhat.com>
5734
2a1dc0d8
ZW
5735 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
5736 an altivec register if TARGET_ALTIVEC.
16861f33 5737
2a1dc0d8
ZW
5738 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
5739 to ALTIVEC_VECTOR_MODE.
5740 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
5741 (rs6000_va_arg): Vectors may go in registers if they are not
5742 altivec vectors.
16861f33 5743
23459e15
KH
57442002-05-19 Kazu Hirata <kazu@cs.umass.edu>
5745
5746 * protoize.c: Fix formatting.
5747
174cc7d1
RH
57482002-05-19 Richard Henderson <rth@redhat.com>
5749
5750 * gensupport.c (init_include_reader): Merge into ...
5751 (process_include): ... here. Simplify composite path creation.
5752 Plug memory leaks. Fix file/line number tracking. Do not
5753 process_define_cond_exec. Return void.
5754 (process_rtx): Don't check process_include return value.
5755
918ed612
ZD
57562002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5757
5758 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
5759 fields.
5760 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
5761 traversing basic block chain.
5762 (create_basic_block_structure, create_basic_block): Declaration changed.
5763 (link_block, unlink_block): Declare.
5764 * cfg.c (entry_exit_blocks): Initialize new fields.
5765 (link_block, unlink_block): New.
5766 (expunge_block_nocompact): Unlink basic block.
5767 (dump_flow_info): Print prev_bb/next_bb fields.
5768 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
5769 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
5770 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
5771 * cfgrtl.c (create_basic_block_structure, create_basic_block,
5772 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
5773 (verify_flow_info): Check that list agrees with numbering.
5774
e0322d5c
NB
57752002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
5776
5777 * c-common.c (preprocessing_asm): New macro.
5778 * c-lex.h (builtin_define, builtin_assert): Use pfile.
5779doc:
5780 * tm.texi: Update.
5781config/alpha:
5782 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
5783 (CPP_SPEC): Simplify.
5784 (TARGET_CPU_CPP_BUILTINS): Update.
5785 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
5786 (CPP_SPEC): Simplify.
5787 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
5788 (TARGET_OS_CPP_BUILTINS): Update.
5789 * osf.h (CPP_XFLOAT_SPEC): Kill.
5790 (TARGET_OS_CPP_BUILTINS): Update.
5791 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
5792 * osf5.h (CPP_XFLOAT_SPEC): Kill.
5793 * vms.h (CPP_SUBTARGET_SPEC): Kill.
5794 (TARGET_OS_CPP_BUILTINS): Update.
5795
121f5c2c
RH
57962002-05-19 Richard Henderson <rth@redhat.com>
5797
5798 * varasm.c (default_binds_local_p): Fix typo.
5799
651c5ed9
MM
58002002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
5801
5802 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
5803 CONST_INT operand to the correct mode after adding 1 to it.
5804
bce0deb2
MM
58052002-05-19 Mark Mitchell <mark@codesourcery.com>
5806
5807 * config.gcc (powerpc-wrs-windiss*): New target.
5808
4aa74a4f
FS
58092002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5810
5811 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
5812 (ashrdi3): Use it.
5813
a15135c9
MM
58142002-05-18 Mark Mitchell <mark@codesourcery.com>
5815
5816 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
5817 alphasort.
5818 * config.in: Regenerated.
5819 * configure: Regenerated.
5820
47754fd5
RH
58212002-05-19 Richard Henderson <rth@redhat.com>
5822
5823 * target-def.h (TARGET_BINDS_LOCAL_P): New.
5824 * target.h (struct gcc_target): Move boolean fields to the end.
5825 Add binds_local_p.
5826 * varasm.c (default_binds_local_p): New.
5827 * output.h: Declare it.
5828
5829 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
5830 * config/cris/cris.c (cris_encode_section_info): Likewise.
5831 * config/i386/i386.c (i386_encode_section_info): Likewise.
5832 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
5833 * config/sh/sh.c (sh_encode_section_info): Likewise.
5834
5835 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
5836 (TARGET_BINDS_LOCAL_P): New.
5837
fc881338
RH
58382002-05-19 Richard Henderson <rth@redhat.com>
5839
5840 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
5841 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
5842 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
5843
5844 * toplev.c (display_help): Kill -a -ax help.
5845
68bd6dd6 5846 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
5847 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
5848 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
5849 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
5850 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
5851
5852 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
5853 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
5854
5855 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
5856 (ix86_output_function_block_profiler): Kill.
5857 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
5858 (m68hc11_function_block_profiler): Kill.
5859 * config/m68hc11/m68hc11-protos.h: Update.
5860 * config/m88k/m88k.c (output_block_profiler): Kill.
5861 (output_function_block_profiler): Kill.
5862 * config/m88k/m88k-protos.h: Update.
5863
772c5265
RH
58642002-05-19 Richard Henderson <rth@redhat.com>
5865
5866 * system.h (STRIP_NAME_ENCODING): Poison it.
5867 * output.h (STRIP_NAME_ENCODING): Remove.
5868 (default_strip_name_encoding): Declare.
5869 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
5870 * target.h (strip_name_encoding): New.
5871 * varasm.c (default_strip_name_encoding): New.
5872
5873 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
5874 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
5875 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
5876 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
5877 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
5878 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
5879 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
5880 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
5881 config/v850/v850.h: Use the hook, not the macro.
5882
5883 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
5884 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
5885 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
5886 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
5887 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
5888 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 5889 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
5890 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
5891 config/v850/v850.c, config/v850/v850.h:
5892 Move STRIP_NAME_ENCODING to out-of-line function and add
5893 TARGET_STRIP_NAME_ENCODING.
5894
5895 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
5896 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
5897 with TARGET_STRIP_NAME_ENCODING referencing existing function;
5898 make function static.
5899
5900 * xcoffout.c: Include target.h
5901 * Makefile.in (xcoffout.o): Update.
5902
5903 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
5904 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
5905 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
5906 reloc argument unused.
5907 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
5908
5909 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
5910 STRIP_NAME_ENCODING docs.
5911
8f9eb495
AJ
59122002-05-19 Andreas Jaeger <aj@suse.de>
5913
5914 * gengenrtl.c: Add prototype for excluded_rtx.
5915
5916 * real.h: Add prototype for exact_real_truncate.
5917
fb49053f
RH
59182002-05-18 Richard Henderson <rth@redhat.com>
5919
5920 * system.h (ENCODE_SECTION_INFO): Poison it.
5921 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
5922 * target.h (encode_section_info): New.
5923 * varasm.c (make_decl_rtl, output_constant_def): Use it.
5924 * hooks.c (hook_tree_int_void): New.
5925 * hooks.h: Declare it.
5926
5927 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
5928 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
5929 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
5930 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
5931 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
5932 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
5933 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
5934 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
5935 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
5936 config/mcore/mcore-protos.h, config/mcore/mcore.c,
5937 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
5938 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
5939 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
5940 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
5941 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
5942 referencing existing function. Make function static.
5943
5944 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 5945 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
5946 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
5947 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
5948 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 5949 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
5950 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
5951 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
5952 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
5953 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 5954 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
5955 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
5956 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
5957 Move ENCODE_SECTION_INFO to out-of-line function and add
5958 TARGET_ENCODE_SECTION_INFO.
5959
5960 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
5961 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
5962
5963 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
5964 from SUBTARGET_*
5965 (switch_to_section): Replace in_rdata case with in_readonly_data.
5966
5967 * config/h8300/h8300.c (h8300_encode_label): Make static.
5968 * config/h8300/h8300-protos.h: Update.
5969
5970 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
5971 from rs6000_encode_section_info; make static.
5972 (rs6000_xcoff_encode_section_info): New.
5973
5974 * config/v850/v850.c (v850_encode_data_area): Make static.
5975 * config/v850/v850-protos.h: Update.
5976
5977 * config/vax/vax.c: Include flags.h.
5978 (vms_select_section): Fix typo.
5979
5980 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
5981 ENCODE_SECTION_INFO docs.
5982
9fe08fd0
RH
59832002-05-18 Richard Henderson <rth@redhat.com>
5984
5985 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
5986 REGISTER_TARGET_PRAGMAS.
5987 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
5988
410b770f
RH
5989 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
5990
b64a1b53
RH
59912002-05-18 Richard Henderson <rth@redhat.com>
5992
5993 * system.h (SELECT_RTX_SECTION): Poison.
5994 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
5995 * target.h (select_rtx_section): New.
5996 * varasm.c (output_constant_pool): Use it.
5997 (default_select_rtx_section, default_elf_select_rtx_section): New.
5998 * output.h: Declare them.
5999
6000 * config/darwin.h (SELECT_RTX_SECTION): Move ...
6001 * config/darwin.c (machopic_select_rtx_section): ... here.
6002 * config/darwin-protos.h: Update.
6003
6004 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
6005 * config/nextstep.c (machopic_select_rtx_section): ... here.
6006 (nextstep_select_section): Rename variable to avoid macro clash.
6007 * config/nextstep-protos.h: Update.
6008
6009 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
6010 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
6011 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 6012 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
6013 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
6014 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 6015 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
6016 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
6017 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
6018 (SELECT_RTX_SECTION): Remove.
6019
6020 * config/darwin.h, config/elfos.h, config/nextstep.h,
6021 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
6022 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
6023 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
6024 config/sparc/lynx.h, config/xtensa/xtensa.c
6025 (TARGET_ASM_SELECT_RTX_SECTION): New.
6026
6027 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
6028 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
6029 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
6030 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
6031 (ia64_aix_select_rtx_section): New.
6032 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
6033 redefining.
6034 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 6035 Support ELF SHF_MERGE features.
b64a1b53
RH
6036 * config/mips/mips-protos.h: Update.
6037 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
6038 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
6039 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
6040 make static, fall back to default_elf_select_rtx_section.
6041 * config/rs6000/rs6000-protos.h: Update.
6042 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
6043 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
6044 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
6045 * config/romp/romp.c (romp_select_rtx_section): New.
6046 * config/s390/s390.c (s390_select_rtx_section): New.
6047 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
6048 declarations before target macro definition.
6049 (xtensa_emit_call): Use static buffer.
6050 (xtensa_select_rtx_section): New.
6051 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
6052 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
6053 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
6054
6055 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
6056 SELECT_RTX_SECTION docs.
6057
6058Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
6059
6060 * i386.md (movsi/movdi): Fix template.
6061 (sse2 patterns): Set attributes consistently.
6062
6063 * i386.md (pushqi2, ashrqi_*): Fix constraint.
6064
6835a09c
TM
60652002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
6066
6067 * optabs.c (complex_part_zero_p): New.
6068 * (expand_cmplxdiv_straight): Use it.
6069 * (expand_cmplxdiv_wide): Ditto.
6070 * (expand_binop): Ditto.
6071
d48bc59a
RH
60722002-05-18 Richard Henderson <rth@redhat.com>
6073
6074 * final.c (HAVE_READONLY_DATA_SECTION): New.
6075 (shorten_branches): Use it instead of ifdefs.
6076 * varasm.c (enum in_section): Add in_readonly_data.
6077 (text_section, data_section): Tidy.
6078 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
6079
6080 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
6081 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
6082 (READONLY_DATA_SECTION): Don't undef.
6083
6084 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
6085 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
6086 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
6087
6088 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
6089 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
6090 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
6091 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
6092
6093 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
6094 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
6095 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
6096 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
6097 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
6098 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
6099 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
6100 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
6101 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
6102
6103 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
6104 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
6105 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
6106 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
6107 config/pa/pa64-hpux.h, config/sparc/litecoff.h
6108 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
6109
6110 * config/elfos.h, config/netware.h, config/svr3.h,
6111 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
6112 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
6113 config/h8300/h8300.h, config/i386/i386-interix.h,
6114 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
6115 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
6116
6117 * config/elfos.h, config/netware.h, config/svr3.h,
6118 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
6119 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
6120 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
6121 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
6122
6123 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
6124 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
6125 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
6126 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
6127 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
6128 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
6129 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
6130 config/rs6000/sysv4.h, config/v850/v850.h
6131 (EXTRA_SECTIONS): Remove in_const/in_rdata.
6132 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
6133
6134 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
6135 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
6136 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
6137 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
6138 * config/alpha/alpha.c (alpha_start_function): Likewise.
6139 (alpha_write_linkage): Likewise.
6140 * config/m32r/m32r.c (m32r_select_section): Likewise.
6141 * config/m88k/m88k.c (m88k_select_section): Likewise.
6142 * config/mips/mips.c (mips_select_rtx_section): Likewise.
6143 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
6144 (rs6000_elf_select_section): Likewise.
6145 * config/v850/v850.c (v850_select_section): Likewise.
6146
6147 * config/1750a/1750a.h, config/i860/sysv3.h
6148 (READONLY_DATA_SECTION_ASM_OP): New.
6149 READONLY_DATA_SECTION_ASM_OP.
6150 * config/i386/interix.c, config/i386/winnt.c
6151 (i386_pe_unique_section): Always use .rdata prefix.
6152 * config/pa/som.h (readonly_data): Always switch to read-only section.
6153 (READONLY_DATA_SECTION): Predicate on flag_pic.
6154 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
6155 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
6156 (READONLY_DATA_SECTION): Update.
6157
e964a556
JT
61582002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
6159
6160 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 6161 is used without -Wformat.
e964a556
JT
6162 * c-common.h (warn_format_zero_length): Declare extern.
6163 * c-decl.c (warn_options): Add "format-zero-length".
6164 * c-format.c (warn_format_zero_length): Declare.
6165 (set_Wformat): Set warn_format_zero_length for -Wformat.
6166 (check_format_info): Only warn about zero-length formats if
6167 warn_format_zero_length is true. Include the format type
6168 name in the warning message.
6169 * doc/invoke.texi: Document -Wformat-zero-length.
6170 * testsuite/gcc.dg/format/zero-length-1.c: New test.
6171
d92b4486
KH
61722002-05-18 Kazu Hirata <kazu@cs.umass.edu>
6173
6174 * timevar.c: Fix formatting.
6175 * tlink.c: Likewise.
6176 * toplev.c: Likewise.
6177 * tree-dump.c: Likewise.
6178 * tree-inline.c: Likewise.
6179
43612ffb
NB
61802002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
6181
6182 * cppinit.c (cpp_post_options): If preprocessed, turn off
6183 traditional. If traditional, turn off column numbers.
6184 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
6185 * cpptrad.c (handle_newline): Update line_base.
6186 (skip_comment): Handle -Wcomment.
6187
f24a153a
ZW
61882002-05-17 Zack Weinberg <zack@codesourcery.com>
6189
6190 * cppinit.c (struct builtin): Remove unused fields.
6191 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
6192 (operator_array): New - was second half of builtin_array.
6193 (init_builtins): Simplify loop over builtin_array/operator_array.
6194
12403335
NB
61952002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
6196
6197 * defaults.h (UNIQUE_SECTION): Remove.
6198 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
6199
1f8c3c5b
RH
62002002-05-17 Richard Henderson <rth@redhat.com>
6201
6202 * expr.c (init_expr_once): Don't use start/end_sequence.
6203 Use rtx_alloc instead of emit_insn.
6204 * toplev.c (lang_dependent_init): Run init_expr_once here ...
6205 (lang_independent_init): ... not here.
6206
4664f4c4
JT
62072002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
6208
6209 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
6210
93febe68
MM
62112002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
6212
6213 * config/avr/avr.c (avr_regs_to_save): New function. Also check
6214 for fixed registers, possibly used for global register variables.
6215 (initial_elimination_offset, avr_output_function_prologue,
6216 avr_output_function_epilogue): Move common code to avr_regs_to_save.
6217
004cb263
NB
62182002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
6219
6220 * Makefile.in: Update for cpptrad.c.
6221 * cpphash.h (struct cpp_buffer): New members for buffer
6222 overlays.
6223 (struct cpp_reader): New members for traditional output.
6224 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
6225 * cppinit.c (cpp_create_reader): Set trad_line.
6226 (cpp_destroy): Free trad_out_base if used.
6227 (cpp_read_main_file): Overlay an empty buffer if traditional.
6228 (cpp_finish_options): Don't do builtins.
6229 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
6230 (cpp_handle_option): Handle it.
6231 * cpplex.c (continue_after_nul): New.
6232 (_cpp_lex_direct): Use handle_nul.
6233 * cpplib.h (struct cpp_options): New traditional option.
6234 * cpptrad.c: New file.
6235
bdcae02b
NB
62362002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
6237
6238 * c-common.c (c_common_init_options): Use C89 for Objective-C,
6239 and set the options flag.
6240 * cppinit.c (lang_flags): Remove objc.
6241 (lang_defaults): Remove OBJC and OBJCXX.
6242 (set_lang): Update.
6243 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
6244 (cpp_handle_option): Remove -+ and -lang-objc++.
6245 For ObjC, just set a flag.
6246 (print_help): Update.
6247 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
6248
0fca60ab
RO
62492002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6250
6251 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
6252 bootstrap with -mips3.
6253
dd3f0101
KH
62542002-05-17 Kazu Hirata <kazu@cs.umass.edu>
6255
6256 * final.c: Fix formatting.
6257 * fix-header.c: Likewise.
6258 * flow.c: Likewise.
6259 * fold-const.c: Likewise.
6260 * function.c: Likewise.
6261
5ca9299f
DM
62622002-05-17 David S. Miller <davem@redhat.com>
6263
6264 PR c/6689, PR optimization/6615
6265 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
6266 and make it a pointer to rtx. Update comments.
6267 (update_equiv_regs): When scanning for equivalences, record
6268 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
6269 it while making the equiv replacements.
6270
508bc172
RO
62712002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6272
6273 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
6274
5cd983a6
KK
62752002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
6276
6277 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
6278 when encoding visibility into SYMBOL_REF_FLAG.
6279
ce0f3925
RS
62802002-05-17 Richard Sandiford <rsandifo@redhat.com>
6281
6282 * expr.c (force_operand): Fix reversed move.
6283
06809951
GP
62842002-05-17 Kurt Wall <kwall@kurtwerks.com>
6285
6286 * doc/install.texi (Testing): Mention two common DejaGnu warnings
6287 that can be ignored.
6288
62892002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6290
6291 * doc/install.texi (Final install): Recommend to install into a
6292 "clean" target directory.
6293
1d5d7a21
RH
62942002-05-17 Richard Henderson <rth@redhat.com>
6295
6296 * config/ia64/ia64.md: Use braced strings instead of quoted strings
6297 for code blocks. Tidy whitespace.
6298
ae46c4e0
RH
62992002-05-17 Richard Henderson <rth@redhat.com>
6300
6301 * hooks.c (hook_tree_bool_false): New.
6302 * hooks.h: Declare it.
6303 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
6304 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
6305 * target.h (select_section, unique_section): New.
6306 (in_small_data_p): New.
6307 * varasm.c (resolve_unique_section): Use hooks instead of macros.
6308 (variable_section, output_constant_def_contents): Likewise.
6309 (default_select_section, default_unique_section): New.
6310 (categorize_decl_for_section, default_elf_select_section): New.
6311 * output.h: Declare them.
6312
6313 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
6314 (TARGET_ASM_SELECT_SECTION): New.
6315 (SELECT_SECTION): Move ...
6316 * config/darwin.c (machopic_select_section): ... here.
6317 * config/darwin-protos.h: Update.
6318
6319 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
6320 (SELECT_SECTION): Move ...
6321 * config/nextstep.c (nextstep_select_section): ... here.
6322 * config/nextstep-protos.h: Update.
6323
6324 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
6325 (TARGET_ASM_SELECT_SECTION): New.
6326 * config/svr3.h (SELECT_SECTION): Remove.
6327
6328 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
6329 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
6330 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
6331 (alpha_encode_section_info): Use it.
6332 * config/alpha/alpha-protos.h: Update.
6333 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
6334 (SELECT_SECTION, UNIQUE_SECTION): Remove.
6335 (TARGET_ASM_SELECT_SECTION): New.
6336 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
6337
6338 * config/arm/pe.h (UNIQUE_SECTION): Remove.
6339 (TARGET_ASM_UNIQUE_SECTION): New.
6340
6341 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
6342 (avr_unique_section): Rename from unique_section; make static.
6343 * config/avr/avr-protos.h: Update.
6344 * config/avr/avr.h (UNIQUE_SECTION): Remove.
6345
6346 * config/c4x/c4x.h (SELECT_SECTION): Remove.
6347
6348 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
6349 (TARGET_ASM_UNIQUE_SECTION): New.
6350 * config/i386/i386-interix.h: Likewise.
6351 * config/i386/win32.h: Likewise.
6352 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
6353 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
6354 * config/i386/sco5.h (SELECT_SECTION): Remove.
6355 (TARGET_ASM_SELECT_SECTION): New.
6356 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
6357
6358 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
6359 instead of SELECT_SECTION.
6360 * config/m68k/dpx2.h: Likewise.
6361 * config/rs6000/lynx.h: Likewise.
6362
6363 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
6364 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
6365 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
6366 (ia64_in_small_data_p): New.
6367 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
6368 (ia64_aix_select_section, ia64_aix_unique_section): New.
6369 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
6370 (SELECT_SECTION, UNIQUE_SECTION): Remove.
6371
6372 * config/m32r/m32r.h (SELECT_SECTION): Remove.
6373 (TARGET_ASM_SELECT_SECTION): New.
6374 * config/m32r/m32r.c (m32r_select_section): Take align argument.
6375 * config/m32r/m32r-protos.h: Update.
6376
6377 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
6378 (SELECT_SECTION): Move ...
6379 * config/m88k/m88k.c (m88k_select_section): ... here.
6380
6381 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
6382 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
6383 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
6384 (mcore_unique_section): Make static.
6385 * config/mcore/mcore-protos.h: Update.
6386
6387 * config/mips/elf.h (UNIQUE_SECTION): Remove.
6388 (TARGET_ASM_UNIQUE_SECTION): New.
6389 * config/mips/elf64.h: Likewise.
6390 * config/mips/iris6gld.h: Likewise.
6391 * config/mips/linux.h: Likewise.
6392 * config/mips/mips-protos.h: Update.
6393 * config/mips/mips.c (mips_select_section): Add align argument.
6394 * config/mips/mips.h (SELECT_SECTION): Remove.
6395 (TARGET_ASM_SELECT_SECTION): New.
6396
6397 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
6398 * config/mmix/mmix.c (mmix_select_section): Remove.
6399 (mmix_unique_section): Remove.
6400 * config/mmix/mmix-protos.h: Update.
6401
6402 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
6403 (SELECT_SECTION): Move ...
6404 * config/pa/pa.c (pa_select_section): ... here.
6405 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
6406
6407 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
6408 from rs6000_select_section and make static.
6409 (rs6000_elf_unique_section): Similarly.
6410 (rs6000_xcoff_select_section): From xcoff.h.
6411 (rs6000_xcoff_unique_section): Likewise.
6412 * config/rs6000/rs6000-protos.h: Update.
6413 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
6414 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
6415 * config/rs6000/xcoff.h: Likewise.
6416
6417 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
6418 (SELECT_SECTION): Move ...
6419 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
6420
6421 * config/v850/v850.h (SELECT_SECTION): Move ...
6422 * config/v850/v850.c (v850_select_section): ... here.
6423 (TARGET_ASM_SELECT_SECTION): New.
6424
6425 * config/vax/vms.h (SELECT_SECTION): Move ...
6426 * config/vax/vax.c (vms_select_section): ... here.
6427 (TARGET_ASM_SELECT_SECTION): New.
6428
6429 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
6430 for the target hooks.
6431
eaeb23a7
NC
64322002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
6433
6434 * config/arm/arm.c (emit_multi_reg_push): Do not set
6435 RTX_FRAME_RELATED_P on the SEQUENCE.
6436
a00fe19f
RH
64372002-05-16 Richard Henderson <rth@redhat.com>
6438
6439 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
6440 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
6441
5ccff482
RH
64422002-05-16 Richard Henderson <rth@redhat.com>
6443
6444 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
6445
068d7739
RH
6446 * config/ia64/ia64.c (saveable_obstack): Do not declare.
6447
0b17ab2f
RH
64482002-05-16 Richard Henderson <rth@redhat.com>
6449
6450 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
6451 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
6452 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
6453 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
6454 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
6455 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
6456 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
6457 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
6458 Revert "Basic block renumbering removal", and two followup patches.
6459
8ae86b3c
JT
64602002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
6461
6462 * lcm.c (optimize_mode_switching): Revert previous change.
6463
4e9f27af
ZD
64642002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6465
6466 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
6467 with only extant block numbers.
6468
3cdc1dbc
JT
64692002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
6470
6471 * lcm.c (optimize_mode_switching): Fix typo.
6472
fbfb3b09
ZD
64732002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6474
6475 * flow.c (calculate_global_regs_live): Queue blocks in program order.
6476
b4b0fb02
RO
64772002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6478
6479 * doc/install.texi (Configuration): Document PWDCMD.
6480
63b827c5
DJ
64812002-05-16 Dale Johannesen <dalej@apple.com>
6482
6483 * combine.c (cant_combine_insn_p): Reenable combinations
6484 involving hard regs unless CLASS_LIKELY_SPILLED_P.
6485
748d29c1
NB
64862002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
6487
6488 * c-common.c (cb_register_builtins): Handle more built-ins
6489 here rather than in gcc.c specs.
6490 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
6491 (cpp_options): Pass -O flags even when only preprocessing.
6492 * toplev.c (set_fast_math_flags): New prototype.
6493 (fast_math_flags_set_p): New.
6494 (set_no_fast_math_flags): Remove.
6495 (decode_f_option): Update.
6496 * toplev.h (set_fast_math_flags): Update.
6497 (fast_math_flags_set_p): New.
6498 (set_no_fast_math_flags): Remove.
6499config:
6500 * c4x/c4x.c (c4x_override_options): Update.
6501
5279d739
ZW
65022002-05-16 Zack Weinberg <zack@codesourcery.com>
6503
6504 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
6505 Default-define here.
6506 (builtin_define_with_value): Can now wrap the expansion in
6507 quotation marks if such is wanted.
a00fe19f 6508 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
6509 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
6510 here.
6511 (c_common_init): Set options->stdc_0_in_system_headers.
6512 * c-lex.h: Update prototype of builtin_define_with_value.
6513 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
6514 and REGISTER_PREFIX.
6515
6516 * cppinit.c (VERS, ULP, C, X): Kill.
6517 (builtin_array): Remove entries for __VERSION__,
6518 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
6519 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
6520 a constant.
6521 (init_builtins): Kill off a bunch of now-dead code.
6522 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
6523 -fno-leading-underscore.
6524 (cpp_handle_option): Remove code to set user_label_prefix.
6525 (cpp_post_options): Likewise.
6526
6527 * cpplib.h (struct cpp_options): Remove user_label_prefix.
6528 (stdc_0_in_system_headers): New.
6529 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
6530 stdc_0_in_system_headers) too to decide the value of __STDC__.
6531
6532 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 6533 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
6534 (initialize_builtins): Don't define __REGISTER_PREFIX__
6535 or __USER_LABEL_PREFIX__.
6536 (install_value): Wrap compound statement in dummy loop so the
6537 macro works properly in an if statement.
6538
6539
62e6ca55
JJ
65402002-05-16 Janis Johnson <janis187@us.ibm.com>
6541
6542 * loop.h (struct loop_info): Add member has_prefetch.
6543 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
6544 (prescan_loop): Initialize has_prefetch.
6545 (struct prefetch_info): Change prefetch_in_loop and
6546 prefetch_before_loop from bit fields to ints.
6547 (emit_prefetch_instructions): Several small fixes.
6548 (check_dbra_loop): Don't reverse loop that uses prefetch.
6549
1e6347d8
RO
65502002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6551
6552 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
6553 * configure.in: Likewise.
6554 * fixinc/check.tpl: Likewise.
6555 * fixinc/fixinc.dgux: Likewise.
6556 * fixinc/fixinc.svr4: Likewise.
6557 * fixinc/fixinc.winnt: Likewise.
6558 * fixinc/fixincl.sh: Likewise.
6559 * fixproto: Likewise.
6560 * configure: Regenerate.
6561
355e4ec4
ZD
65622002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6563
6564 Basic block renumbering removal:
6565 * basic_block.h (struct basic_block_def): Renamed index to sindex,
6566 added prev_bb and next_bb fields.
6567 (n_basic_blocks): Renamed to num_basic_blocks.
6568 (last_basic_block): New, index of last basic block.
6569 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
6570 traversing basic block chain.
6571 (BLOCK_NUM): index -> sindex.
6572 (create_basic_block_structure, create_basic_block): Declaration changed.
6573 (debug_num2bb): Declare.
6574 (expunge_block_nocompact): Declaration removed.
6575 (link_block, unlink_block, compact_blocks): Declare.
6576 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
6577 * cfg.c (entry_exit_blocks): Initialize new fields.
6578 (clear_edges, alloc_block, expunge_block, cached_make_edge,
6579 redirect_edge_pred, dump_flow_info, dump_edge_info,
6580 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
6581 free_aux_for_edges): Modified.
6582 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
6583 (expunge_block_nocompact): Removed.
6584 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
6585 find_unreachable_blocks, create_edge_list, print_edge_list,
6586 verify_edge_list, flow_edge_list_print, remove_fake_successors,
6587 remove_fake_edges, flow_reverse_top_sort_order_compute,
6588 flow_depth_first_order_compute, flow_preorder_transversal_compute,
6589 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
6590 flow_dfs_compute_reverse_execute): Modified.
6591 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
6592 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
6593 Modified.
6594 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
6595 merge_blocks_move_predecessor_nojumps,
6596 merge_blocks_move_successor_nojumps, merge_blocks,
6597 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
6598 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
6599 * cfglayout.c (skip_insns_after_block, label_for_bb,
6600 record_effective_endpoints, scope_to_insns_finalize,
6601 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
6602 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
6603 cfg_layout_duplicate_bb): Modified.
6604 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
6605 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
6606 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
6607 flow_loops_find, flow_loop_outside_edge_p): Modified.
6608 * cfgrtl.c (create_basic_block_structure, create_basic_block,
6609 flow_delete_block, compute_bb_for_insn, split_block,
6610 try_redirect_by_replacing_jump, redirect_edge_and_branch,
6611 force_nonfallthru_and_redirect, tidy_fallthru_edge,
6612 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
6613 commit_edge_insertions, commit_edge_insertions_watch_calls,
6614 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
6615 purge_all_dead_edges): Modified.
6616 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
6617 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
6618 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
6619 Modified.
6620 * conflict.c (conflict_graph_compute): Modified.
6621 * df.c (FOR_ALL_BBS): Removed.
6622 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
6623 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
6624 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
6625 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
6626 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
6627 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
6628 * final.c (compute_alignments, final_scan_insn): Modified.
6629 * flow.c (verify_local_live_at_start, update_life_info,
6630 update_life_info_in_dirty_blocks, free_basic_block_vars,
6631 delete_noop_moves, calculate_global_regs_live,
6632 initialize_uninitialized_subregs, allocate_bb_life_data,
6633 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
6634 mark_used_reg, count_or_remove_death_notes): Modified.
6635 * function.c (thread_prologue_and_epilogue_insns): Modified.
6636 * gcse.c (struct null_pointer_info): Change typo of current_block
6637 to basic_block.
6638 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
6639 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
6640 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
6641 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
6642 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
6643 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
6644 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
6645 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
6646 pre_delete, one_pre_gcse_pass, compute_transpout,
6647 invalidate_nonnull_info, delete_null_pointer_checks_1,
6648 free_code_hoist_mem, compute_code_hoist_vbeinout,
6649 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
6650 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
6651 compute_store_table, build_store_vectors, insert_insn_start_bb,
6652 insert_store, replace_store_insn, free_store_memory, store_motion):
6653 Modified.
6654 * global.c (global_alloc, global_conflicts, mark_elimination,
6655 build_insn_chain): Modified.
6656 * graph.c (print_rtl_graph_with_bb): Modified.
6657 * haifa-sched.c (sched_init): Modified.
6658 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
6659 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
6660 if_convert): Modified.
6661 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
6662 compute_insert_delete, pre_edge_lcm, compute_available,
6663 compute_farthest, compute_nearerout, compute_rev_insert_delete,
6664 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
6665 Modified.
6666 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
6667 * loop.c (loop_dump_aux): Modified.
6668 * predict.c (combine_predictions_for_insn, estimate_probability,
6669 last_basic_block_p, process_note_prediction, process_note_predictions,
6670 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
6671 expensive_function_p, estimate_bb_frequencies,
6672 compute_function_frequency): Modified.
6673 * print-rtl.c (print_rtx): Modified.
6674 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
6675 get_exec_counts, compute_branch_probabilities, compute_checksum,
6676 branch_prob, find_spanning_tree): Modified.
6677 * recog.c (split_all_insns, peephole2_optimize): Modified.
6678 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
6679 convert_regs_1, convert_regs_2, convert_regs): Modified.
6680 * regclass.c (scan_one_insn, regclass): Modified.
6681 * regmove.c (mark_flags_life_zones, regmove_optimize,
6682 combine_stack_adjustments): Modified.
6683 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
6684 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
6685 * reorg.c (dbr_schedule): Modified.
6686 * resource.c (find_basic_block, init_resource_info): Modified.
6687 * sbitmap.c (sbitmap_intersection_of_succs,
6688 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
6689 sbitmap_union_of_preds): Modified.
6690 * sched-deps.c (init_dependency_caches): Modified.
6691 * sched-ebb.c (schedule_ebbs): Modified.
6692 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
6693 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
6694 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
6695 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
6696 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
6697 ssa_const_prop): Modified.
6698 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
6699 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
6700 * ssa.c (remove_phi_alternative, find_evaluations,
6701 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
6702 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
6703 make_regs_equivalent_over_bad_edges,
6704 make_equivalent_phi_alternatives_equival,
6705 compute_conservative_reg_partition,
6706 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
6707 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
6708 Modified.
6709
5a566bed
MM
67102002-05-16 Mark Mitchell <mark@codesourcery.com>
6711
6712 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
6713
48f6efae
NC
67142002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
6715
6716 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
6717 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
6718 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
6719 calling CONSTANT_POOL_ADDRESS_P.
6720 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
6721 to decide whether to define __arm__ or __thumb.
355e4ec4 6722 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
6723 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
6724
b166fadd
NB
67252002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
6726
6727 * config/arc/arc.h (CPP_PREDEFINES): Remove.
6728 (CPP_SPEC): Update.
6729 (TARGET_CPU_CPP_BUILTINS): New.
6730
601328bb
NB
67312002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
6732
6733 * cpphash.h (cpp_macro): Move here, and make expansion a union.
6734 * cppmacro.c (cpp_macro): Remove.
6735 (enter_macro_context, replace_args, warn_of_redefinition,
6736 _cpp_create_definition, cpp_macro_definition): Update.
6737
ff48be5c
JM
67382002-05-16 Jason Merrill <jason@redhat.com>
6739
6740 * config/mips/mips.c (mips_output_external): Don't do sdata
6741 optimization for a variable with DECL_COMDAT set.
6742
805c42ba
AH
67432002-05-15 Aldy Hernandez <aldyh@redhat.com>
6744
355e4ec4
ZD
6745 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
6746 Cleanups for accepting modifiers on pointers.
6747 Fix predicate typos.
6748 Allow long pointers as well as int pointers.
805c42ba 6749
34fb9ba5
RH
67502002-05-15 Richard Henderson <rth@redhat.com>
6751
6752 * varasm.c (merge_weak): Remove special case for extern and common.
6753
62e118f5
MH
67542002-05-15 Matt Hiller <hiller@redhat.com>
6755
6756 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 6757 XFAILing.
62e118f5
MH
6758 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
6759 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
6760 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
6761 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
6762 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
6763 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
6764
fefac463
AH
67652002-05-15 Aldy Hernandez <aldyh@redhat.com>
6766
355e4ec4 6767 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 6768
5f004351
AH
67692002-05-15 Aldy Hernandez <aldyh@redhat.com>
6770
355e4ec4
ZD
6771 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
6772 ("altivec_mfvscr"): Read from VSCR.
6773
6774 Add vscr sets for the following insns: altivec_vctuxs,
6775 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
6776 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
6777 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
6778 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
6779 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
6780 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
6781 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
6782 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
6783 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
6784 altivec_vsum2sws, altivec_vsumsws.
6785
6786 * config/rs6000/rs6000.h: Add VSCR fixed register.
6787 (CALL_REALLY_USED_REGISTERS): Add vscr.
6788 (CALL_USED_REGISTERS): Same.
6789 (FIXED_REGISTERS): Same.
6790 (REG_ALLOC_ORDER): Same.
6791 (reg_class): Add VSCR_REGS.
6792 (REG_CLASS_NAMES): Same.
6793 (REG_CLASS_CONTENTS): Same.
6794 (VSCR_REGNO): New.
6795 (REGISTER_NAMES): Add vscr.
6796 (DEBUG_REGISTER_NAMES): Same.
6797 (ADDITIONAL_REGISTER_NAMES): Same.
6798 (FIRST_PSEUDO_REGISTER): Increment.
6799 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 6800
033afd11
RH
68012002-05-15 Jakub Jelinek <jakub@redhat.com>
6802
6803 * fold-const.c (fold): Fix a typo.
6804
68052002-05-15 Eric Botcazou <ebotcazou@multimania.com>
6806
6807 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
6808 comparison against the highest or lowest integer value before
6809 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
6810 transformation and that of an unsigned comparison against 0
6811 right after.
6812
14285ace
RH
68132002-05-15 Richard Henderson <rth@redhat.com>
6814
6815 * varasm.c (merge_weak): Error for any weakening after definition.
6816 Adjust weakening after use warning to catch more cases.
6817 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
6818 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
6819
194734e9
JH
6820Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
6821
6822 * invoke.texi (-malign-double): Re-add lost warning.
6823
6824 * i386-protos.h (x86_output_mi_thunk): Declare.
6825 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
6826 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
6827
6828 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
6829 when flag_asynchronous_unwind_tables is set.
6830
6831 * flags.h (flag_reorder_functions): Declare.
6832 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 6833 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
6834 * Makefile.in (predict.o): Add dependency on target.h and params.h
6835 * defaults.h (HOT_TEXT_SECTION_NAME,
6836 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
6837 * predict.c (choose_function_section): New function.
6838 (estimate_bb_frequencies): Use it.
6839 * toplev.c (flag_reorder_functions): New global variable.
6840 (lang_independent_options): New.
6841 (parse_options_and_default_flags): Set.
6842 * varasm.c (assemble_start_function): Bypass functdion alignment
6843 for never executed functions.
6844 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
6845 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
6846 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
6847 Document.
6848
6849 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
6850
6851 * predict.c: Inlude profile.h
6852 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
6853 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
6854 Use the information about maximal counter in the program.
6855
6856 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
6857
6858 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
6859 probably_never_executed_bb_p): New functions.
6860 * cfgcleanup.c (outgoing_edges_match): Use them.
6861 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
6862 (maybe_hot_bb_p, probably_cold_bb_p,
6863 probably_never_executed_bb_p): New functions.
6864
6865 * function.h (function): Add new field function_frequency.
6866 * predict.c (compute_function_frequency): New function.
6867 (estimate_probability): Call it.
6868
61ad9a34
JJ
68692002-03-09 Jakub Jelinek <jakub@redhat.com>
6870
6871 PR optimization/5172, optimization/5200
6872 * gcse.c (gcse_main): Disable store_motion.
6873
a11eba95
ZW
68742002-05-14 Zack Weinberg <zack@codesourcery.com>
6875
6876 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
6877 (c_common_nodes_and_builtins): Use it.
6878 (builtin_define_with_value): New function.
6879 (cb_register_builtins): Define __SIZE_TYPE__,
6880 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
6881 using builtin_define_with_value. Use consistent notation when
6882 defining __GXX_WEAK__.
6883 (WCHAR_TYPE_SIZE): Don't redefine.
6884 (combine_strings): Don't use WCHAR_TYPE_SIZE.
6885
6886 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
6887 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
6888 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
6889 * tradcpp.c (initialize_builtins): Likewise.
6890 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
6891
6892 * c-lex.h (builtin_define_with_value): Prototype.
6893 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
6894 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
6895 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
6896
6897 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
6898 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
6899 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
6900 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
6901 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
6902 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
6903 config/sparc/sol2-bi.h, config/sparc/sparc.h:
6904 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
6905 to __SIZE_TYPE__ etc from all spec strings. When this makes
6906 extra specs empty, delete them.
6907
1c31ecf6
JDA
69082002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
6909
6910 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
6911 for PA8000 or generating dwarf2 call frame information.
6912 (output_call): Remove DO_FRAME_NOTES check from return pointer
6913 optimization.
6914 (following_call): Return 0 when scheduling for PA8000 or generating
6915 dwarf2 call frame information. Revise comment.
6916
ac9cfada
NB
69172002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
6918
6919config/alpha:
6920 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
6921 and __IEEE_FP_INEXACT as appropriate.
6922 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
6923 (CPP_SPEC): Remove ieee defines.
6924 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
6925
9b690711
RH
69262002-05-14 Richard Henderson <rth@redhat.com>
6927
6928 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
6929 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
6930
e6471be6
NB
69312002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
6932
e6471be6
NB
6933 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
6934 (CPP_SPEC): Update.
6935 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
6936 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
6937 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
6938 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
6939 (EXTRA_SPECS): Update.
6940 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
6941 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
6942 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
6943 define TARGET_OS_CPP_BUILTINS if necessary.
6944
e5f5feea
NB
69452002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
6946
6947 * gcc.c (cpp_options): Must pass -m* and -f* options
6948 to the front end even when only preprocessing.
6949 (cc1_options): Remove redundant -lang-c.
6950 * tradcpp.c (main): Ignore -m options.
6951objc:
6952 * lang-specs.h: Similarly.
6953
317638a8
VM
69542002-05-14 Vladimir Makarov <vmakarov@redhat.com>
6955
6956 * genautomata.c (transform_3): Add code for transformation
6957 `(A,B,...)+C -> A+C,B,...'.
6958
4d604303
JH
6959Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
6960
6961 * final.c (end_final): Do not output profile_arcs constructor, when
6962 no functions are instrumented.
6963
b18b06ed
JH
6964Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
6965
6966 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
6967
a12f97f0
GP
69682002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6969
6970 * doc/install.texi: Remove special markup originally required for
6971 HTML generation with texi2html.
6972
c1ae3eb4
AS
69732002-05-14 Andreas Schwab <schwab@suse.de>
6974
6975 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
6976 SELECT_SECTION.
6977 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
6978
6979 * varasm.c (resolve_unique_section): Add third parameter
6980 flag_function_or_data_sections and use it instead of
6981 flag_function_sections.
6982 (assemble_start_function): Pass flag_function_sections.
6983 (asm_emit_uninitialised): Pass flag_data_sections.
6984 (assemble_variable): Likewise.
6985
8ee41eaf
RH
69862002-05-14 Richard Henderson <rth@redhat.com>
6987
6988 * config/i386/i386.md: Use define_constants for unspec numbers.
6989 * config/i386/i386.c: Likewise.
6990
e6471be6
NB
69912002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
6992
6993 * doc/contrib.texi: Update my entry.
6994
c297b764
MM
69952002-05-13 Mark Mitchell <mark@codesourcery.com>
6996
6997 * fixinc/inclhack.def (winidss_valist): Limit applicability.
6998 * fixinc/fixincl.x: Regenerated.
6999 * fixinc/tests/base/math.h: Update.
7000 * fixinc/tests/base/testing.h: Likewise.
7001
0b42c8f8
ZW
70022002-05-13 Zack Weinberg <zack@codesourcery.com>
7003
7004 * genattr.c (gen_attr): Don't emit a comma after the last
7005 enumerator.
7006
546c093e
RH
70072002-05-13 Richard Henderson <rth@redhat.com>
7008
7009 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
7010 by non-local gotos.
7011 * recog.c (peephole2_optimize): Likewise.
7012
85be8c2d
AP
70132002-05-13 Andris Pavenis <pavenis@lanet.lv>
7014
7015 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
7016 input to O_BINARY.
7017
765b8f90
JL
70182002-05-13 Jeffrey A Law (law@redhat.com)
7019
fe4b3c79
JL
7020 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
7021 Update prototype and callers.
7022 (propagate_one_insn): Stack pointer adjustments kill MEMs on
7023 the mem_set_list which reference the stack pointer, as do
7024 calls to constant functions as they may clobber outgoing
7025 argument space.
7026
16133d00
JL
7027 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
7028
765b8f90
JL
7029 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
7030 (ia32_multipass_dfa_lookahead): New function.
7031
63826d5b
NB
70322002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
7033
7034 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
7035 (translate_options): Remove 'V'.
7036 (process_command): Similarly.
7037doc:
7038 * invoke.texi: Remove documentation of 'V'.
7039
dcb41ced
UW
70402002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
7041
7042 * config/s390/linux.h: Revert 2002-04-22 changes.
7043
8dfea428
SM
70442002-05-13 Scott Marks <SMarks@mobile-mind.com>
7045
7046 * config/fr30/fr30.md: Only allow splits of immediate loads
7047 if the destination is a register.
7048
12a41c22
NB
70492002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
7050
7051 * Makefile.in (c-common.o, cppinit.o): Update.
7052 * c-common.c: Include except.h.
7053 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
7054 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
7055 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
7056 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
7057 CPP_PREDEFINES): Handle here.
7058config:
7059 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
7060 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
7061 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
7062 TARGET_OS_CPP_BUILTINS.
7063 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
7064 (CPP_SPEC, EXTRA_SPECS): Update.
7065 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
7066 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
7067 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
7068 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
7069 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
7070doc:
7071 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
7072 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
7073
5692c7bc
ZW
70742002-05-12 Zack Weinberg <zack@codesourcery.com>
7075
7076 * emit-rtl.c (global_rtl): Update comment.
7077 (const_double_htab, const_double_htab_hash,
7078 const_double_htab_hash, lookup_const_double): New.
7079 (const_int_htab_hash, const_int_htab_eq): Remove const
7080 qualifiers, which cause tons of warnings with RTL checking on.
7081 (gen_rtx_CONST_DOUBLE): Deleted.
7082 (const_double_from_real_value): New function - bears some
7083 resemblance to the former immed_real_const_1.
7084 (immed_double_const): Moved here from varasm.c and
7085 simplified.
7086 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
7087 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
7088 (gen_rtx): Use immed_double_const.
7089 (init_emit_once): Initialize the const_double_htab. Use
7090 REAL_VALUE_FROM_INT where possible. Can now use
7091 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
7092 * varasm.c (struct varasm_status): Remove x_const_double_chain.
7093 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
7094 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
7095 (init_varasm_status, mark_varasm_status): Don't touch
7096 x_const_double_chain.
7097
7098 * output.h: Delete prototype for clear_const_double_mem.
7099 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
7100 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
7101 const_double_from_real_value, not immed_real_const_1, and use
7102 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
7103 CONST_DOUBLE_ATOF.
7104 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
7105 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
7106 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
7107 (gen_rtx_REG): Second arg is unsigned.
7108
7109 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
7110 (excluded_rtx): New, return true for CONST_DOUBLE.
7111 (genmacro): Write nothing for excluded codes.
7112 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
7113 * expr.c (expand_expr): Likewise.
7114 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
7115 CONST_DOUBLE_CHAIN.
7116 * toplev.c (rest_of_compilation): Don't call
7117 clear_const_double_mem.
7118
7119 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
7120 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
7121 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
7122 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
7123 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
7124 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
7125 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
7126 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
7127
31397a7b
KG
71282002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7129
7130 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
7131
1b70d38a
TT
71322002-05-12 Tom Tromey <tromey@redhat.com>
7133
7134 * tree.h (copy_node): Don't mention TREE_PERMANENT.
7135
9a5834ae
ZW
71362002-05-12 Zack Weinberg <zack@codesourcery.com>
7137
7138 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
7139 (scan_comma_elt): New function. Accepts whitespace in comma lists.
7140 * gensupport.h: Prototype new routines.
7141 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
7142 use of printf.
7143 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
7144 (next_comma_elt): Use scan_comma_elt.
7145
7146 * config/i386/i386.md: Use new attribute notation to break up
7147 long lines in define_attr forms.
7148
51286de6
RH
71492002-05-12 Richard Henderson <rth@redhat.com>
7150
7151 * expr.c (compress_float_constant): New.
7152 (emit_move_insn): Use it.
7153 (float_extend_from_mem): New.
7154 (init_expr_once): Initialize it.
7155 * real.c (exact_real_truncate): New.
7156
7157 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
7158 dropped into memory; penalize for size.
7159 (RTX_COSTS): FLOAT_EXTEND is free.
7160 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
7161 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
7162
6412341e
RH
71632002-05-12 Richard Henderson <rth@redhat.com>
7164
7165 * profile.h (profile_info): Add missing extern to declaration.
7166 * profile.c (profile_info): Define it.
7167
12877f09
JDA
71682002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
7169
7170 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
7171 used for DImode and TImode.
7172
387f9e32
NB
71732002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
7174
7175 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
7176 fake a newline.
7177
e1a0f69c
ZW
71782002-05-11 Zack Weinberg <zack@codesourcery.com>
7179
7180 * config/rs6000/rs6000.c (rs6000_default_long_calls,
7181 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
7182 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
7183 (rs6000_override_options): Handle -m(no-)longcall.
7184 (init_cumulative_args, output_mi_thunk): Check for both
7185 longcall and shortcall attributes on the function.
7186 (rs6000_attribute_table): Add "shortcall".
7187 (rs6000_handle_longcall_attribute): Update comment.
7188 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
7189 altivec_expand_ternop_builtin): Add default clauses to switches
7190 to silence warnings.
7191
7192 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
7193 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
7194 (TARGET_OPTIONS): Add longcall and no-longcall.
7195
7196 * config/rs6000/rs6000.md (call_nonlocal_sysv,
7197 call_value_nonlocal_sysv): Split by alternatives. One pair
7198 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
7199 the call cookie. The other pair accepts only LR/CTR and has
7200 no restriction.
7201
7202 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
7203 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
7204 tmake_file.
7205 * config/rs6000/rs6000-c.c: New file.
7206 * config/rs6000/t-rs6000-c-rule: New file.
7207 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
7208 Prototype rs6000_pragma_longcall.
7209
7210 * doc/extend.texi: Document shortcall attribute.
7211 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
7212
9c64026d
JDA
72132002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
7214
7215 * reorg.c (dbr_schedule): Remove unnecessary test.
7216
6c81a490
JH
7217Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
7218
7219 * i386.md (testsi to testqi spliters): New.
7220
7221 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
7222
7223 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
7224
7225 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
7226
7227 * basic-block.h: New flag EDGE_CAN_FALLTHRU
7228 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
7229 that can be made fallthru.
7230
7231 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
7232
7233 * cfglayout.c (cleanup_unconditional_jumps): New static function.
7234 (cfg_layout_initialize): Use it.
4c476cf3 7235
e4447d94
MM
72362002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
7237
7238 * config/avr/avr.c (avr_mcu_types): Update supported devices.
7239 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
7240 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
7241
3a538a66
KH
72422002-05-11 Kazu Hirata <kazu@cs.umass.edu>
7243
7244 * dbxout.c: Fix formatting.
7245 * dependence.c: Likewise.
7246 * df.c: Likewise.
7247 * diagnostic.c: Likewise.
7248 * doloop.c: Likewise.
7249 * dominance.c: Likewise.
7250 * doschk.c: Likewise.
7251 * dwarf2asm.c: Likewise.
7252 * dwarf2out.c: Likewise.
7253 * dwarfout.c: Likewise.
7254
2292e8fc
RH
72552002-05-10 Richard Henderson <rth@redhat.com>
7256
7257 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
7258 Convert integers constants as needed. Replace "nwords" field with
7259 "sizeof_bb".
7260 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
7261 * function.h: Fix typo in comment.
7262 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
7263
dbfb1116
RS
72642002-05-10 Roger Sayle <roger@eyesopen.com>
7265
7266 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
7267 into the equivalent (signed char)c > 0.
7268
79a497cd
JJ
72692002-05-10 Janis Johnson <janis187@us.ibm.com>
7270
7271 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
7272 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
7273 (struct prefetch_info): Fix spelling of member bytes_accessed.
7274 (emit_prefetch_instructions): Make dump messages more regular;
7275 restructure code to add more dump messages; use new macros for
7276 heuristics. (There are no code generation changes in any of this).
7277
6c45cb0d
DM
72782002-05-10 David S. Miller <davem@redhat.com>
7279
7440af14
DM
7280 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
7281 (struct rtx_def): Update unchanging flag comment.
7282 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
7283 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
7284 to be handled to INSN too.
7285 (dbr_schedule): Likewise.
7286 * resource.c (next_insn_no_annul): Likewise.
7287
6c45cb0d
DM
7288 * cse.c (rtx_cost): Remove multiplication by power of 2 special
7289 casing.
7290
29f21e4f
GP
72912002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7292
7293 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
7294 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
7295 (possibly) work around broken /bin/sh.
7296
e4ba88da
RO
72972002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7298
7299 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
7300 . as N64/N32 libgcc_s.so subdirs.
7301
4f4778ee
DM
73022002-05-10 David S. Miller <davem@redhat.com>
7303
7304 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
7305
7306 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
7307 more accurately.
7308 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
7309 comment.
7310 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
7311 * doc/rtl.texi: Document these macros more accurately.
7312 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
7313 JUMP_INSNs and CALL_INSNs.
7314 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
7315 or INSN_FROM_TARGET_P if the code is appropriate.
7316
1a499b92
MM
73172002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
7318
7319 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
7320 before using SYMBOL_REF_FLAG (addr).
7321
7322 * config/avr/avr-protos.h (avr_io_address_p): Declare.
7323 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
7324 Make non-static. Update all callers.
7325 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
7326 New insns to clear/set/test a single bit in I/O address space.
7327
65212b66
KG
73282002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7329
7330 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
7331
3df89291
NB
73322002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
7333
7334 * Makefile.in: Update.
7335 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
7336 builtin_define_std): New.
7337 (c_common_init): Register CPP builtins callback.
7338 * c-common.h (flag_iso, flag_undef): New.
7339 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
7340 * c-lex.c: Don't include target.h.
7341 (cb_register_builtins): Move to c-common.c.
7342 (init_c_lex): Don't register hook here.
7343 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
7344 (cpp_define, cpp_assert): Remove.
7345 * gcc.c (cc1_options): Pass -undef to front end.
7346 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
7347 (TARGET_INITIALIZER): Update.
7348 * target.h (struct cpp_reader): Don't predeclare.
7349 (struct gcc_target): Remove cpp builtin hook.
7350 * tree.c (default_register_cpp_builtins): Remove.
7351doc:
7352 * tm.texi: Update.
7353
32fa4565
NB
73542002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
7355
7356 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
7357
23357c55
RO
73582002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7359
7360 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
7361 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
7362
5aa26af0
JJ
73632002-05-09 Jakub Jelinek <jakub@redhat.com>
7364
7365 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
7366 * config/sparc/libgcc-sparc-glibc.ver: New file.
7367 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
7368 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
7369
2937267b
JJ
73702002-05-09 Jakub Jelinek <jakub@redhat.com>
7371
7372 PR target/6429
7373 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
7374 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
7375 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
7376 base multilibs.
7377 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
7378 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
7379 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
7380 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
7381
086c0f96
RH
73822002-05-09 Richard Henderson <rth@redhat.com>
7383
7384 * config/ia64/ia64.md: Use define_constants for unspec numbers.
7385 * config/ia64/ia64.c: Likewise.
7386
a8b4881f
RS
73872002-05-09 Richard Sandiford <rsandifo@redhat.com>
7388
7389 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
7390 (save_restore_insns): Likewise.
7391 (mips_expand_prologue, mips_expand_epilogue): Update callers.
7392 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
7393
243e5500 7394Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 7395
af2728a4
JL
7396 * athlon.md, k6.md, pentium.md, ppro.md): New files.
7397 * i386.md: Move scheduling information into new files.
7398
890d52e8
JL
7399 * i386.md (type attribute): Add "rotate" for rotate insns.
7400 (rotate insns): Set type to "rotate".
7401 (various attributes and function units): Treat rotate like shift.
7402 (pent_pair attribute): Only rotates by one bit position are
7403 pairable.
7404 (sbb insns): Explicitly set pent_pair attribute on a couple
7405 that were missing it.
7406
f78ec36a
R
7407Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
7408
7409 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
7410 make sure that buffer starts on odd word address.
7411 (sh_va_arg): Skip odd fp registers when reading a double precision
7412 value.
7413
ff431459
NB
74142002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
7415
7416 * tree.h (preserve_data, object_permanent_p, type_precision):
7417 Remove.
7418
c3bf3e6e
NB
74192002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
7420
7421 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
7422 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
7423doc:
7424 * cpp.texi: Update for removal of obsolete features.
7425
02263a8a
JH
7426Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
7427 Jeffrey A Law (law@redhat.com)
7428
7429 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
7430 the DFA interface for Pentium processors.
7431 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
7432 (attr_pent_pair, ix86_pent_find_pair): Remove.
7433 (ix86_sched_reorder_pentium): Remove.
7434 (ix86_sched_reorder): Remove reordering for Pentium.
7435 * i386.md (Pentium scheduling): Rewrite using DFA description.
7436
3e638a90
JH
7437Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
7438
7439 * cfganal.c (can_fallthru): Fix fast path.
7440 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
7441 with edges to the next block.
7442
b7c9bf28
JH
7443Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
7444 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
7445
7446 * final.c (end_final): Use C trees to output data structures for profiling.
7447
7448 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
7449 (profile.o): New dependency profile.h
7450 (final.o): New dependency profile.h
7451 * profile.h: New file. New global structure profile_info.
7452 * final.h (count_edges_instrumented_now): Declare.
7453 (current_function_cfg_checksum): Declare.
7454 (function_list): New structure.
7455 (functions_head, functions_tail): New static variables.
7456 (end_final): Emits more data, removed some -ax stuff.
7457 (final): Stores function names and chcksums.
7458 * gcov-io.h (__write_gcov_string): New function.
7459 (__read_gcov_string): New function.
7460 * gcov.c (read_profile): New function.
7461 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 7462 da_file.
5692c7bc
ZW
7463 (read_files): Removed da_file checking, it's done by read_profile now.
7464 * libgcc2.c (bb_function_info): New structure.
7465 (bb): New field in structure, removed some -ax stuff.
7466 (__bb_exit_func): Changed structure of da_file.
7467 * profile.c (count_edges_instrumented_now): New global variable.
7468 (current_function_cfg_checksum): New global variable.
7469 (max_counter_in_program): New global variable.
7470 (get_exec_counts): New function.
7471 (compute_checksum): New function.
7472 (instrument_edges): Sets count_edges_instrumented_now.
7473 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 7474 reading da_file.
5692c7bc
ZW
7475 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
7476 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 7477 now.
5692c7bc 7478 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 7479 now.
5692c7bc 7480 * gcov.texi: Updated information about gcov file format.
b7c9bf28 7481
786de7eb
KH
74822002-05-09 Kazu Hirata <kazu@cs.umass.edu>
7483
7484 * sbitmap.c: Fix formatting.
7485 * scan.c: Likewise.
7486 * scan-decls.c: Likewise.
7487 * sched-deps.c: Likewise.
7488 * sched-ebb.c: Likewise.
7489 * sched-rgn.c: Likewise.
7490 * sched-vis.c: Likewise.
7491 * sdbout.c: Likewise.
7492 * sibcall.c: Likewise.
7493 * simplify-rtx.c: Likewise.
7494 * ssa.c: Likewise.
7495 * ssa-ccp.c: Likewise.
7496 * ssa-dce.c: Likewise.
7497 * stmt.c: Likewise.
7498 * stor-layout.c: Likewise.
7499 * stringpool.c: Likewise.
7500
b7764693
DM
75012002-05-09 David S. Miller <davem@redhat.com>
7502
7503 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
7504
4e7d5d27
DM
75052002-05-07 David S. Miller <davem@redhat.com>
7506
7507 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
7508 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
7509 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
7510 library implementation clobbers the output before the inputs
7511 are fully consumed, use stack temporary for the output.
7512
f979570e
JT
75132002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
7514
7515 * config/netbsd.h (CPP_SPEC): Remove.
7516 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
7517 * config/i386/netbsd.h (CPP_SPEC): Define.
7518 * config/ns32k/netbsd.h (CPP_SPEC): Define.
7519 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
7520 * config/sparc/netbsd.h (CPP_SPEC): Define.
7521 * config/vax/netbsd.h (CPP_SPEC): Define.
7522
a6a2274a
KH
75232002-05-08 Kazu Hirata <kazu@cs.umass.edu>
7524
7525 * read-rtl.c: Fix formatting.
7526 * real.c: Likewise.
7527 * recog.c: Likewise.
7528 * regclass.c: Likewise.
7529 * regmove.c: Likewise.
7530 * reg-stack.c: Likewise.
7531 * reload1.c: Likewise.
7532 * reload.c: Likewise.
7533 * resource.c: Likewise.
7534 * rtlanal.c: Likewise.
7535 * rtl.c: Likewise.
7536 * rtl-error.c: Likewise.
7537
461b48d5
JDA
75382002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
7539
7540 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
7541 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
7542
95d075ff
BS
75432002-05-08 Bernd Schmidt <bernds@redhat.com>
7544
7545 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
7546 use __SSE2__ macro instead.
7547 * config/i386/xmmintrin.h: Likewise.
7548
2d4cc6a7
JJ
75492002-05-08 Janis Johnson <janis187@us.ibm.com>
7550
7551 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
7552 and use it in all invocations of these macros. Clean up comments.
7553 * rtl.c (rtl_check_failed_flag): Add an argument for the name
7554 of the flag access macro whose check failed.
7555 * doc/rtl.texi (Flags): Document additional flag uses.
7556
3f8ffc7c
RS
75572002-05-08 Robert Spier <rspier@pobox.com>
7558 Neil Booth <neil@daikokuya.demon.co.uk>
7559
7560 PR preprocessor/6521
7561 * cppfiles.c (handle_missing_header): Don't do anything
7562 different for <> includes.
7563doc:
7564 * cppopts.texi: Update documentation for -MG.
7565
b9e2d17b
NB
75662002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
7567
7568 * cpplex.c (cpp_interpret_charconst): Truncate as well as
7569 sign-extend.
7570doc:
7571 * cpp.texi: Clarify multichar charconst valuation.
7572
8d8269fa
MM
75732002-05-08 Mark Mitchell <mark@codesourcery.com>
7574
7575 * doc/invoke.texi: Document -mwindiss option.
7576
29b91443
JM
75772002-05-08 Jason Merrill <jason@redhat.com>
7578
7579 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
7580
7581 * dwarf2out.c (gen_type_die): Abort on broken recursion.
7582
7583 PR c++/6381
7584 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
7585 REAL_CST.
7586
6c76b950
NC
75872002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
7588
7589 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
7590 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 7591 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
7592 multilibs for the Thumb.
7593
f90bf7ca
MM
75942002-05-08 Mark Mitchell <mark@codesourcery.com>
7595
7596 PR c/6569.
7597 * varasm.c (mark_weak): New function.
7598 (merge_weak): Use it. Do not call declare_weak.
7599 (declare_weak): Use merge_weak.
7600
1e150f2c
JH
7601Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
7602
7603 * cse.c (dead_libcall_p): Update counts.
7604 (delete_trivially_dead_insns): Update call of dead_libcall_p.
7605
969d70ca
JH
7606Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
7607
7608 * cfglayout.c (function_tail_eff_head): Rename to ...
7609 (function_footer): ... this one.
7610 (unlink_insn_chain): New functions.
7611 (label_for_bb): Only call block_label and emit debug message.
7612 (record_effective_endpoints): Actually unlink the headers and footers.
7613 (fixup_reorder_cahin): Re-insert the unlinked sequences.
7614 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
7615 * cfglayout.h (struct reorder_block_def): New fields footer/header;
7616 remove eff_head/eff_end.
7617 * rtl.h (set_first_insn): Declare.
7618 * emit-rtl.c (set_first_insn): New function.
7619
7620 * cfglayout.c (fixup_reorder_chain): Dump duplicated
7621 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
7622 cfg_layout_duplicate_bb): New global function.
7623 (duplicate_insn_chain): New static function.
7624 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
7625 cfg_layout_duplicate_bb): Declare.
7626 (struct reorder_block_def): Add "original" field.
7627 * emit-rtl.c (emit_copy_of_insn_after): New function.
7628 * rtl.h (emit_copy_of_insn_after): Declare.
7629
7630 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
7631 (fixup_reorder_chain): properly handle edges to exit block.
7632
7633Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7634 Jan Hubicka <jh@suse.cz>
7635
7636 * basic-block.h (note_prediction_to_br_prob): declare.
7637 * c-semantics.c: Inlucde predit.h
7638 (expand_stmt): predict GOTO_STMT as not taken.
7639 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
7640 (cleanup_cfg): Do not free tail_recursion_list.
7641 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
7642 (flow_delete_block): Kill predictions past end of basic block.
7643 * output.h (delete_unreachable_blocks): Declare.
7644 * predict.c (predicted_by_p, process_note_predictions,
7645 process_note_prediction, last_block_p): New function.
7646 (estimate_probability): Bypass loop on PRED_CONTINUE;
7647 do not handle noreturn heuristics; kill PRED_RETURN; add
7648 PRED_EARLY_RETURN.
7649 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
7650 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
7651 * predict.h (IS_TAKEN): New constant.
7652 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
7653 * rtl.c (NOTE_INSN_PREDICTION): New.
7654 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
7655 New macro.
7656 (insn_note): add NOTE_INSN_PREDICTION.
7657 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
7658 CFG; free tail_recursion_label_list.
7659 * stmt.c: Include predict.h;
7660 (return_prediction): New.
7661 (expand_value_return): Use it.
7662 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
7663
41f8d041
RS
76642002-05-08 Richard Sandiford <rsandifo@redhat.com>
7665
7666 * config/mips/mips.md: Name the unspecs with define_constant.
7667 (*HILO_delay): Rename to 'hilo_delay' (no star).
7668 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
7669 (reload_outdi, reload_outsi): Likewise.
7670
9cabb1d8
KH
76712002-05-07 Kazu Hirata <kazu@cs.umass.edu>
7672
7673 * toplev.c: Fix formatting.
7674
4c76f856
JJ
76752002-05-07 Janis Johnson <janis187@us.ibm.com>
7676
7677 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
7678 * configure.in (ac_rtlflag_checking): New.
7679 * doc/install.texi (--enable-checking): Document RTL flag checking.
7680
44a147ad
NB
76812002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
7682
7683 * c-common.c (c_common_init): Set options->unsigned_wchar.
7684 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
7685 group target dependencies.
7686 (init_builtins, cpp_handle_option): Update.
7687 * cpplex.c (cpp_interpret_charconst): Update.
7688 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
7689 signed_char to unsigned_char, group target dependencies.
7690 * defaults.h (WCHAR_UNSIGNED): Remove.
7691 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
7692config:
7693 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
7694 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
7695 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
7696 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
7697 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
7698doc:
7699 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
7700
cace4f93
MM
77012002-05-07 Mark Mitchell <mark@codesourcery.com>
7702
7703 * fixinc/inclhack.def (windiss_math1): New fix.
7704 (windiss_math2): Likewise.
7705 (windiss_valist): Likewise.
7706 * fixinc/fixincl.x: Regenerated.
7707
e2ff6cee
AJ
77082002-05-07 Andreas Jaeger <aj@suse.de>
7709
7710 * genautomata.c (output_internal_min_issue_delay_func): Add
7711 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
7712 (output_internal_trans_func): Likewise.
7713
bdad4be5
JL
7714Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
7715
7716 * pa.c (hppa_profile_hook): Use force_reg to get the address
7717 of the profile hook into an appropriate pseudo register.
7718
a1ffecd9
MM
77192002-05-07 Mark Mitchell <mark@codesourcery.com>
7720
7721 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
7722 (LINK_START_SPEC): Handle it.
7723 (LINK_OS_SPEC): Likewise.
7724 (CPP_SPEC): Likewise.
7725 (STARTFILE_SPEC): Likewise.
7726 (LIB_SPEC): Likewise.
7727 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
7728 all platforms.
7729 (CRTSAVRES_DEFAULT_SPEC): New macro.
7730 (LIB_WINDISS_SPEC): New macro.
7731 (CPP_OS_WINDISS_SPEC): Likewise.
7732 (STARTFILE_WINDISS_SPEC): Likewise.
7733 (ENDFILE_WINDISS_SPEC): Likewise.
7734 (LINK_START_WINDISS_SPEC): Likewise.
7735 (LINK_OS_WINDISS_SPEC): Likewise.
7736 * config/rs6000/windiss.h: New file.
e2ff6cee 7737
df966bff
AH
77382002-05-07 Aldy Hernandez <aldyh@redhat.com>
7739
a5c76ee6 7740 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 7741
db84f1bd
DM
77422002-05-06 David S. Miller <davem@redhat.com>
7743
7744 * config/sparc/sparc.md (shift insns): Do not mask off
7745 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
7746 take care of it.
7747
818c0c94
RH
77482002-05-06 Richard Henderson <rth@redhat.com>
7749
7750 PR c++/6212
7751 * expr.c (highest_pow2_factor_for_type): New.
7752 (expand_assignment): Use it.
7753
61e0b50f
AH
77542002-05-06 Aldy Hernandez <aldyh@redhat.com>
7755
818c0c94
RH
7756 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
7757 unspec_volatile.
7758 ("altivec_mfvscr"): Same.
61e0b50f 7759
5a63e069
JJ
77602002-05-06 Janis Johnson <janis187@us.ibm.com>
7761
7762 * rtl.h (struct rtx_def): Update comments.
7763 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
7764 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
7765 RTL_FLAG_CHECK macros with list of expected RTL codes.
7766 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
7767 (rtl_check_failed_flag): New.
7768 * reload1.c (reload): Use REG macro before changing rtx to MEM.
7769 (reload_cse_noop_set_p): Check rtx code before using access macro.
7770 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
7771 before using access macro.
7772
4afe3952
JJ
77732002-05-06 Janis Johnson <janis187@us.ibm.com>
7774
7775 * doc/rtl.texi (Flags): Update to reflect current usage.
7776
1f77b5da
RS
77772002-05-06 Roger Sayle <roger@eyesopen.com>
7778
7779 PR opt/3995
7780 * fold-const.c (sign_bit_p): New function.
7781 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 7782 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
7783 Reapply fold when converting (A & C) == C into (A & C) != 0.
7784 (fold_binary_op_with_conditional_arg): Fix typo in comment.
7785
a5a49440
NB
77862002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
7787
7788 * c-common.c (warn_multichar): New.
7789 (c_common_init): Set CPP's warn_multichar.
7790 * c-common.h (warn_multichar): New.
7791 * c-decl.c (warn_multichar): Remove.
7792 * c-lex.c (lex_charconst): Update.
7793 * c-tree.h (warn_multichar): Remove.
7794 * cppexp.c (eval_token): Sign-extend charconst value.
7795 * cppinit.c (cpp_create_reader): Set warn_multichar.
7796 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
7797 each character. Update prototype. Sign-extend the result.
7798 * cpplib.h: Fix conditions.
7799 (struct cpp_options): Add new warning flag.
7800 (cpp_interpret_charconst): Update prototype.
7801doc:
7802 * cpp.texi: Update documentation.
7803
83e0be55
VM
78042002-05-06 Vladimir Makarov <vmakarov@redhat.com>
7805
7806 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
7807 Fix typo in usage of allof instead of unit.
7808
688ec718
RH
78092002-05-06 Richard Henderson <rth@redhat.com>
7810
7811 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
7812 and any jump or call for IN.
7813
f6536266
BS
78142002-05-06 Bernd Schmidt <bernds@redhat.com>
7815
e2ff6cee 7816 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
7817 -msse2.
7818 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 7819
0316d49b
RS
78202002-05-06 Roger Sayle <roger@eyesopen.com>
7821
7822 * fold-const.c (lshift-double): Cast the high word to an unsigned
7823 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
7824 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
7825 avoid compiler warning. (fold): Remove redundant code from
7826 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
7827
5d50fab3
JL
78282002-05-06 Jeff Law <law@redhat.com>
7829
7830 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
7831 * pa.c (pa_adjust_cost): Remove all true dependency cost
7832 adjustments. Also remove support for non-DFA scheduling.
7833 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
7834 to adjust true dependency costs. Update various comments.
7835 (7100lc, 7200, 7300 scheduling): Simplify by combining the
7836 FP ALU & MPY units into a single unit.
7837
a17a104c
CM
78382002-05-06 Catherine Moore <clm@redhat.com>
7839
7840 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 7841 to count all of the registers that will be saved.
a17a104c 7842
7799175f
JH
7843Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
7844
7845 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
7846
0ac941a0
DM
78472002-05-06 David S. Miller <davem@redhat.com>
7848
7849 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
7850 allow result to overlap input operands in memory.
7851
95ff5d3f
NB
78522002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
7853
7854doc:
7855 * cpp.texi: Update multichar charconst docs.
7856
639e8b0c
NB
78572002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
7858
7859 * cpplex.c (cpp_interpret_charconst): Sign-extend each
7860 character. Don't ignore excess characters. Treat
7861 multicharacter character constants as signed.
7862 (cpp_parse_escape): Clarify diagnostic.
7863
84ea5bc1
JJ
78642002-05-05 Jakub Jelinek <jakub@redhat.com>
7865
7866 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
7867 use add instead of shift.
7868 (ashldi3_sp64): Likewise.
7869 (ashlsi3_const1, ashldi3_const1): Remove.
7870 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
7871 * config/sparc/sparc.c (const1_operand): New.
7872
40cd22f2
JT
78732002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
7874
7875 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
7876
cac01076
JJ
78772002-05-05 Jakub Jelinek <jakub@redhat.com>
7878
7879 PR target/6561
7880 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
7881
98791e3a
RH
78822002-05-05 Richard Henderson <rth@redhat.com>
7883
7884 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
7885 memory latency adjustments.
7886 (alpha_variable_issue): Remove.
7887 (alpha_use_dfa_pipeline_interface): New.
7888 (alpha_multipass_dfa_lookahead): New.
7889 * config/alpha/alpha.md: Remove define_function_unit scheduling;
7890 include new dfa scheduling.
7891 (attr type): Add none.
7892 (blockage): Use it.
7893 * config/alpha/ev4.md: New.
7894 * config/alpha/ev5.md: New.
7895 * config/alpha/ev6.md: New.
7896
309527ce
DM
78972002-05-05 David S. Miller <davem@redhat.com>
7898
7899 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
7900
68252e27
KH
79012002-05-05 Kazu Hirata <kazu@cs.umass.edu>
7902
7903 * cse.c: Fix formatting.
7904 * emit-rtl.c: Likewise.
7905
30cc9d00
VM
79062002-05-05 Vladimir Makarov <vmakarov@redhat.com>
7907
7908 * genautomata.c (initiate_states): Add additional guard to
7909 initialize `units_array'.
7910
deb09eff
VM
79112002-05-05 Vladimir Makarov <vmakarov@redhat.com>
7912
7913 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
7914 process_unit_to_form_the_same_automaton_unit_lists,
7915 form_the_same_automaton_unit_lists
7916 check_unit_distributions_to_automata): New prototypes and
7917 functions.
7918 (check_automata): Rename it into `check_automata_insn_issues'.
7919 (unit_decl): New fields `the_same_automaton_unit' and
7920 `the_same_automaton_message_reported_p'.
7921 (unit_decl_t): New typedef.
7922 (the_same_automaton_lists): New gloval variable.
7923 (unit_regexp, unit_set_el, units_array, units_cmp,
7924 output_get_cpu_unit_code_func): Use the typedef.
7925 (evaluate_max_reserv_cycles): Increment
7926 `description->max_insn_reserv_cycles'.
7927 (initiate_states): Don't increment `max_cycles_num'.
7928 (transform_insn_regexps): Move code around transformation of
7929 regexps from `generate'.
7930 (generate): Remove call of `transform_insn_regexps'.
7931 (expand_automata): Call `transform_insn_regexps' and
7932 `check_unit_distributions_to_automata'. Check errors before
7933 `generate'.
7934
7935 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
7936 automaton `ultrasparc3_1'.
e2ff6cee 7937
2443d4e1
NB
79382002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
7939
7940 * c-common.c (c_common_init): Set up CPP arithmetic.
7941 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
7942 something reasonable for the host.
7943 (sanity_checks): Add checks.
7944 (cpp_read_main_file): Call sanity_checks() from here...
7945 (cpp_post_options): ... not here.
7946 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
7947 * cpplib.h (struct cpp_options): New member int_precision.
7948
791a949f
FS
79492002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7950
7951 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
7952
091fb516
DM
79532002-05-04 David S. Miller <davem@redhat.com>
7954
f60ebeb7
DM
7955 * config/sparc/linux.h, config/sparc/linux64.h
7956 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
7957
214c6394
DM
7958 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
7959 more RTX codes.
7960 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
7961
091fb516
DM
7962 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
7963 of SETs.
7964
f2fdc802
TJ
79652002-05-05 Tim Josling <tej@melbpc.org.au>
7966
e2ff6cee 7967 * treelang; New directory for new sample language treelang.
f2fdc802 7968
3d90d290
NB
79692002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
7970
7971 * Makefile.in (c-lex.o): Update.
7972 * c-lex.c: Include target.h.
7973 (cb_register_builtins): New.
7974 (init_c_lex): Set builtins callback.
7975 * c-lex.h (cpp_define, cpp_assert): New prototypes.
7976 * cppinit.c (init_builtins): Use callback, including for
7977 GXX_WEAK.
7978 * cpplib.h (struct cpp_callbacks): New member.
7979 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
7980 (TARGET_INITIALIZER): Update.
7981 * target.h (struct gcc_target): New hook.
7982 * tree.c (default_register_cpp_builtins): New.
7983 * tree.h (default_register_cpp_builtins): New.
7984doc:
7985 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
7986
625458d0
NB
79872002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
7988
7989 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
7990 (cpp_post_options): Move sanity checks to...
7991 (sanity_checks): New.
7992 * cpplex.c (maybe_read_ucs): Fix prototype.
7993 (parse_string, cpp_parse_escape): Cast for %c format specifier.
7994 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
7995 if necessary.
7996
916b60b7
BS
79972002-05-04 Bernd Schmidt <bernds@redhat.com>
7998
7999 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
8000 builtins. Use V2DI patterns instead of TI for logical operations.
8001 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
8002 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
8003 (ix86_expand_builtins): Change the pattern used for movntdq.
8004 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
8005 sse2_nandv2di3): New patterns.
8006 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
8007 on operands.
8008 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
8009 (cvtdq2pd): Correct mode on operand 1.
8010 (sse2_umulsidi3): Describe without unspec.
8011 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
8012 machine modes.
8013 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
8014 (ashlv2di3): Likewise, from sse2_ashlv2di3.
8015 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
8016 ashlv4si3, ashlv2di3): Use SImode for shift count.
8017 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
8018 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
8019 New patterns.
8020 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
8021 New typedefs.
8022 (__m128i, __m128d): New macros.
8023 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
8024 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
8025 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
8026 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
8027 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 8028 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
8029 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
8030 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 8031 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
8032 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
8033 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
8034 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
8035 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
8036 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
8037 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
8038 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
8039 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
8040 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
8041 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
8042 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
8043 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
8044 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
8045 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
8046 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
8047 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
8048 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
8049 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
8050 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
8051 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
8052 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
8053 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
8054 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
8055 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
8056 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
8057 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
8058 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
8059 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
8060 functions.
e2ff6cee 8061 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
8062 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
8063
c26fbbca
KH
80642002-05-04 Kazu Hirata <kazu@cs.umass.edu>
8065
8066 * dwarf2out.c: Fix formatting.
8067 * varasm.c: Likewise.
8068
0387639b
DE
80692002-05-04 David Edelsohn <edelsohn@gnu.org>
8070
8071 PR c/6543
8072 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
8073 clobber and use result as temporary value.
8074
8a28dbcc
JH
8075Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
8076
8077 * expr.c (force_operand): Use expand_simple_* to handle more
8078 cases.
8079
4268e8bb
NB
80802002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
8081
8082 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
8083 and sign-extension.
8084 (lex_charconst): Update for change in prototype of
8085 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
8086 appropriately.
8087 * cpphash.h (BITS_PER_CPPCHAR_T): New.
8088 * cppinit.c (cpp_create_reader): Initialize them for no
8089 change in semantics.
8090 (cpp_post_options): Add sanity checks.
8091 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
8092 and truncation issues. Calculate in type cppchar_t.
8093 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
8094 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
8095 run-time dependent precision correctly. Return whether the
8096 result is signed or not.
8097 * cpplib.c (dequote_string): Use cppchar_t; update.
8098 * cpplib.h (cppchar_signed_t): New.
8099 struct cpp_options): New precision members.
8100 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 8101 * cppexp.c (eval_token): Update.
4268e8bb 8102
af54350e
DM
81032002-05-03 David S. Miller <davem@redhat.com>
8104
2ce04b6b
DM
8105 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
8106 * config/sparc/sparc.c (sparc_rtx_costs): New function
8107 implementing RTX_COSTS and CONST_COSTS.
8108 * config/sparc/sparc.h (CONST_COSTS): Delete.
8109 (RTX_COSTS_CASES): Define.
8110 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
8111 the work.
8112
a1d9bd0c
DM
8113 * config/sparc/sparc.md (DFA schedulers): Split out...
8114 * config/sparc/cypress.md, config/sparc/hypersparc.md,
8115 config/sparc/sparclet.md, config/sparc/supersparc.md,
8116 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
8117
e87bb82e
DM
8118 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
8119 checks on it, always defined for Sparc.
8120
af54350e
DM
8121 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
8122 Tweak, and add more detailed comments.
8123
935bfb44
ZW
81242002-05-03 Zack Weinberg <zack@codesourcery.com>
8125
8126 * Re-apply patch accidentally reverted with
8127 DFA scheduler merge: remove all rules and variables to slurp
8128 source files out of libiberty and rebuild them with HOST_CC.
8129 ($(HOST_PREFIX_1)varray.o): New rule.
8130 (genattrtab rule): Word wrap.
8131
fa7a0712
JT
81322002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
8133
8134 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
8135 (CPP_SUBTARGET_SPEC): Define.
8136 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
8137 cpp_subtarget specs.
8138 (CPP_SPEC): Redefine to include %(cpp_subtarget).
8139
14c93978
DM
81402002-05-03 David S. Miller <davem@redhat.com>
8141
8142 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
8143 * target.h (struct gcc_target): Delete cycle_display member.
8144
14d118d6
DM
8145 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
8146 (rtx_needs_barrier): Delete reference to cycle_display unspec.
8147 (ia64_sched_reorder2): Mention need for cycle display handling
8148 once such notes exist.
935bfb44 8149
b3ae1ccd
RH
81502002-05-03 Richard Henderson <rth@redhat.com>
8151
8152 * real.c (etoasc): Strip most trailing zeros for clarity.
8153 * sched-vis.c: Include real.h.
8154 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
8155 * Makefile.in (sched-vis.o): Add real.h.
8156
8f39865a
DM
81572002-05-03 David S. Miller <davem@redhat.com>
8158
8159 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
8160 no longer needed.
8161
b44140e7
AH
81622002-05-03 Aldy Hernandez <aldyh@redhat.com>
8163
935bfb44
ZW
8164 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
8165 when we get an out of range literal.
8166 (altivec_expand_ternop_builtin): Same.
8167 (altivec_expand_unop_builtin): Same.
8168 (altivec_expand_builtin): Same, for dss.
8169 (altivec_expand_builtin): Use trees instead of rtl when
8170 determining literal argument validity.
b44140e7 8171
aaaed752
DM
81722002-05-03 David S. Miller <davem@redhat.com>
8173
8174 Delete cycle display scheduling hook.
8175 * config/ia64/ia64.c (ia64_cycle_display,
8176 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
8177 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
8178 and use emit_insn_before instead of ia64_emit_insn_before.
8179 * config/ia64/ia64.md (unspec usage): Delete cycle display.
8180 (cycle_display): Delete insn pattern.
8181 * config/sparc/sparc.md (unspec usage): Delete cycle display.
8182 (cycle_display): Delete insn pattern.
8183 * config/sparc/sparc.c (sparc_cycle_display,
8184 TARGET_SCHED_CYCLE_DISPLAY): Delete.
8185 * doc/md.texi (cycle_display): Don't mention.
8186 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 8187
b37c2614
RH
81882002-05-03 Richard Henderson <rth@redhat.com>
8189
8190 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
8191 * recog.h: Declare them.
8192
8193 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
8194 * config/sparc/sparc.md: Use store_data_bypass_p instead.
8195 * config/sparc/sparc-protos.h: Update.
935bfb44 8196
e1c1132e
JT
81972002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
8198
8199 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
8200 -D__arch64__. Add -D_LP64.
8201 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
8202 from sparc.h.
8203 (CPP_ARCH64_SPEC): Likewise.
8204 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
8205 (NO_BUILTIN_SIZE_TYPE): Undef.
8206
0b2fb0d7
VM
82072002-05-03 Vladimir Makarov <vmakarov@redhat.com>
8208
8209 * genautomata.c (min_issue_delay_pass_states): Change return type
8210 in the prototype.
8211 (min_issue_delay_pass_states): Change the algorithm.
8212 (min_issue_delay): Set up min_insn_issue_delay for the state.
8213 (output_min_issue_delay_table): Interchange the nested loops and
8214 and initiate min_insn_issue_delay for states.
935bfb44 8215
3d4ce12a
JH
8216Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
8217
8218 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
8219 jump is simplejump.
8220
8221Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
8222
8223 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
8224 sequence.
8225
b5482208
RH
82262002-05-03 Richard Henderson <rth@redhat.com>
8227
8228 PR opt/6534
8229 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
8230 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
8231 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
8232 code before JUMP, not EARLIEST.
8233
5a3085c5
JM
82342002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
8235
8236 * c-format.c (check_format_info_main): Don't check for presence of
8237 parameter for * width until after operand number has been read,
8238 and only check for it if format parameters are available.
8239 Fixes PR c/6547.
8240
40039424
JT
82412002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
8242
8243 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
8244 (LINK_SPEC): Undef before defining.
8245
8157303b
JJ
82462002-05-03 Jakub Jelinek <jakub@redhat.com>
8247
8248 PR preprocessor/6489
8249 * tradcpp.c (fixup_newlines): New.
8250 (main, finclude): Use it.
8251
66319f5c
RS
82522002-05-03 Richard Sandiford <rsandifo@redhat.com>
8253
8254 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
8255 * config/mips/mips.c (mips_unique_section): Strip encoding from
8256 decl name.
8257
ce8076ad
JJ
82582002-05-03 Jakub Jelinek <jakub@redhat.com>
8259
8260 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
8261 mode.
8262
975c6e4e
RO
82632002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8264
8265 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
8266 (Specific): Removed buildstats references.
8267 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
8268 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
8269 Accomodate Solaris versions beyond 8.
8270 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
8271 (Specific, *-*-solaris2.8): Removed, obsolete.
8272
d70e94ec
JJ
82732002-05-03 Jakub Jelinek <jakub@redhat.com>
8274
8275 PR target/6542
8276 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
8277 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
8278 fill leaf_reg_remap with identity.
8279 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
8280
6b148bd9
KH
82812002-05-03 Kazu Hirata <kazu@cs.umass.edu>
8282
8283 * config/h8300/crti.asm: Remove trailing spaces.
8284 * config/h8300/h8300.c: Likewise.
8285 * config/h8300/lib1funcs.asm: Likewise.
8286
609688f3
JM
82872002-05-02 Jason Merrill <jason@redhat.com>
8288
8289 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
8290 * c-decl.c (c_init_decl_processing): Use it.
8291 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
8292 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
8293 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
8294
3b03c671
KH
82952002-05-03 Kazu Hirata <kazu@cs.umass.edu>
8296
8297 * regrename.c: Fix formatting.
8298 * tree.c: Likewise.
8299
3b4961bd
JH
8300Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
8301
8302 * i386.md (attribute memory): Handle compares properly.
8303
19cba4a0
JH
8304Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
8305
3b4961bd 8306 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
8307 to none.
8308
797a6ac1
KH
83092002-05-02 Kazu Hirata <kazu@cs.umass.edu>
8310
8311 * function.c: Fix formatting.
8312
6d0de005
JH
83132002-05-02 Jan Hubicka <jh@suse.cz>
8314
8315 * haifa-sched.c (schedule_insn): Print table of instructions and
8316 reservations.
8317 (sched_block): Do not print ready list at verbosity level 1.
8318 * sched-vis.c (print_insn): Make global.
8319 * sched-ebb.c (ebb_print_insn): Rename from...
8320 (print_insn): ... this one.
8321 * sched-int.h (print_insn): Declare
8322
0bfb9a69
RH
83232002-05-02 Richard Henderson <rth@redhat.com>
8324
8325 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
8326 emitted by cycle_display.
8327
6b976d99
LR
83282002-05-02 Loren J. Rittle <ljrittle@acm.org>
8329
8330 * doc/install.texi (*-*-freebsd*): Update to latest status.
8331
0a295052
JJ
83322002-05-02 Jakub Jelinek <jakub@redhat.com>
8333
8334 PR target/6540
8335 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
8336 * config/float-sparc.h: Assume 128-bit long double if
8337 __LONG_DOUBLE_128__ is defined.
8338
842d5d6c
VM
83392002-05-02 Vladimir Makarov <vmakarov@redhat.com>
8340
8341 * genattrtab.c (write_function_unit_info): Add a dummy element
8342 when num_units == 0.
8343
3d7a6309
HB
83442002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8345
8346 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
8347 TYPE_MODE (double_type_node) instead of DFmode.
8348
1b6763cf
JH
8349Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
8350
8351 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
8352 jumps post reload.
8353 * toplev.c (rest_of_compilation): Revert Richard's patch.
8354
b303008e
JDA
83552001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
8356
8357 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
8358
6ed7412a
CM
83592002-05-02 Catherine Moore <clm@redhat.com>
8360
8361 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
8362
e0a2f705
KH
83632002-05-02 Kazu Hirata <kazu@hxi.com>
8364
b32d6163 8365 * combine.c: Fix comment typos.
e0a2f705
KH
8366 * expr.c: Likewise.
8367 * genautomata.c: Likewise.
8368 * stmt.c: Likewise.
8369 * tree.h: Likewise.
8370
38e23049
JM
83712002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
8372
8373 * doc/install.texi: State GNAT version requirements.
8374
40f4a97d
NC
83752002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
8376
8377 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
8378 of the frame pointer or arg pointer register which strict register
8379 checking is not enabled.
8380
0d6d6892
AH
83812002-05-02 Aldy Hernandez <aldyh@redhat.com>
8382
b5482208 8383 * gcc.dg/altivec-8.c: New.
0d6d6892 8384
b5482208
RH
8385 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
8386 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 8387
abaa8559
BK
83882002-05-01 Bruce Korb <bkorb@gnu.org>
8389
8390 * fixinc/check.tpl(set-writable): make sure the function exists first
8391 * fixinc/inclhack.def(alpha_assert): fix test_text
8392 * fixinc/tests/base/assert.h: add in missing result
8393
ecab2143
JL
83942002-05-01 Jeff Law <law@redhat.com>
8395
8396 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
8397 'T' constraint.
8398
ea619b46
JB
83992002-05-01 Joel Brobecker <brobecker@gnat.com>
8400
8401 * dbxout.c (dbxout_type): Emit size information for range types,
8402 as well, but only when using GDB extensions.
8403
c72931a6
RH
84042002-05-01 Richard Henderson <rth@redhat.com>
8405
8406 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
8407 target-independent gnu binutils date test.
8408
2150ad33
RH
84092002-05-01 Richard Henderson <rth@redhat.com>
8410
8411 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
8412 info before expunging the block.
8413
1651cc96
JJ
84142002-05-01 Jakub Jelinek <jakub@redhat.com>
8415
8416 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
8417 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
8418 -M -or -MM is in effect.
8419
8998d5bf
ZW
84202002-05-01 Zack Weinberg <zack@codesourcery.com>
8421
8422 * config.gcc: Correct test of --enable-obsolete. Obsolete all
8423 A29k configurations.
8424 * doc/install.texi: Update to match.
8425
a81eed10
FS
84262002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8427
8428 PR bootstrap/6514
8429 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
8430 for duplicates. Always loop over whole list.
8431
8d53318f
RK
8432Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8433
8434 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
8435
4109b118
JS
84362002-05-01 Joel Sherrill <joel@OARcorp.com>
8437
8438 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
8439 support routines.
8440
c4a9c570
JS
84412002-05-01 Joel Sherrill <joel@OARcorp.com>
8442
8443 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
8444
ea112fc4
DE
84452002-05-01 David Edelsohn <edelsohn@gnu.org>
8446
8447 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
8448 (nabs_nopower): Same.
8449 (floatdisf2): New pattern.
8450 (absdi2): Convert to define_insn_and_split.
8451 (nabsdi2): Same.
8452 (trunctfsf2): Same.
8453 (floatditf2): Same.
8454 (floatsitf2): Same.
8455 (fix_trunctfdi2): Same.
8456 (fix_trunctfsi2): Same.
8457
dda78254
JM
84582002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
8459
8460 * doc/install.texi: Update Texinfo version requirement
8461 documentation.
8462
26aeede4
JJ
84632002-05-01 Jakub Jelinek <jakub@redhat.com>
8464
8465 PR target/6512, PR target/5628
8466 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
8467 when memory is not aligned.
8468 (movdf_insn_v9only_vis): Likewise.
8469 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
8470 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
8471 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
8472
9b7bc465
AH
84732002-05-01 Aldy Hernandez <aldyh@redhat.com>
8474
8998d5bf 8475 * gcc.dg/altivec-7.c: New.
9b7bc465 8476
8998d5bf 8477 * config/rs6000/altivec.h: Cleanup.
9b7bc465 8478
08b57fb3
AH
84792002-04-30 Aldy Hernandez <aldyh@redhat.com>
8480
8998d5bf
ZW
8481 * doc/invoke.texi (Option Summary): Add -mvrsave=.
8482 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 8483
8998d5bf
ZW
8484 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
8485 (rs6000_altivec_vrsave_string): Same.
8486 (rs6000_override_options): Call rs6000_parse_vrsave_option.
8487 (rs6000_parse_vrsave_option): New.
8488 (rs6000_stack_info): Only generate vrsave instructions when
8489 TARGET_ALTIVEC_VRSAVE.
08b57fb3 8490
8998d5bf
ZW
8491 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
8492 (rs6000_altivec_vrsave_string): Define extern.
8493 (rs6000_altivec_vrsave): Same.
8494 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 8495
8e8c38cd
RH
84962002-04-30 Richard Henderson <rth@redhat.com>
8497
8498 PR opt/6516
8499 * toplev.c (rest_of_compilation): Don't run cross-jump before
8500 bb-reorder.
8501
4be9e9cb
TR
85022002-04-30 Tom Rix <trix@redhat.com>
8503
8998d5bf 8504 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
8505 check which_alternative.
8506
1eeeb6a4
KH
85072002-04-30 Kazu Hirata <kazu@hxi.com>
8508
8509 * cpplex.c: Fix comment formatting.
8510 * function.c: Likewise.
8511 * integrate.c: Likewise.
8512 * regrename.c: Likewise.
8513 * sibcall.c: Likewise.
8514 * simplify-rtx.c: Likewise.
8515 * tree-inline.c: Likewise.
8516
ed9d6ff9
JDA
85172002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
8518
8519 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
8520 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
8521 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
8522 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
8523 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
8524 * pa/x-ada: New file. Define ADA_CFLAGS.
8525
1f2641b6
HPN
85262002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
8527
8528 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
8529 from MMIX_LAST_REGISTER_FILE_REGNUM.
8530 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
8531 (struct machine_function): New member highest_saved_stack_register
8532 previously static variable in mmix.c.
8533 (MACHINE_DEPENDENT_REORG): Define.
8534 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
8535 (MMIX_OUTPUT_REGNO): New.
8536 (mmix_target_asm_function_prologue): Move calculation of last used
8537 saved-stack-register into...
8538 (mmix_machine_dependent_reorg): New function. Update to also handle
8539 !TARGET_ABI_GNU.
8540 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
8541 register names, simplify somewhat by new variable regno.
8542 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
8543 register.
8544 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
8545 emitting register names.
8546 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
8547 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
8548 Remove fixed FIXME.
8549 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
8550 Declare.
8551
8552 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
8553
73985940
RH
85542002-04-30 Richard Henderson <rth@redhat.com>
8555
8556 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
8557 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
8558 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
8559 emit_tfmode_cvt): New.
8560 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
8561 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
8562 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
8563 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
8564 * config/sparc/sparc-protos.h: Update.
8565
2b46bc67
JJ
85662002-04-30 Janis Johnson <janis187@us.ibm.com>
8567
8568 * install.texi (Final install): Add to the list of info to include
8569 in a report of a successful bootstrap, and add link to 3.1 list.
8570
3d34cd91
JH
8571Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
8572
8573 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
8574 (mode): Add vector modes
8575 (i387): Kill attribute.
8576 (unit): New attribute.
8577 (length_immediate): Grok new types.
8578 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
8579 (modrm): Use "unit".
8580 (memory): Handle MMX/SSE properly.
8581 (scheduling descriptions): Kill uses of fop1.
8582 (sse, mmx, fp patterns): Set type and mode properly.
8583
243e5500 8584Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 8585
30482eb0
JL
8586 * pa.c (override_options): Default to PA8000 scheduling.
8587 * doc/invoke.texi (HP-PA options): Mention newly added 7300
8588 scheduling parameter.
8589
3193c415
JL
8590 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
8591 handling of double precision multiplies.
8592
8593 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
8594 fpdiv and fpsqrt instructions.
8595 (7200 & 7300 scheduling): Fix typo in handling of
8596 store-load and store-store penalties.
8597
c0a34cb7
GP
85982002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8599
8600 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
8601 mips. Add two missing commas.
8602
8bce0628
PC
86032002-04-30 Paolo Carlini <pcarlini@unitus.it>
8604
8605 * doc/contrib.texi (Contributors): Update Paolo Carlini's
8606 and Benjamin Kosnik's entries.
8607
84643cbf
DM
86082002-04-29 David S. Miller <davem@redhat.com>
8609
8610 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
8611 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
8612 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
8613 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
8614
da6886f6
FS
86152002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8616
8617 * combine.c (find_split_point): Use gen_int_mode.
8618
fae15c93
VM
86192002-04-29 Vladimir Makarov <vmakarov@redhat.com>
8620
8621 Merging code from dfa-branch:
8998d5bf 8622
fae15c93
VM
8623 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
8624
8625 * genautomata.c (output_reserv_sets): Fix typo.
8626
8627 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
8628
8629 * genautomata.c (output_reserv_sets): Remove
8630 next_cycle_output_flag.
8631
8632 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
8633
8998d5bf
ZW
8634 * sched-rgn.c (init_ready_list): Make the DFA code handle
8635 USE/CLOBBER insns in the same way as the traditional
8636 scheduler.
8637 (new_ready): Similarly..
fae15c93
VM
8638
8639 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
8640
8641 * haifa-sched.c (schedule_block): Change the DFA state only after
8642 issuing insn.
8643
8644 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
8645
8646 * pa.c (hppa_use_dfa_pipeline_interface): New function.
8647 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
8648 (override_options): Add PA7300 scheduling support.
8649 (pa_adjust_cost): Update various comments. Properly
8650 handle anti and output dependencies when using the
8651 DFA scheduler.
8652 (pa_issue_rate): Add PA7300 scheduling support.
8653 (pa_can_combine_p): Call extract_insn before calling
8654 constrain_operands (taken from mainline tree).
8655 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
8656 * pa.md (cpu attr): Add 7300. Rewrite pipeline
8657 descriptions using DFA descriptions. Add PA7300
8658 scheduling support.
8659
8660 2002-03-30 David S. Miller <davem@redhat.com>
8661
8662 Add UltraSPARC-III DFA scheduling support.
8663 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
8664 Update FP conditional move on register insn patterns to use it, as
8665 appropriate.
8666 (define_attr cpu): Add ultrasparc3.
8667 (define_attr us3load_type): New, update integer load patterns to
8668 set it, as appropriate.
8669 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
8670 (rest): Add UltraSPARC3 scheduling description.
8671 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
8672 (PROCESSOR_ULTRASPARC3): New.
8673 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
8674 ({ASM,CPP}_CPU_SPEC): Likewise.
8675 (REGISTER_MOVE_COST): Likewise.
8676 (RTX_COSTS): Likewise.
8677 * config/sparc/sparc.c (sparc_override_options,
8678 sparc_initialize_trampoline, sparc64_initialize_trampoline,
8679 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
8680 sparc_issue_rate): Likewise.
8681 * config/sparc/sol2.h: Likewise.
8682 * config/sparc/sol2-sld-64.h: Likewise.
8683 * config/sparc/linux64.h: Likewise.
8998d5bf 8684
fae15c93
VM
8685 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
8686
8687 * doc/md.texi: Add comments about usage the latency time for the
8688 different dependencies and about case when two or more conditions
8689 in different define_insn_reservations returns TRUE for an insn.
8690
8691 * doc/md.texi: Add reference for automaton based pipeline
8692 description.
8998d5bf 8693
fae15c93
VM
8694 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
8695
8696 * doc/passes.texi: Add missed information about genattrtab.
8697
8698 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
8699
8700 * genautomata.c (output_automata_list_transition_code): Check
8701 automata_list on NULL.
8702
8703 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
8704
8705 * genautomata.c (output_insn_code_cases,
8706 output_automata_list_min_issue_delay_code,
8707 output_automata_list_transition_code,
8708 output_automata_list_state_alts_code): Comment the functions.
8709
8710 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
8711
8712 * genautomata.c (automata_list_el_t): New typedef.
8713 (get_free_automata_list_el,free_automata_list_el,
8714 free_automata_list, automata_list_hash, automata_list_eq_p,
8715 initiate_automata_lists, automata_list_start, automata_list_add,
8716 automata_list_finish, finish_automata_lists,
8717 output_insn_code_cases, output_automata_list_min_issue_delay_code,
8718 output_automata_list_transition_code,
8719 output_automata_list_state_alts_code, add_automaton_state,
8720 form_important_insn_automata_lists): New functions and prototypes.
8721 (insn_reserv_decl): Add members important_automata_list and
8722 processed_p.
8723 (ainsn): Add members important_p.
8724 (automata_list_el): New structure.
8725 (first_free_automata_list_el, current_automata_list,
8726 automata_list_table): New global variables.
8727 (create_ainsns): Initiate member important_p.
8728 (output_internal_min_issue_delay_func): Generate the switch and
8729 call output_insn_code_cases.
8730 (output_internal_trans_func, output_internal_state_alts_func):
8731 Ditto.
8732 (generate): Call initiate_automata_lists.
8733 (automaton_states): New global variable.
8734 (expand_automata): Call form_important_insn_automata_lists.
8735 (write_automata): Call finish_automata_lists.
8998d5bf 8736
fae15c93
VM
8737 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
8738
8739 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 8740 cpu units in the sets belong the same automaton.
fae15c93
VM
8741
8742 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
8743 about that cpu units in the sets belong the same automaton.
8744
8745 * doc/md.texi: Ditto.
8998d5bf 8746
2799d721
VM
8747 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
8748 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 8749
fae15c93
VM
8750 * config/sh/sh.c (sh_use_dfa_interface): New function.
8751
8752 (sh_issue_rate): New Function.
8753 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
8754 TARGET_SCHED_ISSUE_RATE: define.
8755
8756 * config/sh/sh.md: Add DFA based pipeline description for SH4.
8757
8998d5bf
ZW
8758 (define_attr insn_class): New attribute used for DFA
8759 scheduling.
fae15c93
VM
8760 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
8761 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
8762 cmpeqdi_t): Likewise.
8763
8764 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 8765 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
8766 ex_group.
8767 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 8768
fae15c93
VM
8769 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
8770
8771 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
8772 break.
8773
8774 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
8775
8776 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
8777 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
8778 necessary.
8779 (output_dfa_start_func): Initiate new variable insn_codes_length,
8780 (write_automata): Output definition of the new variable.
8998d5bf 8781
fae15c93
VM
8782 2001-10-02 David S. Miller <davem@redhat.com>
8783
8784 * haifa-sched.c (advance_one_cycle): New function.
8785 (schedule_block): Use it.
8786 (queue_to_ready): Use it, and also make sure to advance the DFA
8787 state on all stall cycles, not just those where insn_queue links
8788 are found.
8789
8790 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
8791
8792 * haifa-sched.c (max_issue): Remove last_p argument. Only return
8793 non-zero if the highest-priority instruction could be scheduled.
8794 (choose_ready): Remove last argument from max_issue call.
8795
8796 2001-09-28 David S. Miller <davem@redhat.com>
8797
8798 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
8799 ultrasparc and 3 for other multi-issue sparcs.
8800
8801 2001-09-27 David S. Miller <davem@redhat.com>
8802
8803 * config/sparc/sparc.md (cycle_display): New pattern.
8804 * config/sparc/sparc.c (sparc_cycle_display): New.
8805 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
8806
8807 2001-09-25 David S. Miller <davem@redhat.com>
8808
8809 Convert all of Sparc scheduling to DFA
8810 * config/sparc/sparc.md: Kill all define_function_unit
8811 directives and replace with DFA equivalent.
8812 * config/sparc/sparc.c (ultrasparc_adjust_cost,
8813 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
8814 ultra_fpmode_conflict_exists, ultra_find_type,
8815 ultra_build_types_avail, ultra_flush_pipeline,
8816 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
8817 ultrasparc_variable_issue, ultrasparc_sched_init,
8818 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
8819 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
8820 ultra_cur_hist, ultra_cycles_elapsed): Kill.
8821 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
8822 ultrasparc_store_bypass_p): New.
8823 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
8824 Declare.
8825
8826 2001-09-24 David S. Miller <davem@redhat.com>
8827
8828 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
8829 ready->vec[foo] not ready[foo].
8830
8831 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
8832
8833 * doc/md.texi: Correct examples for define_insn_reservations
8834 `mult' and `div'.
8835
8836 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
8837
8838 * genautomata.c (create_automata): Print message about creation of
8839 each automaton.
8840 (generate): Remove printing meease about creation of
8841 automata.
8842
8843 2001-09-05 David S. Miller <davem@redhat.com>
8844
8845 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
8846 * config/sparc/linux64.h: Likewise.
8847
8848 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
8849
8850 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
8851 schedule_block, sched_init, sched_finish): Add missed calls of
8852 use_dfa_pipeline_interface.
8853
8854 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
8855 Ditto.
8856
8857 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 8858
fae15c93
VM
8859 2001-08-27 Richard Henderson <rth@redhat.com>
8860
8861 * genattr.c (main): Emit state_t even when not doing scheduling.
8862
8863 2001-08-27 Richard Henderson <rth@redhat.com>
8864
8865 * genautomata.c (expand_automata): Always create a description.
8866
8867 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
8868
8998d5bf 8869 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
8870 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
8871 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
8872 RTL constructions.
8873
8874 * genattr.c (main): New variable num_insn_reservations. Increase
8875 it if there is DEFINE_INSN_RESERVATION. Output automaton based
8876 pipeline hazard recognizer interface.
8877
8878 * genattrtab.h: New file.
8879
8880 * genattrtab.c: Include genattrtab.h.
8881 (attr_printf, check_attr_test, make_internal_attr,
8882 make_numeric_value): Move protypes into genattrtab.h. Define them
8883 as external.
8884 (num_dfa_decls): New global variable.
8885 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8886 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8887 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8888 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
8889
8890 * genautomata.c: New file.
8891
8892 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
8893
8998d5bf 8894 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
8895 automaton pipeline interface.
8896 (haifa_insn_data): Add comments for members blockage and units.
8897
8898 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8899 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8900 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8901 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8902 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8903 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8904 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8905 macros.
8906 (TARGET_SCHED): Use the new macros.
8907
8908 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8909 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8910 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8911 dfa_bubble): New members in gcc_target.sched.
8912
8998d5bf 8913 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
8914 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8915 (insn_queue): Redefine it as pointer to array.
8916 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8917 INSN_QUEUE_SIZE.
8918 (max_insn_queue_index_macro_value): New variable.
8919 (curr_state, dfa_state_size, ready_try): New varaibles for
8920 automaton interface.
8921 (ready_element, ready_remove, max_issue): New function prototypes
8922 for automaton interface.
8923 (choose_ready): New function prototype.
8924 (insn_unit, blockage_range): Add comments.
8925 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8926 FUNCTION_UNITS_SIZE == 0.
8927 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8928 actual_hazard, potential_hazard): Add comments.
8929 (insn_cost): Use cost -1 as undefined value. Remove
8930 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
8931 pipeline interface.
8932 (ready_element, ready_remove): New functions for automaton
8933 interface.
8934 (schedule_insn): Add new code for automaton pipeline interface.
8935 (queue_to_ready): Add new code for automaton pipeline interface.
8936 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8937 (debug_ready_list): Print newline when the queue is empty.
8938 (max_issue): New function for automaton pipeline interface.
8939 (choose_ready): New function.
8940 (schedule_block): Add new code for automaton pipeline interface.
8941 Print ready list before scheduling each insn.
8942 (sched_init): Add new code for automaton pipeline interface.
8943 Initiate insn cost by -1.
8944 (sched_finish): Free the current automaton state and finalize
8945 automaton pipeline interface.
8946
8947 * sched-rgn.c: Include target.h.
8948 (init_ready_list, new_ready, debug_dependencies): Add new code for
8949 automaton pipeline interface.
8950
8951 * sched-vis.c: Include target.h.
8952 (get_visual_tbl_length): Add code for automaton interface.
8953 (target_units, print_block_visualization): Add comments.
8954
8998d5bf 8955 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
8956 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8957 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8958 (getruntime.o, genautomata.o): New entries.
8959 (genattrtab.o): Add new dependency file genattrtab.h.
8960 (genattrtab): Add new dependencies. Link it with `libm.a'.
8961 (getruntime.o, hashtab.o): New entries for canadian cross.
8962
8963 * doc/md.texi: Description of automaton based model.
8964
8965 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8966 Add comments.
8967 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8968 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8969 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8970 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8971 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8972 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8973 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8974 hook descriptions.
8975 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8976 MAX_DFA_ISSUE_RATE): New macro descriptions.
8977
8978 * doc/contrib.texi: Add dfa based scheduler contribution.
8979
8980 * doc/gcc.texi: Add more information about genattrtab.
8981
a2ff290c
RK
8982Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8983
8984 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
8985 adjust_address_nv call.
8986
f97903cc
JJ
89872002-04-29 Janis Johnson <janis187@us.ibm.com>
8988
8989 * doc/install.texi (Testing): Provide additional information, and
8990 a stronger encouragement, for running the testsuites.
8991
f41a6bf1
DD
89922002-04-29 DJ Delorie <dj@redhat.com>
8993
8994 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
8995 given in upper case.
8996
d8af0868
RO
89972002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8998
8999 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
9000 Solaris 2 <widec.h> if missing.
9001 * fixinc/fixincl.x: Regenerate.
9002 * fixinc/tests/base/widec.h: New file.
9003
1034407f
NC
90042002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
9005
9006 * toplev.c (f_options): Add "profile" switch so that
9007 -fno-profile can be used to disable -p.
9008
fbe5eb6d
BS
90092002-04-29 Bernd Schmidt <bernds@redhat.com>
9010
9011 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
9012 UV2DImode.
9013 * tree.c (build_common_tree_nodes_2): Likewise.
9014 * tree.h (enum tree_index): Likewise.
9015 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
9016
9017 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
9018 entries.
9019 (init_mmx_sse_builtins): Initialize SSE2 builtins.
9020 (ix86_expand_builtin): Add support for SSE2 builtins.
9021 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
9022 (VALID_SSE_REG_MODE): Use it.
9023 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
9024 (enum ix86_builtins): Add SSE2 builtins.
9025 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
9026 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
9027 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
9028 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
9029 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
9030 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
9031 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
9032 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
9033 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
9034 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
9035 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
9036 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
9037 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
9038 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
9039 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
9040 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
9041 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
9042 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
9043 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
9044 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
9045 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
9046 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
9047 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
9048 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
9049 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
9050 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
9051 lfence_insn): New patterns.
9052 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
9053 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
9054
44aefada
JH
9055Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
9056
9057 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
9058
d5482cdc
GP
90592002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9060
9061 * doc/contrib.texi (Contributors): Add Paolo Carlini and
9062 Janis Johnson.
9063 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
9064 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
9065 and CPU instead of cpu.
9066
2c4b77f3
JH
9067Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
9068
9069 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
9070 variables.
9071 (lang_independent_options): Add -fif-conversion, -fif-conversion2
9072 (rest_of_compilation): Do if conversion only when asked for.
9073 (parse_options_and_default_flags): Set new variables to 1 for -O1
9074 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
9075
3de72741
JH
9076Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
9077
9078 * i386.c (dbx64_register_map): Fix typo.
9079
8aa18a7d
JH
9080Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
9081
9082 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
9083 real_one_half, real_bb_freq_max): New static variables.
9084 (debug_profile_bbauxs): Kill.
9085 (process_note_predictions): Kill unused variable.
9086 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
9087 volatile double.
9088 (propagate_freq): Use REAL_ARITHMETICS.
9089 (estimate_bb_frequencies): Likevise; init new static variables.
9090 * Makefile.in (predict.o): Add dependency on real.h
9091
1bbad4c6
DM
90922002-04-28 David S. Miller <davem@redhat.com>
9093
9094 PR target/6500
9095 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
9096 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
9097 several {reads,writes} instead.
9098 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
9099 Define.
9100
3ef3f384
DM
91012002-04-27 David S. Miller <davem@redhat.com>
9102
9103 PR target/6494
9104 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
9105 of the stack bias.
9106
9107 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
9108 including signal.h and sys/ucontext.h, not needed.
9109
ec493bcb
HPN
91102002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
9111
9112 * varasm.c (output_constant_def): Correct test for not calling
9113 ENCODE_SECTION_INFO for INTEGER_CST.
9114
60284a59
NB
91152002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
9116
9117 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
9118 keep most cases as function eval_token.
9119 (eval_token): New function.
9120 (_cpp_parse_expr): Read token here for improved diagnostics.
9121 Don't use op_as_text. Detect bad ':' here.
9122 (reduce): Don't detect bad ':' here.
9123 (op_as_text): Remove.
9124 * cpphash.h (_cpp_test_assertion): Change prototype.
9125 * cpplib.c (_cpp_test_assertion): Change prototype.
9126
349a4b40
RH
91272002-04-28 Richard Henderson <rth@redhat.com>
9128
9129 PR c/5154
8998d5bf 9130 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
9131 (ggc_mark_rtx_children): New.
9132
7a03f82f
JJ
91332002-04-28 Jakub Jelinek <jakub@redhat.com>
9134
9135 PR target/6496
9136 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
9137 after call peepholes for UltraSPARC.
9138 (call + jump 64-bit peepholes): Remove.
9139
80103f96
FS
91402002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9141
9142 PR c/6497
9143 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
9144 result as temporary value.
9145
06990986
JJ
91462002-04-28 Jakub Jelinek <jakub@redhat.com>
9147
9148 PR c++/6396
9149 * toplev.c (rest_of_compilation): Only run regrename and copy
9150 propagation if optimizing.
9151
a20fd5ac
JJ
91522002-04-28 Jakub Jelinek <jakub@redhat.com>
9153
9154 PR optimization/6475
9155 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
9156 register of REGNO_DECL (i).
9157 * Makefile.in (reload1.o): Add $(TREE_H).
9158
87ed109f
NB
91592002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
9160
9161 * cppexp.c (lex): Update to use state.skip_eval.
9162 (struct op): Remove prio and flags members.
9163 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
9164 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
9165 (LEFT_ASSOC): New macro.
9166 (optab): New table of operator priorities and flags.
9167 (SHIFT): Update.
9168 (_cpp_parse_expr): Clean up logic. Return bool. Use a
9169 malloc-ed parser stack.
9170 (reduce): New; reduce the operator stack.
9171 (_cpp_expand_op_stack): Expand the operator stack as necessary.
9172 * cpphash.h (struct op): Predeclare.
9173 (struct cpp_reader): New members op_stack, op_limit.
9174 (struct lexer_state): New member skip_eval.
9175 (_cpp_parse_expr): Update.
9176 (_cpp_expand_op_stack): New.
9177 * cpplib.c (do_if): Update.
9178 * cppinit.c (cpp_create_reader): Create op stack.
9179 (cpp_destroy): And destroy it.
9180 * cpplib.h (CPP_LAST_CPP_OP): Correct.
9181 (TTYPE_TABLE): Correct.
9182
45806a3f
FS
91832002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9184
9185 PR c/6343
9186 * c-decl.c (duplicate_decls): Call merge_weak.
9187 * c-pragma.c (apply_pragma_weak): Warn about misuse.
9188 * output.h (merge_weak): Prototype merge_weak.
9189 * varasm.c (merge_weak): New function.
9190 (declare_weak): Make sure we don't give an error on VAR_DECLs.
9191 Mark RTL with SYMBOL_REF_WEAK.
9192
a6227154
KG
91932002-04-27 Kurt Garloff <garloff@suse.de>
9194
9195 * tree-inline.c (inlinable_function_p): Improve heuristics
9196 by using a smoother function to cut down allowable inlinable size.
9197 * param.def: Add parameters max-inline-insns-single,
9198 max-inline-slope, min-inline-insns that determine the exact
9199 shape of the above function.
9200 * param.h: Likewise.
9201
94a50397
RH
92022002-04-26 Richard Henderson <rth@redhat.com>
9203
9204 * c-parse.in (malloced_yyss, malloced_yyvs): New.
9205 (yyoverflow): Re-add. Set them.
9206 (free_parser_stacks): New.
9207 * c-common.h: Declare it.
9208 * c-lex.c (c_common_parse_file): Call it.
9209
9c0a0632
RH
92102002-04-26 Richard Henderson <rth@redhat.com>
9211
9212 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
9213 for fallthru search.
9214
b875d2ee
EC
92152002-04-26 Eric Christopher <echristo@redhat.com>
9216
9217 PR optimization/3700
9218 * config/mips/mips.c (mips_issue_rate): Define. New function.
9219 (TARGET_SCHED_ISSUE_RATE): Use.
9220
1db828df
DM
92212002-04-25 David S. Miller <davem@redhat.com>
9222
9223 PR target/6422
9224 * reorg.c (optimize_skip): Do not allow exception causing
9225 instructions to be considered for delay slots.
9226 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
9227 (relax_delay_slots): Do not try to consider exception causing
9228 instructions as redundant.
9229
ae5d234e
RH
92302002-04-26 Richard Henderson <rth@redhat.com>
9231
9232 PR c/5225
9233 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
9234
7d793e9b
MM
92352002-04-26 Mark Mitchell <mark@codesourcery.com>
9236
9237 PR bootstrap/6445
9238 * config/i386/i386.md (untyped_call): Return the value in a float
9239 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
9240 TARGET_80387.
9241
b13ab42c
AO
92422002-04-26 Alexandre Oliva <aoliva@redhat.com>
9243
9244 * tree.c (tree_int_cst_lt): Compare constants whose types differ
9245 in unsigned-ness correctly.
9246
5e56f909
JDA
92472002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
9248
9249 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
9250 portable runtime model.
9251
bde3c0c0
RH
92522002-04-26 Richard Henderson <rth@redhat.com>
9253
a6227154 9254 * c-parse.in (yyoverflow): Revert.
bde3c0c0 9255
5276df18
DE
92562002-04-26 David Edelsohn <edelsohn@gnu.org>
9257 Richard Henderson <rth@redhat.com>
9258
9259 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
9260 result as temporary value.
9261
b84a3874
RH
92622002-04-26 Richard Henderson <rth@redhat.com>
9263
9264 PR c/3581
9265 * c-common.c (fix_string_type): Split out of ...
9266 (combine_strings): ... here. Take a varray, not a tree list.
9267 (c_expand_builtin_printf): Use fix_string_type.
9268 * c-common.h: Update decls.
9269 * c-parse.in (string): Remove. Update all uses to use STRING
9270 instead, and not call combine_strings.
9271 (yylexstring): New.
9272 (_yylex): Use it.
9273 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
9274 (build_asm_stmt): Likewise.
9275 * objc/objc-act.c (my_build_string): Use fix_string_type.
9276 (build_objc_string_object): Build varray for combine_strings.
9277
d8ae8cd4
BT
92782002-04-26 Bo Thorsen <bo@suse.co.uk>
9279
9280 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
9281 x86-64.
9282
f8b954fc
NB
92832002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
9284
9285 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
9286 (HAVE_NO_R_OPERAND): Remove.
9287 (HAVE_VALUE): Remove.
9288 (op_to_prio): Update.
9289 (UNARY): Don't alter flags.
9290 (_cpp_parse_expr): want_value used to indicate whether
9291 a number or unary operator is expected next. Distinguish
9292 unary and binary +/-.
9293 (op_as_text): Update for unary operators.
9294
6052bef0
RH
92952002-04-25 Richard Henderson <rth@redhat.com>
9296
9297 PR c/2161
9298 * c-parse.in (yyoverflow): New.
9299
5c5b2283
RH
93002002-04-25 Richard Henderson <rth@redhat.com>
9301
9302 PR c/2098
9303 * c-common.c (shorten_compare): Simplfy conditions leading to
9304 the generation of a warning.
9305
28ce94d4
RH
93062002-04-25 Richard Henderson <rth@redhat.com>
9307
9308 PR c/2035
9309 * expmed.c (extract_bit_field): Fall through to generic code rather
9310 than aborting on subreg special case.
9311
6bfd0c63
DM
93122002-04-25 David S. Miller <davem@redhat.com>
9313
9314 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
9315 for DECL being NULL.
9316
7a430e3b
SC
93172002-04-25 Steve Christiansen <smc@us.ibm.com>
9318
9319 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
9320
45c42d7d
EB
93212002-04-25 Eric Botcazou <ebotcazou@multimania.com>
9322
9323 * c-decl.c (grokdeclarator): Remove outdated ??? note
9324 on invalid declaration of flexible array members.
9325
eb7715a4
RH
93262002-04-25 Richard Henderson <rth@redhat.com>
9327
9328 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
9329
cf5ee720
UW
93302002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
9331
9332 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
9333 needed by the compiler, even if they are used as global regs.
9334
d604bca3
MH
93352002-04-25 Matt Hiller <hiller@redhat.com>
9336
9337 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
9338 functions.
9339 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
9340 of the corresponding functions.
9341 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
9342 New prototypes.
b875d2ee 9343
d604bca3
MH
93442002-04-25 Matt Hiller <hiller@redhat.com>
9345
9346 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
9347
9348 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
9349 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
9350 registers, adjust comment accordingly.
9351 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
9352 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
9353 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
9354 for coprocessor registers.
9355 (ADDITIONAL_REGISTER_NAMES): Include
9356 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 9357
d604bca3
MH
9358 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
9359 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
9360 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
9361 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
9362 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
9363
9364 (mips_char_to_class): Adjust comment to include coprocessor
9365 constraint letters.
9366
9367 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
9368 New functions.
9369 (mips_reg_names, mips_regno_to_class): Include coprocessor
9370 information.
9371 (mips_sw_reg_names): Ditto, make non-static.
9372 (mips_move_1word): Handle moves to and from coprocessor registers.
9373 (mips_move_2words): Handle moves to and from coprocessor
9374 registers.
9375 (mips_class_max_nregs, mips_register_move_cost): Handle
9376 coprocessor register classes.
9377 (override_options): Initialize mips_char_to_class and
9378 mips_hard_regno_mode_ok properly for coprocessor registers.
9379
9380 * config/mips/mips.md (movdi_internal, movdi_internal2,
9381 movsi_internal1, movsi_internal2): Add constraint-sets for
9382 coprocessor registers.
9383 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
9384 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
9385 isn't mips.
9386 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
9387 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
9388 isn't mips.
9389 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
9390 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
9391 isn't mips.
9392 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
9393 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
9394 isn't mips.
b875d2ee 9395
d604bca3
MH
9396 * doc/tm.texi: Document feature.
9397
b9a26d09
NB
93982002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
9399
9400 * integrate.c (function_attribute_inlinable_p): Simplify.
9401 Check the table pointer is not NULL.
9402
ab5973b7
SB
94032002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
9404
9405 * doc/c-tree.texi: Fix typo in introduction.
9406
ff45c01e
NB
94072002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
9408
9409 * c-common.h (c_common_parse_file): Update.
9410 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
9411 * c-lex.c (YYDEBUG): Get from c-lex.h.
9412 (c_common_parse_file): Update.
9413 * c-lex.h (YYDEBUG, yydebug): New.
9414 * c-parse.in (YYDEBUG): Get from c-lex.h.
9415 (c_set_yydebug): Remove.
9416 * c-tree.h (c_set_yydebug): Remove.
9417 * langhooks-def.h (lhd_do_nothing_i): New.
9418 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
9419 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
9420 * langhooks.c (lhd_do_nothing_i): New.
9421 (lhd_set_yydebug): Remove.
9422 * langhooks.h (struct lang_hooks): Update.
9423 * toplev.c (set_yydebug): New.
9424 (compile_file): Update call to parse_file hook.
9425 (decode_d_option): Update.
9426objc:
9427 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
9428
fcae219a
R
9429Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
9430
9431 * loop.c (load_mems): Don't change the interface of called functions.
9432
9433 * calls.c (expand_call): Take current_function_pretend_args_size
9434 into account when setting argblock for sibcalls.
9435
d0fea45a
MH
94362002-04-24 Matt Hiller <hiller@redhat.com>
9437
9438 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
9439 * c-lex.c: Ditto.
9440
9441 * cpplex.c (skip_line_comment): Process comment one multibyte
9442 character at a time rather than one char at a time, if
9443 appropriate.
9444 (parse_string): Process string one multibyte character at a time
9445 rather than one char at a time, if appropriate.
9446 * c-lex.c (lex_string): Lex and copy multibyte strings
9447 appropriately.
9448 * cpplib.h (cppchar_t): Change to unsigned.
9449
2d1b5436
RH
94502002-04-24 Richard Henderson <rth@redhat.com>
9451
9452 PR c/3467
9453 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
9454 for c99.
9455
5e039e6b
R
9456Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
9457
9458 * sh.c (sh_va_arg): If argument was passed by reference,
9459 dereference the pointer.
309d8365
R
9460
9461 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
9462
9463 * sh.md (divsi3_i4_media): Use match_operand for input values
9464 rather than hard registers.
9465 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
9466 unnecessarily through hard registers. Keep copies of pseudo
9467 registers outside of the libcall sequence.
9468
9469 * sh.md (casesi_shift_media): Add modes.
b700634a
R
9470
9471 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
9472 values in memory.
9473
349ae713
NB
94742002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
9475
9476 * attribs.c (c_common_attribute_table): Move table and handlers
9477 to c-common.c.
9478 (format_attribute_table, lang_attribute_table,
9479 lang_attribute_common): Remove.
9480 (init_attributes): Replace NULL pointers with pointers to the
9481 empty table.
9482 (handle_packed_attribute, handle_nocommon_attribute,
9483 handle_common_attribute, handle_noreturn_attribute,
9484 handle_noinline_attribute, handle_always_inline_attribute,
9485 handle_used_attribute, handle_unused_attribute,
9486 handle_const_attribute, handle_transparent_union_attribute,
9487 handle_constructor_attribute, handle_destructor_attribute,
9488 handle_mode_attribute, handle_section_attribute,
9489 handle_aligned_attribute, handle_weak_attribute,
9490 handle_alias_attribute, handle_visibility_attribute,
9491 handle_no_instrument_function_attribute, handle_malloc_attribute,
9492 handle_no_limit_stack_attribute, handle_pure_attribute,
9493 handle_deprecated_attribute, handle_vector_size_attribute,
9494 vector_size_helper): Move to c-common.c.
9495 * c-common.c (c_common_attribute_table,
9496 handle_packed_attribute, handle_nocommon_attribute,
9497 handle_common_attribute, handle_noreturn_attribute,
9498 handle_noinline_attribute, handle_always_inline_attribute,
9499 handle_used_attribute, handle_unused_attribute,
9500 handle_const_attribute, handle_transparent_union_attribute,
9501 handle_constructor_attribute, handle_destructor_attribute,
9502 handle_mode_attribute, handle_section_attribute,
9503 handle_aligned_attribute, handle_weak_attribute,
9504 handle_alias_attribute, handle_visibility_attribute,
9505 handle_no_instrument_function_attribute, handle_malloc_attribute,
9506 handle_no_limit_stack_attribute, handle_pure_attribute,
9507 handle_deprecated_attribute, handle_vector_size_attribute,
9508 vector_size_helper): Move from attribs.c.
9509 * c-common.h (c_common_attribute_table,
9510 c_common_format_attribute_table): New.
9511 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
9512 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
9513 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
9514 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
9515 (LANG_HOOKS_INITIALIZER): Update.
9516 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
9517 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
9518 * target.h: Update comment.
9519 * tree.c (default_target_attribute_table): Remove.
9520 * tree.h (default_target_attribute_table, format_attribute_table,
9521 lang_attribute_table, lang_attribute_common): Remove.
9522objc:
9523 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
9524 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
9525
84f0ace0
JM
95262002-04-24 Jason Merrill <jason@redhat.com>
9527
9528 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
9529 * dwarf2out.c (dwarf_attr_name): Support it.
9530 (gen_array_type_die): Emit it.
9531 (lookup_type_die): No special handling for VECTOR_TYPE.
9532 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
9533
120eaf28
RH
95342002-04-24 Richard Henderson <rth@redhat.com>
9535
9536 * config/mips/mips.md (movdi_usd): Renumber.
9537
e732178c
DM
95382002-04-24 David S. Miller <davem@redhat.com>
9539
9540 PR target/6420
9541 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
9542 32-bit Sparc and current_function_returns_struct is true.
9543
e879eb2f
JH
9544Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
9545
9546 * loop.c (canonicalize_condition): Use gen_int_mode.
9547
4287a893
AH
95482002-04-24 Aldy Hernandez <aldyh@redhat.com>
9549
9550 * config/rs6000/altivec.h: Cleanup file. Add non individual
9551 variants.
9552 (vec_vaddubm): New.
9553 (vec_vadduhm): New.
9554 (vec_vadduwm): New.
9555 (vec_vaddfp): New.
9556 (vec_vaddcuw): New.
9557 (vec_vaddubs): New.
9558 (vec_vaddsbs): New.
9559 (vec_vadduhs): New.
9560 (vec_vadduws): New.
9561 (vec_vaddsws): New.
9562 (vec_vand): New.
9563 (vec_vandc): New.
9564 (vec_vavgub): New.
9565 (vec_vavgsb): New.
9566 (vec_vavguh): New.
9567 (vec_vavgsh): New.
9568 (vec_vavguw): New.
9569 (vec_vavgsw): New.
9570 (vec_vrfip): New.
9571 (vec_vcmpbfp): New.
9572 (vec_vcmpequb): New.
9573 (vec_vcmpequh): New.
9574 (vec_vcmpequw): New.
9575 (vec_vcmpeqfp): New.
9576 (vec_vcmpgefp): New.
9577 (vec_vcmpgtub): New.
9578 (vec_vcmpgtsb): New.
9579 (vec_vcmpgtuh): New.
9580 (vec_vcmpgtsh): New.
9581 (vec_vcmpgtuw): New.
9582 (vec_vcmpgtsw): New.
9583 (vec_vcmpgtfp): New.
9584 (vec_vcmpgefp): New.
9585 (vec_vcfux): New.
9586 (vec_vcfsx): New.
9587 (vec_vctsxs): New.
9588 (vec_vctuxs): New.
9589 (vec_vexptefp): New.
9590 (vec_vrfim): New.
9591 (vec_lvx): New.
9592 (vec_lvebx): New.
9593 (vec_lvehx): New.
9594 (vec_lde): Add vector float variant.
9595 (vec_lvewx): New.
9596 (vec_lvxl): New.
9597 (vec_vlogefp): New.
9598 (vec_vmaddfp): New.
9599 (vec_vmhaddshs): New.
9600 (vec_vmaxub): New.
9601 (vec_vmaxsb): New.
9602 (vec_vmaxuh): New.
9603 (vec_vmaxsh): New.
9604 (vec_vmaxuw): New.
9605 (vec_vmaxsw): New.
9606 (vec_vmaxsw): New.
9607 (vec_vmaxfp): New.
9608 (vec_vmrghb): New.
9609 (vec_vmrghh): New.
9610 (vec_vmrghw): New.
9611 (vec_vmrglb): New.
9612 (vec_vmrglh): New.
9613 (vec_vmrglw): New.
9614 (vec_vminub): New.
9615 (vec_vminsb): New.
9616 (vec_vminuh): New.
9617 (vec_vminsh): New.
9618 (vec_vminuw): New.
9619 (vec_vminsw): New.
9620 (vec_vminfp): New.
9621 (vec_vmladduhm): New.
9622 (vec_vmhraddshs): New.
9623 (vec_msumubm): New.
9624 (vec_vmsummbm): New.
9625 (vec_vmsumuhm): New.
9626 (vec_vmsumshm): New.
9627 (vec_vmsumuhs): New.
9628 (vec_vmsumshs): New.
9629 (vec_vmuleub): New.
9630 (vec_vmulesb): New.
9631 (vec_vmuleuh): New.
9632 (vec_vmulesh): New.
9633 (vec_vmuloub): New.
9634 (vec_mulosb): New.
9635 (vec_vmulouh): New.
9636 (vec_vmulosh): New.
9637 (vec_vnmsubfp): New.
9638 (vec_vnor): New.
9639 (vec_vor): New.
9640 (vec_vpkuhum): New.
9641 (vec_vpkuwum): New.
9642 (vec_vpkpx): New.
9643 (vec_vpkuhus): New.
9644 (vec_vpkshss): New.
9645 (vec_vpkuwus): New.
9646 (vec_vpkswss): New.
9647 (vec_vpkshus): New.
9648 (vec_vpkswus): New.
9649 (vec_vperm): New.
9650 (vec_vrefp): New.
9651 (vec_vrlb): New.
9652 (vec_vrlh): New.
9653 (vec_vrlw): New.
9654 (vec_vrfin): New.
9655 (vec_vrsqrtefp): New.
9656 (vec_vsel): New.
9657 (vec_vslb): New.
9658 (vec_vslh): New.
9659 (vec_vslw): New.
9660 (vec_vsldoi): New.
9661 (vec_vsl): New.
9662 (vec_vslo): New.
9663 (vec_vspltb): New.
9664 (vec_vsplth): New.
9665 (vec_vspltw): New.
9666 (vec_vspltisb): New.
9667 (vec_vspltish): New.
9668 (vec_vspltisw): New.
9669 (vec_vsrb): New.
9670 (vec_vsrh): New.
9671 (vec_vsrw): New.
9672 (vec_vsrab): New.
9673 (vec_vsrah): New.
9674 (vec_vsraw): New.
9675 (vec_vsr): New.
9676 (vec_vsro): New.
9677 (vec_stvx): New.
9678 (vec_stvebx): New.
9679 (vec_stvehx): New.
9680 (vec_stvewx): New.
9681 (vec_stvxl): New.
9682 (vec_vsububm): New.
9683 (vec_vsubuhm): New.
9684 (vec_vsubuwm): New.
9685 (vec_vsubfp): New.
9686 (vec_vsubcuw): New.
9687 (vec_vsububs): New.
9688 (vec_vsubsbs): New.
9689 (vec_vsubuhs): New.
9690 (vec_vsubshs): New.
9691 (vec_vsubuws): New.
9692 (vec_vsubsws): New.
9693 (vec_vsum4ubs): New.
9694 (vec_vsum4sbs): New.
9695 (vec_vsum4shs): New.
9696 (vec_vsum2sws): New.
9697 (vec_vsumsws): New.
9698 (vec_vrfiz): New.
9699 (vec_vupkhsb): New.
9700 (vec_vupkhpx): New.
9701 (vec_vupkhsh): New.
9702 (vec_vupklsb): New.
9703 (vec_vupklpx): New.
9704 (vec_vupklsh): New.
9705 (vec_vxor): New.
9706
cff27795
EB
97072002-04-23 Eric Botcazou <ebotcazou@multimania.com>
9708
9709 PR c/5430
9710 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
9711 added literals from substracted literals.
9712 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
9713 (fold) [associate]: Preserve MINUS_EXPR if needed.
9714
952bca84
ZW
97152002-04-23 Zack Weinberg <zack@codesourcery.com>
9716
9717 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
9718 are obsoleted.
9719
50cb2154
TT
97202002-04-23 Tom Tromey <tromey@redhat.com>
9721
9722 * gcc.c: Added --resource. For PR java/6314.
9723
271f61fb
DB
97242002-04-23 David O'Brien <obrien@FreeBSD.org>
9725
9566d1e9 9726 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
9727 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
9728 these libraries.
9729
bdabbc80
DB
97302002-04-23 David O'Brien <obrien@FreeBSD.org>
9731
9732 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
9733
74411039
JH
9734Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
9735
9736 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
9737 workaround.
9738 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
9739 (ix86_expand_clrstr): Fix typo.
9740 * loop.c (gen_load_of_final_value): New.
9741 (loop_givs_rescan, strength_reduce, check_dbra_loop):
9742 Use it.
9743
1a887f86
RS
97442002-04-23 Roger Sayle <roger@eyesopen.com>
9745
9746 * builtins.c (builtin_memset_gen_str): New function.
9747 (expand_builtin_memset): Optimize the case of constant length, but
9748 unknown value.
9749
8d3441e0
AH
97502002-04-23 Aldy Hernandez <aldyh@redhat.com>
9751
cff27795
EB
9752 * config/rs6000/altivec.h (vec_step): Remove extraneous
9753 parentheses.
9754 (vec_ctu): Cast return.
8d3441e0 9755
f6f315fe
AM
97562002-04-23 Alan Modra <amodra@bigpond.net.au>
9757
9758 PR target/6413
9759 * function.h: (struct function): Add profile_label_no field.
9760 (current_function_profile_label_no): Define.
9761 * function.c: (profile_label_no): New static var.
9762 (expand_function_start): Increment it, and copy to
9763 current_function_profile_label_no.
9764 * output.h (profile_label_no): Delete.
9765 * final.c (profile_label_no): Delete.
9766 (profile_function): Use current_function_profile_label_no.
9767 (final_end_function): Don't increment profile_label_no here.
9768 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
9769 profile_label_no with current_function_profile_label_no.
9770 * config/pa/pa.c (current_function_number): Delete.
9771 (pa_output_function_prologue): Don't output profile label here.
9772 (hppa_profile_hook): Use label_no param rather than
9773 current_function_number.
9774 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
9775 * config/pa/pa.h: .. here.
9776 (FUNCTION_PROFILER): Output profile label here.
9777
d239cdc0
EC
97782002-04-22 Eric Christopher <echristo@redhat.com>
9779
9780 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
9781 patch of 2002-04-09 due to binutils issues.
9782 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
9783
04428ad4
AH
97842002-04-22 Aldy Hernandez <aldyh@redhat.com>
9785
cff27795
EB
9786 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
9787 constraint to 'o' for m=r and r=m alternatives.
9788 ("*movv8hi_internal1"): Same.
9789 ("*movv16qi_internal1"): Same.
9790 ("*movv4sf_internal1"): Same.
04428ad4 9791
2adc7f12
JJ
97922002-04-22 Janis Johnson <janis187@us.ibm.com>
9793
9794 * rtl.h (RTX_FLAG): New macro.
9795 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
9796 * final.c (alter_subreg): Use macro to access rtx flag.
9797 * integrate.c (copy_rtx_and_substitute): Use new access macro.
9798 * print-rtl.c (print_rtx): Use new access macro.
9799
9800 * cse.c (insert): Check rtx code before accessing flag.
9801
9802 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
9803 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
9804 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
9805 convert_const_symbol_ref, make_canonical, make_alternative_compare,
9806 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
9807 simplify_test_exp, optimize_attrs, simplify_by_exploding,
9808 find_and_mark_used_attributes, unmark_used_attributes,
9809 add_values_to_cover, simplify_with_current_value,
9810 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
9811 copy_rtx_unchanging, main): Use new access macros.
9812
b7c89afe
TR
98132002-04-22 Tom Rix <trix@redhat.com>
9814
9815 * expmed.c (init_expmed): Generate shifted constant once.
9816
9340544b
ZW
98172002-04-22 Zack Weinberg <zack@codesourcery.com>
9818
9819 * c-lex.c (lex_charconst): Call convert to get constant in
9820 proper type; don't just smash the type field.
9821 Fixes PR c/6300.
9822
9823 * config.gcc: Add list of obsolete configurations. Disallow
9824 building these without --enable-obsolete.
9825 * doc/install.texi: Document --enable-obsolete and obsoletion
9826 policy. Mention obsoletion of individual targets in
9827 appropriate places.
9828
f942d7a5
RH
98292002-04-22 Richard Henderson <rth@redhat.com>
9830
9831 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
9832
98332002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
9834
9835 PR f/6138.
9836 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
9837 (walk_fixup_memory_subreg): Likewise.
9838 (fixup_var_refs_insn): Adjust accordingly.
9839 (fixup_var_refs_1): Likewise.
9840
232b0b45
UW
98412002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
9842
9843 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
9844 LIBPATH_ARCH64_SPEC): Define.
9845 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
9846 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
9847 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
9848 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
9849
1b61552b
JS
98502002-04-22 Joel Sherrill <joel@OARcorp.com>
9851
9852 * gthr-rtems.h: Correct prototypes to remove warnings.
9853
0fe854a7
RH
98542002-04-22 Richard Henderson <rth@redhat.com>
9855
9856 PR c/6344
9857 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
9858
9859 * gcse.c (free_insn_expr_list_list): New.
9860 (clear_modify_mem_tables): Use it. Fix bit set usage.
9861 (canon_list_insert): Use EXPR_LISTs for expressions.
9862 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
9863
af0d16cd
NB
98642002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
9865
9866 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
9867 file change and include code to _cpp_pop_buffer.
9868 * cpphash.h (struct pending_option): Predeclare.
9869 (struct cpp_reader): New member next_include_file.
9870 (_cpp_pop_file_buffer): Update.
9871 (_cpp_push_next_buffer): Update, rename.
9872 * cppinit.c (cpp_destroy): Free include chain and pending here.
9873 (cpp_finish_options): Simplify.
9874 (_cpp_push_next_buffer): Rename and clean up.
9875 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
9876 Clarify.
9877 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
9878
0d918572
AH
98792002-04-22 Aldy Hernandez <aldyh@redhat.com>
9880
0fe854a7
RH
9881 * config/rs6000/altivec.h (vec_xor): Add variant for both args
9882 being vector signed int.
9883 (vec_andc): Same.
9884 (vec_xor): Add variant for both args being vector signed char.
9885 Remove redundant variant.
9886 (vec_andc): Same.
0d918572 9887
77e2c290
DM
98882002-04-21 David S. Miller <davem@redhat.com>
9889
9890 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
9891 compare mode in output RTL.
9892
ee2ca2a2
DE
98932002-04-22 David Edelsohn <edelsohn@gnu.org>
9894
9895 * config/rs6000/rs6000.c (rs6000_override_options): Correct
9896 style and formatting of previous patch.
9897
894bdff6
AM
98982002-04-22 Alan Modra <amodra@bigpond.net.au>
9899
9900 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
9901 flag_pic for ABI_AIX.
9902
562a5c27
NB
99032002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
9904
9905 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
9906 * cppfiles.c (read_include_file): Similarly.
9907 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
9908 uxstrdup ustrchr, ufputs): Similarly.
9909 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
9910 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
9911 cpp_ideq, parse_identifier, parse_number): Similarly.
9912 * cpplib.c (struct directive, dequote_string, D, run_directive,
9913 cpp_push_buffer): Similarly.
9914 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
9915 _cpp_create_definition, check_trad_stringification,
9916 cpp_macro_definition): Similarly.
9917
9ac3b1be
NB
99182002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
9919
9920 * cppmacro.c (funlike_invocation_p): Don't step back
9921 over CPP_EOF.
9922
9dda4cc8
DE
99232002-04-21 David Edelsohn <edelsohn@gnu.org>
9924
9925 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
9926 labelno.
9927
20764052
JM
99282002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
9929
9930 * doc/invoke.texi: Remove Chill references.
9931 * doc/gcc.texi: Update last modified date.
9932
26b29884
KH
99332002-04-20 Kazu Hirata <kazu@hxi.com>
9934
9935 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
9936 push and pop. Replace add.l with add.w.
9937
59184677
TM
99382002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
9939
9940 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
9941 multiply instructions for H8/300H case.
9942
b1113e0a
TM
99432002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
9944
9945 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
9946 Bum three instructions from each routine.
9947
b03e38e1
NB
99482002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
9949
9950 * Makefile.in: Update.
9951 * decl.c (push_c_function_context, pop_c_function_context,
9952 mark_c_function_context): Rename for consistency.
9953 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
9954 * c-tree.h (push_c_function_context, pop_c_function_context,
9955 mark_c_function_context): Rename for consistency.
9956 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
9957 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
9958 * function.c (init_lang_status, save_lang_status,
9959 restore_lang_status, mark_lang_status, free_lang_status):
9960 Move to langhooks.h.
9961 (push_function_context_to, pop_function_context_from,
9962 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
9963 Update.
9964 * function.h (init_lang_status, save_lang_status,
9965 restore_lang_status, mark_lang_status, free_lang_status):
9966 Move to langhooks.h.
9967 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
9968 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
9969 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
9970 LANG_HOOKS_FUNCTION_INITIALIZER): New.
9971 (LANG_HOOKS_INITIALIZER): Update.
9972 (lhd_do_nothing_f): New.
9973 * langhooks.h (struct lang_hooks_for_functions): New.
9974 (struct lang_hooks): New hooks.
9975 * langhooks.c (lhd_do_nothing_f): New.
9976objc:
9977 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
9978 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
9979
db430d26
DM
99802002-04-19 David S. Miller <davem@redhat.com>
9981
9982 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
9983 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
9984
0f2a3457
JJ
99852002-04-19 Jakub Jelinek <jakub@redhat.com>
9986
9987 PR optimization/3756
9988 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
9989 x = ((int) y < 0) ? cst1 : cst2.
9990
ce5e43d0
JJ
99912002-04-19 Jakub Jelinek <jakub@redhat.com>
9992
9993 PR c/6358
9994 * function.c: Reapply patch for c/6358.
9995 (expand_function_end): Copy decl_rtl's mode, not
9996 current_function_return_rtx mode.
9997
99982002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
9999
10000 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
10001 targets.
10002
40e7f8ea
TT
100032002-04-19 Tom Tromey <tromey@redhat.com>
10004
10005 * doc/install.texi (Specific): Update status of Solaris 2.8.
10006 For PR libgcj/6158.
10007
62a12b27
AS
100082002-04-19 Andreas Schwab <schwab@suse.de>
10009
10010 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
10011 (PUT_REAL): Restore old definition.
10012
1405141b
DN
100132002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
10014 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10015
10016 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
10017 binutils 2.11.2 and higher generate smaller binaries than Sun's
10018 native tools.
10019
303a3927
MM
100202002-04-19 Mark Mitchell <mark@codesourcery.com>
10021
10022 PR c++/6352
10023 * toplev.c (rest_of_compilation): Do not defer functions for which
10024 TREE_SYMBOL_REFERENCED has already been set.
10025
de80110b
JH
10026Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
10027
10028 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
10029 alternative.
10030
ab393bf1
NB
100312002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
10032
10033 * builtins.c: Include langhooks.h.
10034 (lang_type_promotes_to): Remove.
10035 (expand_builtin_va_arg): Use new hook.
10036 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
10037 (simple_type_promotes_to): Move to c-typeck.c.
10038 * c-common.h (simple_type_promotes_to): Remove.
10039 * c-decl.c (duplicate_decls, grokdeclarator): Update.
10040 * c-format.c: Include langhooks.h.
10041 (check_format_types): Update.
10042 * c-tree.h (c_type_promotes_to): New.
10043 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
10044 (type_lists_compatible_p): Update.
10045 * langhooks-def.h (lhd_type_promotes_to): New.
10046 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
10047 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
10048 * langhooks.c (lhd_type_promotes_to): New.
10049 * langhooks.h (struct lang_hooks_for_types): New hook.
10050 * tree.h (lang_type_promotes_to): Remove.
10051objc:
10052 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
10053
0cd3301b
RH
100542002-04-18 Richard Henderson <rth@redhat.com>
10055
58533fa2 10056 * function.c: Revert patch for c/6358.
0cd3301b
RH
10057
100582002-04-18 Richard Henderson <rth@redhat.com>
10059
58533fa2
RH
10060 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
10061 blocks. Handle multiple references to the TRAP block. Handle
10062 non-adjacent THEN and OTHER blocks.
0cd3301b 10063
58533fa2
RH
100642002-04-18 Richard Henderson <rth@redhat.com>
10065
10066 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
10067 crash with no type for by-mode libcalls.
10068
10069 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 10070
57174693
BW
100712002-04-18 Bob Wilson <bob.wilson@acm.org>
10072
10073 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
10074 __xtensa_nonlocal_goto): Use a syscall instructions to flush
10075 the register windows.
10076
46468cd9
ZW
100772002-04-18 Zack Weinberg <zack@codesourcery.com>
10078
10079 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
10080 appropriate. Document need for extended precision even when
10081 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
10082 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
10083 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
10084 instead of relying on later syntax error when REAL_WIDTH > 5.
10085 * real.c: Define NE based only on whether or not we have a
10086 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
10087 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
10088 define GET_REAL and PUT_REAL as simple memcpy operations; no
10089 need to byteswap or round.
10090 Use #error instead of #ifdef-ing out the entire file, for
10091 prompt error detection.
10092
10093 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
10094
2f82dbf8
DM
100952002-04-18 David S. Miller <davem@redhat.com>
10096
10097 * config/sparc/sparc.h (BRANCH_COST): Define.
10098
10099 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
10100 does it.
10101
566576e7
HPN
101022002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
10103
10104 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
10105 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
10106 propagate_block calls after relaxation loop using new variable
10107 stabilized_prop_flags.
10108
51dcde6f
RH
101092002-04-18 Richard Henderson <rth@redhat.com>
10110
10111 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
10112 (ia64_va_arg): Expect variable sized types by reference.
10113 * config/ia64/ia64-protos.h: Update.
46468cd9 10114 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
10115 ia64_function_arg_pass_by_reference.
10116
26406018
RH
101172002-04-18 Richard Henderson <rth@redhat.com>
10118
46468cd9
ZW
10119 * ifcvt.c: Include except.h.
10120 (block_has_only_trap): Break out from find_cond_trap.
10121 (find_cond_trap): Use it. Always delete the trap block.
10122 (merge_if_block): Allow then block null. Be less simplistic about
10123 what insns can end a block.
10124 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 10125
26406018
RH
10126 * config/ia64/ia64.md (trap, conditional_trap): New.
10127
a3acf46d
JJ
101282002-04-18 Jakub Jelinek <jakub@redhat.com>
10129
10130 PR c/6358
10131 * function.c (assign_parms): Assign hard current_function_return_rtx
10132 register here...
10133 (expand_function_end): ...not here.
10134
7a228918
NB
101352002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
10136
10137 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
10138 * c-tree.h (c_incomplete_type_error): New.
10139 * c-typeck.c (require_complete_type, build_component_ref): Update.
10140 (incomplete_type_error): Rename.
10141 * langhooks-def.h (lhd_incomplete_type_error): New.
10142 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
10143 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
10144 * langhooks.c (lhd_incomplete_type_error): New.
10145 * langhooks.h (struct lang_hooks_for_types): New hook.
10146 * tree.c (size_in_bytes): Use new hook.
10147 * tree.h (incomplete_type_error): Remove.
10148objc:
10149 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
10150
f18664c1
ZW
101512002-04-18 Zack Weinberg <zack@codesourcery.com>
10152
10153 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
10154 TARGET_FLOAT_FORMAT blocks.
10155
8ecab453
GP
101562002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10157
10158 * doc/install.texi (Downloading the source): Do not mention Chill
10159 any longer, but mention Ada.
10160 (Configuration): Do not mention Chill any longer.
10161
528d8489
HPN
101622002-04-18 Hans-Peter Nilsson <hp@axis.com>
10163
10164 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
10165
91da27c5
JH
10166Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
10167
10168 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
10169 in last patch.
10170
a32db605
JJ
101712002-04-18 Jakub Jelinek <jakub@redhat.com>
10172
10173 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
10174 instead of unsigned_type.
10175
5a28d8cc
JH
10176Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
10177
10178 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
10179 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
10180 later.
10181
3d980b9f
BS
101822002-04-18 Bernd Schmidt <bernds@redhat.com>
10183
10184 * attribs.c (vector_type_node_list): New static variable.
10185 (handle_vector_size_attribute): Use it to avoid generating a
10186 new type node each time we are called.
10187
2e676d78
BS
10188 * combine.c (subst): Avoid trying to make a vector mode subreg of
10189 an integer constant.
10190 (gen_lowpart_for_combine): Likewise.
46468cd9 10191
58c2956c
RS
101922002-04-18 Roger Sayle <roger@eyesopen.com>
10193 Jakub Jelinek <jakub@redhat.com>
10194
10195 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
10196 for integer constant c (if x has unsigned type or sign bit is not
10197 set in c). This folds the zero/sign extension into the bit-wise and
10198 operation.
10199
692efa8e
JJ
102002002-04-18 Jakub Jelinek <jakub@redhat.com>
10201
10202 PR middle-end/6205
10203 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
10204 otherwise xorps.
10205
1372d4ce
NY
102062002-04-17 NIIBE Yutaka <gniibe@m17n.org>
10207
10208 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
10209
169ce44d
NC
102102002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
10211
10212 * gcc.c (read_specs): Detect and fail if an attempt is made to
10213 rename a spec string to an already existing string.
10214
b30d2115
UW
102152002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
10216
10217 * config/s390/s390.c (legitimize_pic_address): Do not generate
10218 illegal address constant without CONST.
10219
d6964c30
KG
102202002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10221
10222 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
10223 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
10224
7c82a1ed
UW
102252002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
10226
10227 PR optimization/6305
10228 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
10229 to make sure previous reloads are taken into account. Generate
10230 better code if one operand is an in-range immediate constant.
10231
58db9d1a
AH
102322002-04-16 Andrew Haley <aph@cambridge.redhat.com>
10233
10234 * doc/install.texi (Building): libgcj requires GNU make.
10235
2a732575
JJ
102362002-04-17 Jakub Jelinek <jakub@redhat.com>
10237
10238 PR bootstrap/6315
10239 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
10240 even if hard quad and register is not floating.
10241 (movtf reg<-mem split): Disallow splitting if hard quad and
10242 register is floating.
10243 (movtf mem<-reg split): Likewise.
10244 * config/sparc/sparc.c (fp_register_operand): New predicate.
10245 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
10246
75a65e46
ZW
102472002-04-17 Zack Weinberg <zack@codesourcery.com>
10248
10249 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
10250 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
10251 (unprotoize.o): Ditto. Build from protoize.c. Define
10252 UNPROTOIZE on command line.
10253 * protoize.c: Include cppdefault.h. Delete include_defaults.
10254 (in_system_include_dir): Use cpp_include_defaults (defined in
10255 cppdefault.o).
10256 * unprotoize.c: Delete file.
10257
650f0e97
AH
102582002-04-17 Aldy Hernandez <aldyh@redhat.com>
10259
46468cd9
ZW
10260 * config/rs6000/altivec.h (vec_ld): Add array variants.
10261 (vec_lde): Same.
10262 (vec_ldl): Same.
650f0e97 10263
71a0ab0c 102642002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 10265 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 10266
46468cd9
ZW
10267 * config/rs6000/altivec.h: Define __ALTIVEC__.
10268 (bool): New.
10269 (__pixel): New.
10270 (pixel): New.
10271 (vec_cfux): New.
10272 (vec_vmaddfp): New.
10273 (vec_vsldoi): New.
10274 Add parentheses to all macro arguments.
71a0ab0c 10275
ff2c46ac
RH
102762002-04-16 Richard Henderson <rth@redhat.com>
10277
10278 PR c++/6320
10279 * except.c (remove_eh_handler): Insert inner regions at beginning
10280 of sibling chain. Refactor expressions.
10281
f1ba94dd
RH
102822002-04-16 Richard Henderson <rth@redhat.com>
10283
f0871dfe
RH
10284 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
10285 * config/sparc/sol2-gas-bi.h: New file.
10286 * config.gcc (sparc*-solaris): Add it as needed.
10287 * configure.in (AS_SPARC64_FLAG): Remove check.
10288 * config.in, configure: Regenerate.
10289
10290 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
10291
102922002-04-16 Richard Henderson <rth@redhat.com>
10293
10294 * config/mips/mips.c (override_options): Don't override N32 for
10295 a 64-bit ISA.
409d3c60 10296
f1ba94dd
RH
10297 PR 6202
10298 * config/mips/mips.md (can_delay): Split out of existing define_delays.
10299 (HILO_delay): Set can_delay false.
10300
178c3eff
DJ
103012002-04-16 Dale Johannesen <dalej@apple.com>
10302
10303 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
10304 instruction addresses.
10305 (rs6000_output_function_epilogue): Likewise.
10306
7d6f6369
PC
103072002-04-16 Paolo Carlini <pcarlini@unitus.it>
10308
10309 * c-parse.in (poplevel, compstmt_start,
10310 compstmt_primary_start): Add ending ';', in accordance
10311 with POSIX.
10312
8947df0c
RH
103132002-04-16 Richard Henderson <rth@redhat.com>
10314
10315 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
10316 Adjust tm_file order to get TARGET_DEFAULT set properly.
10317 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
10318 * doc/install.texi (sparc-solaris): Update.
10319
3148ad6d
DJ
103202002-04-16 Dale Johannesen <dalej@apple.com>
10321
10322 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
10323 comparison operands do not match each other or if modes of
10324 conditions do not match result.
10325
014cb9b6 103262002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 10327
014cb9b6
HP
10328 PR target/6305
10329 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 10330 multiword register.
562a69be 10331
014cb9b6 103322002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 10333
8947df0c 10334 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 10335
a9772b60
JJ
103362002-04-16 Jakub Jelinek <jakub@redhat.com>
10337
10338 PR middle-end/6279
10339 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
10340
10341 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
10342
861829ed
RH
103432002-04-15 Richard Henderson <rth@redhat.com>
10344
10345 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
10346 call_really_used_regs too.
10347
bcf2fe9c
RH
103482002-04-15 Richard Henderson <rth@redhat.com>
10349
10350 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
10351
629111c7
DM
103522002-04-15 David S. Miller <davem@redhat.com>
10353
10354 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
10355 as being CLOBBERed.
10356
98ef3137
JJ
103572002-04-16 Jakub Jelinek <jakub@redhat.com>
10358
10359 PR c/6290
10360 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
10361 CONST_VECTOR is { 0, ... 0 }.
10362
0aa911c5
LR
103632002-04-15 Loren J. Rittle <ljrittle@acm.org>
10364
10365 * doc/install.texi (Installing GCC: Configuration): Clarify
10366 the only supported ways to configure gcc.
10367
83248d49 103682002-04-15 Roland McGrath <roland@frob.com>
46468cd9 10369
83248d49
RM
10370 * config.gcc (alpha*-*-gnu*): New target configuration.
10371 * config/alpha/gnu.h: New file for it.
10372 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
10373
b2123dc0
MM
103742002-04-16 Mark Mitchell <mark@codesourcery.com>
10375
10376 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
10377 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
10378 * tree.h (expand_start_stmt_expr): Update prototype.
10379 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
10380 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
10381 on the STMT_EXPR created for the inline function.
46468cd9 10382
8fe2d853
RH
103832002-04-15 Richard Henderson <rth@redhat.com>
10384
10385 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
10386 config/i386/linux-aout.h, config/i386/linux-oldld.h,
10387 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
10388 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
10389 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
10390 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
10391 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
10392 Define __gnu_linux__, not gnu_linux.
10393 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
10394
07cdae91
MM
103952002-04-15 Mark Mitchell <mark@codesourcery.com>
10396
10397 Remove Chill front end.
10398 * gcc.c (default_compilers): Remove Chill entries.
10399 * ch: Remove directory.
10400 * doc/frontends.texi: Remove information about Chill.
10401 * doc/sourcebuild.texi: Likewise.
10402 * doc/standards.texi: Likewise.
10403
41823c5e
DR
104042002-04-15 Douglas B Rupp <rupp@gnat.com>
10405
10406 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
10407 (LONGLONG_STANDALONE): Define.
10408
eb29ddb6
DM
104092002-04-15 David S. Miller <davem@redhat.com>
10410
10411 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
10412 Call emit_library_call with LCT_NORMAL.
10413 (sparc_initialize_trampoline): Use LCT_foo instead of
10414 magic constant in emit_library_call invocations.
10415 (sparc64_initialize_trampoline): Likewise.
10416 (sparc_profile_hook): Likewise.
10417 * config/sparc/sparc.md: Likewise.
10418
10419 * config/sparc/sparc.c (sparc_extra_constraint_check):
10420 Fix type of argument 'c'.
10421 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
10422 Likewise.
10423
bd6bec6b
GDR
104242002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
10425
10426 * diagnostic.h (output_buffer_state): Redefine.
10427 (output_format_decoder): New macro.
10428 (output_prefixing_rule): Likewise.
10429 (output_line_cutoff): Likewise.
10430 (diagnostic_format_decoder): Adjust.
10431 (diagnostic_prefixing_rule): Likewise.
10432 (diagnostic_line_cutoff): Likewise.
10433 (diagnostic_state): Likewise.
10434 (diagnostic_kind_count): Likewise.
10435 (diagnostic_buffer): Now a macro.
10436
10437 * diagnostic.c (diagnostic_buffer): Remove definition.
10438 (output_is_line_wrapping): Adjust.
10439 (set_real_maximum_length): Likewise.
10440 (output_set_maximum_length): Likewise.
10441 (init_output_buffer): Likewise.
10442 (lhd_print_error_function): Likewise.
10443 (output_do_verbatim): Likewise.
10444
ebef4e8c
NB
104452002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
10446
10447 * cpperror.c (print_location): Don't print include chain
10448 if line == 0.
10449 (cpp_begin_message): Update to use DL_ macros.
10450 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
10451 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
10452 cpp_notice, cpp_notice_from_errno): Remove.
10453 (cpp_error, cpp_error_with_line): Update to take a diagnostic
10454 level.
10455 (cpp_errno): New.
10456 * cppexp.c (CPP_ICE): Remove.
10457 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
10458 lex, integer_overflow, _cpp_parse_expr): Update.
10459 * cppfiles.c (read_include_file, find_include_file,
10460 handle_missing_header, _cpp_read_file, remap_filename): Update.
10461 * cpphash.h (enum error_type): Remove.
10462 (_cpp_begin_message): Update.
10463 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
10464 cpp_handle_option, cpp_post_options): Update.
10465 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
10466 skip_whitespace, parse_identifier, parse_slow, parse_string,
10467 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
10468 cpp_interpret_charconst): Update.
10469 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
10470 lex_macro_node, do_undef, glue_header_name, parse_include,
10471 do_include_common, read_flag, do_line, do_linemarker, do_ident,
10472 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
10473 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
10474 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
10475 _cpp_pop_buffer, do_diagnostic): Update.
10476 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
10477 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
10478 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
10479 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
10480 cpp_notice, cpp_notice_from_errno): Remove.
10481 (cpp_error, cpp_error_with_line): Update to take a diagnostic
10482 level.
10483 (cpp_errno): New.
10484 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
10485 collect_args, enter_macro_context, save_parameter, parse_params,
10486 _cpp_create_definition, check_trad_stringification,
10487 cpp_macro_definition): Update.
10488 * cppmain.c (cpp_preprocess_file): Update.
10489 * fix-header.c (read_scan_file): Update.
10490
c19a3859
AS
104912002-04-14 Andreas Schwab <schwab@suse.de>
10492
10493 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
10494
10fdbed6
JD
104952002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
10496
10497 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
10498
77660a9a
MM
104992002-04-13 Mark Mitchell <mark@codesourcery.com>
10500
10501 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
10502 not gnu_hurd.
10503
e0ff1ded
HPN
105042002-04-13 Hans-Peter Nilsson <hp@axis.com>
10505
10506 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
10507
2341c7ea
JS
105082002-04-13 Joel Sherrill <joel@OARcorp.com>
10509
10510 * config/sparc/t-elf: Enable v8 multilibs. Impacts
10511 sparc-elf and sparc-rtems targets.
10512
d29350c0
MM
105132002-04-13 Mark Mitchell <mark@codesourcery.com>
10514
10515 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
10516 defined, and __gnu_hurd__ wherever __GNU__ is defined.
10517 * arm/linux-elf.h: Likewise.
10518 * cris/aout.h: Likewise.
10519 * cris/linux.h: Likewise.
10520 * i370/linux.h: Likewise.
10521 * i386/gnu.h: Likewise.
10522 * i386/linux-aout.h: Likewise.
10523 * i386/linux-oldld.h: Likewise.
10524 * i386/linux.h: Likewise.
10525 * i386/linux64.h: Likewise.
10526 * ia64/linux.h: Likewise.
10527 * m68k/linux-aout.h: Likewise.
10528 * m68k/linux.h: Likewise.
10529 * mips/linux.h: Likewise.
10530 * pa/pa-linux.h: Likewise.
10531 * pj/linux.h: Likewise.
10532 * rs6000/sysv4.h: Likewise.
10533 * s390/linux.h: Likewise.
10534 * sh/linux.h: Likewise.
10535 * sparc/linux-aout.h: Likewise.
10536 * sparc/linux.h: Likewise.
10537 * sparc/linux64.h: Likewise.
10538 * xtensa/linux.h: Likewise.
10539
fc552851
RS
105402002-04-13 Richard Sandiford <rsandifo@redhat.com>
10541
10542 * stmt.c (check_unique_operand_names): Expect operand names to
10543 be strings rather than identifiers. Use simple_cst_equal to
10544 compare them.
10545 (resolve_operand_name_1): Make same identifier to string change here.
10546 * c-parse.in (asm_operand): Convert a named operand into a string.
10547 * cp/parse.y (asm_operand): Likewise.
10548
1d405c5e
AS
105492002-04-13 Andreas Schwab <schwab@suse.de>
10550
10551 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
10552
c740732f
MM
105532002-04-12 Mark Mitchell <mark@codesourcery.com>
10554
10555 Revert these changes:
10556
10557 2002-04-06 Mark Mitchell <mark@codesourcery.com>
10558
10559 PR c++/5571
10560 * stor-layout.c (layout_decl): Reset the RTL for the decl.
10561
3fc602a0
RH
105622002-04-12 Richard Henderson <rth@redhat.com>
10563
10564 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
10565 (sparc*-*-solaris): Clean up header files.
10566 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
10567 and plan on generating 64-bit code.
10568 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
10569 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
10570 * config/sparc/sol2-sld-64.h: Rename ...
10571 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
10572 for AS_SPARC64_FLAG not defined.
10573 * config/sparc/sol2-gld-bi.h: New.
10574 * config/sparc/sol2-sld.h: Remove.
10575 * config/sparc/sol26-sld.h: New.
10576 * config/sparc/sol2.h: Tidy comments.
10577 * doc/install.texi: Document sparc-solaris configury changes.
10578
2f15e255
RH
105792002-04-12 Richard Henderson <rth@redhat.com>
10580
10581 * recog.c (offsettable_address_p): Match the logic in adjust_address.
10582
10583 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
10584 in 64-bit mode only. Use only for 32-bit or MEDLOW.
10585
cc8475cb
RO
105862002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10587
10588 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
10589
6f133a4a
JL
10590Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
10591
ef1b8858 10592 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
10593 constrain_operands.
10594
1329e600
DR
105952002-04-12 Douglas B Rupp <rupp@gnat.com>
10596
10597 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
10598 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
10599 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 10600 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
10601 * config/i386/t-interix (USER_H): Remove.
10602
0339d239
DD
106032002-04-12 DJ Delorie <dj@redhat.com>
10604
10605 * integrate.c (compare_blocks): Make comparisons safe for when
10606 sizeof(int) < sizeof(char *).
10607 (find_block): Likewise.
10608
cc4d5fec
JH
106092002-04-12 Jan Hubicka <jh@suse.cz>
10610 David Edelsohn <edelsohn@gnu.org>
10611
10612 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
10613 registers.
10614 (symbol_ref_operand): New.
10615 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
10616 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
10617
93215a1b
AS
106182002-04-12 Andreas Schwab <schwab@suse.de>
10619
10620 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
10621 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
10622 overrides the definition in config/svr4.h.
46468cd9 10623
1d80248e
EN
106242002-04-12 Eric Norum <eric.norum@usask.ca>
10625
10626 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
10627 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
10628 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
10629 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
10630 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
10631 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
10632 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
10633 definitions to config/rtems.h and make the targets more similar.
10634
fa1591cb
RK
10635Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10636
fa06ab5c
RK
10637 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
10638 POINTERS_EXTEND_UNSIGNED.
10639 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
10640 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
10641
fa1591cb
RK
10642 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
10643 not specified.
10644
12e85a0e
R
10645Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
10646
10647 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
10648 depends on TARGET_SHMEDIA, not TARGET_SH5.
10649
1ab3e58a
HPN
106502002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
10651
10652 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
10653 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
10654
18778292
R
10655Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
10656
10657 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
10658 no r0 clobber.
10659
9002507c
AS
106602002-04-12 Andreas Schwab <schwab@suse.de>
10661
10662 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
10663
9be40833
RH
106642002-04-12 Richard Henderson <rth@redhat.com>
10665
10666 PR bootstrap/4191
10667 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
10668
10669 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
10670 modes spanning multiple hard regs.
46468cd9 10671
9be40833
RH
10672 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
10673
3d9268b6
JDA
106742002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
10675
10676 * pa.c (pa_output_function_prologue): Don't accumulate the total
10677 number of code bytes when using TARGET_64BIT, or gas, SOM and not
10678 the portable runtime.
10679 (output_deferred_plabels): Handle 64bit plabels.
10680 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
10681 generating pic code using the GAS assembler for object formats that
10682 are not SOM (ie., ELF32 and ELF64).
10683 (output_millicode_call): Check attribute type if attribute length is 28.
10684 Likewise use $PIC_pcrel$0. Only call get_attr_length and
10685 dbr_sequence_length once.
10686 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
10687 dbr_sequence_length once.
10688 * pa.h (TARGET_SOM): Define if not defined.
10689 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
10690 with GAS and not SOM.
10691 (jump, call_internal_reg, call_value_internal_reg): Likewise.
10692 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
10693
d360fd18
DB
106942002-04-11 David O'Brien <obrien@FreeBSD.org>
10695
10696 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
10697 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
10698 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
10699 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
10700 elfos.h and dbxelf.h values are fine now.
10701 * config/i386/freebsd.h, config/alpha/freebsd.h
10702 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
10703
5b8fcab6
DB
107042002-04-11 David O'Brien <obrien@FreeBSD.org>
10705
10706 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
10707 or set Acpu or Amachine. Reformat.
10708 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
10709 define.
10710 (LINK_SPEC): Do not need to undef.
10711 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
10712 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
10713 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
10714 define.
10715 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
10716 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
10717 (LINK_SPEC): Do not need to undef.
10718 (DONT_USE_BUILTIN_SETJMP): Do not define.
10719 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
10720 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
10721 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
10722 Remove trailing spaces.
10723 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
10724 __ELF__, or set Acpu or Amachine. Reformat.
10725 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
10726 define.
10727
fee42cc1
DB
107282002-04-11 David O'Brien <obrien@FreeBSD.org>
10729
10730 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
10731 all other *-*-freebsd* targets.
10732
77a403e4
RH
107332002-04-11 Richard Henderson <rth@redhat.com>
10734
10735 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
10736
cf0005c6
DB
107372002-04-11 David O'Brien <obrien@FreeBSD.org>
10738
10739 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
10740 Include {cpu}/{cpu}.h thru tm_file.
10741 (alpha*-*-linux*ecoff): Remove target.
10742 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
10743 (LINK_SPEC): Remove, is not OS independent.
10744 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
10745 (LINK_SPEC): Do not need to #undef any longer.
10746 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
10747 any longer.
10748 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
10749 __ELF__.
10750 (LINK_SPEC): Moved here from alpha/elf.h.
10751 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
10752 SUB_CPP_PREDEFINES.
10753 * config/alpha/linux-ecoff.h: Remove.
10754 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
10755 (CPP_SPEC): Define _POSIX_SOURCE as needed.
10756 (CPP_SUBTARGET_SPEC): Do not define.
10757 (LINK_SPEC): Do not need to #undef any longer.
10758 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
10759 * config/alpha/vms.h: Likewise.
10760
9be40833 107612002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
10762
10763 * doc/extend.texi: Remove old claim that typedefs cannot have
10764 an alignment attribute.
10765
010f87c4
JJ
107662002-04-11 Jakub Jelinek <jakub@redhat.com>
10767
10768 PR optimization/6177
10769 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
10770 bitpos is 0 and bitsize CONCAT size.
10771
578fc63d
JJ
107722002-04-11 Jakub Jelinek <jakub@redhat.com>
10773
10774 PR c/6223
10775 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
10776
bf9b85ce
DB
107772002-04-10 David O'Brien <obrien@FreeBSD.org>
10778
10779 * config/alpha/freebsd.h: Minor reformatting.
10780 (CPP_SPEC): Define ELF and add cpp_subtarget.
10781 (ASM_SPEC): No longer needed.
10782
7425707d
RH
107832002-04-11 Richard Henderson <rth@redhat.com>
10784
10785 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
10786 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
10787 (dimode mem/zero splitter): New.
10788
1a05e874
HPN
107892002-04-11 Hans-Peter Nilsson <hp@axis.com>
10790
10791 * config/cris/cris.c (cris_override_options): Tweak error message
10792 for PIC not implemented.
10793
10794 * config/cris/cris.h: Tweak comments related to parameter-passing.
10795
10796 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
10797
6f3d0447
RH
107982002-04-10 Richard Henderson <rth@redhat.com>
10799
10800 * except.c (add_ehl_entry): Allow duplicates after landing pad
10801 creation.
10802
174bf2b1
DE
108032002-04-10 David Edelsohn <edelsohn@gnu.org>
10804
10805 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
10806
03f10472
TM
108072002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
10808
10809 * c-decl.c (c_init_decl_processing): Move generation of
10810 decls for g77_integer_type_node and friends from here ...
10811 * c-common.c (c_common_nodes_and_builtins): ... to here.
10812
2f460a0a
UW
108132002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
10814
10815 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
10816 is only used as frame pointer when frame_pointer_needed is true.
10817
0be5cf85
RE
108182002-04-10 Richard Earnshaw <rearnsha@arm.com>
10819
10820 PR target/817
10821 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
10822 for the fact that the pool entry uses two words.
10823 (movdf_hard_insn): Similarly. Also, ADR instruction can span
10824 1k bytes.
10825 (movdf_soft_insn): Similarly.
10826 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
10827 for the fact that the pool entry uses three words.
10828
bf6d4777
RS
108292002-04-10 Richard Sandiford <rsandifo@redhat.com>
10830
10831 * config/mips/mips.c (mips_va_arg): When using the struct version
10832 of the EABI va_list, allow arguments in the register save area to
10833 take up less room than a stack argument.
10834
c2e9dc85
RH
108352002-04-10 Richard Henderson <rth@redhat.com>
10836
10837 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
10838 if EXPAND_INITIALIZER.
10839
bc8e8e97
RH
108402002-04-09 Richard Henderson <rth@redhat.com>
10841
10842 * config/alpha/alpha.md (movdi_er_maybe_g): New.
10843 * config/alpha/alpha.c (alpha_expand_mov): Use it.
10844
a6a063b8
AM
108452002-04-10 Alan Modra <amodra@bigpond.net.au>
10846
10847 PR optimization/6233
10848 * rtlanal.c (pure_call_p): New function.
10849 * rtl.h (pure_call_p): Declare.
10850 * loop.c (prescan_loop): Use it to set has_nonconst_call.
10851 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
10852
7b2e1077
EC
108532002-04-09 Eric Christopher <echristo@redhat.com>
10854
10855 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
10856 information to .comm directive.
10857
d8a50944
RH
108582002-04-09 Richard Henderson <rth@redhat.com>
10859
10860 PR c/5078
10861 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
10862
6a58eee9
RH
108632002-04-09 Richard Henderson <rth@redhat.com>
10864
10865 * basic-block.h (flow_delete_block_noexpunge): Declare.
10866 (expunge_block_nocompact): Declare.
10867 * cfg.c (expunge_block_nocompact): Split out from ...
10868 (expunge_block): ... here.
10869 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
10870 (flow_delete_block_noexpunge): Split out from ...
10871 (flow_delete_block): ... here.
10872 * cfgcleanup.c (delete_unreachable_blocks): Compact while
10873 removing dead blocks.
10874 * except.c (exception_handler_labels): Remove.
10875 (exception_handler_label_map): New.
10876 (struct eh_region): Add aka member.
10877 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
10878 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
10879 (for_each_eh_label, for_each_eh_label_1): New.
10880 (init_eh): Register exception_handler_label_map.
10881 (free_eh_status): Use free_region.
10882 (find_exception_handler_labels): Use the map, not the list.
10883 (remove_exception_handler_label): Likewise.
10884 (maybe_remove_eh_handler): Likewise.
10885 (remove_eh_handler): Use the region aka bitmap.
10886 * except.h (exception_handler_labels): Remove.
10887 (for_each_eh_label): Declare.
10888 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
10889 * loop.c (invalidate_loops_containing_label): New.
10890 (find_and_verify_loops): Use it. Use for_each_eh_label.
10891 * sched-rgn.c (is_cfg_nonregular): Use
10892 current_function_has_exception_handlers.
10893
b47374fa
RH
108942002-04-09 Richard Henderson <rth@redhat.com>
10895
10896 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
10897 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
10898 Do not return changed status.
10899 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
10900 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
10901 New functions that do return changed status.
10902 * sbitmap.h: Update decls.
10903 * gcse.c, lcm.c: Use _cg functions as needed.
10904
1951818c
R
10905Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
10906
10907 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
10908 (sh64-*-elf*, sh-*-rtemself*): Likewise.
10909 * config/sh/embed_bb.c: New file.
10910 * config/sh/embed-elf.h: New file.
10911 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
10912 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
10913 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
10914 __PTRDIFF_TYPE__ .
10915 (SUBTARGET_CPP_PTR_SPEC): Don't define.
10916 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
10917 Add subtarget_asm_endian_spec.
10918 (ASM_SPEC): Use subtarget_asm_endian_spec.
10919 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
10920 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
10921 (WCHAR_UNSIGNED): Define.
10922 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
10923 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
10924 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
10925 Fix value.
10926 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
10927 (sh_adjust_cost): Likewise.
10928 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
10929 __PTRDIFF_TYPE__ .
10930 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
10931 (WCHAR_TYPE_SIZE): Likewise.
10932 (ASM_SPEC): Use subtarget_asm_endian_spec.
10933 (SH_ELF_WCHAR_TYPE): #undef/ #define.
10934 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
10935 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
10936 (MAX_WCHAR_TYPE_SIZE): Don't #define .
10937 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
10938 (USER_LABEL_PREFIX): Don't #undef /#define .
10939 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
10940 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
10941 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
10942 (ASM_SPEC): Likewise.
10943 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
10944 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
10945 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
10946 (LIB2FUNCS_EXTRA): Define.
10947 * t-sh64 (LIB2FUNCS_EXTRA): Define.
10948 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
10949 (LIB1ASMFUNCS_CACHE): Define.
10950 (LIB2FUNCS_EXTRA): Redefine empty.
10951
34295799
RH
109522002-04-08 Richard Henderson <rth@redhat.com>
10953
10954 * reorg.c (get_branch_condition): Use reversed_comparison_code.
10955
e8766a39
SC
109562002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10957
10958 * config/m68hc11/larith.asm (__map_data_section): Fix condition
10959 and optimize for size.
10960 (__do_global_ctors): Fix pointer comparison.
10961 (__do_global_dtors): Likewise.
10962
f451b552
DM
109632002-04-09 David S. Miller <davem@redhat.com>
10964
10965 * config/sparc/sparc.c (sparc_extra_constraint_check): New
10966 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
10967 allow reloading pseudos.
10968 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
10969 * config/sparc/sparc-protos.h: Declare it.
10970
10971 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
10972 unsigned comparison warning.
10973 (output_restore_regs): Mark leaf_function as unused.
10974
1ce7f3c2
RK
10975Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10976
10977 * expr.c (is_aligning_offset): New function.
10978 (expand_expr, case COMPONENT_EXPR): Call it.
10979
7a31a340
DM
109802002-04-08 David S. Miller <davem@redhat.com>
10981
10982 PR target/6082
10983 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
10984
10985 Make init_priority work on Sparc when using GNU ld.
10986 * config/sparc/linux.h, config/sparc/linux64.h,
10987 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
10988 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
10989 * config/sparc/sol2-gld.h: New file to do the same.
10990 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
10991 sparc/sol2-gld.h to tm_file.
10992
10993 PR optimization/4328
10994 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
10995 * doc/md.texi: Document it.
10996 * config/sparc/sparc.md (movdi_insn_sp64_novis,
10997 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
10998 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
10999 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
11000 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
11001
11579f33
AJ
110022002-04-08 Andreas Jaeger <aj@suse.de>
11003
11004 * stmt.c (expand_asm_operands): Revert last patch from Richard
11005 Henderson.
11006
b57215d9
GP
110072002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11008
11009 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
11010 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
11011
110122002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11013
11014 * doc/contrib.texi (Contributors): Add David O'Brien.
11015
534d0cc0
AM
110162002-04-08 Alan Modra <amodra@bigpond.net.au>
11017
11018 * configure.in (auto-build.h): Use target_alias and build_alias
11019 when running configure.
11020 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
11021 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
11022 * configure: Regenerate.
11023
19fe522a
DM
110242002-04-07 David S. Miller <davem@redhat.com>
11025
11026 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
11027
bf2d0b8e
JDA
110282002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
11029
11030 PR 5933
11031 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
11032 generating 32-bit pic code.
11033
477cdac7
JT
110342002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
11035
11036 * cppinit.c (cpp_create_reader): Initialize
11037 discard_comments_in_macro_exp.
11038 (COMMAND_LINE_OPTIONS): Add "-CC" option.
11039 (cpp_handle_option): Handle "-CC" option.
11040 * cpplex.c (save_comment): If saving a C++ comment in
11041 a directive, convert it to a C comment.
11042 (_cpp_lex_direct): Pass second comment start character to
11043 save_comment to indicate comment type.
11044 * cpplib.c (_cpp_handle_directive): If processing
11045 a "#define" directive and discard_comments_in_macro_exp
11046 is false, re-enable saving of comments.
11047 (lex_macro_node): If discard_comments_in_macro_exp is false,
11048 discard any comments before the macro identifier.
11049 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
11050 member.
11051 * cppmacro.c (cpp_get_token): If expanding a macro while
11052 processing a directive, discard any comments we might encounter.
11053 (parse_params): If discard_comments_in_macro_exp is false,
11054 ignore comments in the macro parameter list.
11055 * gcc.c (cpp_unique_options): Add "-CC" option.
11056 (option_map): Map "--comments-in-macros" to "-CC".
11057 * doc/cppopts.texi: Document "-CC" option.
11058 * f/lang-specs.h: Add "-CC" option.
11059 * testsuite/gcc.dg/cpp/maccom1.c: New test.
11060 * testsuite/gcc.dg/cpp/maccom2.c: New test.
11061 * testsuite/gcc.dg/cpp/maccom3.c: New test.
11062 * testsuite/gcc.dg/cpp/maccom4.c: New test.
11063 * testsuite/gcc.dg/cpp/maccom5.c: New test.
11064 * testsuite/gcc.dg/cpp/maccom6.c: New test.
11065
f1526122
JDA
110662002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
11067
11068 PR middle-end/6180
11069 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
11070
b1896e61
MM
110712002-04-06 Mark Mitchell <mark@codesourcery.com>
11072
0154eaa8
MM
11073 PR c++/5571
11074 * stor-layout.c (layout_decl): Reset the RTL for the decl.
11075
b1896e61
MM
11076 PR opt/5120
11077 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
11078 RTX_UNCHANGING_P for the functions arguments when a tail call
11079 is made.
11080
b0148884
JM
110812002-04-06 Jason Merrill <jason@redhat.com>
11082
11083 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
11084 (parse_options_and_default_flags): Set them appropriately.
11085 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
11086
392fc5b0
HPN
110872002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
11088
11089 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
11090 here.
11091
11092 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
11093 semicolon.
11094
11095 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
11096 types come in by-reference. Fix typo in comment.
11097
2d69e3cb
DM
110982002-04-05 David S. Miller <davem@redhat.com>
11099
11100 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
11101 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
11102 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
11103 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
11104
111052002-04-05 David S. Miller <davem@redhat.com>
11106
11107 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
11108 are not going to emit return instructions, emit at least a nop
11109 for the sake of sane backtraces.
11110
5f9fb0e3
RH
111112002-04-05 Richard Henderson <rth@redhat.com>
11112
11113 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
11114
49f37a0d
JJ
111152002-04-05 Jakub Jeilnek <jakub@redhat.com>
11116
11117 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
11118
974a3101
AO
111192002-04-05 Alexandre Oliva <aoliva@redhat.com>
11120
11121 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
11122 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
11123 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
11124
2e04a694
AS
111252002-04-05 Andreas Schwab <schwab@suse.de>
11126
a40179bd 11127 * c-convert.c: Include c-common.h.
2e04a694
AS
11128 * Makefile.in (c-convert.o): Updated.
11129
1f785b7c
JJ
111302002-04-05 Jakub Jelinek <jakub@redhat.com>
11131
11132 * mklibgcc.in: Use separate libgcc.map for each multilib.
11133 * Makefile.in (distclean): Don't remove libgcc.map here.
11134
4d2fb38b
JJ
111352002-04-05 Jakub Jelinek <jakub@redhat.com>
11136
11137 * Makefile.in (s-mlib): Handle --disable-multilib by separate
11138 genmultilib invocation.
11139
bb63e5a0
RS
111402002-04-04 Richard Sandiford <rsandifo@redhat.com>
11141
11142 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
11143 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
11144 to num_gprs for symmetry.
11145 * config/mips/mips.c: Adjust accordingly.
11146
8ab80eaa
NB
111472002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
11148
11149 * c-common.c (truthvalue_conversion): Rename, update.
11150 * c-common.h (c_common_truthvalue_conversion): New.
11151 * c-convert.c (convert): Update.
11152 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
11153 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
11154 * c-typeck.c (build_binary_op, build_unary_op,
11155 build_conditional_expr): Update.
11156 * fold-const.c (constant_boolean_node, fold): Use langhook.
11157 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
11158 * langhooks.h (struct lang_hooks): New hook.
11159 * stmt.c (expand_decl_cleanup): Use langhook.
11160 * tree.h (truthvalue_conversion): Remove.
11161objc:
11162 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
11163
a2e9374a
AM
111642002-04-05 Alan Modra <amodra@bigpond.net.au>
11165
11166 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
11167 Add rules to make null object file.
11168
64d08263
JB
111692002-04-04 Jim Blandy <jimb@redhat.com>
11170
11171 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
11172 macro formal parameter names.
11173
aa7634dd
DM
111742002-04-04 David S. Miller <davem@redhat.com>
11175
11176 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
11177
ecc114f7
RH
111782002-04-04 Richard Henderson <rth@redhat.com>
11179
11180 PR middle-end/5099
11181 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
11182 Support copies into and out of memory. Don't accept allows_reg
11183 and allows_mem as gospel.
11184
c4484b8f
RH
111852002-04-04 Richard Henderson <rth@redhat.com>
11186
11187 PR opt/6165
11188 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
11189 (write_dependence_p): Likewise.
11190
39002160
RH
111912002-04-04 Richard Henderson <rth@redhat.com>
11192
11193 * predict.c (estimate_bb_frequencies): Do frequency calculation
11194 with a volatile temporary.
11195
f53ebe71
UW
111962002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
11197
11198 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
11199
15e0ecab
JJ
112002002-04-04 Jakub Jelinek <jakub@redhat.com>
11201
11202 PR c++/6119
11203 * final.c (final_start_function): Don't bump profile_label_no here...
11204 (final_end_function): ...but here.
11205
ffd386b0
JJ
112062002-04-04 Jakub Jelinek <jakub@redhat.com>
11207
11208 * config/sparc/sparc.md (pic): New attribute.
11209 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
11210 into stack slots.
11211 (split after do_builtin_setjmp_setup): New.
11212
8b156b3e
JJ
112132002-04-04 Jakub Jelinek <jakub@redhat.com>
11214
11215 PR fortran/6106
11216 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
11217 change.
11218
014c0998
JJ
112192002-04-04 Jakub Jelinek <jakub@redhat.com>
11220
11221 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
11222 UNITS_PER_WORD for zero sized aggregates.
11223
4d8611d9
DM
112242002-04-03 David S. Miller <davem@redhat.com>
11225
11226 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
11227 one-character spec for this, just use %(link_gcc_c_sequence).
11228
b03ad99d
DM
112292002-04-03 David S. Miller <davem@redhat.com>
11230
11231 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
11232 handling.
11233
823fbbce
JDA
112342002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
11235
11236 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
11237 (DWARF_FRAME_RETURN_COLUMN): Move.
11238 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11239 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
11240 * pa.c (except.h, predict.h): Include.
11241 (FRP): Delete.
11242 (store_reg_modify, set_reg_plus_d): Revise prototypes.
11243 (output_ascii): Add cast.
11244 (store_reg_modify): Revise to add frame notes.
11245 (set_reg_plus_d): Likewise.
11246 (compute_frame_size): Include space for eh data registers in frame if
11247 the current function calls eh_return.
11248 (hppa_expand_prologue): Ensure register %r2 is saved if the current
11249 function calls eh_return. Save eh data registers if the current
11250 function calls eh_return. Fix code to add frame notes. Emit
11251 blockage to prevent insns with frame notes being scheduled in the
11252 delay slot of calls.
11253 (hppa_expand_epilogue): Restore eh data registers and do final stack
11254 adjustment if the current function calls eh_return. Don't add frame
11255 notes.
11256 (output_call): Revise for change in length of call insn. Don't do
11257 return pointer adjustment for an unconditional jump in the delay slot
11258 of a call when using frame notes.
11259 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
11260 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
11261 (ARG_POINTER_CFA_OFFSET): Define.
11262 * pa.md (return_external_pic): New pattern.
11263 (prologue): Correct formatting. Use return_external_pic if current
11264 function calls eh_return.
11265 (call_internal_symref, call_value_internal_symref,
11266 sibcall_internal_symref, sibcall_value_internal_symref): Change default
11267 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
11268 respectively.
11269 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
11270
11271 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
11272 list of targets to check using "nop" insn.
11273 * configure: Rebuilt.
11274
4078e224
AM
112752002-04-04 Alan Modra <amodra@bigpond.net.au>
11276
11277 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
11278
bbd7687d
DM
112792002-04-03 David S. Miller <davem@redhat.com>
11280
11281 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
11282 library sequence passed to the linker.
11283 (LINK_COMMAND_SPEC): Use it.
11284 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
11285 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
11286 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
11287
659e5a7a
JM
112882002-04-03 Jason Merrill <jason@redhat.com>
11289
11290 * except.c (struct eh_status): Remove protect_list.
11291 (begin_protect_partials, end_protect_partials): Remove.
11292 (add_partial_entry): Remove.
11293 * except.h: Remove prototypes.
11294
11295 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
11296 expand_decl_cleanup_eh.
11297
11298 PR c++/5636
11299 * tree.h (CLEANUP_EH_ONLY): New macro.
11300 * stmt.c (expand_decl_cleanup_eh): New fn.
11301 (expand_cleanups): Check CLEANUP_EH_ONLY.
11302 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
11303 Use expand_decl_cleanup_eh.
11304 (expand_stmt): Adjust.
11305 * c-common.h: Adjust prototype.
11306
053d3344
HPN
113072002-04-04 Hans-Peter Nilsson <hp@axis.com>
11308
11309 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
11310 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
11311 (cris_target_asm_function_epilogue): Ditto.
11312 (cris_initial_frame_pointer_offset): Ditto.
11313 (cris_simple_epilogue): Ditto.
11314 (cris_expand_builtin_va_arg): Variable-size types come in
11315 by-reference.
11316
61ab5260
DM
113172002-04-03 David S. Miller <davem@redhat.com>
11318
11319 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
11320 little-endian.
11321 (set_fast_math): Correct 'fsr' type.
11322
ef4f94ac
RH
113232002-04-03 Richard Henderson <rth@redhat.com>
11324
36c2272c 11325 PR opt/3569
ef4f94ac
RH
11326 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
11327 * toplev.c (check_global_declarations): Use it.
11328 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
11329 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
11330 (LANG_HOOKS_DECLS): Add it.
11331 * langhooks.c (lhd_warn_unused_global_decl): New.
11332 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
11333 * c-objc-common.c (c_warn_unused_global_decl): New.
11334 * c-tree.h (c_warn_unused_global_decl): Declare.
11335 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
11336
599bba86
NB
113372002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
11338
11339 * langhooks-def.h (lhd_set_decl_assembler_name,
11340 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
11341 (LANG_HOOKS_INITIALIZER): Update.
11342 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
11343 * langhooks.h (struct lang_hooks): New hook.
11344 * tree.c (set_decl_assembler_name): Move to langhooks.c.
11345 (lang_set_decl_assembler_name): Remove.
11346 (init_obstacks): Don't set hook.
11347 (decl_assembler_name): New function.
11348 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
11349 (decl_assembler_name): New.
11350 (lang_set_decl_assembler_name): Remove.
11351
cf7b8b0d
JJ
113522002-04-03 Jakub Jelinek <jakub@redhat.com>
11353
11354 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
11355 works properly with .hidden symbols.
11356 * configure: Rebuilt.
11357 * config.in: Rebuilt.
11358 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
11359 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
11360 properly with .hidden symbols.
11361
faf6db38
JJ
113622002-04-03 Jakub Jelinek <jakub@redhat.com>
11363
11364 PR middle-end/6102
11365 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
11366 USE argument.
11367
68c17f30
RH
113682002-04-03 Richard Henderson <rth@redhat.com>
11369
11370 PR opt/4120
11371 * sched-rgn.c (sets_likely_spilled): New.
11372 (sets_likely_spilled_1): New.
11373 (add_branch_dependences): Use it.
11374
6584b4aa
RH
113752002-04-02 Richard Henderson <rth@redhat.com>
11376
11377 PR opt/4311
11378 * loop.h (LOOP_FIRST_PASS): New.
11379 * loop.c (strength_reduce): Mind it when deciding to unroll.
11380 * toplev.c (rest_of_compilation): Set it.
11381
0acf409f
DM
113822002-04-02 David S. Miller <davem@redhat.com>
11383
11384 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
11385 mems_ok_for_ldd_peep when the order of the loads being examined
11386 is reversed.
11387 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
11388 existing comment to increase comprehension of this situation.
11389
85654444
ZW
113902002-04-02 Zack Weinberg <zack@codesourcery.com>
11391
11392 * config/sh/sh.md: Don't use union real_extract.
11393
543828ca
RH
113942002-04-02 Richard Henderson <rth@redhat.com>
11395
11396 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
11397
39ed301b
DB
113982002-04-02 David O'Brien <obrien@FreeBSD.org>
11399
11400 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
11401 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
11402 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
11403 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
11404 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
11405 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
11406 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
11407 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
11408 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
11409 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
11410 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
11411 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
11412 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
11413 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
11414 Include as many configury headers via tm_file as possible. This
11415 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
11416 * config/openbsd-oldgas.h: New file.
11417 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
11418 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
11419 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
11420 config/i386/i386-coff.h, config/i386/i386-interix.h,
11421 config/i386/iscdbx.h, config/i386/linux-aout.h,
11422 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
11423 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
11424 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
11425 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
11426 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
11427 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
11428 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
11429 config/i386/vxi386.h: Do not directly include configury headers.
11430 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
11431 Directly include configury headers that are no longer automatically
11432 included by the above headers.
11433 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
11434 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
11435 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
11436 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
11437 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
11438 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
11439 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
11440 (TARGET_VERSION): Define.
11441 * config/i386/beos-elf.h, config/i386/freebsd.h,
11442 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
11443 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
11444 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
11445 config/i386/sco5.h, config/i386/sysv4.h
11446 (TARGET_VERSION): Do not need to protect.
11447 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
11448 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
11449 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
11450 config/i386/i386-interix.h, config/i386/linux-aout.h,
11451 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
11452 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
11453 (YES_UNDERSCORES): Do not define - not needed.
11454 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
11455 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
11456 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
11457 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
11458 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
11459 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
11460 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
11461 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
11462
9432c136
EB
114632002-04-02 Eric Botcazou <ebotcazou@multimania.com>
11464 Richard Henderson <rth@redhat.com>
11465
11466 PR c/5484
11467 * function.c (assign_temp): Accept either type or decl argument.
11468 Detect variables whose size is too large to fit into an integer.
11469 * stmt.c (expand_decl): Pass the decl, not the type.
11470
058b1275
DB
114712002-04-02 David O'Brien <obrien@FreeBSD.org>
11472
11473 * protoize.c: Match include directory usage with cppdefault.c.
11474
5add6d1a 114752002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 11476 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
11477
11478 * combine.c (simplify_comparison): Avoid narrowing a comparison
11479 with a paradoxical subreg when doing so would drop signficant bits.
11480
1e533e4b
SE
114812002-04-02 Steve Ellcey <sje@cup.hp.com>
11482
11483 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
11484 if POINTERS_EXTEND_UNSIGNED is defined.
11485
7a145e92
RH
114862002-04-02 Richard Henderson <rth@redhat.com>
11487
11488 PR opt/3967
11489 * local-alloc.c (contains_replace_regs): LO_SUM may contain
11490 replace regs.
11491
3a079822
RH
114922002-04-02 Richard Henderson <rth@redhat.com>
11493
11494 * doc/standards.texi: Document required freestanding libc entry points.
11495
c94ccb87
AM
114962002-04-02 Alan Modra <amodra@bigpond.net.au>
11497
11498 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
11499 associated splitter. Remove MQ constraint.
11500 (ctrdi_internal4): Correct CCmode clobber.
11501
fe660a1a
JDA
115022002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
11503
11504 * milli64.S ($$dyncall): New function.
11505 * t-linux (LIB1ASMFUNCS): Revise module list.
11506 (LIB1ASMSRC): Use pa/milli64.S.
11507
eadc0202
RH
115082002-04-02 Richard Henderson <rth@redhat.com>
11509
11510 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
11511 rename solaris_sys_varargs_h.
11512
a1471322
RK
11513Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11514
11515 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
11516 the same mode as its component.
11517
c8b94768
RH
115182002-04-02 Richard Henderson <rth@redhat.com>
11519
11520 PR opt/190
11521 * final.c (this_is_asm_operands): Export.
11522 * output.h (this_is_asm_operands): Declare.
11523 * config/i386/i386.c (print_operand): Error odd asm operands.
11524
161eb4fc
RH
115252002-04-02 Richard Henderson <rth@redhat.com>
11526
11527 PR opt/420
11528 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
11529
b88a94c6
RH
115302002-04-01 Richard Henderson <rth@redhat.com>
11531
11532 PR target/1538
11533 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
11534 * fixinc/fixincl.x: Rebuild.
11535
72e32876
RH
115362002-04-01 Richard Henderson <rth@redhat.com>
11537
11538 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
11539 (atomic_alloc, atomic_free): New.
11540 (SIZE, MASK_FOR, PTR_IN): New.
11541 (emergency_reg_state, emergency_reg_state_free): New.
11542 (emergency_labeled_state, emergency_labeled_state_free): New.
11543 (reg_state_alloced, labeled_state_alloced): New.
11544 (alloc_reg_state, free_reg_state): New.
11545 (alloc_label_state, free_label_state, free_label_states): New.
11546 (push, pop, dup_state_stack, free_state_stack): Use them.
11547 (desc_label_state): Likewise.
11548 (uw_frame_state_for): Free label states and state stack.
11549 (uw_update_reg_address): Eliminate warnings.
11550
84d76074
VM
115512002-04-01 Vladimir Makarov <vmakarov@redhat.com>
11552
11553 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 11554 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 11555
dffd7eb6
NB
115562002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
11557
11558 * c-decl.c (grokdeclarator): Update.
11559 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
11560 * c-tree.h (c_mark_addressable): New.
11561 * c-typeck.c (default_function_array_conversion, build_unary_op,
11562 build_array_ref, convert_for_assignment): Update.
11563 (mark_addressable): Rename.
11564 * calls.c (try_to_integrate, expand_call): Use langhook.
11565 * expr.c (expand_expr): Use langhook.
11566 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
11567 * langhooks.h (struct lang_hooks): New hook.
11568 * stmt.c (expand_asm_operands): Use langhook.
11569 * tree.h (mark_addressable): Remove.
11570objc:
11571 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
11572
544ef5b5
BW
115732002-04-01 Bob Wilson <bob.wilson@acm.org>
11574
9be40833
RH
11575 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
11576 in previous change.
544ef5b5 11577
bcf88f9b
BW
115782002-04-01 Bob Wilson <bob.wilson@acm.org>
11579
11580 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
11581 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
11582
ceef8ce4
NB
115832002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
11584
11585 * c-common.c (unsigned_conversion_warning, convert_and_check,
11586 unsigned_type, signed_type, shorten_compare,
11587 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
11588 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
11589 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
11590 New.
11591 * c-decl.c (grokdeclarator): Update.
11592 * c-format.c (check_format_types): Update.
11593 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
11594 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
11595 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
11596 * convert.c (convert_to_integer): Use new hooks.
11597 * expmed.c (make_tree): Use new hooks.
11598 * expr.c (store_expr): Use new hooks.
11599 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
11600 all_ones_mask_p, unextend, fold): Use new hooks.
11601 * langhooks.h (struct lang_hooks_for_types): New hooks.
11602 * tree.h (signed_or_unsigned_type, signed_type,
11603 unsigned_type): Remove.
11604objc:
11605 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
11606 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
11607
1d9ad0e0
RH
116082002-03-31 Richard Henderson <rth@redhat.com>
11609
11610 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
11611 (desc_frgr_mem): Fix reference to f16-f31.
11612
d544bc39
KG
116132002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11614
11615 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
11616 RTVEC_ELT): Const-ify.
d8750784
KG
11617 * varray.h (VARRAY_CHECK): Const-ify.
11618 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
11619 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 11620
b18101c7
NB
116212002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
11622
11623 * diagnostic.c: Include langhooks-def.h.
11624 * Makefile.in (diagnostic.o): Update.
11625
48a7a235
NB
116262002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
11627
11628 * c-common.c (c_unsafe_for_reeval): Rename.
11629 * c-common.h (c_unsafe_for_reeval): Rename.
11630 * c-decl.c (finish_incomplete_decl): Rename.
11631 (c_init_decl_processing): Don't set langhook.
11632 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
11633 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
11634 * c-objc-common.c (c_objc_common_init): Don't set langhook.
11635 * c-tree.h (finish_incomplete_decl): Rename.
11636 * langhooks-def.h (lhd_unsafe_for_reeval): New.
11637 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
11638 (LANG_HOOKS_INITIALIZER): Update.
11639 * langhooks.c (lhd_unsafe_For_reeval): New.
11640 * langhooks.h (struct langhooks): New hooks.
11641 * toplev.c (incomplete_decl_finalize_hook): Remove.
11642 (wrapup_global_declarations): Update.
11643 * tree.c (lang_unsafe_for_reeval): Remove.
11644 (unsafe_for_reeval): Update.
11645 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
11646 Remove.
11647objc:
11648 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
11649 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
11650
7cb32822
NB
116512002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
11652
11653 * diagnostic.c (print_error_function): Remove.
11654 (default_print_error_function): Rename.
11655 (report_error_function): Update.
11656 * diagnostic.h (print_error_function): Remove.
11657 (default_print_error_function): Remove.
11658 * langhooks-def.h (struct diagnostic_context): Predeclare.
11659 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
11660 (LANG_HOOKS_INITIALIZER): Update.
11661 * langhooks.h (struct diagnostic context): Predeclare.
11662 (struct lang_hooks): New hook.
11663
1db02437
FS
116642002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11665
11666 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
11667 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
11668 !flag_pic.
11669 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
11670 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
11671 of PIC_OFFSET_TABLE_REGNUM thruout.
11672 * config/rs6000/rs6000.md: Likewise.
11673 * config/rs6000/darwin.h: Likewise.
11674
3bf1e984
RK
11675Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11676
11677 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
11678 unsigned HOST_WIDE_INT, not unsigned int.
11679
0864c526
JJ
116802002-03-31 Jakub Jelinek <jakub@redhat.com>
11681
11682 PR middle-end/6096, middle-end/6098, middle-end/6099
11683 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
11684 CODE_LABELs.
11685 (fill_slots_from_thread): Likewise.
11686
105b2084
JJ
116872002-03-31 Jakub Jelinek <jakub@redhat.com>
11688
11689 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
11690 floating fields in float regs.
11691 (function_arg_record_value_2): Likewise.
11692
db08fddf
HPN
116932002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
11694
11695 * config/mmix/mmix.md (define_constants): Remove misleading
11696 FIXME. Add MMIX_fp_rO_OFFSET.
11697 ("nonlocal_goto_receiver"): Don't have stack-frame address of
11698 saved rO as part of the pattern. Remove FIXME.
11699 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
11700 here, at output-time.
11701
4f31cce8
JJ
117022002-03-31 Jakub Jelinek <jakub@redhat.com>
11703
11704 PR middle-end/6100
11705 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
11706 REG_BR_PRED.
11707 (output_v9branch): Likewise.
11708
ba2b7435
AO
117092002-03-31 Alexandre Oliva <aoliva@redhat.com>
11710
11711 * gcc.c: Revert previous patch for now.
11712 * config/i386/djgpp.h: Likewise.
11713
aa66aa5f 117142002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
11715
11716 * config/mmix/crti.asm (_init): Register _fini with atexit.
11717 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
11718
41ba8a20
RH
117192002-03-31 Richard Henderson <rth@redhat.com>
11720
11721 PR target/3997
11722 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
11723 (ASM_OUTPUT_DEF_FROM_DECLS): New.
11724
adc186ef
RH
117252002-03-31 Richard Henderson <rth@redhat.com>
11726
11727 * libgcc2.c (__bb_exit_func): Make static.
11728
9be40833 11729 * config/alpha/alpha.md (trap): New.
a7648399 11730
9602f5a0
RH
117312002-03-31 Richard Henderson <rth@redhat.com>
11732
11733 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
11734 promoted argument types; build trap.
11735 (expand_builtin_trap): New.
11736 (expand_builtin): Use it.
11737 * stmt.c (expand_nl_goto_receivers): Likewise.
11738 * expr.h (expand_builtin_trap): Declare.
11739 * libfuncs.h (LTI_abort, abort_libfunc): New.
11740 * optabs.c (init_optabs): Init abort_libfunc.
11741
1a0a7539
AO
117422002-03-31 Alexandre Oliva <aoliva@redhat.com>
11743
11744 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
11745 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 11746 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
11747 shared_name in the second copy.
11748 (init_spec): Test for duplicate
11749 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
11750
b5de1a27
DM
117512002-03-30 David S. Miller <davem@redhat.com>
11752
11753 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
11754 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
11755
78414d74 117562002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 11757 Richard Henderson <rth@redhat.com>
78414d74 11758
9be40833
RH
11759 * regmove.c (combine_stack_adjustments_for_block): Avoid
11760 emitting a stack adjustment of zero bytes. Let delete_insn
11761 update bb->head.
78414d74 11762
33074e5f
RH
117632002-03-30 Richard Henderson <rth@redhat.com>
11764
11765 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
11766 (sparc_emitting_epilogue): New.
11767 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
11768 * config/sparc/sparc-protos.h: Update.
11769 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
11770 (TARGET_SWITCHES): Update.
11771 * config/sparc/sparc.md (return): Remove.
11772 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
11773 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
11774 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
11775 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
11776 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
11777 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
11778 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
11779 Remove MASK_EPILOGUE.
11780 * doc/invoke.texi: Update.
11781
606cc056
DB
117822002-03-30 Daniel Berlin <dan@dberlin.org>
11783
11784 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
11785 CPP will start the file for us.
7b2e1077 11786
bdbe5b8d
RH
117872002-03-30 Richard Henderson <rth@redhat.com>
11788
11789 PR target/5446
11790 * config/ia64/ia64.c (group_barrier_needed_p): Special case
11791 prologue_allocate_stack.
11792 (ia64_single_set): Use insn codes for recognition of special
11793 cases, not rtl matching.
11794 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
11795
4ab95d82
JH
11796Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
11797
11798 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
11799
89a8b315
RH
118002002-03-30 Richard Henderson <rth@redhat.com>
11801
11802 PR target/6032
11803 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
11804 or -fomit-frame-pointer with profiling.
11805 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11806 (FUNCTION_PROFILER): Do nothing.
11807 (PROFILE_HOOK): New.
11808 * config/sparc/sparc.c (sparc_override_options): Don't check
11809 code models for profiling.
11810 (sparc_function_profiler): Remove.
11811 (sparc_profile_hook): New.
11812 * config/sparc/sparc-protos.h: Update.
11813
30984c57
JJ
118142002-03-30 Jakub Jelinek <jakub@redhat.com>
11815
11816 PR optimization/6086
11817 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
11818 of SUBREG of volatile MEM or because the MEM was mode dependent,
11819 return CLOBBER instead of unmodified SUBREG.
11820
1540f9eb
JH
11821Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
11822
89a8b315
RH
11823 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
11824 when not optimizing.
1540f9eb
JH
11825
11826 * toplev.c (rest_of_compilation): Cann mark_constant_function
11827 only when optimizing.
11828
89a8b315
RH
11829 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
11830 are NULL.
1540f9eb
JH
11831
11832 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
11833 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
11834 (try_optimize_cfg): clear all AUX fields.
11835
11836 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
11837 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
11838 (ix86_address_cost): Be prepared for SUBREGed registers.
11839 (legitimate_address_p): Accept SUBREGed registers.
11840
70d95bac
RH
118412002-03-29 Richard Henderson <rth@redhat.com>
11842
11843 PR target/5672
11844 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
11845
d3294cd9
FS
118462002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11847
11848 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
11849 for aggregate and TFmode types.
11850
a106c875
HPN
118512002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
11852
11853 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
11854
7d7a5d6f
RH
118552002-03-29 Richard Henderson <rth@redhat.com>
11856
6e2d670b 11857 PR target/5886
7d7a5d6f
RH
11858 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
11859 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
11860
30c99a84
RH
118612002-03-29 Richard Henderson <rth@redhat.com>
11862
6e2d670b 11863 PR target/6041
30c99a84
RH
11864 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
11865 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
11866 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
11867 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
11868 conditional.
11869 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
11870
02a566dc
DJ
118712002-03-29 Dale Johannesen <dalej@apple.com>
11872
11873 * loop.c (combine_movables): Do allow combination of pseudos.
11874
bc3a44db
LR
118752002-03-29 Loren J. Rittle <ljrittle@acm.org>
11876
11877 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
11878 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
11879 No functional change except ...
11880 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
11881 * doc/install.texi (*-*-freebsd*): Document port configuration.
11882
b0c48229
NB
118832002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
11884
11885 * Makefile.in (convert.o, calls.o, expmed.o): Update.
11886 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
11887 Use new hooks.
11888 * builtin-types.def (BT_PTRMODE): Update.
11889 * c-common.c (type_for_size): Rename c_common_type_for_size.
11890 (type_for_mode): Similarly.
11891 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
11892 Use new hook.
11893 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
11894 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
11895 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
11896 Redefine.
11897 * c-typeck.c (common_type, comptypes, default_conversion):
11898 Use new hooks.
11899 * calls.c: Include langhooks.h.
11900 (emit_library_call_value_1): Use new hooks. Avoid redundant
11901 calls.
11902 * convert.c: Include langhooks.h
11903 (convert_to_pointer, convert_to_integer): Use new hooks.
11904 * except.c (init_eh): Similarly.
11905 * expmed.c: Include langhooks.h.
11906 (expand_mult_add): Use new hooks.
11907 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
11908 try_casesi): Similarly.
11909 * fold-const.c (optimize_bit_field_compare, make_range,
11910 decode_field_reference, fold_truthop, fold): Similarly.
11911 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
11912 put_var_into_stack): Similarly.
11913 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
11914 LANG_HOOKS_TYPE_FOR_SIZE): New.
11915 (LANG_HOOKS_TYPES_INITIALIZER): Update.
11916 * langhooks.h (lang_hooks_for_types): New hooks.
11917 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
11918 * tree.c (get_unwidened, get_narrower): Similarly.
11919 * tree.h (type_for_mode, type_for_size): Remove.
11920 * varasm.c (force_const_mem): Use new hooks.
11921 * utils2.c (nonbinary_modular_operation): Update.
11922objc:
11923 * objc-act.c (handle_impent): Update.
11924 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
11925 Redefine.
11926
e206a74f
SE
119272002-03-29 Steve Ellcey <sje@cup.hp.com>
11928
11929 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
11930 * config/ia64/ia64.c (basereg_operand): New.
11931 * config/ia64/ia64-protos.h (basereg_operand): Declare.
11932 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
11933
7d9b6378
HPN
119342002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
11935
11936 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
11937 unwind information when frame_pointer_needed.
11938 (mmix_assemble_integer): Tweak wording in comment.
11939
f1e639b1
NB
119402002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
11941
11942 * Makefile.in (except.o): Update.
11943 * except.c: Include langhooks.h.
11944 (init_eh): Use langhook.
11945 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
11946 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
11947 (LANG_HOOKS_INITIALIZER): Update.
11948 * langhooks.h (lang_hooks_for_types): New.
11949 (struct lang_hooks): Add it.
11950 * tree.c (make_lang_type_fn, make_lang_type): Remove.
11951 * tree.h (make_lang_type_fn, make_lang_type): Remove.
11952config:
11953 * alpha/alpha.c: Include langhooks.h.
11954 (alpha_build_va_list): Use langhook.
11955 * d30v/d30v.c: Include langhooks.h.
11956 (d30v_build_va_list): Use langhook.
11957 * i386/i386.c: Include langhooks.h.
11958 (ix86_build_va_list): Use langhook.
11959 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
11960 * s390/s390.c: Include langhooks.h.
11961 (s390_build_va_list): Use langhook.
11962 * stormy16/stormy16.c: Include langhooks.h.
11963 (stormy16_build_va_list): Use langhook.
11964
f17f9332
JJ
119652002-03-29 Jakub Jelinek <jakub@redhat.com>
11966
11967 PR c++/5964
11968 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
11969 attributes.
11970 (length): Compute variable length for branches/calls/jumps here.
11971 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
11972 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
11973 define branch_type attribute.
11974 (divsi3_sp32): Maximum length is 6 not 7.
11975 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
11976 call_address_untyped_struct_value_sp32,
11977 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
11978 * config/sparc/sparc.c (empty_delay_slot): New function.
11979 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
11980 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
11981
0a0440c9
JJ
119822002-03-29 Jakub Jelinek <jakub@redhat.com>
11983
11984 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
11985 nonzero_bits if not needed.
11986 (nonzero_bits) [XOR]: Likewise.
11987 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
11988 reg_last_set_mode and mode are both MODE_INT, but not equal.
11989 (record_value_for_reg): Compute reg_last_set_nonzero_bits
11990 in nonzero_bits_mode for MODE_INT modes.
11991
c9045f47
RH
119922002-03-28 Richard Henderson <rth@redhat.com>
11993
11994 PR target/5715
11995 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
11996 to GAS. Correct drift between alternatives.
11997
f8ed1958
RH
119982002-03-28 Richard Henderson <rth@redhat.com>
11999
12000 PR target/6087
12001 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
12002
54e20385
LR
120032002-03-28 Alexandre Oliva <aoliva@redhat.com>
12004
12005 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
12006 emulation to the linker.
12007
120082002-03-28 Loren J. Rittle <ljrittle@acm.org>
12009
12010 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
12011 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
12012
8bc52806
JL
12013Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
12014
12015 * combine.c (simplify_and_const_int): Make sure to apply mask
12016 when force_to_mode returns a constant integer. PR3311.
12017
279dccc5
JDA
120182002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
12019
12020 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
12021
62aaa62c
GP
120222002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12023
12024 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
12025 and Objective-C Dialect Options.
12026
b8de5050
RH
120272002-03-28 Richard Henderson <rth@redhat.com>
12028
12029 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
12030 comparison should be done vs !=0 not >0 return code. Tidy cases.
12031
619708cc
RH
120322002-03-28 Richard Henderson <rth@redhat.com>
12033
12034 * c-decl.c (finish_function): New arg can_defer_p. Pass it
12035 on to c_expand_body.
12036 * c-tree.h (finish_function): Update decl.
12037 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
12038
b1d874d7
JH
12039Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
12040
12041 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
12042
f5eb5fd0
JH
12043Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
12044
12045 * rtlanal.c: Include flags.h
12046 (may_trap_p): Do not mark FP operations if trapping
12047 if !flag_trapping_math
12048 * Makefile.in (rtlanal.o): Add dependency on flag.h
12049 * ifcvt.c (noce_operand_ok): Avoid the lameness.
12050
81b4c798
ZW
120512002-03-27 Zack Weinberg <zack@codesourcery.com>
12052
12053 * mips.md: Use dconst1, not 1.0, as first argument of
12054 REAL_VALUE_LDEXP. Don't use union real_extract.
12055
55a2ea2a
AM
120562002-03-28 Alan Modra <amodra@bigpond.net.au>
12057
12058 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
12059 rather than $target. Heed program_prefix and
12060 program_transform_name. Search for gas in cross-compiler case too.
12061 "test -x" rather than "test -f".
12062 (gcc_cv_ld): Likewise.
12063 (gcc_cv_nm): Heed program_prefix and program_transform_name.
12064 (gcc_cv_objdump): Likewise.
12065 * configure: Regenerate.
12066
7ffb4fd2
NB
120672002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
12068
12069 * Makefile.in (attribs.o): Update.
12070 * attribs.c: Include langhooks.h.
12071 (decl_attributes): Use langhook.
12072 * c-decl.c (insert_default_attributes): Rename.
12073 * c-tree.h (c_insert_default_attributes): New.
12074 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
12075 (LANG_HOOKS_INITIALIZER): Update.
12076 * langhooks.h (struct lang_hooks): New hook.
12077 * tree.h (insert_default_attributes): Remove.
12078objc:
12079 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
12080
e4dbaed5
AS
120812002-03-27 Andreas Schwab <schwab@suse.de>
12082
12083 * config/i386/i386.c (classify_argument): Also check for
12084 QUAL_UNION_TYPE.
12085
18b467f1
RO
120862002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12087
12088 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
12089 any more.
12090
d337d653
JH
12091Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
12092
12093 * i960.md (ret): Set PC.
12094 (nonlocal_goto): Fix expander.
12095 * builtins.c (epxand_builin_longjmp): Check that we've emitted
12096 some jump or call.
12097
218aa620
JH
12098Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
12099
12100 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
12101 of libcall regions.
12102
e27a4eaf
ZD
12103Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12104
12105 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
12106 assigning to BLOCK_FOR_INSN directly.
12107
8a12f34c
JH
12108Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
12109
12110 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
12111
c9d892a8
NB
121122002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
12113
12114 * c-common.c (c_expand_expr): Fix prototype.
12115 * c-common.h (c_expand_expr): Always declare, update.
12116 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
12117 * c-objc-common.c (c_objc_common_init): No global hook.
12118 * expr.c (expand_expr): Use langhook.
12119 * expr.h (enum expand_modifier): Conditionally declare.
12120 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
12121 (LANG_HOOKS_INITIALIZER): Update.
12122 * langhooks.c (lhd_expand_expr): New.
12123 * langhooks.h (struct lang_hooks): New hook.
12124 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
12125 (lang_independent_init): Don't default hook.
12126objc:
12127 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
12128
6dad5a56
RH
121292002-03-27 Richard Henderson <rth@redhat.com>
12130
12131 PR target/6054
12132 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
12133 TARGET_CONST_GP. Simplify conditions.
12134
59f96879
RH
121352002-03-27 Richard Henderson <rth@redhat.com>
12136
12137 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
12138 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
12139 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
12140
f3f1190d
DS
121412002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
12142
12143 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
12144 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
12145 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
12146 Remove unnecessary masks.
12147 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
12148 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
12149 -mwindows, -mdll switches and their negations.
12150
31c816cf
NB
121512002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
12152
12153 * gcc-common.c (lang_mark_false_label_stack): Remove.
12154 * ggc.h (lang_mark_false_label_stack): Similarly.
12155
7b2e1077 121562002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
12157
12158 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
12159
12160 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
12161 or __rtems_ is defined.
12162
1ef9531b
RH
121632002-03-26 Richard Henderson <rth@redhat.com>
12164
12165 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
12166 if a non-trivial load was emitted.
12167 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
12168 in high+extra+low case.
12169
300d4093
RH
121702002-03-26 Richard Henderson <rth@redhat.com>
12171
12172 * config.gcc (sparc*-solaris): Use float_format=sparc.
12173
b3689904
RH
121742002-03-26 Richard Henderson <rth@redhat.com>
12175
12176 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
12177 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
12178 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
12179 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
12180 (WINT_TYPE_SIZE): Fix at 32.
12181
1eefb6c1
RH
121822002-03-26 Richard Henderson <rth@redhat.com>
12183
12184 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
12185 until after eh landing pad generation.
12186 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
12187 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
12188
361ea006
RH
121892002-03-26 Richard Henderson <rth@redhat.com>
12190
12191 * expr.h (ADD_PARM_SIZE): One more convert for INC.
12192
1de38a88
PE
121932002-03-26 Phil Edwards <pme@gcc.gnu.org>
12194
12195 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
12196 and warning switches.
12197 (cc1_options): Likewise.
12198
d7e60e95 121992002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 12200
d7e60e95
HB
12201 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
12202 Restore more of the signal context. Set no_reg_stack_frame.
12203 * config/ia64/unwind-ia64.c (unw_state_record):
12204 Add no_reg_stack_frame, comments.
12205 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
12206 (uw_update_context): Adjust bsp when unwinding from leaf,
12207 but not signal frame.
12208
7032923b
DE
122092002-03-26 David Edelsohn <edelsohn@gnu.org>
12210
12211 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
12212
8be56275
BW
122132002-03-26 Bob Wilson <bob.wilson@acm.org>
12214
12215 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
12216
56fbb855
RE
122172002-03-26 Richard Earnshaw <rearnsha@arm.com>
12218
12219 PR target/5621
12220 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
12221 "Add a pool_range attribute", which was lost during the ARM/Thumb
12222 merge.
12223
3437320b
BW
122242002-03-26 Bob Wilson <bob.wilson@acm.org>
12225
12226 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
12227 a register into the MAC16 accumulator.
12228
173028e5
AC
122292002-03-26 Andrew Cagney <ac131313@redhat.com>
12230
12231 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
12232 (Warning Options): Document -Wswitch-enum.
12233 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
12234 -Wswitch.
12235 (warn_switch_enum): Define variables.
12236 * flags.h (warn_switch_enum): Declare variables.
12237 * stmt.c (expand_end_case_type): When warn_switch_enum /
12238 -Wswitch-enum, perform switch checks.
12239 Fix PR c/5044.
7b2e1077 12240
e14365a7
RE
122412002-03-26 Richard Earnshaw <rearnsha@arm.com>
12242
12243 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
12244 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
12245 (reload_muladdsi_compare0_scratch): Delete.
12246
46fc709d
LR
122472002-03-26 Loren J. Rittle <ljrittle@acm.org>
12248
12249 * doc/install.texi (*-*-freebsd*): Update.
12250
f36dea3c
RH
122512002-03-26 Richard Henderson <rth@redhat.com>
12252
8e5fe23f
RH
12253 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
12254 (SUB_PARM_SIZE): Cast DEC to ssizetype.
12255
12256 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
12257 types from the normal argument frame.
12258
f36dea3c
RH
12259 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
12260 variable sized objects by reference.
12261 (sparc_va_arg): Receive them by reference too.
12262
1447dc69
HP
122632002-03-26 Hartmut Penner <hpenner@de.ibm.com>
12264
12265 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 12266 code to not restoring global registers.
1447dc69 12267
4f0ade92
NB
122682002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
12269
12270 * Makefile.in (ggc-common.o): Update.
12271 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
12272 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
12273 * c-tree.h (c_mark_tree): New.
12274 * ggc-common.c: Include langhooks.h.
12275 (gcc_mark_trees): Use new langhook.
12276 * ggc-callbacks.c: Delete file.
12277 * ggc.h (lang_mark_tree): Remove.
12278 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
12279 (LANG_HOOKS_INITIALIZER): Update.
12280 * langhooks.h (struct lang_hooks): New hook.
12281objc:
12282 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
12283
caba570b
ZW
122842002-03-25 Zack Weinberg <zack@codesourcery.com>
12285
12286 * doc/cpp.texi: Exclude entire Top node from printed manual.
12287 Move option index after directive index. Insert page breaks
12288 before GFDL and concept index. Index environment variables
12289 with command line options.
12290 * doc/cppenv.texi: Use @vtable for environment variable list.
12291 Add paragraph explaining semantics of empty elements in path
12292 variables. Exclude a cross-reference to Fishkill from the
12293 manpage. Remove an unnecessary cross-reference of the entry
12294 right above the referer. Don't use @anchor in text that goes
12295 into manpage.
12296 * doc/cppopts.texi: Cross-reference the environment variables
12297 section, not the specific environment variable, for consistency.
12298
6b2e80b7
RH
122992002-03-25 Richard Henderson <rth@redhat.com>
12300
12301 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
12302 anywhere in the block. Don't refer to insns that have been
12303 removed from the chain. Iterate backward through the new insns.
12304 Don't refer to edges that have been removed.
12305
67e469d7
AM
123062002-03-26 Alan Modra <amodra@bigpond.net.au>
12307
12308 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
12309 test for overflow of constant.
12310
f2356393
RE
123112002-03-25 Richard Earnshaw <rearnsha@arm.com>
12312
12313 PR target/2623
12314 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
12315 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
12316 these patterns on arm_archv4.
12317
355426ab
DS
123182002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
12319
12320 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
12321 int".
12322
15e5ad76
ZW
123232002-03-25 Zack Weinberg <zack@codesourcery.com>
12324
12325 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
12326 float_handled, float_handler, float_signal, set_float_handler,
12327 and do_float_handler. Set handler for SIGFPE to crash_signal.
12328 * toplev.h: Don't prototype do_float_handler.
12329
12330 * c-lex.c: Fold parse_float into lex_number. Make warning
12331 about portability of hex float constants more informative, and
12332 don't issue it on top of a syntax error.
12333 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
12334 their callers.
12335 * real.h: Define REAL_VALUE_ABS here...
12336 * simplify-rtx.c: ... not here. Fold check_fold_consts,
12337 simplify_unary_real, simplify_binary_real, and
12338 simplify_binary_is2orm1 into their callers.
12339 * tree.c: Fold build_real_from_int_cst_1 into caller.
12340
12341 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
12342
12343 * tsystem.h: Include float.h here...
12344 * libgcc2.c: ... not here.
12345
56ae9405
NC
123462002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
12347
12348 Fixes for: PR bootstrap/3591, target/5676
12349 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
12350 defined. Do not disable exceptions or rtti.
12351 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
12352 mcore.h. Disable exceptions and rtti, since they are not
12353 supported by EPOC.
12354
c88770e9
NB
123552002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
12356
12357 * c-decl.c (maybe_build_cleanup): Remove.
12358 * expr.c (expand_expr): Use langhook.
12359 * langhooks-def.h (lhd_return_null_tree,
12360 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
12361 (LANGHOOKS_INITIALIZER): Update.
12362 * langhooks.c (lhd_return_null_tree): New.
12363 * langhooks.h (struct lang_hooks): New hook.
12364 * tree-inline.c (initialize_inlined_parameters): Use langhook.
12365 * tree.h (maybe_build_cleanup): Remove.
12366
2ed1f154
JJ
123672002-03-25 Jakub Jelinek <jakub@redhat.com>
12368
12369 * regrename.c (build_def_use): Move recog_memoized
12370 before extract_insn.
12371
6ddae612
JJ
123722002-03-25 Jakub Jelinek <jakub@redhat.com>
12373
12374 PR target/6043
12375 * expr.c (emit_group_store): Handle storing into CONCAT.
12376
ea475b23
JJ
123772002-03-25 Jakub Jelinek <jakub@redhat.com>
12378
12379 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
12380 corresponding MATCH_DUP.
12381
e7d482b9
RH
123822002-03-24 Richard Henderson <rth@redhat.com>
12383
cd39fc13
RH
12384 * unroll.c (unroll_loop): Zero label_map.
12385
e7d482b9
RH
12386 * gcse.c: Include except.h.
12387 * Makefile.in (gcse.o): Update.
12388
1bd6476f
RH
123892002-03-24 Richard Henderson <rth@redhat.com>
12390
12391 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
12392 Do resolve_unique_section before shared data clause.
12393
2e6c150a
RH
123942002-03-24 Richard Henderson <rth@redhat.com>
12395
12396 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
12397
b29afcf8
RH
123982002-03-24 Richard Henderson <rth@redhat.com>
12399
15e5ad76 12400 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
12401 generated in the middle of a block. Do global life update if
12402 zapped EH edges.
12403
05ed1296
RH
124042002-03-24 Richard Henderson <rth@redhat.com>
12405
12406 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
12407
3ddbb8a9
NB
124082002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
12409
12410 preprocessor/3951
15e5ad76 12411 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
12412 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
12413 (init_dependency_output): Don't make no_output decision here.
12414
740b77b6
AC
124152002-03-24 Andrew Cagney <ac131313@redhat.com>
12416
12417 * stmt.c (check_for_full_enumeration_handling): Remove tests of
12418 warn_switch. Update description.
12419 (expand_end_case_type): Call check_for_full_enumeration_handling
12420 when warn_switch.
12421
7590cfd0
SC
124222002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12423
12424 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
12425 (m68hc11_split_move): Call it to see if the source and destination
12426 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 12427 source an offsetable memory operand and generate an add.
7590cfd0 12428
2e3d3481
SC
124292002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12430
12431 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
12432 register for operand 2.
12433 ("*subsi3_zero_extendqi"): Likewise.
12434 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
12435 bits so that it is compatible with a pop.
12436 ("*andhi3_gen"): Likewise.
12437 ("xorhi3"): Likewise.
12438
2784528c
NB
124392002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
12440
12441 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
12442 -pedantic here...
12443 (cpp_post_options): ... not here.
12444
aaf93206
NB
124452002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
12446 Aldy Hernandez <aldyh@redhat.com>
12447
12448 Removal of separate preprocessor cpp0.
12449
12450 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
12451 cpp0, install-common): Update.
12452 * c-common.c (flag_preprocess_only): New.
12453 (c_common_init): Preprocess for -E.
12454 * c-common.h (flag_preprocess_only): New.
12455 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
12456 * c-objc-common.c (c_init_decl_processing): Exit quickly
12457 for NULL return from c_common_init.
12458 * cpplib.h (cpp_preprocess_file): New.
12459 * cppmain.c (main, general_init, pfile, progname): Remove.
12460 (do_preprocessing): Rename cpp_preprocess_file, don't call
12461 cpp_finish. Don't close stdout here.
12462 (setup_callbacks): Update prototype.
12463 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
12464 Update.
12465 * tradcpp.c (main): Ignore -quiet.
12466objc:
12467 * lang-specs.h (default_compilers): Preprocess with cc1obj.
12468
c6e6f5c1
RH
124692002-03-24 Richard Henderson <rth@redhat.com>
12470
12471 PR optimization/5742
12472 * machmode.def: Add inner mode field to complex modes.
12473 * config/mips/mips.c (mips_function_value): Always define. Add
12474 new argument to handle libcalls.
12475 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
12476 (FUNCTION_VALUE): Likewise.
12477 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
12478 * config/mips/mips-protos.h: Update.
12479
d88e57d1
RH
124802002-03-23 Richard Henderson <rth@redhat.com>
12481
12482 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
12483 * config/sparc/sparc-protos.h: Update.
12484 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
12485
6dfaf9ba
RH
124862002-03-23 Richard Henderson <rth@redhat.com>
12487
12488 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
12489 _start or _init begins the text segment.
12490
0c769cf8
DE
124912002-03-23 David Edelsohn <edelsohn@gnu.org>
12492
12493 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
12494 not HOST_WIDEST_INT.
12495 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
12496
64e92a26
RE
124972002-03-23 Richard Earnshaw <rearnsha@arm.com>
12498
12499 PR java/5489
12500 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
12501 operand argument to output_return_instruction.
15e5ad76 12502 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
12503 const_true_rtx then just return.
12504 (arm_print_operand, case 'D'): If the operand is const_true_rtx
12505 then abort.
12506
d6961341
AC
125072002-03-23 Andrew Cagney <ac131313@redhat.com>
12508
12509 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
12510 (Warning Options): Document -Wswitch-default.
12511 * toplev.c (W_options): Add -Wswitch-default. Update comment on
12512 -Wswitch.
12513 (warn_switch_default): Define variable.
12514 (warn_switch): Update comment.
12515 * flags.h (warn_switch_default): Declare variable.
12516 (warn_switch): Update comment.
12517 * stmt.c (expand_end_case): Check for and, when
12518 warn_switch_no_default, warn of a missing default case.
15e5ad76 12519
d4c5ac1f
AM
125202002-03-23 Alan Modra <amodra@bigpond.net.au>
12521
bbaa9790
AM
12522 * real.h (N): Special case 128 bit doubles.
12523
d4c5ac1f
AM
12524 * combine.c (simplify_comparison): When widening modes, ignore
12525 sign extension on CONST_INTs.
12526
84bf8c2c
BW
125272002-03-22 Bob Wilson <bob.wilson@acm.org>
12528
12529 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
12530 passed to adjust_address. Fix comment formatting.
12531
12532
b216cd4a
ZW
125332002-03-22 Zack Weinberg <zack@codesourcery.com>
12534
12535 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
12536 Always make REAL_VALUE_TYPE a struct containing an array of
12537 HOST_WIDE_INT, not a double. Tidy up the code deciding how
12538 big it is. Don't declare or use union real_extract.
12539
12540 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
12541 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
12542 (print_operand), config/arm/arm.c (output_move_double),
12543 config/arm/arm.md (consttable_4, consttable_8),
12544 config/romp/romp.c (output_fpops), config/s390/s390.h
12545 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
12546 (xtensa_output_literal): Don't use union real_extract.
12547
12548 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
12549 (sfmode_constant_to_ulong), config/ns32k/merlin.h
12550 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
12551 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
12552 (PRINT_OPERAND): Don't use local version of union
12553 real_extract.
12554
12555 * config/convex/convex.c (check_float_value), config/vax/vax.c
12556 (vax_float_literal), config/m88k/m88k.md (divdf3),
12557 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
12558 config/pdp11/pdp11.c (output_move_quad): Don't do host
12559 arithmetic on target floating point quantities.
12560
12561 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
12562 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
12563
12564 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
12565 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
12566
12567 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
12568 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
12569 INFINITY.
12570 * print-rtl.c (print_rtx): Disable code which needs
12571 floating-point emulator.
12572 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
12573 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
12574 depending on HOST_FLOAT_FORMAT to be defined properly.
12575
12576 * config/1750a/1750a.c (get_double, float_label): Delete.
12577 (print_operand): Delete huge commented-out chunk. Use
12578 REAL_VALUE_TO_DECIMAL.
12579 * config/1750a/1750a-protos.h: Delete prototypes of deleted
12580 functions.
12581 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
12582 IEEE_FLOAT_FORMAT.
12583 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
12584 Use REAL_VALUE_TO_DECIMAL as ELF version does.
12585 * config/m88k/m88k.c (real_power_of_2_operand,
12586 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
12587 real_extract out of the union; run the input through
12588 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
12589 from that into the union.
12590 * config/pdp11/pdp11.c (output_move_double): Rearrange
12591 parentheses to make automatic indenter happy.
12592
12593 * doc/tm.texi (Cross-compilation): Rename node to "Floating
12594 Point" and rewrite to describe current situation. Also adjust
12595 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
12596 match code.
12597 * doc/rtl.texi: Adjust cross reference.
12598
a8cacfd2
BW
125992002-03-22 Bob Wilson <bob.wilson@acm.org>
12600
12601 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
12602 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
12603 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
12604 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
12605 prevent use of sp as a reload register.
12606 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
12607 non_acc_reg_operand.
12608 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
12609 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
12610 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
12611 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
12612
d4e6133f
NB
126132002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
12614
b216cd4a
ZW
12615 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
12616 * cpplex.c (unterminated): Delete.
12617 (parse_string): No string literal may extend over multiple
12618 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
12619 * cppmain.c (scan_translation_unit): Strings are single-line.
12620
b216cd4a 12621 * doc/cpp.texi: Update to match.
d4e6133f 12622
65e6c005
JJ
126232002-03-22 Jakub Jelinek <jakub@redhat.com>
12624
12625 PR optimization/5854
12626 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
12627 Shut up warnings.
12628 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
12629 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
12630 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
12631 const0 if scratch register was not allocated.
12632 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
12633 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
12634 with GEN_INT (...).
12635 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
12636 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
12637 with GEN_INT (...) everywhere. Remove constraints in define_split
12638 patterns.
12639 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
12640 require scratch register for setting 0 into regs/non-pushable memory.
12641
7f48c9e1
AO
126422002-03-22 Alexandre Oliva <aoliva@redhat.com>
12643
12644 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
12645 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
12646
909de5da
PE
126472002-03-22 Phil Edwards <pme@gcc.gnu.org>
12648
12649 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
12650 * cppinit.c (cpp_create_reader): On by default.
12651 (cpp_handle_option): Handle -W[no-]endif-labels.
12652 (cpp_post_options): Also enable if -pedantic.
12653 * cpplib.c (do_else): Use it.
12654 (do_endif): Likewise.
12655 * doc/cppopts.texi: Document new option.
12656 * doc/invoke.texi: Document new option.
12657
d8bf17f9
LB
126582002-03-22 Lars Brinkhoff <lars@nocrew.org>
12659
12660 * config/i386/i386.c, config/i386/i386.md: Change all occurences
12661 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
12662
70e0ccd0
AO
126632002-03-22 Alexandre Oliva <aoliva@redhat.com>
12664
12665 * flow.c (calculate_global_regs_live): Clear aux fields of
12666 ENTRY and EXIT.
12667
68882f0f
JJ
126682002-03-22 Jakub Jelinek <jakub@redhat.com>
12669
12670 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
12671 REG or MEM subregs, pass rtx * instead of rtx to it.
12672 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
12673 rtx * instead of rtx to alter_subreg.
12674 * config/m32r/m32r.c (gen_split_move_double): Likewise.
12675 * config/pj/pj.c (pj_output_rval): Likewise.
12676
648fe28b
RH
126772002-03-22 Richard Henderson <rth@redhat.com>
12678
12679 PR target/3177
12680 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
12681 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
12682 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
12683 (ia64_expand_prologue): Look at int_regs, not words, for number
12684 of incomming int regs.
12685
e8dcd824
AM
126862002-03-22 Andrew MacLeod <amacleod@redhat.com>
12687
12688 * expr.c (expand_expr): A RESULT_DECL is part of a call.
12689
96327cdc
JH
12690Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
12691
12692 * toplev.c (flag_loop_optimize, flag_crossjumping):
12693 New static variables.
12694 (rest_of_compilation): Conditionalize crossjumping and
12695 loop optimizer.
12696 (parse_options_and_default_flags): Default loop_optimize and
12697 crossjumping.
12698 (lang_independent_options): Add -fcrossjumping and -floop-optimize
12699 * invoke.texi (crossjumping, loop-optimize): Document.
12700
bc185257
RS
127012002-03-22 Richard Sandiford <rsandifo@redhat.com>
12702
12703 * real.c (eiisneg): Move outside #ifdef NANS.
12704
0a2ed1f1
JH
12705Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
12706
12707 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
12708 frequencies match; avoid match on different loop depths.
12709 (try_crossjump_to_bb): Kill tests that no longer brings time
12710 savings.
12711 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
12712 updating code.
12713 (split_edge): Likewise.
12714
12715 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
12716 variable.
12717
12718 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
12719 * cfgrtl.c: Include insn-config.h
12720 (split_block) Dirtify block in presence of conditional execution
12721
4d72536e
RS
127222002-03-22 Richard Sandiford <rsandifo@redhat.com>
12723
12724 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
12725 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
12726 (function_arg): Constify CUMULATIVE_ARGS.
12727 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
12728 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
12729 (UNITS_PER_DOUBLE): New macro.
12730 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
12731 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
12732 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
12733 fp_regs and stack_words.
12734 (EABI_FLOAT_VARARGS_P): New macro.
12735 * config/mips/mips.c (struct mips_arg_info): New.
12736 (mips_arg_info): New function.
12737 (function_arg_advance): Use it. Add adjustment instructions here
12738 rather than in function_arg.
12739 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
12740 for VOIDmode at the beginning of the function.
12741 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
12742 (function_arg_pass_by_reference): Likewise.
12743 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
12744 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
12745 (mips_va_start): Likewise. Use the new stack_words field of
12746 CUMULATIVE_ARGS to set up overflow area. Reformat.
12747 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
12748 doubles and other types, aligning the overflow pointer for non-doubles
12749 too. Remove some code duplication. Replace hard-coded constants.
12750
e6f884cd
RS
127512002-03-22 Richard Sandiford <rsandifo@redhat.com>
12752
12753 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
12754 (CLASS_UNITS): Undefine.
12755 (CLASS_MAX_NREGS): Use FP_INC.
12756 * config/mips/mips.c (compute_frame_size): Likewise.
12757 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
12758
10cf9bde
NB
127592002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
12760
12761 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
12762 prototype, and handle lexing numbers and identifiers.
12763 (parse_identifier): Update to new form of parse_slow.
12764 (parse_number): Fast path only, use parse_slow otherwise.
12765 (_cpp_lex_direct): Update calls to parse_number.
12766
fbc2782e
DD
127672002-03-21 DJ Delorie <dj@redhat.com>
12768
12769 * bb-reorder.c (make_reorder_chain_1): Protect against
12770 when redundant edges are omitted.
12771 * predict.c (dump_prediction): Likewise.
12772
fba39eaf
RH
127732002-03-21 Richard Henderson <rth@redhat.com>
12774
12775 PR target/5996
12776 * fixinc/inclhack.def (solaris_stdio_tag): New.
12777 * fixinc/fixincl.x: Regenerate.
12778
eba80994
EB
127792002-03-21 Eric Botcazou <ebotcazou@multimania.com>
12780
12781 PR c/5597
12782 * c-typeck.c (process_init_element): Flag non-static
12783 initialization of a flexible array member as illegal.
12784
2a78758b
AM
127852002-03-22 Alan Modra <amodra@bigpond.net.au>
12786
12787 * config/rs6000/t-linux64: New.
12788 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
12789 t-ppccomm. Use t-rs6000 and t-linux64.
12790 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
12791 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
12792 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
12793 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 12794
2cb921f4
AH
127952002-03-21 Aldy Hernandez <aldyh@redhat.com>
12796
eba80994
EB
12797 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
12798 flag_really_no_inline instead of optimize == 0.
2cb921f4 12799
eba80994 12800 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 12801
eba80994 12802 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 12803
eba80994 12804 * flags.h (flag_really_no_inline): New.
2cb921f4 12805
659e5a7a 12806 * c-common.c (c_common_post_options): Initialize
eba80994 12807 flag_really_no_inline.
2cb921f4 12808
eba80994 12809 * toplev.c (flag_really_no_inline): New.
2cb921f4 12810
239b8b9d
JJ
128112002-03-21 Jakub Jelinek <jakub@redhat.com>
12812
12813 * config/avr/avr.md (length): Fix length computation for
12814 conditional branches.
12815
43577e6b
NB
128162002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
12817
12818 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
12819 sdbout.o, profile.o): Update.
12820 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
12821 langhook.
12822 * c-common.h (gettags): Move here from tree.h.
12823 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
12824 insert_block, getdecls, kept_level_p, global_bindings_p): New.
12825 * dbxout.c (dbxout_init): Use getdecls langhook.
12826 * expr.c (expand_expr): Use insert_block langhook.
12827 * fold-const.c: Include langhooks.h.
12828 (fold_range_test, fold_binary_op_with_conditional_arg,
12829 fold): Use global_bindings_p langhook.
12830 * integrate.c (expand_inline_function): Use insert_block langhook.
12831 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
12832 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
12833 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
12834 LANG_HOOKS_GETDECLS): New.
12835 (LANG_HOOKS_INITIALIZER): Update.
12836 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
12837 langhook.
12838 * langhooks.h (struct lang_hooks_for_decls): New.
12839 (struct lang_hooks): Update.
12840 * profile.c: Include langhooks.h.
12841 (output_func_start_profiler): Use new langhooks.
12842 * sdbout.c: Include langhooks.h.
12843 (sdbout_init, sdbout_finish): Use getdecls langhook.
12844 * stmt.c: Include langhooks.h.
12845 (expand_fixup, fixup_gotos): Use new langhooks.
12846 * stor-layout.c: Include langhooks.h.
12847 (variable_size): Use global_bindings_p langhook.
12848 * toplev.c (compile_file): Use getdecls langhook.
12849 * tree-inline.c (remap_block): Use insert_block langhook.
12850 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
12851 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
12852
5b19b10c
RH
128532002-03-21 Richard Henderson <rth@redhat.com>
12854
12855 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
12856 constants in .data when -fpic.
12857
e05af335
GP
128582002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12859
12860 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
12861 where appropriate.
12862
60ffc997
TT
128632002-03-21 Tom Tromey <tromey@redhat.com>
12864
12865 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
12866
75897075
RK
12867Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12868
a73afd69 12869 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 12870
75897075
RK
12871 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
12872
312687cf
EB
128732002-03-21 Eric Botcazou <ebotcazou@multimania.com>
12874 Richard Henderson <rth@redhat.com>
12875
12876 PR c/5354
12877 * c-common.c (c_expand_expr): Preserve result of a statement
12878 expression if needed.
12879
f0e1f482
JJ
128802002-03-21 Jakub Jelinek <jakub@redhat.com>
12881
12882 PR bootstrap/4195
12883 * genrecog.c (maybe_both_true_mode): Remove.
12884 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
12885 * machmode.def (Pmode): Likewise.
12886
c14b9960
JW
12887Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
12888
12889 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
12890 (nonlocal_mentioned_p_1): New function.
12891 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
12892 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
12893 (mark_constant_function): Recognize pure functions.
12894 * rtl.h (global_reg_mentioned_p): New prototype.
12895 * rtlanal.c (global_reg_mentioned_p,
12896 global_reg_mentioned_p_1): New function.
12897
aaa4d130
RO
128982002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12899
12900 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
12901 UNIX assert.h.
12902 * fixinc/fixincl.x: Regenerate.
12903
e5c4bd1b
JM
129042002-03-20 Jason Merrill <jason@redhat.com>
12905
12906 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
12907
852b81bb
MM
129082002-03-20 Michael Meissner <meissner@redhat.com>
12909
12910 * doc/invoke.texi (Optimize Options): Document that -O2 sets
12911 -fstrict-aliasing.
12912
86d8c251
BW
129132002-03-20 Bob Wilson <bob.wilson@acm.org>
12914
12915 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
12916 ".literal_position" directive before the constant pool.
12917
0a39c350
GP
129182002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12919
12920 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
12921 Add Craig Rodrigues.
12922 Add Brad Lucier to testers.
12923
71a83373
JJ
129242002-03-20 Jakub Jelinek <jakub@redhat.com>
12925
12926 PR target/4792
12927 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
12928 to if_then_else.
12929 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
12930 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
12931 instead of insn_extract.
12932
a29b099d
JJ
129332002-03-20 Jakub Jelinek <jakub@redhat.com>
12934
12935 PR bootstrap/4192
71a83373 12936 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
12937
12938 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
12939 stmt if some case has been output.
12940
048b1c95
JJ
129412002-03-20 Jakub Jelinek <jakub@redhat.com>
12942
12943 PR c/5972
12944 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
12945 movsfcc_1, movdfcc_1): Add %O2.
12946 * config/i386/i386.c (print_operand): Handle %ON.
12947 Print . before float condition codes in Sun as cmov syntax.
12948 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
12949 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
12950 no longer true.
12951
f4864588
PB
129522002-03-20 Philip Blundell <pb@nexus.co.uk>
12953
12954 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
12955 return instruction if PC was popped.
12956
3a307de4
BW
129572002-03-20 Bob Wilson <bob.wilson@acm.org>
12958
12959 * config/xtensa/xtensa.md: Remove unused type attributes.
12960 (adddi_carry, subddi_carry): Change type attribute to "multi".
12961
048b1c95 129622002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
12963
12964 PR optimization/5999, middle-end/5731
12965 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
12966 multiplications by reciprocals.
12967
7afff7cf
NB
129682002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
12969
12970 * Makefile.in: Update.
12971 * c-common.c: Include langhooks.h.
12972 (inline_forbidden_p): Use new hook.
12973 * diagnostic.c: Include langhooks.h.
12974 (format_with_decl, announce_function,
12975 default_print_error_function): Use new hook.
12976 * dwarf2out.c (dwarf2_name): Use new hook.
12977 * function.c: Include langhooks.h.
12978 (init_function_start): Use new hook.
12979 * langhooks-def.h (lhd_decl_printable_name): New.
12980 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
12981 (LANGHOOKS_INITIALIZER): Update.
12982 * langhooks.c (lhd_decl_printable_name): New.
12983 * langhooks.h (struct lang_hooks): New hook.
12984 * toplev.c (decl_name, decl_printable_name): Remove.
12985 (open_dump_file): Use new hook.
12986 (process_options): Remove old hook.
12987 * tree.h (decl_printable_name): Remove.
12988objc:
12989 * objc-act.c (objc_init): Remove old hook.
12990 (objc_printable_name): Export.
12991 * objc-act.h (objc_printable_name): New.
12992 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
12993
f78ce0b7
JB
129942002-03-19 Jim Blandy <jimb@redhat.com>
12995
12996 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
12997 the start_source_file debug hook, not the current line number.
12998
15b5aef3
RH
129992002-03-19 Richard Henderson <rth@redhat.com>
13000
13001 * flow.c (EH_USES): Provide default.
13002 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
13003 * doc/tm.texi (EH_USES): New.
13004
13005 * config/ia64/ia64.c (ia64_eh_uses): New.
13006 * config/ia64/ia64-protos.h: Update.
13007 * config/ia64/ia64.h (EH_USES): New.
13008
02a7a3fd
RH
130092002-03-19 Richard Henderson <rth@redhat.com>
13010
13011 * varasm.c (output_constant_def): Fix stupid typo.
13012
93f82d60
RH
130132002-03-19 Richard Henderson <rth@redhat.com>
13014
2842be05 13015 PR 5879
93f82d60
RH
13016 * except.c (current_function_has_exception_handlers): New.
13017 * except.h: Declare it.
13018 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
13019 Combine tests that disable all sibcalls for the function.
13020
ed4fbfa0
OH
130212002-03-19 Olivier Hainque <hainque@act-europe.fr>
13022
13023 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
13024 for INTEGER_CST.
13025
ebf0e888
RH
130262002-03-19 Richard Henderson <rth@redhat.com>
13027
1e82682b 13028 PR 5977, 5991
ebf0e888
RH
13029 * config/ia64/ia64.c: Revert 2002-03-01 patch.
13030 * config/ia64/ia64.h (INIT_EXPANDERS): New.
13031
e37b38d7
JB
130322002-03-19 Jim Blandy <jimb@redhat.com>
13033
13034 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
13035 name, even if the replacement list contains no tokens, as required
13036 by Dwarf.
13037
2a4ea326
JM
130382002-03-19 Jason Merrill <jason@redhat.com>
13039
f9d09ae5
JM
13040 * varasm.c (globalize_decl): Get the name from the RTL, not
13041 DECL_ASSEMBLER_NAME.
13042
2a4ea326
JM
13043 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
13044
99b96edb
BW
130452002-03-19 Bob Wilson <bob.wilson@acm.org>
13046
13047 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
13048 subdi_carry): Define.
13049
3774b567
DE
130502002-03-19 David Edelsohn <edelsohn@gnu.org>
13051
13052 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
13053 about -fpic/-fPIC if extra_warnings set.
13054
21ef78aa
DE
130552002-03-19 David Edelsohn <edelsohn@gnu.org>
13056
13057 * expr.c (expand_expr): Sign-extend CONST_INT generated from
13058 TREE_STRING_POINTER.
0c2fdcdf 13059 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 13060
91d4b3fd
RK
13061Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13062
13063 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
13064 in favor of SP if FRAME_POINTER_REQUIRED is false.
13065
2496c7bd
LB
130662002-03-19 Lars Brinkhoff <lars@nocrew.org>
13067
13068 * emit-rtl.c (gen_int_mode): New function.
13069 * rtl.h: Prototype for it.
13070 * combine.c (make_extraction, simplify_comparison), expmed.c
13071 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
13072 (convert_modes, store_field), optabs.c (expand_fix),
13073 simplify-rtx.c (neg_const_int, simplify_unary_real),
13074
13075 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
13076 Use it instead of GEN_INT (trunc_int_for_mode (...)).
13077
f735a153
JJ
130782002-03-19 Jakub Jelinek <jakub@redhat.com>
13079
13080 PR c/5656
13081 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
13082 convert_parm_for_inlining.
13083 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
13084 Define.
13085 * langhooks-def.h: Likewise.
13086 * objc/objc-lang.c: Likewise.
13087 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
13088 function.
13089 * tree-inline.c (initialize_inlined_parameters):
13090 Call convert_parm_for_inlining lang hook if needed.
13091 * c-typeck.c (c_convert_parm_for_inlining): New function.
13092 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
13093
1929c971
MM
130942002-03-18 Mark Mitchell <mark@codesourcery.com>
13095
b216cd4a 13096 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
13097 can be destroyed after expanding the argument.
13098 (expand_call): Likewise.
13099
c79ca0ac
EC
131002002-03-15 Eric Christopher <echristo@redhat.com>
13101
13102 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
13103 Fix register preference on last change.
13104 * config/mips/mips.c (mips_return_in_memory): New function.
13105 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
13106 * config/mips/mips-protos.h: Declare.
13107 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
13108 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
13109
07e2e444
AO
131102002-03-18 Alexandre Oliva <aoliva@redhat.com>
13111
1bfbbbcf
AO
13112 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
13113 a register too.
13114 (anddi3, iorsi3): Likewise.
13115
c066429e
AO
13116 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
13117 use %gprel for symbols that are going to be placed in linkonce
13118 sections.
13119
07e2e444
AO
13120 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
13121 RETURN_ADDRESS_POINTER_REGNUM to $ra.
13122 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
13123 not needed. Disregard leaf_function_p().
13124 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
13125 mips16 frame pointer.
13126 * config/mips/mips.md (store ra): Only to small SP offsets.
13127 2001-08-22 Graham Stott <grahams@redhat.com>
13128 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
13129 return a REG rtx for the return address register.
13130
eb8e00ea
BW
131312002-03-18 Bob Wilson <bob.wilson@acm.org>
13132
13133 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
13134 constant-pool addresses as "mode-dependent".
13135 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
13136
cbb92744
JJ
131372002-03-18 Jakub Jelinek <jakub@redhat.com>
13138
13139 PR target/5740
13140 * expr.c (emit_group_load): Use extract_bit_field if
13141 needed for CONCAT arguments.
13142
657d9449
RE
131432002-03-18 Richard Earnshaw <rearnsha@arm.com>
13144
91f3a802 13145 PR target/4863
657d9449
RE
13146 * arm.md (tablejump): Make this a define_expand. For PIC add the
13147 offset to the base of the table.
13148 (thumb_tablejump): Matcher for Thumb tablejump insn.
13149 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
13150 as the difference of two labels.
13151 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
13152 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
13153 tables in the code.
13154 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
13155 * arm.c (get_jump_table_size): If the table is not in the text
13156 section, return zero.
c79ca0ac 13157
5d5603e2
BS
131582002-03-18 Bernd Schmidt <bernds@redhat.com>
13159
13160 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
13161 of gen_rtx_SUBREG.
13162 (arm_reload_out_hi): Use gen_lowpart instead of
13163 gen_rtx_SUBREG to access QImode components.
13164 * config/arm/arm.md: Disable zero_extend split for QImode
13165 subregs in BIG_ENDIAN mode.
13166 (storehi_bigend): Match use of least significant byte.
13167 (storeinthi): Remove extraneous SUBREG.
66c17b64 13168 Add missing construction of operands[2].
5d5603e2
BS
13169 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
13170 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
13171 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
13172
df15fbc7
AH
131732002-03-18 Aldy Hernandez <aldyh@redhat.com>
13174
2496c7bd
LB
13175 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
13176 any_operand.
df15fbc7 13177
b83b7fa3
RH
131782002-03-17 Richard Henderson <rth@redhat.com>
13179
13180 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
13181 explicitly.
13182
6f7c00fe
HPN
131832002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
13184
13185 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
13186 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
13187
155038f2
KG
131882002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13189
720d42fa
KG
13190 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
13191
155038f2
KG
13192 * predict.c (estimate_bb_frequencies): Delete unused variables.
13193
e6542f4e
RH
131942002-03-17 Richard Henderson <rth@redhat.com>
13195
13196 * config/ia64/ia64.c (ia64_attribute_table): Move before
13197 targetm definition. Make static.
13198
52dabb6c
NB
131992002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
13200
13201 * c-common.h (yyparse, c_common_parse_file): New.
13202 * c-lang.c: Include c-common.h.
13203 (LANG_HOOKS_PARSE_FILE): Redefine.
13204 * c-lex.c: Include c-common.h.
13205 (yyparse): Rename c_common_parse_file. Call yyparse.
13206 * c-parse.in (yyparse): Remove macro.
13207 * c-tree.h (yyparse_1): Remove.
13208 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
13209 (LANG_HOOKS_INITIALIZER): Update.
13210 * langhooks.h (struct lang_hoooks): New hook parse_file.
13211 * toplev.c (compile_file): Use parse_file hook.
13212 * tree.h (yyparse): Remove.
e6542f4e 13213 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 13214
b5ffe606
HPN
132152002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
13216
ba82f58b
HPN
13217 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
13218 float_truncate, not fix.
13219 ("*truncdfsf2_real"): Ditto.
13220 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
13221
b5ffe606
HPN
13222 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
13223
c8d1b2b7
AO
132242002-03-16 Alexandre Oliva <aoliva@redhat.com>
13225
cfb773f9
AO
13226 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
13227 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
13228 where appropriate. Make the second reference to
13229 leaf_function_p a function call, as intended. Reindented.
13230
4dffef52
AO
13231 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
13232 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
13233
4f5bd6d7
AO
13234 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
13235 add register to non-constant into sp.
13236
c8d1b2b7
AO
13237 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
13238 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
13239 (mips16_gp_pseudo_rtx): Lose.
13240 (INIT_EXPANDERS): Deleted.
13241 * config/mips/mips.c (mips_init_machine_status): New.
13242 (mips_free_machine_status): New.
13243 (mips_mark_machine_status): New.
13244 (override_options): Set them.
13245 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
13246 (struct machine_function): ... new. Replaced all references.
13247 (mips_add_gc_roots): Don't mark them.
13248 (embedded_pic_fnaddr_reg): New, extracted from...
13249 (embedded_pic_offset): ... here.
13250 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
13251 (movsi): Likewise.
13252
b3124fac
NB
132532002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
13254
13255 * cppinit.c: Revert -MD removal.
13256
121449b6
SC
132572002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13258
13259 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
13260 soft registers by default for 68HC12.
13261 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
13262 when compiling with -fomit-frame-pointer.
13263 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
13264 (expand_epilogue): Likewise.
13265 (m68hc11_gen_rotate): Use exg when rotating by 8.
13266
840e2ff1
SC
132672002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13268
13269 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
13270 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
13271 (splits): Remove unused add splits.
13272 ("*addhi3_68hc12"): Tune constraints.
13273 ("addhi_sp"): Try to use X instead of Y in all cases and if the
13274 constant fits in 8-bits and D is dead use abx/aby instructions.
13275 ("*addhi3"): Remove extern declaration of ix_reg.
13276 ("*subsi3"): Optimize and provide new split.
13277 ("subhi3"): Cleanup.
13278 ("*subhi3_sp"): Avoid saving X if we know it is dead.
13279 (arith splits): For 68hc12 save the address register on the stack
13280 and do the arithmetic operation with a pop.
13281
3c9a5efe
SC
132822002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13283
13284 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
13285 allocating QImode in address registers.
13286 ("*movqi_m68hc11"): Likewise.
13287
e41f3392
JH
13288Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
13289
13290 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
13291
576786b0
NB
132922002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
13293
13294 * cppinit.c (print_help): Display -MD and -MMD.
13295 Don't display usage string. Update assertion syntax and
13296 typo.
13297 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
13298 (cpp_handle_option): Update.
13299
1ac458d4
CD
133002002-03-15 Chris Demetriou <cgd@broadcom.com>
13301
13302 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
13303 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
13304 and define it so that regardless of target CPU size,
13305 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
13306 of "int" rather than "long."
13307
1fcd592b
RH
133082002-03-15 Richard Henderson <rth@redhat.com>
13309
13310 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
13311 size as a tree.
13312
a0df6910
SC
133132002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13314
13315 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
13316 ("tstqi" split): Avoid using memory for tstqi on address register.
13317 (splits): Remove constraints.
13318 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
13319 ("cmpdf", "cmpsf"): Remove since not used.
13320 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
13321 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
13322
015a2e59
SC
133232002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13324
13325 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
13326 ("neghi2"): Tighten constraints.
13327 ("one_cmplsi2"): Optimize and simplify split.
13328 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
13329
cd28557c
SC
133302002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13331
13332 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
13333 and split of AND operation to clear the upper bits.
13334 ("*logicalsi3_zextqi"): Likewise.
13335 ("*logicallhi3_zexthi_ashift8"): Likewise.
13336 ("*logicalsi3_silshr16"): Likewise.
13337 ("logicalsi3_silshl16"): Likewise.
13338 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
13339
932657df
SC
133402002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13341
13342 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
13343 (m68hc11_indirect_p): New function.
13344 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
13345 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
13346 TARGET_M6812.
13347 (asm_print_register): Likewise.
13348 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
13349 (m68hc11_indirect_p): Declare.
13350 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
13351 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
13352 (TARGET_SWITCHES): New option -mrelax.
13353 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
13354 destination.
13355 ("iorsi3", "xorsi3"): Likewise.
13356 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
13357 ("*andhi3_mem"): New to handle destination in memory with bclr
13358 and a scratch register.
13359 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
13360 ("*andhi3_const"): New when operand2 is constant.
13361 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
13362 ("*andhi3_gen"): Cleanup of the old "andhi3".
13363 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
13364 ("xorqi3"): Update constraints.
13365
fdffea1a
SC
133662002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13367
13368 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
13369 for reg_equiv_memory_loc when the operand is a register that does
13370 not get a hard register (stack location).
13371 (tst_operand): After reload, accept all memory operand.
13372 (symbolic_memory_operand): Fix detection of symbolic references.
13373 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
13374 accept symbols and any constant.
13375
6272bc68
SC
133762002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13377
13378 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
13379 note on the insn that sets the soft frame register.
13380 (must_parenthesize): ix and iy are also reserved names.
13381 (print_operand_address): One more place where parenthesis are required
13382 to avoid confusion with register names.
13383 (m68hc11_gen_movhi): Allow push of stack pointer.
13384 (m68hc11_check_z_replacement): Fix handling of parallel with a
13385 clobber.
13386 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
13387 the replacement register is.
13388 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
13389 and D8_REGS classes.
13390 (MODES_TIEABLE_P): All modes are tieable except QImode.
13391
1d2d9def
SC
133922002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13393
13394 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
13395 (___subdi3): Likewise.
13396 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
13397 (__map_data_section): Optimize 68hc11 case.
13398
a0ccf503
SC
133992002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13400
13401 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
13402 than a shift to avoid adding a register with itself.
13403 (m68hc11_memory_move_cost): Take into account NO_REGS.
13404 (m68hc11_register_move_cost): Update and use memory move cost
13405 for soft registers.
13406 (m68hc11_address_cost): Make cost of valid offset not 0 so that
13407 it gives more opportunities to cse to optimize.
13408 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
13409 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
13410
6e4ae815
MM
134112002-03-15 Mark Mitchell <mark@codesourcery.com>
13412
13413 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
13414 * c-common.def (CLEANUP_STMT): New tree node.
13415 * c-common.h (CLEANUP_DECL): New macro.
13416 (CLEANUP_EXPR): Likewise.
13417 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
13418 * expr.c (expand_expr): Tidy.
13419 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
13420 * tree-inline.c (initialize_inlined_parameters): Clean up
13421 new local variables.
13422
a42519be
JJ
134232002-03-15 Jakub Jelinek <jakub@redhat.com>
13424
13425 PR bootstrap/4128
13426 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
13427 before movrXX only, use reg_overlap_mentioned_p.
13428 Only special case NE if just one insn can be generated.
13429
15409448
JM
134302002-03-15 Jason Merrill <jason@redhat.com>
13431
13432 * varasm.c (assemble_variable): Call resolve_unique_section before
13433 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
13434 of error_mark_node.
13435
3a4edb44
RE
134362002-03-15 Richard Earnshaw <rearnsha@arm.com>
13437
13438 PR target/5170
13439 * arm.md (split pattern for thumb shiftable immediates): Add comment
13440 explaining non-obvious test.
13441
32defa36
RE
134422002-03-15 Richard Earnshaw <rearnsha@arm.com>
13443
13444 PR target/5712
13445 * arm.md (movaddr, movaddr_insn): Delete.
13446
5cc90635
JM
134472002-03-15 Jason Merrill <jason@redhat.com>
13448
13449 * toplev.c (wrapup_global_declarations): Clarify variable handling.
13450 -fkeep-static-consts doesn't apply to comdats.
13451
ecb0eece
RH
134522002-03-14 Richard Henderson <rth@redhat.com>
13453
13454 * c-decl.c: Include c-pragma.h.
13455 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
13456 (finish_function): Tidy.
13457 * c-pragma.c: Include c-common.h.
13458 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
13459 (handle_pragma_weak): Use them.
13460 (init_pragma): Register pending_weaks.
13461 * c-pragma.h (maybe_apply_pragma_weak): Declare.
13462 * print-tree.c (print_node): Print DECL_WEAK.
13463 * varasm.c (mark_weak_decls): Remove.
13464 (remove_from_pending_weak_list): Remove.
13465 (add_weak): Remove.
13466 (asm_emit_uninitialised): Call globalize_decl for weak commons.
13467 (weak_decls): Make a tree_list.
13468 (declare_weak): Cons weak_decls directly.
13469 (globalize_decl): Remove weak_decls elements directly.
13470 (weak_finish): Simplify weak_decls walk. Don't weaken unused
13471 symbols. Don't pretend to handle aliases.
13472 (init_varasm_once): Update weak_decls registry.
13473 * Makefile.in: Update dependencies.
13474
98d2b17e
RH
134752002-03-14 Richard Henderson <rth@redhat.com>
13476
13477 PR target/5312
13478 * config/ia64/ia64.c: Include tm_p.h last.
13479 (gen_nop_type): Remove duplicate definition.
13480 (cycle_end_fill_slots): Set sched_data for second L slot.
13481 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
13482 (nop_cycles_until): Fix typos.
13483
f2f4927e
JJ
134842002-03-15 Jakub Jelinek <jakub@redhat.com>
13485
13486 PR optimization/5891
13487 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
13488
5025a549
DM
134892002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
13490
13491 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
13492 descriptors correctly.
13493
03e9dbc9
MM
134942002-03-14 Michael Meissner <meissner@redhat.com>
13495
13496 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
13497 100, allowing MAX_UNROLLED_INSNS to be overridden.
13498
13499 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
13500 --param.
13501
13502 * unroll.c (params.h): Include.
13503 (MAX_UNROLLED_INSNS): Delete, now in params.h.
13504
13505 * doc/invoke.texi (--param max-unroll-insns): Document.
13506
13507 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
13508
12249385
RE
135092002-03-14 Richard Earnshaw <rearnsha@arm.com>
13510
13511 * arm.md: Fix warnings about constraints in peepholes and splits.
13512
f0cce04a
ZW
135132002-03-14 Zack Weinberg <zack@codesourcery.com>
13514
13515 * cpphash.h (struct lexer_state): Remove line_extension member.
13516 * cpplib.c (dequote_string, do_linemarker): New functions.
13517 (linemarker_dir): New data object.
13518 (DIRECTIVE_TABLE): No longer need to interpret #line in
13519 preprocessed source. Delete obsolete comment about return
13520 values of handlers.
13521 (end_directive, directive_diagnostics, _cpp_handle_directive):
13522 Don't muck with line_extension.
13523 (directive_diagnostics): No need to issue warnings for
13524 linemarkers here.
13525 (_cpp_handle_directive): Issue warnings for linemarkers here,
13526 when appropriate. Dispatch linemarkers to do_linemarker, not
13527 do_line.
13528 (do_line): Code to handle linemarkers split out to do_linemarker.
13529 Convert escape sequences in filename argument, both places.
13530
13531 * cppmacro.c (quote_string): Rename cpp_quote_string and
13532 export. All callers changed.
13533 * cpplib.h (cpp_quote_string): Prototype.
13534 * cppmain.c (print_line): Call cpp_quote_string on to_file
13535 before printing it.
13536
13537 * doc/cpp.texi: Document that escapes are now interpreted in
13538 #line and in linemarkers, and that non-printing characters are
13539 converted to octal escapes when linemarkers are generated.
13540
13541Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
13542
13543 * emit-rtl.c (try_split): Use delete_insns.
13544 * recog.c (split_all_insns): Fix terminating condition.
13545
c882c7ac
RE
135462002-03-14 Richard Earnshaw <rearnsha@arm.com>
13547 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13548
13549 PR target/5828
13550 * arm.c (arm_output_epilogue): Fix floating-point register save
13551 adjustment when using a frame pointer.
13552
3f26edaa
RS
135532002-03-14 Richard Sandiford <rsandifo@redhat.com>
13554
13555 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
13556 * config/mips/mips.c (compute_frame_size): Retrofit them here.
13557 (save_restore_insns, mips_expand_epilogue): And here.
13558 (build_mips16_call_stub): And here.
13559 (mips_function_value): Use the new macros to decide whether a single
13560 or complex float can be returned in floating-point registers. Return
13561 a parallel rtx in the complex case.
13562
1e3881c2
JH
13563Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
13564
13565 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
13566 call after liveness analysis.
13567
13568 * recog.c (split_insn): Use delete_insn_and_edges.
13569
13570 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
13571 instructions to have branch prediction notes.
13572 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
13573
200ef634
GK
135742002-03-14 Geoffrey Keating <geoffk@redhat.com>
13575
13576 * configure.in: Don't pass -Wno-long-long to a ADA compiler
13577 that doesn't support it.
13578 * configure: Regenerate.
13579
0b82d204
JJ
135802002-03-13 Jakub Jelinek <jakub@redhat.com>
13581
13582 PR target/5626
13583 * config/sparc/sparc.md (normal_branch, inverted_branch,
13584 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
13585 inverted_fp_branch): Adjust calls to output_cbranch.
13586 Set length attribute.
13587 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
13588 output_v9branch. Set length attribute.
13589 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
13590 predicates.
13591 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
13592 (output_cbranch): Likewise. Handle far branches.
13593 (output_v9branch): Handle far branches.
13594 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
13595 Adjust prototypes.
13596 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
13597 noov_compare64_op predicates.
13598
7a8de19b
JM
135992002-03-13 Jason Merrill <jason@redhat.com>
13600
13601 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
13602 into the function and constify it.
13603 * gthr-dce.h, gthr-solaris.h: Likewise.
13604
2a55fd42
DE
136052002-03-13 David Edelsohn <edelsohn@gnu.org>
13606
13607 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
13608 * config/rs6000/rs6000.c (rs6000_va_arg): Use
13609 std_expand_builtin_va_arg if not ABI_V4.
13610
19c5b1cf
JM
136112002-03-13 Jason Merrill <jason@redhat.com>
13612
13613 * varasm.c (globalize_decl): New fn.
13614 (assemble_start_function): Use it.
13615 (asm_emit_uninitialized): Use it.
13616 (assemble_alias): Use it.
13617 (assemble_variable): Use it.
13618
2a15f5e1
HPN
136192002-03-13 Hans-Peter Nilsson <hp@axis.com>
13620
13621 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 13622 2002-03-12 internal visibility change.
2a15f5e1
HPN
13623 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
13624 visibility into SYMBOL_REF_FLAG.
13625
c0a3eeac
UW
136262002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
13627
13628 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
13629 VOIDmode operand. Add compile-time optimization for constant results.
13630
a1652cee
JM
136312002-03-12 Jason Merrill <jason@redhat.com>
13632
13633 * c-typeck.c (convert_for_assignment): Don't allow conversions
13634 between pointers and references. Only allow lvalues to convert to
13635 reference.
13636
c52a375d
HP
136372002-03-13 Hartmut Penner <hpenner@de.ibm.com>
13638
f0cce04a
ZW
13639 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
13640 before prologue, to avoid scheduling problems.
c52a375d 13641
e387e99b
JJ
136422002-03-13 Jakub Jelinek <jakub@redhat.com>
13643
13644 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
13645 (ELIMINABLE_REGS): Add sfp->sp.
13646 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
13647
136482002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
13649
13650 PR optimization/5892
13651 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
13652
4061c1a3
JJ
136532002-03-13 Jakub Jelinek <jakub@redhat.com>
13654
13655 * loop.c (basic_induction_var): Don't call convert_modes if mode
13656 classes are different.
13657
5b43fed1
RH
136582002-03-12 Richard Henderson <rth@redhat.com>
13659
9f53e965
RH
13660 PR optimization/5901
13661 * function.c (reposition_prologue_and_epilogue_notes): Position
13662 the markers after/before the last/first insn not deleted.
13663
136642002-03-12 Richard Henderson <rth@redhat.com>
13665
13666 PR optimization/5878
5b43fed1
RH
13667 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
13668 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
13669 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
13670
13671 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
13672 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
13673 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
13674
13675 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
13676 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
13677 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
13678 also. Don't set it if not flag_pic.
13679 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
13680 to be INVALID_REGNUM when not used.
13681
4e9bb42b
AH
136822002-03-13 Aldy Hernandez <aldyh@redhat.com>
13683
5b43fed1
RH
13684 * expmed.c (store_bit_field): Reset alias set for memory.
13685 (extract_bit_field): Same.
4e9bb42b 13686
2f9834e8
KG
136872002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13688
13689 * c-common.c (c_tree_code_type, c_tree_code_length,
13690 c_tree_code_name, add_c_tree_codes): Delete.
13691 * c-common.h (add_c_tree_codes): Delete.
13692 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
13693 Define.
13694 * c-objc-common.c (c_objc_common_init): Don't call
13695 add_c_tree_codes, instead set lang_unsafe_for_reeval.
13696 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
13697 objc_tree_code_name, add_objc_tree_codes): Delete.
13698 (objc_init): Don't call add_objc_tree_codes.
13699 * objc/objc-lang.c (tree_code_type, tree_code_length,
13700 tree_code_name): Define.
13701 * toplev.c (lang_independent_init): Don't set
13702 tree_code_length[IDENTIFIER_NODE].
13703 * tree.c (tree_code_type, tree_code_length, tree_code_name):
13704 Delete definitions, moved to language front-ends.
13705 * tree.def (IDENTIFIER_NODE): Hardwire the length.
13706 * tree.h (tree_code_type, tree_code_length, tree_code_name):
13707 Const-ify.
13708 (tree_code_length): Change type to unsigned char.
13709
36ad2436
RH
137102002-03-12 Richard Henderson <rth@redhat.com>
13711
13712 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
13713 internal visibility change.
13714
0ae02efa
BW
137152002-03-12 Bob Wilson <bob.wilson@acm.org>
13716
13717 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
13718 validize_mem() instead of change_address to avoid clobbering
13719 memory attributes.
13720
35bb2bee
NB
137212002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
13722
13723 * c-lex.h (position_after_whitespace): Remove.
13724
62ae2529
JJ
137252002-03-12 Jakub Jelinek <jakub@redhat.com>
13726
13727 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
13728 (lex_string): Use unsigned char pointers.
13729
6a45951f
UW
137302002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
13731
13732 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
13733 is not a valid memory_operand.
13734
e2fb85da
BW
137352002-03-12 Bob Wilson <bob.wilson@acm.org>
13736
13737 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
13738 * config/xtensa/lib1funcs.asm: Fix copyright to include
13739 special case for libgcc files.
13740 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
13741 (__divsi3): Likewise.
13742 (__umodsi3): Likewise.
13743 (__modsi3): Likewise.
13744 * config/xtensa/lib2funcs.S: Fix copyright to include
13745 special case for libgcc files.
13746
5b8619f8
TR
137472002-03-12 Tom Rix <trix@redhat.com>
13748
13749 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 13750 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
13751 (ignore_library): Same.
13752
089c8f97
BW
137532002-03-12 Bob Wilson <bob.wilson@acm.org>
13754
13755 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
13756
958c70ff
BW
137572002-03-12 Bob Wilson <bob.wilson@acm.org>
13758
13759 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
13760 to function_section before writing out the constant pool.
13761
a65c591c
DE
137622002-03-12 David Edelsohn <edelsohn@gnu.org>
13763
13764 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
13765 zero_constant.
13766 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
13767
137682002-03-12 Alan Modra <amodra@bigpond.net.au>
13769
13770 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
13771 (adddi3): Likewise.
13772 (movdf): Likewise.
13773 (movdi): Likewise.
13774 (cmpsi splitter): Likewise.
13775 (modsi3): Fail if <= 0.
13776 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
13777 redundant test when HOST_BITS_PER_WIDE_INT != 32.
13778 (reg_or_sub_cint64_operand): Likewise.
13779 (num_insns_constant_wide): Optimize sign extension.
13780 (rs6000_legitimize_address): Likewise.
13781
17720332
AM
137822002-03-12 Andrew MacLeod <amacleod@redhat.com>
13783
13784 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
13785 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
13786
cd49f073
AM
137872002-03-12 Andrew MacLeod <amacleod@redhat.com>
13788
13789 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
13790 address calculation.
13791
6a4e49c1
UW
137922002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
13793
13794 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
13795 scratch register to DImode / TImode.
13796 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
13797 register used does not overlap the target.
13798
54b6670a
KG
137992002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13800
13801 * Makefile.in (debug.o): Depend on debug.h.
13802 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
13803 * debug.c (do_nothing_debug_hooks): Likewise.
13804 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
13805 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
13806 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
13807 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
13808 * dwarfout.c (dwarf_debug_hooks): Likewise.
13809 * integrate.c (output_inline_function): Likewise.
13810 * objc/objc-act.c (synth_module_prologue): Likewise.
13811 * sdbout.c (sdb_debug_hooks): Likewise.
13812 * toplev.c (debug_hooks): Likewise.
13813 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
13814
2465bf76
KG
138152002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13816
13817 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
13818 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
13819 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
13820 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
13821 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
13822 * defaults.h (POINTER_SIZE): Define.
13823 * doc/tm.texi (POINTER_SIZE): Document default.
13824
53f3e9ca
KG
138252002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13826
13827 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
13828
44d3eb5b
RH
138292002-03-11 Richard Henderson <rth@redhat.com>
13830
13831 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
13832 if rebuild_label_notes_after_reload.
13833
4a085d2e
HPN
138342002-03-12 Hans-Peter Nilsson <hp@axis.com>
13835
13836 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
13837 emit pic register load if "internal" visibility.
13838 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
13839 (cris_expand_builtin_va_arg): Do all computations on trees.
13840
bc204393
RH
138412002-03-11 Richard Henderson <rth@redhat.com>
13842
13843 * rtlanal.c: Include recog.h.
13844 (keep_with_call_p): Fix thinko.
13845 * Makefile.in (rtlanal.o): Update dependencies.
13846
6b8b9d7b
CM
138472002-03-11 Chris Meyer <cmeyer@gatan.com>
13848
13849 * genflags.c (gen_insn): Use IS_VSPACE.
13850 * genoutput.c (output_insn_data): Likewise.
13851 (process_template): Likewise.
13852
6c40858f
RH
138532002-03-11 Richard Henderson <rth@redhat.com>
13854
13855 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
13856
40adaa27
NB
138572002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
13858
13859 * Makefile.in: Update.
6c40858f 13860 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 13861 Update documentation.
6c40858f
RH
13862 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
13863 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 13864
049b03f4
ZW
138652002-03-11 Zack Weinberg <zack@codesourcery.com>
13866
13867 * Makefile.in: Give texi2pod its input file as a command line
13868 argument, not on stdin.
13869
61eece67
DN
138702002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
13871 Daniel Berlin <dan@dberlin.org>
13872
13873 C++ alias analysis improvement.
f0cce04a 13874 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
13875 classes too.
13876
a65c591c
DE
138772002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
13878
ff080aba
UW
13879 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
13880
1682dbb1
DR
138812002-03-11 Douglas B Rupp <rupp@gnat.com>
13882
fa2d765a
DR
13883 * toplev.c (vms_fopen): Remove, not needed.
13884
6f1fd286
DR
13885 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
13886
b230e057
DR
13887 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
13888
cb9a8e97
DR
13889 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
13890 for FP, already done later.
13891
1682dbb1
DR
13892 * toplev.c (debug_args): Add entry for VMS_DEBUG.
13893 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
13894
3fcaac1d
RS
138952002-03-11 Richard Sandiford <rsandifo@redhat.com>
13896
13897 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
13898 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
13899 LARGEST_EXPONENT_IS_NORMAL for the given mode.
13900 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
13901 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
13902 (ediv, emul, eldexp, esqrt): Likewise.
13903 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
13904 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
13905 (saturate): New function.
13906 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
13907 (make_nan): Use a saturation value instead of a NaN if
13908 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
13909 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
13910 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
13911 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
13912 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
13913 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
13914 !ROUND_TOWARDS_ZERO.
13915 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
13916 (ROUND_TOWARDS_ZERO): Document.
13917
d25558be
AJ
139182002-03-11 Andreas Jaeger <aj@suse.de>
13919
13920 * cfg.c (dump_flow_info): Remove unused variable.
13921
c71f9ae7
HPN
139222002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
13923
13924 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
13925 computations on trees.
13926
561c9153
RH
139272002-03-10 Richard Henderson <rth@redhat.com>
13928
932b4e3e 13929 PR 5693:
561c9153
RH
13930 * reload.c (copy_replacements_1): New.
13931 (copy_replacements): Use it to recurse through the rtx.
13932
26b738be
RH
139332002-03-10 Richard Henderson <rth@redhat.com>
13934
13935 * loop.c (strength_reduce): Compute number of iterations as
13936 unsigned HOST_WIDE_INT.
13937
8d8a083e
RH
139382002-03-10 Richard Henderson <rth@redhat.com>
13939
13940 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
13941 to move away from the end of the block.
13942
32810ba3
NB
139432002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
13944
13945 PR preprocessor/5899
13946 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 13947
2b03d201
KG
139482002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13949
f90c544c
KG
13950 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
13951
2b03d201
KG
13952 * attribs.c (decl_attributes): Fix signed/unsigned warning.
13953
3ec1b4cb
HPN
139542002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
13955
13956 * config/mmix/mmix.c: Improve comments.
13957 (mmix_target_asm_function_prologue): Drop variable
13958 empty_stack_frame. Don't allocate unused slot above fp.
13959 (mmix_target_asm_function_epilogue): Mirror prologue changes.
13960 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
13961 brace in first column.
13962 (enum reg_class): Ditto.
13963 (FIRST_PARM_OFFSET): Now 0.
13964 (USER_LABEL_PREFIX): Remove #if 0:d definition.
13965
27e486c5
KG
139662002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13967
13968 * combine.c (make_extraction): Fix error in last change.
13969
0139adca
KG
139702002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13971
13972 * c4x.c (c4x_fp_reglist): Const-ify.
13973 * cris.c (cris_print_operand): Likewise.
13974 * i386.c (ix86_va_arg): Likewise.
13975 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
13976 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
13977 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
13978 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
13979 * mcore.h (regno_reg_class): Likewise.
13980 * mips.c (gen_int_relational): Likewise.
13981 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
13982 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 13983 * pdp11.c (move_costs): Likewise.
0139adca
KG
13984 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
13985 * s390.c (s390_branch_condition_mnemonic, regclass_map):
13986 Likewise.
13987 * s390.h (regclass_map): Likewise.
13988 * sh.c (shift_amounts): Likewise.
a4334c36 13989 * sh.md (rotlsi3): Likewise.
0139adca 13990
889b90a1
GK
139912002-03-09 Geoffrey Keating <geoffk@redhat.com>
13992
13993 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
13994 (ne0+5): Use new clobber to generate proper shift pattern.
13995 Patch by Michael Matz <matz@kde.org>.
13996
2877e0ae
AS
139972002-03-09 Andreas Schwab <schwab@suse.de>
13998
13999 * gcc.c (validate_all_switches): Also handle `%W{...}'.
14000
79b51cd7
GK
140012002-03-09 Geoffrey Keating <geoffk@redhat.com>
14002
14003 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
14004
e0f1be5c
JJ
140052002-03-09 Jakub Jelinek <jakub@redhat.com>
14006
14007 PR middle-end/5877
14008 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
14009 even for non-representable constants.
14010
0a7ec763
RK
14011Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14012
93fe8e92
RK
14013 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
14014 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
14015 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
14016 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
14017 (pop_function_context): Compute MAY_SHARE parameter for
14018 fixup_var_refs.
14019 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
14020 (gen_mem_addressof): Call fixup_var_refs with new parm.
14021
0a7ec763
RK
14022 * combine.c (make_extraction): Don't make extension of CONST_INT.
14023
a85cd407
AO
140242002-03-09 Alexandre Oliva <aoliva@redhat.com>
14025
9445b814
AO
14026 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
14027 in o32 and o64 ABIs.
14028 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
14029 but getting fixed-size structs passed in registers regardless of
14030 padding in o32 and o64 ABIs.
14031
a85cd407
AO
14032 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
14033 offset before loading address of argument passed by transparent
14034 reference.
14035
c51fbe40
JDA
140362002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
14037
14038 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
14039
918e70dd
AO
140402002-03-09 Alexandre Oliva <aoliva@redhat.com>
14041
14042 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
14043 marker such that registers after it are saved.
14044
3070dd00
KG
140452002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14046
14047 * sparc.c (arith_4096_operand): Fix error in last change.
14048
e25d11b0
AO
140492002-03-08 Alexandre Oliva <aoliva@redhat.com>
14050
14051 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
14052 defaults for MEABI.
14053
41daaf0e
AH
140542002-03-08 Aldy Hernandez <aldyh@redhat.com>
14055
5b43fed1
RH
14056 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
14057 vectors.
41daaf0e 14058
fa139b00
AH
140592002-03-08 Aldy Hernandez <aldyh@redhat.com>
14060
5b43fed1 14061 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 14062
c51d95ec
JH
14063Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
14064
14065 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
14066 removed; fix return value.
14067 * combine.c (combine_instructions): Dirtify blocks where we failed to
14068 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
14069 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
14070
3b25fbfe
KG
140712002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14072
14073 * gcse.c (insert_insn_end_bb): Fix typo in last change.
14074
189ae0f4
JH
14075Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
14076
14077 * recog.c (peephole2_optimize): Re-distribute EH edges.
14078
24965e7a
NB
140792002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
14080
14081 * expr.c (expand_expr): Use unsave lang hook.
14082 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
14083 (LANG_HOOKS_INITIALIZER): Update.
14084 * langhooks.h (struct lang_hooks): New hook unsave.
14085 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
14086 (unsave_expr_1): Remove unused lang_unsave_expr_now.
14087 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
14088 (unsave_expr_now): Remove.
14089 * tree.h (unsave_expr_now, lang_unsave,
14090 lang_unsave_expr_now): Remove.
14091 (lhd_unsave): New.
14092
1e4e95d6
AJ
140932002-03-08 Andreas Jaeger <aj@suse.de>
14094
14095 * flow.c (propagate_block_delete_insn): Remove unused variable.
14096
054ef905
KH
140972002-03-08 Kazu Hirata <kazu@hxi.com>
14098
14099 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
14100 insn length for memory load/store.
14101
5304400d 141022002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 14103
5304400d
CR
14104 * doc/install.texi (--with-libiconv-prefix): Document.
14105
81034129
MB
141062002-03-08 Michael Y. Brukman <myb2@cornell.edu>
14107
14108 * doc/sourcebuild.texi: Fix typo.
14109
71db7d03
JJ
141102002-03-08 Jakub Jelinek <jakub@redhat.com>
14111
14112 PR c/3711
14113 * builtins.c (std_expand_builtin_va_arg): Do all computations on
14114 trees.
14115
127c1ba5
RK
14116Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14117
14118 * rtl.c (copy_most_rtx): Move from here ...
14119 * emit-rtl.c (copy_most_rtx): ... to here.
14120
8a13c092
AO
141212002-03-08 Alexandre Oliva <aoliva@redhat.com>
14122
5faae4f7
AO
14123 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
14124 SUBTARGET_CPP_SIZE_SPEC.
14125 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
14126
8a13c092
AO
14127 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
14128
4ec59de2
MH
141292002-03-07 Matt Hiller <hiller@redhat.com>
14130
14131 * gensupport.c (first_dir_md_include): Renamed from include;
14132 change all references.
14133 (last_dir_md_include): Renamed from last_include; change all
14134 references.
14135 (init_md_reader): Unconditionally initialize base_dir whether or
14136 not filename is a relative path.
14137
12f61e77
AO
141382002-03-07 Alexandre Oliva <aoliva@redhat.com>
14139
95356058
AO
14140 * config/fp-bit.c (_unord_f2): Compile it in even if
14141 US_SOFTWARE_GOFAST is enabled.
14142
12f61e77
AO
14143 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
14144 NULL_RTX. Set all HFmode operations as NULL_RTX.
14145 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
14146 NULL_RTX, try reversing the comparison and the operands.
14147
6d7a1c4c
UW
141482002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
14149
14150 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
14151 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
14152 and MATCH_OP_DUP.
14153
66d54344
JH
14154Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
14155
14156 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
14157
068473ec
JH
14158Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
14159
14160 * basic-block.h (fixup_abnormal_edges): Declare.
14161 * reload1.c (fixup_abnormal_edges): New function.
14162 * reg-stack.c (convert_regs): Use it.
14163
14164 * gcse.c (insert_insn_end_bb): Handle trapping insns.
14165
14166 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
14167
71925bc0
RS
141682002-03-07 Richard Sandiford <rsandifo@redhat.com>
14169
14170 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
14171 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
14172 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
14173 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
14174 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
14175 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
14176 unless x and y could be infinite.
14177 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
14178 Check that the common type of both arguments is a real, even for
14179 targets without unordered comparisons. Allow an integer argument
14180 to be compared against a real.
14181 (expand_tree_builtin): Use expand_unordered_cmp.
14182 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
14183 * cse.c (fold_rtx): Likewise. Fix indentation.
14184 * fold-const.c (fold_real_zero_addition_p): New.
14185 (fold): Use it, and the new HONOR_... macros.
14186 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
14187 * jump.c (reversed_comparison_code_parts): After searching for
14188 the true comparison mode, use HONOR_NANS to decide whether it
14189 can be safely reversed.
14190 (reverse_condition_maybe_unordered): Remove IEEE check.
14191 * simplify-rtx.c (simplify_binary_operation): Use the new macros
14192 to decide which simplifications are valid. Allow the following
14193 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
14194 and (a - -b) to (a + b).
14195 (simplify_relational_operation): Use HONOR_NANS.
14196 * doc/tm.texi: Document the MODE_HAS_... macros.
14197
145d3bf2
RE
141982002-03-07 Richard Earnshaw <rearnsha@arm.com>
14199
14200 * combine.c (simplify_comparison): If simplifying a logical shift
14201 right and compare with constant, force the comparison to unsigned.
14202
76a773f3
AH
142032002-03-07 Aldy Hernandez <aldyh@redhat.com>
14204
5b43fed1 14205 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 14206
5b43fed1
RH
14207 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
14208 -mabi=no-altivec
14209 (alt_reg_names): Remove % for vrsave.
76a773f3 14210
ab55f58c
RH
142112002-03-06 Richard Henderson <rth@redhat.com>
14212
5ddec02e 14213 PR optimization/5844
ab55f58c
RH
14214 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
14215 if used indicates we've already emitted one copy of an operand.
14216 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
14217 (gen_split): Supply a non-null used.
14218
e16e3291
UW
142192002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
14220
5b43fed1 14221 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 14222
1e4e95d6 14223 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
14224 but simply fail if the expression is too complex to simplify.
14225 (simplify_gen_binary): Handle simplify_plus_minus failures.
14226
2ca6672b
JH
14227Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
14228
14229 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
14230 consistently call delete_trivially_dead_insns after CSE and GCSE;
14231 fix DFI_life dumping; do jump threading after liveness; do crossjumping
14232 after liveness2; update comment in last crossjumping.
14233 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
14234
31d0dd4f
JL
14235Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
14236
d094b0b3
JL
14237 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
14238 after completing fast dead code elimination.
14239
31d0dd4f
JL
14240 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
14241 COMPARE operator.
1e4e95d6 14242
f2b958b1
PE
142432002-03-06 Phil Edwards <pme@gcc.gnu.org>
14244
14245 * version.c: Fix misplaced leading blanks on first line.
14246
a2877a09
JH
14247Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
14248
14249 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
14250
fe477d8b
JH
14251Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
14252
14253 * cfgcleanup.c (mentions_nonequal_regs): New function.
14254 (thread_jump): Use it.
14255 * toplev.c (rest_of_compilation): Run jump threading after
14256 liveness.
14257
2041cde4
JJ
142582002-03-06 Jakub Jelinek <jakub@redhat.com>
14259
14260 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
14261 patch.
14262
82d68d46
JH
14263Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
14264
14265 * predict.c (estimate_bb_frequencies): Do not reload the
14266 frequencies from notes.
14267
3dec4024
JH
14268Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
14269
14270 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
14271 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
14272
14273 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
14274 delete_noop_moves): Return indeger.
14275 * flow.c (ndead): New variable.
14276 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
14277 BB argument; update callers.
14278 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
14279 (life_analysis): Do not call purge_all_dead_edges.
14280 (update_life_info): Return number of deleted insns; print statistics.
14281 (update_life_info_in_dirty_blocks): likewise.
14282 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
14283 return number of insns deleted.
14284
14285 * cse.c: Include timevar.h
14286 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
14287 iterate until stabilizes; print statistics; return number of killed
14288 insns.
14289 * Makefile.in: (cse.o): Add timevar.h dependency
14290 * rtl.h (delete_trivially_dead_insns): New.
14291 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
14292 * toplev.c (rest_of_compilation): Update callers.
14293
14294 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
14295 (try_optimize_cfg): Do not update liveness.
14296 (cleanup-cfg): Loop until try_optimize_cfg and dead code
14297 removal stabilizes; use delete_trivially_dead_insns.
14298
14299 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
14300
c7544dd8
ZW
143012002-03-05 Zack Weinberg <zack@codesourcery.com>
14302
14303 * cppmain.c (setup_callbacks): Disable #pragma and #ident
14304 callbacks when processing assembly language.
14305
50b424a9
JDA
143062002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
14307
14308 * pa.h (ASM_FILE_END): Define.
14309 * som.h (ASM_FILE_END): Delete.
14310
14311 * pa.c (function_arg): Don't pass floats in general registers in
14312 indirect calls if TARGET_ELF32.
14313
6185f217
RH
143142002-03-05 Richard Henderson <rth@redhat.com>
14315
14316 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
14317
3020a4b2
DS
143182002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
14319
14320 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
14321
65649daa
JJ
143222002-03-05 Jakub Jelinek <jakub@redhat.com>
14323
14324 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
14325 -r command line. Don't hide any symbols if not building
14326 shared libgcc.
14327
5a1a3e5e
JH
14328Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
14329
14330 * cfg.c (dump_flow_info): Warn about profile mismatches.
14331 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
14332 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
14333
170c56da
JJ
143342002-03-05 Jakub Jelinek <jakub@redhat.com>
14335
14336 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
14337 wide volatile memory by parts.
14338
6d051694
JJ
143392002-03-05 Jakub Jelinek <jakub@redhat.com>
14340
14341 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
14342 is NULL.
14343
28bcfd4d
RH
143442002-03-05 Richard Henderson <rth@redhat.com>
14345
5b43fed1 14346 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 14347
75227a33
GK
143482002-03-04 Geoffrey Keating <geoffk@redhat.com>
14349
14350 * toplev.c (documented_lang_options): Document more
14351 language-specific options.
14352 * doc/invoke.texi (Warning Options): Correct documentation for
14353 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
14354 * c-decl.c (c_decode_option): Use a table to handle warning options.
14355
4f1aac42
HPN
143562002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
14357
14358 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
14359 parameter to mmix_encode_section_info.
14360 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
14361 relocatably. Always produce ELF, not mmo if linking relocatably.
14362 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
14363 first is non-zero, don't add symbol prefix.
14364 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
14365 prototype accordingly.
14366
12345543
KW
143672002-03-04 Krister Walfridsson <cato@df.lth.se>
14368
14369 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
14370
8e97db8f
JM
143712002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
14372
14373 * configure.in: Increase required makeinfo version to 4.1.
14374 * configure: Regenerate.
14375
06487868
GK
143762002-03-04 Geoffrey Keating <geoffk@redhat.com>
14377
14378 * .cvsignore: Remove *.info* and genrtl*; these files are generated
14379 elsewhere now.
14380
cff42170
JM
143812002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
14382
14383 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
14384 * doc/invoke.texi: Fix @math uses.
14385
974a7f56
JH
14386Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
14387
14388 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
14389 removal
14390
3b7d0e98
AH
143912002-03-03 Aldy Hernandez <aldyh@redhat.com>
14392
5b43fed1
RH
14393 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
14394 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 14395
5b43fed1 14396 * config/rs6000/t-ppcendian: New.
3b7d0e98 14397
65f2f288
HB
143982002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
14399
14400 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
14401 nonimmediate_src_operand and nonimmediate_lsrc_operand to
14402 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
14403
8ce0a8a5
RH
144042002-03-03 Richard Henderson <rth@redhat.com>
14405
14406 * toplev.c (rest_of_decl_compilation): Revert last two changes.
14407
ba31d94e
ZW
144082002-03-03 Zack Weinberg <zack@codesourcery.com>
14409
14410 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
14411 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
14412 tree.c, config/m68k/m68k.c:
14413 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
14414 REAL_ARITHMETIC blocks unconditional. Delete some further
14415 #ifdef blocks predicated on REAL_ARITHMETIC.
14416 * flags.h, toplev.c: Delete remaining references to
14417 flag_pretend_float.
14418
14419 * doc/invoke.texi: Remove documentation of -fpretend-float.
14420 * doc/tm.texi: Describe the various REAL_* macros as provided by
14421 real.h, not by the target configuration files.
14422
14423 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
14424 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
14425 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
14426 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
14427 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
14428 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
14429 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
14430 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
14431 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
14432 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
14433 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
14434 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
14435 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
14436 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
14437 config/xtensa/xtensa.h:
14438 Do not define, undefine, or mention in comments any of
14439 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
14440 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
14441 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
14442 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
14443 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
14444 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
14445 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
14446 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
14447 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
14448
9a571cfd
KG
144492002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14450
e81dd381
KG
14451 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
14452 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
14453 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
14454 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
14455 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
14456 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
14457 Delete.
14458 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 14459 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 14460
9a571cfd
KG
14461 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
14462 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
14463 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
14464
ca7558fc
KG
144652002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14466
14467 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
14468 lieu of explicit sizeof/sizeof.
14469 * i386.c (override_options, ix86_init_mmx_sse_builtins,
14470 ix86_expand_builtin): Likewise.
14471 * mips.c (mips_add_gc_roots): Likewise.
14472 * mmix.c (mmix_output_condition): Likewise.
14473 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
14474 altivec_init_builtins): Likewise.
14475 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
14476 * cppexp.c (Nsuff, parse_number): Likewise.
14477 * cppinit.c (builtin_array_end): Likewise.
14478 * gcc.c (n_default_compilers, process_command): Likewise.
14479 * genpreds.c (output_predicate_decls): Likewise.
14480 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
14481 * lcm.c (N_ENTITIES): Likewise.
14482 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 14483
41c78c88
RH
144842002-03-03 Richard Henderson <rth@redhat.com>
14485
14486 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
14487 for types or labels.
14488
9e9b71e6
RH
144892002-03-03 Richard Henderson <rth@redhat.com>
14490
14491 * c-decl.c (start_decl): Initialized variables are not common.
14492
c26a6db8
PB
144932002-03-02 Per Bothner <per@bothner.com>
14494
14495 * gcc.c (option_map): Suport new --bootclasspath option.
14496 --CLASSPATH is now just an alias for --classpath.
14497
9e8aab55
RH
144982002-03-02 Richard Henderson <rth@redhat.com>
14499
14500 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
14501 load if "internal" visibility.
14502 * doc/extend.texi: Document visibility meanings.
14503
b3bbd220
RH
145042002-03-02 Richard Henderson <rth@redhat.com>
14505
14506 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
14507 to functions as well.
14508
b14707c3
RH
145092002-03-02 Richard Henderson <rth@redhat.com>
14510
14511 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
14512 (handle_visibility_attribute): Don't call assemble_visibility.
14513 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
14514 without asmspec. Invoke assemble_alias when needed.
14515 * varasm.c (maybe_assemble_visibility): New.
14516 (assemble_start_function, assemble_variable, assemble_alias): Use it.
14517
b2003250
RH
145182002-03-02 Richard Henderson <rth@redhat.com>
14519
14520 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
14521 invoke ENCODE_SECTION_INFO with first call flag.
14522
14523 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
14524 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 14525 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
14526 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
14527 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
14528 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
14529 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
14530 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
14531 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
14532 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
14533 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
14534 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
14535 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
14536 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
14537 config/mcore/mcore-protos.h, config/mcore/mcore.c,
14538 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
14539 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 14540 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
14541 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
14542 config/sh/sh.h, config/sparc/sparc.h,
14543 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
14544 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
14545 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
14546 FIRST argument. As needed, examine it and do nothing.
14547
ba31d94e 14548 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
14549 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
14550 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
14551
14552 * config/arm/t-pe (pe.o): Add dependencies.
14553
5c60f03d
KG
145542002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14555
14556 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
14557 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
14558 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
14559 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
14560 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
14561 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
14562 * defaults.h (BITS_PER_UNIT): Define.
14563 * doc/tm.texi (BITS_PER_UNIT): Document default value.
14564
86855e8c
KH
145652002-03-02 Kazu Hirata <kazu@hxi.com>
14566
14567 * config/h8300/h8300-protos.h: Add a prototype for
14568 compute_a_shift_length.
14569 * config/h8300/h8300.c (h8300_asm_insn_count): New.
14570 (compute_a_shift_length): Likewise.
14571 (h8300_adjust_insn_length): Do not adjust insn length of shift
14572 insns.
14573 * config/h8300/h8300.md (anonymous shift patterns): Use
14574 compute_a_shift_length.
14575
f6041ed8
RK
14576Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14577
35aa3c1c
RK
14578 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
14579 trunc_int_for_mode.
14580
f6041ed8
RK
14581 * emit-rtl.c (offset_address): Call update_temp_slot_address.
14582
27b41650
KG
145832002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14584
14585 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
14586 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
14587 * flags.h (flag_zero_initialized_in_bss): Declare.
14588 * toplev.c (flag_zero_initialized_in_bss): New flag.
14589 (lang_independent_options): Add flag_zero_initialized_in_bss.
14590 * tree.c (initializer_zerop): New function.
14591 * tree.h (initializer_zerop): Declare.
14592 * varasm.c (assemble_variable): If we can emit bss, put zero
14593 initializers in the bss section.
14594
ca734b39
AM
145952002-03-02 Alan Modra <amodra@bigpond.net.au>
14596
14597 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
14598 like more than one symbol per .weak directive.
14599
49b72306
RH
146002002-03-01 Richard Henderson <rth@redhat.com>
14601
14602 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
14603 adjust argument_pointer by pretend_args_size.
14604 (ia64_va_start): Adjust va_start address by -pretend_args_size.
14605
fbf0fe41
KH
146062002-03-01 Kazu Hirata <kazu@hxi.com>
14607
14608 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
14609
0010687d
JH
14610Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
14611
14612 * toplev.c (rest_of_compilation): Delete dead jumptables before
14613 loop.
14614 * flow.c (delete_dead_jumptables): Make global.
14615 * rtl.h (delete_dead_jumptables): Declare.
14616
9429c84c
DE
146172002-03-01 David Edelsohn <edelsohn@gnu.org>
14618
14619 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
14620 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 14621 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 14622
f0b6f9a6
KH
146232002-03-01 Kazu Hirata <kazu@hxi.com>
14624
14625 * config/h8300/h8300-protos.h: Fix formatting.
14626 * config/h8300/h8300.c: Likewise.
14627 * config/h8300/h8300.h: Likewise.
14628
bc8db8a1
KH
146292002-03-01 Kazu Hirata <kazu@hxi.com>
14630
14631 * config/h8300/h8300.c (print_operand): Support 16-bit
14632 constant addresses.
14633 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
14634
32b069d3
RH
146352002-02-28 Richard Henderson <rth@redhat.com>
14636
14637 * expmed.c (store_bit_field): Prevent generation of CONCATs;
14638 pun complex values as integers; use gen_lowpart instead of
14639 gen_rtx_SUBREG.
14640 (extract_bit_field): Likewise.
14641
79c4e63f
AM
146422002-03-01 Alan Modra <amodra@bigpond.net.au>
14643 David Edelsohn <edelsohn@gnu.org>
14644
14645 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
14646 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
14647 (SUPPORTS_WEAK): Likewise.
14648 * output.h (add_weak): Add tree param.
14649 * varasm.c (add_weak): Likewise. Save decl.
14650 (struct weak_syms): Add decl field.
14651 (mark_weak_decls): New function.
14652 (init_varasm_once): ggc_add_root mark_weak_decls.
14653 (assemble_start_function): Use ASM_WEAKEN_DECL.
14654 (assemble_variable): Likewise.
14655 (assemble_alias): Likewise.
14656 (declare_weak): Pass decl to add_weak.
14657 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
14658 (remove_from_pending_weak_list): Declare and define for
14659 ASM_WEAKEN_DECL.
14660 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
14661 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
14662 * defaults.h (SUPPORTS_WEAK): Likewise.
14663 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
14664 .weak for code sym. Do emit .size for descriptor sym.
14665 (ASM_DECLARE_FUNCTION_SIZE): Define.
14666 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
14667 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
14668 .lglobl unless TARGET_XCOFF. Formatting fixes.
14669 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
14670 .weak for code sym.
14671 (HANDLE_PRAGMA_WEAK): Remove.
14672 (ASM_WEAKEN_LABEL): Remove.
14673 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
14674
6f30f1f1
JM
146752002-03-01 Jason Merrill <jason@redhat.com>
14676
14677 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
14678 (TARGET_EXPR_CLEANUP): New macro.
14679
7879b81e
SE
146802002-02-28 Steve Ellcey <sje@cup.hp.com>
14681
14682 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
14683 to take ptr_extend into account as third type of extension.
14684 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
14685 fields used by SUBREG_PROMOTED_UNSIGNED_P.
14686 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
14687 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
14688 * calls.c (precompute_arguments): Use new macro.
14689 (expand_call): Ditto.
14690 * combine.c (nonzero_bits): Ditto.
14691 (record_promoted_value): Ditto.
14692 * expr.c (store_expr): Ditto.
14693 (expand_expr): Ditto.
14694 * function.c (assign_parms): Ditto.
14695
42d579d8
AO
146962002-02-28 Alexandre Oliva <aoliva@redhat.com>
14697
14698 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
14699 override -shared and -shared-libgcc.
14700
e0054185
DB
147012002-02-28 David O'Brien <obrien@FreeBSD.org>
14702
14703 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
14704 of "ultrasparc".
14705 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
14706 to be broken.
14707
abda4f1c
RH
147082002-02-28 Richard Henderson <rth@redhat.com>
14709
14710 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
14711 4 cycle latency from MM producers.
14712 (ia64_internal_sched_reorder): Likewise with pipeline flush.
14713
c0f08649
JJ
147142002-02-28 Jakub Jelinek <jakub@redhat.com>
14715
14716 * mklibgcc.in: Don't use GNU make extension.
14717
f79f2651
NB
147182002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
14719
14720 * c-parse.in (STATIC): New terminal.
14721 (scspec): New non-terminal. Update productions accordingly.
14722 (program): Remove bogus ifc / end ifc.
14723 (array_declarator): Simplify production using STATIC.
14724
001e3fee
JM
147252002-02-28 Jim Meyering <meyering@lucent.com>
14726
14727 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
14728 \a still means TARGET_BELL.
14729
89076bb3
RH
147302002-02-28 Richard Henderson <rth@redhat.com>
14731
14732 * haifa-sched.c (sched_emit_insn): New.
14733 (schedule_block): Use last_scheduled_insn to track last insn.
14734 * sched-int.h (sched_emit_insn): Prototype.
14735 * config/ia64/ia64.c (last_issued): Remove.
14736 (ia64_variable_issue): Don't set it.
14737 (nop_cycles_until): Use sched_emit_insn.
14738
e3aaacf4
AM
147392002-02-28 Andrew MacLeod <amacleod@redhat.com>
14740
14741 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
14742 extended constants.
14743
7f473594
KH
147442002-02-28 Kazu Hirata <kazu@hxi.com>
14745
14746 * config/h8300/h8300.c: Fix formatting.
14747 * config/h8300/h8300.h: Likewise.
14748
b96c434c
MM
147492002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
14750
14751 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
14752 which may overwrite the high byte of the frame pointer.
14753
9b420a6a
BT
147542002-02-28 Bo Thorsen <bo@suse.de>
14755
14756 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
14757 (STARTFILE_SPEC): Add 64 bit files.
14758 (ENDFILE_SPEC): Likewise.
14759
6f30f1f1 147602002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
14761
14762 * c-decl.c (finish_function): Only warn about missing return
14763 statement with -Wreturn-type.
14764
70da1d03
JH
14765Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
14766
14767 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
14768
14769 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
14770 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
14771
38c1593d
JH
14772Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
14773
14774 * basic-block.h (BB_REACHABLE): Renumber.
14775 (BB_DIRTY, BB_NEW): New flags.
14776 (clear_bb_flags): Declare.
14777 (update_life_info_in_dirty_blocks): Declare.
14778 * cfg.c (clear_bb_flags): New function.
14779 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
14780 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
14781 reorder_insns, emit_insn_after): Mark block as dirty.
14782 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
14783 (update_life_info_in_dirty_blocks): New function.
14784 * recog.c (apply_change_group): Dirtify block.
14785
14786 * cse.c (cse_insn): Reorder emitting of jump insn to keep
14787 cfg consistent.
14788 * gcse.c (delete_null_pointer_checks): Likewise.
14789
14790 * toplev.c (dump_file_index): Move cse2 after bp,
14791 add DFI_null
14792 (dump_file_info): Similary.
14793 (rest_of_compilation): Avoid most of CFG rebuilds;
14794 do first if converision after null pointer checks, do cse2
14795 after branch prediction; avoid full liveness rebuild after
14796 initializing subregs.
14797 * invoke.texi (-d options): Document -du, renumber.
14798
14799 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
14800 (notice_new_block): Do not set BB_UPDATE_LIFE.
14801 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
14802 merge_blocks_move_successor_nojumps, merge_blocks,
14803 try_crossjump_to_edge): Likewise.
14804 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
14805 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
14806 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
14807 (merge_of_block): Do not use life_data_ok.
14808 (find_if_case_1): Do not use SET_UPDATE_LIFE.
14809 (if_convert): Use BB_DIRTY mechanizm to update life.
14810 * lcm.c (optimize_mode_switching): Update
14811 update_life_info_in_dirty_blocks
14812
63e1b1c4
NB
148132002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
14814
14815 * Makefile.in (integrate.o): Update.
14816 * c-decl.c (copy_lang_decl): Rename.
14817 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
14818 * integrate.c: Include langhooks.h.
14819 (copy_decl_for_inlining): Update to use langhook.
14820 * langhooks-def.h (lhd_do_nothing_t,
14821 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
14822 (LANG_HOOKS_INITIALIZER): Update.
14823 * langhooks.c (lhd_do_nothing_t): New.
14824 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
14825 * tree.h (copy_lang_decl): Remove.
14826objc:
14827 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
14828
f472fa29
AM
148292002-02-27 Andrew MacLeod <amacleod@redhat.com>
14830
ba31d94e 14831 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
14832 POST_DEC, and POST_MODIFY.
14833
273cf2e4
ZW
148342002-02-27 Zack Weinberg <zack@codesourcery.com>
14835
14836 * c-typeck.c (digest_init): Remove unused parameter; all
14837 callers changed.
14838
4e07d762
GK
148392002-02-27 Geoffrey Keating <geoffk@redhat.com>
14840
14841 * expmed.c (expand_shift): Correctly test for low part of a
14842 subreg.
14843
6bc627b3
UW
148442002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
14845
14846 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
14847 insn UIDs with insn addresses.
14848
f458d1d5
ZW
148492002-02-27 Zack Weinberg <zack@codesourcery.com>
14850
14851 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
14852 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
14853 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
14854 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
14855 gcc.c, toplev.c: Delete code implementing -traditional mode.
14856
14857 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
14858 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
14859 Document removal of -traditional mode for compilation, and
14860 remove documentation only relevant to that mode.
14861
14862 * config/nextstep.h, config/ptx4.h, config/svr4.h,
14863 config/convex/convex.h, config/d30v/d30v.h,
14864 config/i386/dgux.h, config/i386/osf1elf.h,
14865 config/i386/osfelf.h, config/i386/osfrose.h,
14866 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
14867 config/m68k/hp310.h, config/m88k/dgux.h,
14868 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
14869 config/m88k/m88k.h, config/m88k/openbsd.h,
14870 config/mips/abi64.h, config/mips/osfrose.h,
14871 config/mips/svr4-5.h, config/mips/svr4-t.h,
14872 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
14873 config/stormy16/stormy16.h: Remove all references to
14874 -traditional from target specs. Delete all mention of the
14875 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
14876 delete a couple of commented-out definitions of
14877 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
14878 to -traditional.
14879
14880 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
14881 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
14882
e0b3a8ff
ZW
148832002-02-27 Zack Weinberg <zack@codesourcery.com>
14884
14885 * mklibgcc.in: Don't use \n in a line subject to
14886 interpretation by echo.
14887
5c6a85b7
GS
148882002-02-27 Graham Stott <grahams@redhat.com>
14889
72b05af1
GS
14890 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
14891 Constify NAME.
14892
7d104885
GS
14893 * loop.c (prescan_loop): Handle PARALLEL.
14894
8ed805d2
GS
14895 * unroll.c (loop_iterations): Return 0 if the add_val for
14896 a BIV is REG.
14897
fd478a0a
GS
14898 * final.c (output_operand_lossage): Constify PFX_STR.
14899
5c6a85b7
GS
14900 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
14901
cd98ad03
JH
14902Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
14903
14904 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
14905 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
14906
639ae55b
JH
14907Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
14908
14909 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
14910
e808ec9c
NB
149112002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
14912
14913 * cpplex.c (_cpp_lex_token): Handle directives in macro
14914 arguments.
14915 * cpplib.c (_cpp_handle_directive): Save and restore state
14916 if parsing macro args when entering a directive.
14917 * cppmacro.c (collect_args): No need to handle directives
14918 in macro arguments.
14919 (enter_macro_context, replace_args): Use the original macro
14920 definition in case it was redefined whilst collecting arguments.
14921doc:
14922 * cpp.texi: Update.
14923
f585a356
DE
149242002-02-26 David Edelsohn <edelsohn@gnu.org>
14925
14926 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
14927 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
14928 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
14929 method on AIX.
14930 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
14931 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
14932 (load_toc_v4_PIC_2): Same.
14933
149342002-02-26 Alan Modra <amodra@bigpond.net.au>
14935
14936 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
14937
d699058e
RH
149382002-02-26 Richard Henderson <rth@redhat.com>
14939
14940 * config/alpha/alpha.md (ashldi_se): Re-enable.
14941
eadccfbb
RH
149422002-02-26 Richard Henderson <rth@redhat.com>
14943
14944 * config/alpha/alpha.c (alpha_encode_section_info): Examine
14945 MODULE_LOCAL_P; improve commentary.
14946
7080ada1
ZW
149472002-02-26 Zack Weinberg <zack@codesourcery.com>
14948
14949 * doc/cpp.texi: Clarify documentation of relationship between
14950 #line and #include.
14951
b42cff6b
KH
149522002-02-26 Kazu Hirata <kazu@hxi.com>
14953
14954 * config/h8300/h8300-protos.h: Update the prototype for
14955 compute_logical_op_length. Add the prototype for
14956 compute_logical_op_cc.
14957 * config/h8300/h8300.c (compute_logical_op_length): Figure out
14958 code from operands.
14959 (compute_logical_op_cc): New.
14960 * config/h8300/h8300.md: Combine all the logical op patterns
14961 in HImode and SImode. Use compute_logical_op_cc.
14962
831c4e87
KC
149632002-02-26 Kelley Cook <kelleycook@comcast.net>
14964
14965 * config/i386/i386.c (print_operand): Don't append ATT-style
14966 length suffixs to x87 opcodes when in Intel mode.
14967
ff88fe10
RS
149682002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
14969
14970 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
14971 (init_emit_once): Update calls.
14972 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
14973 (init_syntax_once): Prototype.
14974
d4108589
JDA
149752002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
14976
14977 * pa-linux.h (LIB_SPEC): Update definition.
14978 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
14979
e013f3c7
RH
149802002-02-26 Richard Henderson <rth@redhat.com>
14981
14982 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
14983 if we emitted a stop bit.
14984
9e944a16
JJ
149852002-02-26 Jakub Jelinek <jakub@redhat.com>
14986
14987 * configure.in (libgcc_visibility): Substitute.
14988 * configure: Rebuilt.
14989 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
14990 defined symbols .hidden.
14991
47bd70b5
JJ
149922002-02-26 Jakub Jelinek <jakub@redhat.com>
14993
14994 * attribs.c (c_common_attribute_table): Add visibility.
14995 (handle_visibility_attribute): New function.
14996 * varasm.c (assemble_visibility): New function.
14997 * output.h (assemble_visibility): Add prototype.
14998 * tree.h (MODULE_LOCAL_P): Define.
14999 * crtstuff.c (__dso_handle): Use visibility attribute.
15000 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
15001 for MODULE_LOCAL_P symbols too.
15002 * config/ia64/ia64.c (ia64_encode_section_info): Handle
15003 MODULE_LOCAL_P symbols the same way as local symbols.
15004 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
15005 into .sdata/.sbss by the user.
15006 * doc/extend.texi (Function Attributes): Document visibility
15007 attribute.
15008
6d73371a
JJ
150092002-02-26 Jakub Jelinek <jakub@redhat.com>
15010
15011 PR debug/5770
15012 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
15013 STRING_CST initializer spanning the whole variable without
15014 embedded zeros.
15015 If expand_expr returned MEM, don't use it.
15016
06e224f7
AO
150172002-02-26 Alexandre Oliva <aoliva@redhat.com>
15018
15019 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
15020 generate a die for the lexical block.
15021
40367e2d
KH
150222002-02-26 Kazu Hirata <kazu@hxi.com>
15023
15024 * config/h8300/h8300-protos.h: Add a prototype for
15025 compute_logical_op_length.
15026 * config/h8300/h8300.c (compute_logical_op_length): New.
15027 * config/h8300/h8300.md (anonymous logical patterns): Use
15028 compute_logical_op_length for length.
15029
0e98f924
AH
150302002-02-26 Aldy Hernandez <aldyh@redhat.com>
15031
831c4e87
KC
15032 * dwarf2out.c (modified_type_die): Do not call type_main_variant
15033 for vectors.
15034 (gen_type_die): Same.
0e98f924 15035
831c4e87 15036 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 15037
a50cfd52
DE
150382002-02-26 Daniel Egger <degger@fhm.edu>
15039
831c4e87
KC
15040 * config/rs6000/rs6000.md: Swap define_insn attributes to
15041 fix incorrect generation of merge high instructions instead
15042 of merge low.
a50cfd52 15043
b7997284
AH
150442002-02-26 Aldy Hernandez <aldyh@redhat.com>
15045
831c4e87
KC
15046 * c-typeck.c (really_start_incremental_init): Use
15047 bitsize_zero_node for vectors.
b7997284 15048
376aec5d
AH
150492002-02-26 Aldy Hernandez <aldyh@redhat.com>
15050
831c4e87
KC
15051 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
15052 ("*set_vrsave_internal"): Same.
376aec5d 15053
3b40e71b
RH
150542002-02-25 Richard Henderson <rth@redhat.com>
15055
15056 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
15057 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
15058
232b8f52
JJ
150592002-02-25 Jakub Jelinek <jakub@redhat.com>
15060
15061 PR target/5755
15062 * config/i386/i386.c (ix86_return_pops_args): Only pop
15063 fake structure return argument if it was passed on the stack.
15064
67282790
JM
150652002-02-25 Jason Merrill <jason@redhat.com>
15066
15067 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
15068 RESULT_DECL.
15069
5c181756
AO
150702002-02-25 Alexandre Oliva <aoliva@redhat.com>
15071
15072 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
15073 link with shared_name only.
15074 * doc/invoke.texi (Link Options): Document new behavior.
15075
6786d201
AH
150762002-02-25 Aldy Hernandez <aldyh@redhat.com>
15077
831c4e87 15078 * c-typeck.c (push_init_level): Handle vectors.
6786d201 15079
7d6040e8
AO
150802002-02-25 Alexandre Oliva <aoliva@redhat.com>
15081
15082 * config/sparc/sparc.c (const64_high_operand): Zero-extend
15083 operands of SPARC_SETHI_P.
15084 (input_operand): Likewise.
15085 (sparc_emit_set_const32): Likewise.
15086 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
15087 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
15088 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
15089 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
15090 (movdi_insn_sp64_vis): Likewise.
15091 (movdi split, movdf split): Use SETHI32.
15092 * doc/md.texi: Document SPARC constraints L, M and N.
15093
b188f760
AH
150942002-02-25 Aldy Hernandez <aldyh@redhat.com>
15095
831c4e87
KC
15096 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
15097 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 15098
831c4e87
KC
15099 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
15100 gen_get_vrsave_internal.
b188f760 15101
8041889f
RK
15102Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15103
15104 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
15105
a47ed310
NB
151062002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
15107
15108 * cpplex.c (cpp_interpret_charconst): Get signedness or
15109 otherwise of wide character constants correct.
15110 * cppexp.c (lex): Get signedness of wide charconsts correct.
15111
cb8f73be
RK
15112Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15113
15114 * optabs.c (widen_operand): Only call convert_modes for
15115 promoted SUBREG if signedness matches.
15116 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
15117
2450e0b8
NB
151182002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
15119
15120 * cpplib.c (glue_header_name): Use local buffer to build up
15121 header name.
15122
70b6aaed
NB
151232002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
15124
15125 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
15126
6be580c7
KH
151272002-02-23 Kazu Hirata <kazu@hxi.com>
15128
15129 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
15130 H8/300[HS] separately.
15131 * config/h8300/h8300.md: Remove the early clobber constraint
15132 from bit field patterns.
15133
35dad9f1
KH
151342002-02-23 Kazu Hirata <kazu@hxi.com>
15135
15136 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
15137 register_operand.
15138 (mulhisi3): Likewise.
15139 (umulqisi3): Likewise.
15140 (umulhisi3): Likewise.
15141
ab8e2228
NB
151422002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
15143
15144 * cppinit.c (output_deps): Correct test for stdout output.
15145 (init_dependency_output): Cure warning.
15146
ac6f8a15
RK
15147Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15148
15149 * expr.c (store_expr): When converting expression to promoted
15150 equivalent type, allow using SUBREG_REG of TARGET as the target
15151 of the expansion of EXP.
15152 * loop.c (basic_induction_var, case SUBREG): Always look inside.
15153 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
15154 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
15155 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
15156 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
15157
f282ffb3
JM
151582002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
15159
15160 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
15161 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
15162 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
15163
44c5edc0
JJ
151642002-02-23 Jakub Jelinek <jakub@redhat.com>
15165
15166 PR optimization/5747
15167 * loop.c (scan_loop): Update reg info if move_movables created new
15168 pseudos.
15169
f98e43c0
DE
151702002-02-23 David Edelsohn <edelsohn@gnu.org>
15171
15172 * gcc.c (init_gcc_spec): Revert last change.
15173
e72247f4
DE
151742002-02-23 David Edelsohn <edelsohn@gnu.org>
15175
15176 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
15177 gpc_reg_operand constraint.
15178
151792002-02-23 Alan Modra <amodra@bigpond.net.au>
15180
15181 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
15182 Simplify comparison of `low'.
15183 (add_operand): Fix formatting.
15184 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 15185 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
15186 (rs6000_stack_info): Remove redundant test setting push_p.
15187 (output_toc): Fix formatting.
15188 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
15189 cc_reg_not_cr0_operand constraint.
15190 (booldi3, boolcdi3 splitters): Same.
15191
a5c30531
AH
151922002-02-23 Aldy Hernandez <aldyh@redhat.com>
15193
831c4e87 15194 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 15195
43710f9f
DE
151962002-02-22 David Edelsohn <edelsohn@gnu.org>
15197
15198 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
15199 gcc invoked with -shared-libgcc.
15200
3256b817
JJ
152012002-02-22 Jakub Jelinek <jakub@redhat.com>
15202
15203 PR c++/5748
15204 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
15205 decl if any of elements was TREE_USED.
15206
9e0625a3
AO
152072002-02-22 Alexandre Oliva <aoliva@redhat.com>
15208
15209 * config/sparc/sol2.h: Don't include sys/mman.h.
15210 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
15211 (arith_4096_operand): Don't throw high bits away.
15212 (const64_operand): Take sign extension of CONST_INTs into account.
15213 (const64_high_operand, sparc_emit_set_const32): Likewise.
15214 (GEN_HIGHINT64): Likewise.
15215 (sparc_emit_set_const64_quick1): Likewise.
15216 (const64_is_2insns): Likewise.
15217 (print_operand): Use trunc_int_for_mode for sign extension.
15218 * config/sparc/sparc.h (SMALL_INT32): Likewise.
15219 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
15220 chars. Assume CONST_INT is already properly sign-extended.
15221 (movdi split): Sign-extend each SImode part.
15222 (andsi3 split): Don't mask high bits off, so that result
15223 remains properly sign-extend.
15224 (iorsi3 split): Likewise.
15225 (xorsi3 split): Likewise.
15226
54fec3d5
RS
152272002-02-22 Richard Sandiford <rsandifo@redhat.com>
15228
15229 * fold-const.c (fold): Fix typo in comments.
15230
667ada9b
DN
152312002-02-21 Diego Novillo <dnovillo@redhat.com>
15232
15233 * Makefile.in (langhooks.o): Update dependencies.
15234
29ac78d5
DN
152352002-02-21 Diego Novillo <dnovillo@redhat.com>
15236
15237 * langhooks.c: Include flags.h.
15238
6aa77e6c
AH
152392002-02-21 Aldy Hernandez <aldyh@redhat.com>
15240
15241 * testsuite/gcc.dg/attr-alwaysinline.c: New.
15242
15243 * c-common.c (c_common_post_options): Set inline trees by
15244 default.
15245
15246 * doc/extend.texi (Function Attributes): Document always_inline
15247 attribute.
15248 Update documentation about inlining when not optimizing.
15249
15250 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
15251
15252 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
15253 unless DECL_ALWAYS_INLINE.
15254
15255 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
15256 unless DECL_ALWAYS_INLINE.
15257 (c_disregard_inline_limits): Disregard if always_inline set.
15258
15259 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
15260 Disregard if always_inline set.
15261 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
15262 unless DECL_ALWAYS_INLINE.
15263
15264 * attribs.c (handle_always_inline_attribute): New.
15265 (c_common_attribute_table): Add always_inline.
15266
15267 * config/rs6000/altivec.h: Add prototypes for builtins
15268 requiring the always_inline attribute.
15269
c410d49e
EC
152702002-02-21 Eric Christopher <echristo@redhat.com>
15271
15272 * expmed.c (store_bit_field): Try to simplify the subreg
15273 before generating a new one when when the mode size of
15274 value is less than maxmode.
15275
e3c8ea67
RH
152762002-02-21 Richard Henderson <rth@redhat.com>
15277
15278 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
15279 than gen_rtx_PLUS to form the sum.
15280 * explow.c (force_reg): Rearrange to not allocate new pseudo
15281 when force_operand returns a register.
15282 * expr.c (expand_assignment): Allow offset_rtx expansion to
15283 return a sum. Do not force addresses into registers.
15284 (expand_expr): Likewise.
15285 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
15286 to canonicalize arithmetic that didn't simpify.
15287 (simplify_plus_minus): New argument force; update
15288 all callers. Don't split CONST unless we can do something with it,
15289 and wouldn't lose the constness of the operands.
15290
15291 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
15292 that we generated earlier.
15293
c1a046e5
TT
152942002-02-21 Tom Tromey <tromey@redhat.com>
15295
15296 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
15297 (output_line_info): Use constant `1', with a long explanatory
15298 comment.
15299 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
15300
31fbaad4
R
15301Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
15302
15303 * jump.c (redirect_jump): If old label has no UID, don't try to
15304 delete it.
15305
a7f52356
R
15306Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
15307
15308 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
15309 If input is constant, do shifts at compile time.
15310
924fcc4e
JM
153112002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
15312
15313 * doc/extend.texi: Fix some more overfull hboxes.
15314
e5a20888
JJ
153152002-02-21 Jakub Jelinek <jakub@redhat.com>
15316
15317 PR optimization/4994
15318 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
15319 register moves.
15320
153212002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
15322
15323 PR c++/4574
15324 * expr.h (expand_and): Add mode argument.
15325 * expmed.c (expand_and): Add mode argument.
15326 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
15327 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
15328 * except.c (expand_builtin_extract_return_addr): Likewise.
15329 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
15330 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
15331 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
15332 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
15333 * config/c4x/c4x.md: Use GEN_INT (x) instead of
15334 gen_rtx (CONST_INT, VOIDmode, x).
15335
7133e992
JJ
153362002-02-21 Jakub Jelinek <jakub@redhat.com>
15337
15338 PR c/4697:
15339 * stmt.c (warn_if_unused_value): Move side effects test once more.
15340
e2ec05a6
TG
153412002-02-20 Torbjorn Granlund <tege@swox.com>
15342
15343 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 15344 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 15345
9dd791c8
AO
15346Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
15347
15348 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
15349 SUBREG or ZERO_EXTEND.
15350
7ab56274
R
15351Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
15352
15353 * sh.h (current_function_anonymous_args): Remove.
15354 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
15355 of current_function_varargs and current_function_stdarg is set.
15356 * sh.c (sh_expand_prologue): Check current_function_varargs /
15357 current_function_stdarg / TARGET_SH5 instead of
15358 current_function_anonymous_args.
15359
15360 * sh64.h (TARGET_VERSION): Define.
15361
b1765bde
DE
153622002-02-20 David Edelsohn <edelsohn@gnu.org>
15363
15364 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
15365 VRSAVE_REGNO on TARGET_ALTIVEC.
15366
153672002-02-20 Alan Modra <amodra@bigpond.net.au>
15368
15369 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
15370 bits of SImode const_int.
15371 (includes_rshift_p): Likewise.
15372 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 15373 mode.
b1765bde
DE
15374 (rs6000_output_function_epilogue): Pad traceback table to word.
15375 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
15376 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
15377 mask64_operand with correct mode.
b1765bde
DE
15378 (FUNCTION_ARG_REGNO_P): Correct parentheses.
15379
149d6f9e
JJ
153802002-02-20 Jakub Jelinek <jakub@redhat.com>
15381
15382 PR debug/4461
15383 * varasm.c (get_pool_constant_mark): New.
15384 * rtl.h (get_pool_constant_mark): Add prototype.
15385 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
15386 be represented if it has not been output.
15387
4161da12
AO
153882002-02-20 Alexandre Oliva <aoliva@redhat.com>
15389
15390 * combine.c (do_SUBST): Sanity check substitutions of
15391 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
15392 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
15393 CONST_INT into its operand.
15394 (known_cond): Likewise, for ZERO_EXTEND.
15395 * simplify-rtx.c (simplify_unary_operation): Fix condition to
15396 allow for simplification of wide modes. Reject CONST_INTs in
15397 ZERO_EXTEND when their actual mode is not given.
15398
3704ef74
AO
153992002-02-20 Alexandre Oliva <aoliva@redhat.com>
15400
15401 * c-decl.c (pushdecl): If no global declaration is found for an
15402 extern declaration in block scope, try a limbo one.
15403
7552da58
JJ
154042002-02-20 Jakub Jelinek <jakub@redhat.com>
15405
15406 PR c++/4401
15407 * c-common.c (pointer_int_sum): Moved from...
15408 * c-typeck.c (pointer_int_sum): ...here.
15409 * c-common.h (pointer_int_sum): Add prototype.
15410
00fae85d
JJ
154112002-02-20 Jakub Jelinek <jakub@redhat.com>
15412
15413 PR c++/5713
15414 * c-decl.c (duplicate_decls): Return 0 if issued error about
15415 redeclaration.
15416
4636c87e
JJ
154172002-02-20 Roger Sayle <roger@eyesopen.com>
15418 Jakub Jelinek <jakub@redhat.com>
15419
15420 PR c/4389
15421 * tree.c (host_integerp): Ensure that the constant integer is
15422 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
15423 when pos is zero or non-zero respectively. Clarify comment.
15424 * c-format.c (check_format_info_recurse): Fix host_integerp
15425 usage; the pos argument should be zero when assigning to a
15426 signed HOST_WIDE_INT.
15427
59bef189
RH
154282002-02-20 Richard Henderson <rth@redhat.com>
15429
15430 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
15431 of the operand, rather than assuming TImode.
15432 (ix86_expand_binop_builtin): Cope with commutative patterns
15433 using nonimmediate_operand for both operands.
15434 (ix86_expand_timode_binop_builtin): Likewise.
15435 (ix86_expand_store_builtin): Validate operand 1.
15436 (ix86_expand_unop1_builtin): Likewise.
15437
9338ffe6 154382002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 15439
9338ffe6
PB
15440 PR 5705
15441 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
15442
f322b423
RH
154432002-02-20 Richard Henderson <rth@redhat.com>
15444
15445 PR c/5615
15446 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
15447
d94084f7
TT
154482002-02-20 Tom Tromey <tromey@redhat.com>
15449
15450 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
15451 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
15452 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
15453 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
15454 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
15455 unconditionally.
15456
37fa124a
AM
15457Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
15458
15459 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
15460 for (const_int 0) in X not just INTVAL.
15461
6e5bb5ad
JM
154622002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
15463
15464 * doc/extend.texi: Avoid or reduce overfull hboxes.
15465
420e7dfa
DN
154662002-02-20 Diego Novillo <dnovillo@redhat.com>
15467
15468 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
15469 operations if the field does not start at a mode boundary.
15470
1b7a2af6
JS
154712001-02-20 Joel Sherrill <joel@OARcorp.com>
15472
15473 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
15474 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
15475 Also done for -Acpu and -Amachine.
15476
56cd5b95
NB
154772002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
15478
15479 * cppinit.c (init_dependency_output): Take deps output file
15480 from -o if none given with -MF. Suppress normal output.
c410d49e 15481 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
15482 * doc/cpp.texi, doc/invoke.texi: Update.
15483
042cdf71
ZW
154842002-02-19 Zack Weinberg <zack@codesourcery.com>
15485
15486 * toplev.c (output_quoted_string): Write unprintable
15487 characters with octal escapes.
15488
c1f11548
DE
154892002-02-19 David Edelsohn <edelsohn@gnu.org>
15490
15491 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
15492 really_call_used[VRSAVE_REGNO] if not Altivec.
15493
154942002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 15495
c1f11548
DE
15496 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
15497 MODE_MASK.
15498 (constant_pool_expr_1): Fix formatting.
15499 (rs6000_legitimize_reload_address): Likewise.
15500
c964d90e
RK
15501Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15502
15503 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
15504 now that we have one.
15505
ae34ac46
ZW
155062002-02-19 Zack Weinberg <zack@codesourcery.com>
15507
15508 * tree.h (struct tree_common): Remove aux. Add unused_0 at
15509 end of first block of bitfields (which was only seven bits);
15510 rename dummy to unused_1; remove comment which is no longer true.
15511
293c28ee
GS
155122002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
15513
15514 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
15515
7b8781c8
PB
155162002-02-19 Philip Blundell <pb@nexus.co.uk>
15517
0cb6c58d 15518 PR 5399
7b8781c8
PB
15519 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
15520 if generating PIC.
15521
15522 PR 5054
15523 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
15524 arm_is_longcall_p rather than inspecting call-type cookie
15525 directly.
15526 (call_value_insn) [TARGET_THUMB]: Likewise.
15527
5c464583
GS
155282002-02-19 Graham Stott <grahams@redhat.com>
15529
15530 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
15531
71c061e6
DE
155322002-02-19 David Edelsohn <edelsohn@gnu.org>
15533
15534 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
15535 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 15536 (FP_SAVE_INLINE): Delete.
71c061e6
DE
15537
15538 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
15539 * config/rs6000/eabi.asm: Remove ABI save restore routines.
15540 * config/rs6000/t-ppccomm: Build crtsavres.o.
15541 * config/rs6000/crtsavres.asm: New file.
15542
3a7731fd
PB
155432002-02-19 Philip Blundell <philb@gnu.org>
15544
15545 * config/arm/arm.c (use_return_insn): Don't reject interrupt
15546 functions.
15547 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
15548 (output_return_instruction): Allow interrupt functions to return with
15549 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
15550 (arm_expand_prologue): Subtract 4 before stacking LR in an
15551 interrupt function.
15552
14f583b8
PB
155532002-02-19 Philip Blundell <pb@nexus.co.uk>
15554
15555 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
15556 decl, not just FUNCTION_DECL.
15557 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
15558 (arm_assemble_integer): Likewise.
15559 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
15560 marked local.
c410d49e 15561
4cb7482c
MG
155622002-02-19 matthew green <mrg@eterna.com.au>
15563
15564 * config.gcc (sparc-*-netbsdelf*): Enable target.
15565 (sparc64-*-netbsd*): New target.
15566 * config/sparc/netbsd-elf.h: New file.
15567 * config/sparc/t-netbsd64: New file.
15568
2df3a718
GS
155692002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
15570
15571 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
15572
77f6c1eb
RS
155732002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
15574
15575 * doc/invoke.texi: explicitly list the style guidelines that
15576 -Weffc++ checks for.
15577
fd973d56
JH
15578Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
15579
15580 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
15581
30518e45
NB
155822002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
15583
15584 PR other/5718
15585 * gcc.c (cpp_unique_options): Treat -o as indicating object file
15586 only if not -E. If -E, pass -o through to the preprocessor.
15587
39ea5704
KH
155882002-02-19 Kazu Hirata <kazu@hxi.com>
15589
15590 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
15591 register number with an appropriate macro.
15592
7355dba7
BM
155932002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
15594
15595 * doc/rtl.texi (Constants): Close @code tag.
15596
91c8aa9e
AH
155972002-02-19 Aldy Hernandez <aldyh@redhat.com>
15598
15599 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
15600 ("mmx_uavgv4hi3"): Same.
15601 ("pmulhrwv4hi3"): Same.
15602
15603 * tree-inline.c (walk_tree): Handle vectors.
15604
15605 * c-common.c (constant_expression_warning): Handle vectors.
15606 (overflow_warning): Same.
15607
15608 * sched-deps.c (sched_analyze_2): Handle vectors.
15609
15610 * rtlanal.c (rtx_unstable_p): Handle vectors.
15611 (rtx_varies_p): Same.
15612 (count_occurrences): Same.
15613 (regs_set_between_p): Same.
15614 (modified_between_p): Same.
15615 (modified_in_p): Same.
15616 (volatile_insn_p): Same.
15617 (volatile_refs_p): Same.
15618 (side_effects_p): Same.
15619 (may_trap_p): Same.
15620 (inequality_comparisons_p): Same.
15621 (replace_regs): Same.
15622 (computed_jump_p_1): Same.
15623
15624 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
15625 argument.
15626 (inner_mode_array): New.
15627 (copy_rtx): Handle vectors.
15628 (copy_most_rtx): Same.
15629 (rtx_equal_p): Same.
15630 (get_mode_alignment): Adjust for vectors.
15631
15632 * resource.c (mark_referenced_resources): Handle vectors.
15633 (mark_set_resources): Same.
15634
15635 * reload1.c (eliminate_regs): Handle vectors.
15636 (elimination_effects): Same.
15637 (scan_paradoxical_subregs): Same.
15638
15639 * reload.c (subst_reg_equivs): Handle vectors.
15640
15641 * regrename.c (scan_rtx): Handle vectors.
15642
15643 * regclass.c (reg_scan_mark_refs): Handle vectors.
15644
15645 * recog.c (find_single_use_1): Handle vectors.
15646
15647 * local-alloc.c (equiv_init_varies_p): Handle vectors.
15648 (contains_replace_regs): Same.
15649 (memref_referenced_p): Same.
15650
15651 * integrate.c (copy_rtx_and_substitute): Handle vectors.
15652 (subst_constants): Same.
15653
15654 * genattrtab.c (attr_copy_rtx): Handle vectors.
15655 (encode_units_mask): Same.
15656 (clear_struct_flag): Same.
15657 (count_sub_rtxs): Same.
15658
15659 * gcse.c (want_to_gcse_p): Handle vectors.
15660 (oprs_unchanged_p): Same.
15661 (hash_expr_1): Same.
15662 (oprs_not_set_p): Same.
15663 (expr_killed_p): Same.
15664 (compute_transp): Same.
15665 (store_ops_ok): Same.
15666
15667 * function.c (purge_addressof_1): Do not allow paradoxical subregs
15668 of vectors.
15669 (fixup_var_refs_1): Same.
15670 (instantiate_virtual_regs_1): Same.
15671
15672 * fold-const.c (operand_equal_p): Handle vectors.
15673 (fold): Same.
15674 (rtl_expr_nonnegative_p): Same.
15675
15676 * flow.c (mark_used_regs): Handle vectors.
15677
15678 * df.c (df_uses_record): Handle vectors.
15679
15680 * cselib.c (cselib_subst_to_values): Handle vectors.
15681 (cselib_mem_conflict_p): Same.
15682 (hash_rtx): Same.
15683
15684 * cse.c (canon_reg): Handle vectors.
15685 (fold_rt): Same.
15686 (cse_process_notes): Same.
15687 (count_reg_usage): Same.
15688 (canon_hash): Same.
15689
15690 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
15691
15692 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
15693
15694 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
15695 (gen_rtx): Handle CONST_VECTOR.
15696 (gen_const_vector_0): New.
15697 (copy_rtx_if_shared): CONST_VECTORs can be shared.
15698 (reset_used_flags): Same.
15699 (copy_insn_1): Same.
15700 (initializer_constant_valid_p): Handle VECTOR_CST.
15701
15702 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
15703
15704 * doc/rtl.texi (Constants): Document const_vector.
15705 (CONST0_RTX): Update for vectors.
15706 (RTL sharing): Same.
15707
15708 * print-tree.c (print_node): Add case for VECTOR_CST.
15709
15710 * tree.h (TREE_VECTOR_CST_ELTS): New.
15711 (struct tree_vector): New.
15712 (union tree_node): Add vector node.
15713 (build_vector): Add prototype.
15714
15715 * tree.def (VECTOR_CST): New.
15716
15717 * tree.c (build_vector): New.
15718
15719 * expmed.c (make_tree): Handle CONST_VECTOR.
15720
15721 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
15722 (CONST_VECTOR_ELT): New.
15723 (CONST_VECTOR_NUNITS): New.
15724
15725 * machmode.h (GET_MODE_INNER): New.
15726 (DEF_MACHMODE): Accept 8th arg.
15727
15728 * machmode.def: Add 8th argument for vector inner mode.
15729 Add inner vector modes for vectors.
15730
15731 * rtl.def (VEC_CONST): Remove.
15732 (CONST_VECTOR): New.
15733
15734 * expr.c (clear_storage): Allow vectors.
15735 (is_zeros_p): Handle VECTOR_CST.
15736
15737 * varasm.c (output_constant_pool): Handle vectors.
15738 (rtx_const): Add veclo and vechi fields.
15739 (kind): Add RTX_VECTOR.
15740 (decode_rtx_const): Add case for vector.
15741
15742 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 15743
91c8aa9e
AH
15744 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
15745 constants. Force easy vector constants into memory.
15746 (easy_vector_constant): New.
15747 (emit_easy_vector_constant): New.
15748 (rs6000_legitimize_reload_address): Do not generate bad reloads on
15749 darwin.
15750
15751 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
15752 instruction does.
15753 ("altivec_lvxl"): Same.
15754 (altivec_lvebx): Same.
15755 (altivec_lvehx): Same.
15756 (altivec_lvewx): Same.
15757 ("*movv4si_const0"): New.
15758 ("*movv4sf_const0"): New.
15759 ("*movv8hi_const0"): New.
15760 ("*movv16qi_const0"): New.
15761
d4d6d0ce
KH
157622002-02-18 Kazu Hirata <kazu@hxi.com>
15763
15764 * config/h8300/h8300.c (notice_update_cc): Use
15765 cc_status.value2.
15766
4915d3aa
KH
157672002-02-18 Kazu Hirata <kazu@hxi.com>
15768
15769 * config/h8300/h8300.md (divmod patterns): Change the
15770 constraints for operands[1] to register_operand.
15771
82be00ee
KH
157722002-02-18 Kazu Hirata <kazu@hxi.com>
15773
15774 * config/h8300/h8300-protos.h: Remove the prototype for
15775 p_operand.
15776 * config/h8300/h8300.c (p_operand): Remove.
15777 * config/h8300/h8300.md: Replace p_operand with
15778 const_int_operand.
15779
1768c26f
PB
157802002-02-18 Philip Blundell <pb@nexus.co.uk>
15781
15782 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
15783 comment.
15784 (output_return_instruction): Allow use of LDR to unstack
15785 return addresss even for interrupt handlers or when
15786 interworking. If compiling for ARMv5, use interworking-safe
15787 return instructions by default. Remove duplicated code and
15788 lengthy "strcat" sequences.
15789
ccd84f51
FS
157902002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15791
15792 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
15793 (LINK_EH_SPEC): Define.
15794 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
15795
2c153108
UW
157962002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
15797
15798 * config/s390/s390.c (s390_emit_prologue): Do not set the
15799 frame_related flag for call-clobbered registers.
15800
e95d6b23
JH
15801Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
15802
15803 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
15804 (construct_container): Fix handling of SSE operands.
15805 (ix86_expand_builtin): Fix handling of 64bit pointers.
15806 (mmx_maskmovq_rex): New pattern.
15807
c43a12b5
JH
15808Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
15809
15810 * regrename.c (kill_set_value): Handle subregs properly.
15811
aeb85a15
DB
158122002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
15813
15814 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 15815 from objc_class_name.
aeb85a15 15816
a615ca3e
RH
158172002-02-17 Richard Henderson <rth@redhat.com>
15818
15819 * config/alpha/alpha.c (some_small_symbolic_operand,
15820 some_small_symbolic_operand_1, split_small_symbolic_operand,
15821 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
15822 Handle small SYMBOL_REFs anywhere, not just inside memories.
15823 * config/alpha/alpha-protos.h: Update.
15824 * config/alpha/alpha.h (PREDICATE_CODES): Update.
15825 * config/alpha/alpha.md (small symbolic operand splitter): Update.
15826
ddb28441
RM
158272002-02-17 Roland McGrath <roland@frob.com>
15828
15829 * config.gcc (powerpc-*-gnu-gnualtivec*,
15830 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
15831 * config/rs6000/gnu.h: New file.
15832 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
15833 Grok "gnu" in rs6000_abi_name.
15834 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
15835 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
15836 Grok -mcall-gnu analogous to -mcall-linux et al.
15837 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
15838 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
15839 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
15840
f6f8ada3
JJ
158412002-02-17 Jakub Jelinek <jakub@redhat.com>
15842
15843 PR c/3444:
15844 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
15845 shortening.
15846
e16b32fc
PT
158472002-02-17 Philipp Thomas <pthomas@suse.de>
15848
15849 * config/cris/cris.h: Undefine STARTFILE_SPEC and
15850 ENDFILE_SPEC before (re)defining them.
15851
f9477efd
KH
158522002-02-17 Kazu Hirata <kazu@hxi.com>
15853
15854 * config/h8300/h8300.c: Fix formatting.
15855 * config/h8300/h8300.h: Likewise.
15856
404ae494
PT
158572002-02-17 Philipp Thomas <pthomas@suse.de>
15858
15859 * doc/tm.texi: Explain why empty strings should not be
15860 marked for translation.
15861
a52453cc
PT
158622002-02-17 Philipp Thomas <pthomas@suse.de>
15863
15864 * final.c (output_operand_lossage): Changed to accept
15865 printf style arguments. Change calls where necessary.
15866 * output.h (output_operand_lossage): Change declaration
15867 accordingly. Update copyright.
15868 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
15869 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
15870 Update copyright date where necessary.
c410d49e 15871
a52453cc
PT
15872 * config/i386/i386.c (print_operand): Likewise. Remove use of
15873 sprintf.
15874
15875 * config/cris/cris.c (cris_operand_lossage): Likewise.
15876 Rename parameter so that exgettext recognizes it as
15877 translatable message.
15878 (LOSE_AND_RETURN): Rename parameter to msgid.
15879
1c11abc4
KH
158802002-02-17 Kazu Hirata <kazu@hxi.com>
15881
15882 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
15883 hard coded register number with an appropriate macro.
15884 (HARD_REGNO_MODE_OK): Likewise.
15885 (ARG_POINTER_REGNUM): Likewise.
15886 (STATIC_CHAIN_REGNUM): Likewise.
15887 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
15888 * config/h8300/h8300.md (define_constants): Define more
15889 register numbers.
15890
a5d17ff3
PT
158912002-02-17 Philipp Thomas <pthomas@suse.de>
15892
15893 * config/i386/i386.h: Don't mark empty strings for translation.
15894
1a7289c4
L
158952002-02-16 H.J. Lu <hjl@gnu.org>
15896
15897 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
15898
afb58288
ZW
158992002-02-16 Zack Weinberg <zack@codesourcery.com>
15900
15901 * cppinit.c (merge_include_chains): Check for brack being
15902 NULL before attempting to merge it with qtail.
15903
d2af4dbd
AC
159042002-02-16 Andrew Cagney <ac131313@redhat.com>
15905
15906 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
15907 DBX_DEBUG.
15908
2e1ed1e3
JDA
159092002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
15910
15911 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
15912
604c75b2
JDA
159132002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
15914
15915 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
15916 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
15917 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
15918
1a42b072
RK
15919Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15920
7303604f 15921 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
15922 now only if !TARGET_FIX.
15923 (*movsi_nt_vms_fix): New pattern.
15924
c2ea1ac6
DR
159252002-02-16 Douglas B Rupp <rupp@gnat.com>
15926
15927 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
15928 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
15929 (alpha_sa_mask, alpha_sa_size): Reflect above change.
15930 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
15931 (alpha_start_function, alpha_expand_epilogue): Likewise.
15932 (unicosmk_gen_dsib): Likewise.
15933
725e58b1
RK
15934Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15935
15936 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
15937
13e58269
UW
159382002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
15939
c410d49e 15940 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
15941 check_and_change_labels, s390_final_chunkify): Delete.
15942 (s390_split_branches, s390_chunkify_pool): New functions.
15943 (s390_function_prologue): Call them.
c410d49e 15944
13e58269
UW
15945 * config/s390/s390.h (S390_REL_MAX): Delete.
15946 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
15947
c410d49e 15948 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
15949 attribute calculation.
15950
15951
34d1b01d
DE
159522002-02-15 David Edelsohn <edelsohn@gnu.org>
15953
15954 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
15955 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
15956
be5cc51a
JDA
159572002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
15958
15959 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
15960 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
15961 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
15962
ee96ce90
RS
159632002-02-15 Richard Sandiford <rsandifo@redhat.com>
15964
15965 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
15966
05fa709d
RS
159672002-02-15 Richard Sandiford <rsandifo@redhat.com>
15968
15969 * reload.c (find_dummy_reload): Check that an output register
15970 is valid for its mode.
15971
4606272b
AO
159722002-02-14 Alexandre Oliva <aoliva@redhat.com>
15973
9a360704
AO
15974 * combine.c (known_cond): After replacing the REG of a SUBREG, try
15975 to simplify it.
15976
4606272b
AO
15977 * function.c (assign_parms): Demote promoted argument passed by
15978 transparent reference.
15979
e62d89a1
JS
159802001-02-14 Joel Sherrill <joel@OARcorp.com>
15981
15982 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
15983 -Acpu() and -Amachine() to eliminate warnings.
15984
6c4cf695
UW
159852002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
15986
15987 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
15988
037f11ef
KH
159892002-02-14 Kazu Hirata <kazu@hxi.com>
15990
15991 * config/h8300/h8300-protos.h: Update the prototype for
15992 const_costs.
15993 * config/h8300/h8300.c (const_costs): Treat SET as a little
15994 more expensive operation.
15995 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
15996 reference to const_costs.
15997
fdc76b09
HPN
159982002-02-14 Hans-Peter Nilsson <hp@axis.com>
15999
16000 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
16001
d76e6800
JJ
160022002-02-14 Jakub Jelinek <jakub@redhat.com>
16003
16004 PR c/5503:
16005 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
16006 use arguments from newtype.
16007
5ae590d7
EC
160082002-02-13 Eric Christopher <echristo@redhat.com>
16009
16010 * config/mips/mips.c (override_options): Add check for march/mipsX
16011 on the same command line. Fix error message in cpu processing.
16012 Remove architecture and ISA checks.
16013
b8513691
AH
160142002-02-14 Aldy Hernandez <aldyh@redhat.com>
16015
831c4e87 16016 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 16017
831c4e87 16018 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 16019
78c875e8
AH
160202002-02-14 Aldy Hernandez <aldyh@redhat.com>
16021
831c4e87
KC
16022 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
16023 alternatives.
16024 ("*movv8hi_internal1"): Same.
16025 ("*movv16qi_internal1"): Same.
16026 ("*movv4sf_internal1"): Same.
78c875e8 16027
831c4e87
KC
16028 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
16029 not push_reload for altivec modes.
78c875e8 16030
d76e6800 160312002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
16032
16033 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
16034 all RTEMS targets including removal of #includes from config/*/rtems*.h
16035 file and adding them to tm_file setting. Added xm_defines=POSIX to
16036 many targets.
16037 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
16038 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
16039 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
16040 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
16041 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
16042 config/m68k/rtemself.h: Ditto.
16043 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
16044 config/mips/rtems64.h: Ditto.
16045 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
16046 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
16047 Ditto.
16048 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
16049 config/sparc/rtemself.h: Ditto.
16050 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
16051 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
16052 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
16053 more like arm-elf.
16054 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
16055 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
16056 target made more similar to i386-elf.
16057 * config/i386/t-rtems-i386: Added soft float support and multilibs.
16058 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
16059 be similar to config/m68k/t-m68kelf.
16060 * gthr-rtems.h: Encapsulate with extern "C" for C++.
16061
8686336f
JH
16062Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
16063
16064 * regmove.c (kill_value): Handle subregs.
16065
558740bf
JH
16066Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
16067
16068 * i386.md (mul patterns): Allow memory operand to be first;
16069 add expanders where needed; fix constraints.
16070 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
16071 Allow memory operand to be the first.
16072
16073 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
16074 operands.
16075
21117a17
JJ
160762002-02-13 Jakub Jelinek <jakub@redhat.com>
16077
16078 PR c/5681:
16079 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
16080 GET_MODE (x).
16081
ec65b2e3
JJ
160822002-02-13 Jakub Jelinek <jakub@redhat.com>
16083
16084 PR optimization/5547:
16085 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
16086 all valid IA-32 address modes involving non-scaled %ebx and
16087 GOT/GOTOFF as displacement.
16088
ce50cae8
UW
160892002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
16090
16091 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
16092 after emitting ltorg insns.
16093
16094 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
16095 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
16096 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
16097 *abssf2): Fix "op_type" attribute.
16098
09eb789b
DR
160992002-02-13 Douglas B Rupp <rupp@gnat.com>
16100
2dbe67bb
DR
16101 * mkconfig.sh: Avoid using a subshell redirect.
16102 ($output.T): Change to $(output)T.
16103 (ENABLE_NLS): Remove unneeded undef.
16104
ea5b9a1f
DR
16105 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
16106 * config/alpha/x-vms (libsubdir): Define.
16107
3deb00ce
DR
16108 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
16109 register frame procedures. Optimize retrieving context.
16110
09eb789b
DR
16111 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
16112 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
16113 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
16114
1abade85
RK
16115Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16116
16117 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
16118 Make same change as for find_base_value.
16119
c283e63f
KH
161202002-02-13 Kazu Hirata <kazu@hxi.com>
16121
16122 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
16123 of QImode and SImode.
16124
86039100
KH
161252002-02-13 Kazu Hirata <kazu@hxi.com>
16126
16127 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
16128 length computation of movsi.
16129 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
16130
e1429da0
KH
161312002-02-13 Kazu Hirata <kazu@hxi.com>
16132
16133 * config/h8300/h8300.md (subqi3): Tighten the predicate for
16134 operands[2] to register_operand.
16135
aebfea10
JH
16136Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
16137
16138 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
16139
0ec4e2a8
AH
161402002-02-12 Aldy Hernandez <aldyh@redhat.com>
16141
831c4e87
KC
16142 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
16143 for altivec_lvx* and altivec_stvx*.
16144 ("*movv4si_internal"): Add constraint for loading from GPRs.
16145 ("*movv8hi_internal1"): Same.
16146 ("*movv16qi_internal1"): Same.
16147 ("*movv4sf_internal1"): Same.
0ec4e2a8 16148
831c4e87 16149 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 16150
831c4e87
KC
16151 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
16152 altivec_register_operand.
0ec4e2a8 16153
b007569d
HPN
161542002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
16155
16156 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
16157 handle SYMBOL_REF.
16158
e6834654
SS
161592002-02-13 Stan Shebs <shebs@apple.com>
16160
831c4e87
KC
16161 * c-typeck.c (digest_init): Handle vectors.
16162 (really_start_incremental_init): Same.
16163 (pop_init_level): Same.
16164 (process_init_element): Same.
e6834654 16165
831c4e87 16166 * varasm.c (output_constant): Same.
e6834654 16167
831c4e87
KC
16168 * expr.c (clear_storage): Same.
16169 (store_constructor): Same.
e6834654 16170
d9b3eb63
EC
161712002-02-12 Eric Christopher <echristo@redhat.com>
16172
16173 * explow.c (hard_function_value): Add comment explaining
16174 signed/unsigned comparison.
16175
56d44285
JJ
161762002-02-12 Jakub Jelinek <jakub@redhat.com>
16177
16178 * jump.c (never_reached_warning): Add finish argument.
16179 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
16180 real insn after end.
16181 * rtl.h (never_reached_warning): Adjust prototype.
16182 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
16183 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
16184 never_reached_warning.
16185
fc209487
GS
161862002-02-12 Graham Stott <grahams@redhat.com>
16187
16188 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
16189
1e41e866
KH
161902002-02-12 Kazu Hirata <kazu@hxi.com>
16191
16192 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
16193 logical shifts on H8/300.
16194 (shift_alg_si): Improve several shifts on H8/300.
16195 (get_shift_alg): Likewise.
16196
a36a47ad
GS
161972002-02-12 Graham Stott <grahams@redhat.com>
16198
16199 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
16200
0aacc8ed
RK
16201Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16202
16203 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
16204 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
16205
a02ac966
HPN
162062002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
16207
16208 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
16209 non-CONST_INT through default_assemble_integer.
16210 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
16211 <case 8>: Abort for CONST_DOUBLE.
16212
d6e06ddc
JDA
162132002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
16214
16215 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
16216 is specified.
16217 * config/pa/pa-linux.h (LIB_SPEC): Delete.
16218 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
16219
515342a8
AH
162202002-02-11 Andrew Haley <aph@cambridge.redhat.com>
16221
16222 * config/stormy16/stormy16.md (zero_extendqihi2): New.
16223
cddd8b72
AO
162242002-02-11 Alexandre Oliva <aoliva@redhat.com>
16225
66df7a98
AO
16226 * regrename.c (regrename_optimize): Don't accept a
16227 part-clobbered register if the replaced register is not part
16228 clobbered.
16229
841404cd
AO
16230 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
16231 take padding into account when computing the argument value.
16232
1d1ade42
AO
16233 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
16234
cddd8b72
AO
16235 * combine.c (try_combine): Apply substitutions in
16236 CALL_INSN_FUNCTION_USAGE too.
16237
5c665b88
AH
162382002-02-11 Aldy Hernandez <aldyh@redhat.com>
16239
77f6c1eb
RS
16240 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
16241 __builtin_altivec_abs*.
16242 (bdesc_abs): New.
5c665b88 16243
77f6c1eb
RS
16244 * config/rs6000/rs6000.h (rs6000_builtins): Add
16245 ALTIVEC_BUILTIN_ABS*.
5c665b88 16246
77f6c1eb
RS
16247 * config/rs6000/altivec.h: Use const char for builtins expecting
16248 literals.
16249 (vec_abs): New versions for C and C++.
16250 (vec_abss): Same.
5c665b88 16251
3494f1b4
KH
162522002-02-10 Kazu Hirata <kazu@hxi.com>
16253
16254 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
16255 using Pmode.
16256
72431aef
KH
162572002-02-10 Kazu Hirata <kazu@hxi.com>
16258
16259 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
16260 constant definition from h8300.md.
16261 (FRAME_POINTER_REGNUM): Likewise.
16262 * config/h8300/h8300.md (define_constants): Add FP_REG.
16263
87e4ee91
KH
162642002-02-10 Kazu Hirata <kazu@hxi.com>
16265
16266 * config/h8300/h8300.c (print_operand): Remove redundant code.
16267
9c188705
KH
162682002-02-10 Kazu Hirata <kazu@hxi.com>
16269
16270 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
16271 * config/h8300/h8300.c (byte_reg): Make it static.
16272
fba78abb
RH
162732002-02-10 Richard Henderson <rth@redhat.com>
16274
16275 PR c/5623
16276 * c-typeck.c (incomplete_type_error): Handle flexible array members.
16277
65739e62
RH
162782002-02-10 Richard Henderson <rth@redhat.com>
16279
16280 PR c++/5624
16281 * tree.c (append_random_chars): Don't abort if main_input_filename
16282 does not exist.
16283
247cb9df
HPN
162842002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
16285
16286 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
16287
232bd029
KH
162882002-02-10 Kazu Hirata <kazu@hxi.com>
16289
65739e62 16290 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
16291 (pushhi1): Likewise.
16292
276ef573
JDA
162932002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
16294
16295 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
16296 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
16297
617e9ee5
DB
162982002-02-09 David O'Brien <obrien@FreeBSD.org>
16299
16300 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
16301 remove MASK_VIS.
16302 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
16303
6dfa4005
KH
163042002-02-09 Kazu Hirata <kazu@hxi.com>
16305
16306 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
16307 a half of an SImode register on H8/300.
16308
749e7b80
JH
16309Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
16310
16311 * i386.md (movdi_2): Add missing '!'.
16312
ca77d87c
KH
163132002-02-09 Kazu Hirata <kazu@hxi.com>
16314
16315 * config/h8300/h8300.h: Fix formatting. Remove commented-out
16316 definitions.
16317
16c96304
KH
163182002-02-09 Kazu Hirata <kazu@hxi.com>
16319
16320 * config/h8300/h8300.md (length): Correct the distance valid
16321 for the short branch.
16322
a364bc90
KH
163232002-02-09 Kazu Hirata <kazu@hxi.com>
16324
16325 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
16326
e4ec2cac
AO
163272002-02-09 Alexandre Oliva <aoliva@redhat.com>
16328
a138247b
AO
16329 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
16330 registers in SImode.
16331 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
16332 part-clobbered.
16333
2b1fd83f
AO
16334 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
16335 patch.
d9b3eb63 16336
fa5322fa
AO
16337 Contribute sh64-elf.
16338 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
16339 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
16340 (sh_cannot_modify_jumps_p): New function.
16341 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
16342 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
16343 (sh_ms_bitfield_layout_p): New function.
16344 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
16345 Zack Weinberg <zack@codesourcery.com>
16346 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
16347 expand_simple_binop instead of expand_binop.
16348 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
16349 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
16350 use of .quad and .uaquad.
16351 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
16352 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
16353 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
16354 * config/sh/sh.md (movdi_const, movdi_const_32bit,
16355 movdi_const_16bit): Make sure all CONSTs have modes.
16356 (sym2PIC): Ditto, but by adjusting all callers.
16357 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
16358 if the prologue calls the SHmedia argument decoder or register
16359 saver.
16360 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
16361 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
16362 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
16363 (sh_expand_epilogue): Don't emit USE of return target register.
16364 (prepare_move_operands): Legitimize DImode PIC addresses.
16365 (sh_media_register_for_return): Skip tr0, used to initialize the
16366 PIC register.
16367 (sh_expand_prologue): Remove explicit USE of return register.
16368 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
16369 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
16370 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
16371 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
16372 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
16373 EXTRA_CONSTRAINT_T.
16374 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
16375 (MOVI_SHORI_BASE_OPERAND_P): New.
16376 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
16377 (EXTRA_CONSTRAINT_T): Define in terms of them.
16378 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
16379 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
16380 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
16381 alternatives supporting TARGET_REGS.
16382 (UNSPEC_GOTPLT): New constant.
16383 (movdi split): Move incrementing of LABEL_NUSES...
16384 (movdi_const, movdi_const_32bit): Here. Use
16385 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
16386 (movdi_const_16bit): New.
16387 (call, call_value) [flag_pic]: Use GOTPLT.
16388 (call_pop, call_value_pop): New expands.
16389 (call_pop_compact, call_pop_rettramp): New insns.
16390 (call_value_pop_compact, call_value_pop_rettramp): New insns.
16391 (sibcall) [flag_pic]: Use GOT.
16392 (builtint_setjmp_receiver): Remove bogus, unused expand.
16393 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
16394 (*pt, *ptb, ptrel): New insns.
16395 (sym2GOT): Handle DImode GOT.
16396 (sym2GOTPLT, symGOTPLT2reg): New expands.
16397 (sym2PIC): New expand.
16398 (shcompact_return_tramp): Use GOTPLT to return trampoline.
16399 (shcompact_return_tramp_i): Use return register explicitly.
16400 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
16401 disable flag_reorder_blocks.
16402 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
16403 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
16404 clobbers, for clarity.
16405 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
16406 restoring of r0 in macl as MAYBE_DEAD.
16407 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
16408 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
16409 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
16410 alter_subreg all over.
16411 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
16412 reload, instead of emitting instructions that would require
16413 reloading.
16414 (casesi_load_media): Add missing modes.
16415 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
16416 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
16417 as used if the argument decoder is called.
16418 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
16419 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
16420 Pmode, then extend it to DImode if necessary.
16421 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
16422 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
16423 constants in FPU-enabled SHmedia, let them be loaded from memory.
16424 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
16425 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
16426 Adjust whitespace in assembly output templates.
16427 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
16428 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
16429 mode of if_then_else.
16430 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
16431 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
16432 sh.h.
16433 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
16434 Joern Rennecke <amylaar@redhat.com>
16435 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
16436 (SUBTARGET_CPP_PTR_SPEC): New.
16437 (SUBTARGET_CPP_SPEC): Remove.
16438 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
16439 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
16440 Fix typo in previous checkin.
16441 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
16442 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
16443 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
16444 Alexandre Oliva <aoliva@redhat.com>
16445 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
16446 what single FP register can hold for SHmedia target.
16447 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
16448 Alexandre Oliva <aoliva@redhat.com>
16449 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
16450 Do not split into SUBREG.
16451 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
16452 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
16453 and added new functions as specified in SH5 ABI r9.
16454 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
16455 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
16456 8-byte boundary.
16457 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
16458 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
16459 gen_consttable_4 and gen_consttable_8. Emit multiple labels
16460 and consttable_window_ends.
16461 2001-06-03 Graham Stott <grahams@redhat,com>
16462 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
16463 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
16464 * config/sh/sh.c (print_operand): Handle floating-point pair,
16465 vector and matrix registers.
16466 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
16467 vector modes into account.
16468 * config/sh/sh.md (movv2sf): Split move between registers into
16469 movdf.
16470 (movv4sf, movv16sf): Introduce insns that get split only after
16471 reload.
16472 * config/sh/shmedia.h: Fix Copyright dates.
16473 * config/sh/ushmedia.h: Likewise. Move loop counter
16474 declarations into conditionals that uses them.
16475 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
16476 loop boundary.
16477 * config/sh/sshmedia.h: Fix Copyright dates.
16478 (sh_media_PUTCFG): Fix constraints.
16479 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
16480 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
16481 ptrmemfunc_vbit_in_delta for SH5.
16482 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
16483 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
16484 * invoke.texi: Likewise.
16485 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
16486 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
16487 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
16488 GCC_pop_shmedia_regs_nofpu): New global symbols.
16489 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
16490 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
16491 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
16492 compact function with nonlocal labels.
16493 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
16494 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
16495 (initial_elimination_offset): Account for their stack space.
16496 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
16497 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
16498 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
16499 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
16500 least one of the operands to be a register.
16501 (movv2sf): Likewise. Renamed to movv2sf_i.
16502 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
16503 prepare_move_operands() before emitting SHmedia insns.
16504 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
16505 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
16506 Don't save nor initialize r12. Don't mis-align the stack.
16507 Pad the code with a nop.
16508 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
16509 stack.
16510 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
16511 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
16512 [__SHMEDIA__]: Implement.
16513 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
16514 * config/sh/sh.md: Set latency of `pt' closer to reality.
16515 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
16516 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
16517 Set move, load and store type attributes.
16518 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
16519 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
16520 profiling.
16521 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
16522 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
16523 * config/sh/sh.c (sh_media_register_for_return): New function.
16524 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
16525 branch-target register.
16526 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
16527 * config/sh/sh.md (return_media_i): Use any call-clobbered
16528 branch-target register.
16529 (return_media): If r18 wasn't copied in the prologue, copy it
16530 here.
16531 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
16532 Clear class FP0_REGS.
16533 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
16534 from elf.h.
16535 2001-03-08 DJ Delorie <dj@redhat.com>
16536 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
16537 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
16538 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
16539 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
16540 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
16541 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
16542 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
16543 return value correctly for call_cookie.
16544 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
16545 * config/sh/crt1.asm (start): Modified so as to call
16546 ___setup_argv_and_call_main.
16547 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
16548 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
16549 SHmedia mode.
16550 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
16551 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
16552 (STRIP_NAME_ENCODING): Use it.
16553 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
16554 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
16555 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
16556 prepare_scc_operands().
16557 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
16558 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
16559 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
16560 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
16561 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
16562 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
16563 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
16564 used in shcompact_incoming_args.
16565 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
16566 change.
16567 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
16568 mode.
16569 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
16570 Adjust accordingly.
16571 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
16572 Simplify. Adjust. Add sanity check.
16573 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
16574 FPU_SINGLE_BIT.
16575 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
16576 TARGET_SHCOMPACT.
16577 (udivsi3, divsi3): Use them.
16578 (force_mode_for_call): New insn.
16579 (call, call_value, sibcall_value): Emit it before SHcompact
16580 calls.
16581 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
16582 * config/sh/sh.md (call, call_value, sibcall): Make sure the
16583 call cookie is non-NULL before taking its value.
16584 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
16585 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
16586 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
16587 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
16588 block.
16589 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
16590 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
16591 temporary for stack adjusts. Use MACL and MACH to pass
16592 arguments to shcompact_incoming_args.
16593 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
16594 clobber r1.
16595 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
16596 (nested_trampoline): Load static chain address into r1.
16597 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
16598 2001-01-07 Alexandre Oliva <aoliva@redhat.com
16599 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
16600 fp_arith_reg_operand().
16601 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
16602 * config/sh/sh.md (casesi): Sign-extend the first two operands,
16603 and use signed compares for them.
16604 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
16605 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
16606 ones properly aligned.
16607 (find_barrier): Account for extra alignment needed for 8-byte wide
16608 constants.
16609 (machine_dependent_reorg): Require a label for the second 4-byte
16610 constant after an 8-byte one.
16611 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
16612 change.
16613 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
16614 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
16615 last_float when switching float modes.
16616 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
16617 auto-increment for general-purpose registers.
16618 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
16619 result.
16620 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
16621 for stack adjust.
16622 * config/sh/sh.c (sh_builtin_saveregs): Support using all
16623 registers for varargs.
16624 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
16625 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
16626 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
16627 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
16628 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
16629 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
16630 call_cookie accordingly.
16631 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
16632 (SHCOMPACT_BYREF): Likewise.
16633 (SHCOMPACT_FORCE_ON_STACK): New macro.
16634 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
16635 (sh_builtin_saveregs): Likewise.
16636 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
16637 shcompact_incoming_args): Use new shift values. Support
16638 sequences of consecutive and non-consecutive pushes/pops.
16639 * config/sh/sh.md (return): Don't explicitly use PR_REG.
16640 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
16641 * config/sh/sh.h (TEXT_SECTION): Define.
16642 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
16643 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
16644 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
16645 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
16646 return values on FPU-enabled SHmedia.
16647 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
16648 FPU-enabled SHmedia.
16649 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
16650 value is returned in a non-FP reg and is not returned by
16651 reference.
16652 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
16653 jump_ind.
16654 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
16655 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
16656 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
16657 quad-aligned to be passed by callee-copy reference.
16658 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
16659 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
16660 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
16661 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
16662 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
16663 copying low-numbered FP regs to r7 and r8.
16664 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
16665 FP regs to general-purpose regs only if the copy was passed on the
16666 stack.
16667 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
16668 copying FP reg to r9.
16669 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
16670 copy FP regs to general-purpose regs only in outgoing calls.
16671 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 16672 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
16673 HOST_WIDE_INT.
16674 * config/sh/sh.h (struct sh_args): Document all fields.
16675 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
16676 passed partially on the stack should not consider making
16677 sibcalls.
16678 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
16679 stack_regs only for incoming calls. When passing FP args,
16680 make sure there are FP regs available before modifying
16681 call_cookie.
16682 (SHCOMPACT_BYREF): Pass double args in general-purpose
16683 registers by reference.
16684 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
16685 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
16686 attempt to generate sibcalls if the caller got any arguments
16687 by reference.
16688 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
16689 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
16690 to 8-byte boundaries.
16691 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
16692 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
16693 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
16694 stored in the stack.
16695 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
16696 for the offsets to have the ISA bit set.
16697 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
16698 invocation. Use beq instead of bgt to mark end of sequence of
16699 loads.
16700 (shcompact_incoming_args): Fix store of r2. Use beq instead of
16701 bgt to mark end of sequence of stores.
16702 * config/sh/sh.c (arith_operand): Don't check whether
16703 CONST_OK_FOR_J for now.
16704 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
16705 instead of long for conversion.
16706 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
16707 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
16708 before passing it to fprintf.
16709 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
16710 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
16711 Call set_fpscr before reading/writing SR.
16712 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
16713 Call set_fpscr.
16714 * config/sh/lib1funcs.asm: Add `.align 2' directives before
16715 SHmedia code.
16716 (FMOVD_WORKS): Define on SH5 with FPU.
16717 (set_fpscr): Define on SH5. Remove separate _fpscr_values
16718 setting.
16719 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
16720 _fpscr_values.
16721 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
16722 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
16723 address.
16724 (ia_main_table): Ditto.
16725 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
16726 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
16727 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
16728 the definitions from sh.h.
16729 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
16730 TARGET_SH5.
16731 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
16732 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
16733 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
16734 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
16735 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
16736 Increment LABEL_NUSES.
d9b3eb63 16737
fa5322fa
AO
16738 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
16739 TARGET_SH5.
16740 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
16741 defined.
16742 * config/sh/elf.h (SIZE_TYPE): Likewise.
16743 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
16744 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
16745 shcompact_incoming_args): Load switch table addresses using
16746 datalabel.
16747 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
16748 (NO_BUILTIN_SIZE_TYPE): Define.
16749 (SIZE_TYPE): Don't define.
16750 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
16751 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
16752 definition of __SH5__=32 for -m5-compact-nofpu.
16753 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
16754 ADDR_DIFF_VEC.
16755 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
16756 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
16757 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
16758 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
16759 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
16760 (INSN_LENGTH_ALIGNMENT): Likewise.
16761 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
16762 * config/sh/sh.md (call, call_value, sibcall): Simplify
16763 copying of non-branch-target register.
16764 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 16765 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
16766 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
16767 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
16768 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
16769 floating-point values as structs.
16770 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
16771 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
16772 general-purpose register.
16773 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
16774 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
16775 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
16776 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
16777 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
16778 (ENCODE_SECTION_INFO): Enclose variables and constants in
16779 DATALABEL unspecs.
16780 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
16781 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
16782 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
16783 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
16784 only for LABEL_REFs. For SYMBOL_REFs, prepend
16785 SH_DATALABEL_ENCODING to the symbol name.
16786 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
16787 convert_mode().
16788 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
16789 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
16790 UNSPEC_DATALABEL.
16791 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
16792 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
16793 (DATALABEL_REF_P): Don't require CONST.
16794 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
16795 REL label.
16796 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
16797 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
16798 right.
16799 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
16800 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
16801 Use shallow_copy_rtx and PUT_MODE to change the mode of
16802 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
16803 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
16804 on SHmedia using GENERAL_REGs.
16805 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
16806 bltu_media_i): Fix reversion of conditions.
16807 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
16808 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
16809 * config/sh/sh.c (output_far_jump): Save r13 in macl.
16810 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
16811 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
16812 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
16813 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
16814 (GCC_nested_trampoline): Likewise.
16815 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
16816 * config/sh/sh.c (gen_datalabel_ref): Define.
16817 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
16818 (INITIALIZE_TRAMPOLINE): Likewise.
16819 (TRAMPOLINE_ADJUST_ADDRESS): Define.
16820 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
16821 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
16822 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
16823 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
16824 (ic_invalidate): Adjust for SH5.
16825 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
16826 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
16827 _nested_trampoline.
16828 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
16829 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
16830 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
16831 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
16832 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
16833 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
16834 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
16835 * config/sh/sh.c (target_reg_operand): Match only target-branch
16836 registers and pseudos that aren't virtual registers.
16837 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
16838 Copy operands that don't match target_reg_operand to pseudos.
16839 (call_media, call_value_media, sibcall_media): Use
16840 target_reg_operand instead of target_operand.
16841 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 16842 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
16843 * config/sh/sh.c (target_reg_operand): Match hardware registers
16844 other than branch-target registers.
16845 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
16846 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
16847 (fpscr_values) [SH5 == 32]: Define.
16848 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
16849 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
16850 Handle function addresses coming in SUBREGs.
16851 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
16852 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
16853 shcompact_return_trampoline): Use datalabel where appropriate.
16854 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
16855 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
16856 general-purpose register to copy one branch-target register to
16857 another.
16858 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
16859 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
16860 SYMBOL_REFs with VOIDmode.
16861 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
16862 bltu_media_i): New insns.
16863 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
16864 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
16865 (INIT_CUMULATIVE_ARGS): Likewise.
16866 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
16867 * machmode.def (V16SFmode): New mode.
16868 * c-common.c (type_for_mode): Support V2SF and V16SF.
16869 * tree.c (build_common_tree_nodes_2): Likewise.
16870 * tree.h (tree_index): Likewise.
16871 * calls.c (emit_call_1): Take args_so_far. Adjust all
16872 callers. Introduce CALL_POPS_ARGS.
16873 * tm.texi (CALL_POPS_ARGS): Document.
16874 * config/sh/crt1.asm: Implement in SHmedia mode.
16875 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
16876 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
16877 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
16878 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
16879 Implement divsi and udivsi in SHmedia mode. Introduce
16880 SHcompact trampolines.
16881 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
16882 only in SHmedia64.
16883 (regno_reg_class): Rewrite.
16884 (fp_reg_names): Remove.
16885 (sh_register_names, sh_additional_register_names): New.
16886 (print_operand): Added `u'. Support SUBREGs in addresses.
16887 Add parentheses around shifted CONSTs.
16888 (output_file_start): Output .mode and .abi directives.
16889 (shiftcosts, addsubcosts, multcosts): Adjust.
16890 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
16891 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
16892 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
16893 bytes, not registers. Take into account the need for the
16894 SHcompact incoming args trampoline. Adjust all callers.
16895 (sh_expand_prologue): Take stack_regs into account. Call
16896 incoming args trampoline. Keep stack aligned as per SH5 ABI.
16897 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
16898 stack aligned as per SH5 ABI.
16899 (sh_builtin_saveregs): Support SH5 ABI.
16900 (sh_build_va_list, sh_va_start): Likewise.
16901 (initial_elimination_offset): Take alignment into account.
16902 Compute location of PR according to the SH5 stack frame.
16903 (arith_reg_operand): Reject branch-target registers.
16904 (shmedia_6bit_operand): New.
16905 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
16906 (target_reg_operand): Match DImode only. Accept SUBREGs.
16907 (target_operand): New.
16908 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
16909 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
16910 SIBCALL_REGS for SHmedia.
16911 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
16912 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
16913 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
16914 (TARGET_SWITCHES): New SH5 flags.
16915 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
16916 VALID_REGISTER_P to disable unsupported registers.
16917 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
16918 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
16919 (FUNCTION_ARG_PADDING): Define.
16920 (FASTEST_ALIGNMENT): Adjust.
16921 (SH_REGISTER_NAMES_INITIALIZER): New.
16922 (sh_register_names): Declare.
16923 (DEBUG_REGISTER_NAMES): Define.
16924 (REGISTER_NAMES): Define based on sh_register_names.
16925 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
16926 (sh_additional_register_names): Declare.
16927 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
16928 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
16929 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
16930 (REGISTER_NATURAL_MODE): Define.
16931 (FIRST_PSEUDO_REGISTER): Adjust.
16932 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
16933 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
16934 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
16935 (VECTOR_MODE_SUPPORTED_P): Define.
16936 (REG_CLASS_CONTENTS): Adjust.
16937 (SMALL_REGISTER_CLASSES): Adjust.
16938 (REG_ALLOC_ORDER): Adjust.
16939 (INDEX_REG_CLASS): Adjust.
16940 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
16941 (CONST_OK_FOR_LETTER_P): Adjust.
16942 (PREFERRED_RELOAD_CLASS): Adjust.
16943 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
16944 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
16945 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
16946 (FIRST_FP_PARM_REG): Adjust.
16947 (CALL_POPS_ARGS): Define.
16948 (FUNCTION_ARG_REGNO_P): Adjust.
16949 (struct sh_args): New fields.
16950 (GET_SH_ARG_CLASS): Adjust.
16951 (INIT_CUMULATIVE_ARGS): Adjust.
16952 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
16953 (FUNCTION_ARG_ADVANCE): Adjust.
16954 (FUNCTION_ARG): Adjust.
16955 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
16956 (FUNCTION_ARG_CALLEE_COPIES): Define.
16957 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
16958 (STRICT_ARGUMENT_NAMING): Define.
16959 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
16960 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
16961 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
16962 (SETUP_INCOMING_VARARGS): Adjust.
16963 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
16964 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
16965 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
16966 (SUBREG_OK_FOR_INDEX_P): Adjust.
16967 (EXTRA_CONSTRAINT_S): Update.
16968 (EXTRA_CONSTRAINT_T): New.
16969 (EXTRA_CONSTRAINT): Adjust.
16970 (GO_IF_LEGITIMATE_INDEX): Adjust.
16971 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
16972 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
16973 (MOVE_MAX): Adjust.
16974 (MAX_MOVE_MAX): Define.
16975 (Pmode): Adjust.
16976 (CONST_COSTS): Adjust.
16977 (REGISTER_MOVE_COST): Adjust.
16978 (BRANCH_COST): Adjust.
16979 (TEXT_SECTION_ASM_OP): Adjust.
16980 (DBX_REGISTER_NUMBER): Adjust.
16981 (ASM_OUTPUT_DOUBLE_INT): New.
16982 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
16983 (PREDICATE_CODES): Adjust.
16984 (PROMOTE_MODE): Adjust.
16985 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
16986 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
16987 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
16988 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
16989 (DR0_REG, DR2_REG, DR4_REG): Renumber.
16990 (TR0_REG, TR1_REG, TR2_REG): New.
16991 (XD0_REG): Renumber.
16992 (UNSPEC_COMPACT_ARGS): New.
16993 (type): Added pt and ptabs.
16994 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 16995 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
16996 (pt): New function unit.
16997 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
16998 Add whitespace between operands of SHmedia instructions.
16999 (movdicc): Fix.
17000 (adddi3_media, addsi3_media): Adjust constraints.
17001 (subsi3) [SHmedia]: Force operand 1 into a register.
17002 (udivsi3_i1_media, udivsi3_i4_media): New.
17003 (udivsi3): Support SHmedia.
17004 (divsi3_i1_media, divsi3_i4_media): New.
17005 (divsi3): Support SHmedia.
17006 (anddi3, iordi3, xordi3): Adjust constraints.
17007 (zero_extendhidi2, zero_extendqidi2): New.
17008 (extendsidi2, extendhidi2, extendqidi2): New.
17009 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
17010 (pop_e, pop_fpul, pop_4): Likewise.
17011 (movsi_media): Support FP and BT registers.
17012 (movsi_media_nofpu): New. Adjust splits to DImode.
17013 (lduw, ldub): Renamed to zero_extend* above.
17014 (movqi_media): Fix typo.
17015 (movdi_media): Support FP and BT registers.
17016 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
17017 (movdi_const_32bit): New.
17018 (shori_media): Require immediate operand. Use `u' for output.
17019 (movdf_media, movsf_media): Simplified.
17020 (movdf_media_nofpu, movsf_media_nofpu): New.
17021 (movdf, movsf): Adjust
17022 (movv2sf, movv2sf, movv16sf): New.
17023 (beq_media, beq_media_i): Adjust constraints. Don't use
17024 scratch BT register.
17025 (bne_media, bne_media_i): Likewise.
17026 (bgt_media, bgt_media_i): Likewise.
17027 (bge_media, bge_media_i): Likewise.
17028 (bgtu_media, bgtu_media_i): Likewise.
17029 (bgeu_media, bgeu_media_i): Likewise.
17030 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
17031 bunordered): Emit jump insn. Force operands to registers when
17032 needed.
17033 (jump_media, jump): Simplify.
17034 (call_compact, call_compact_rettramp): New.
17035 (call_value_compact, call_value_compact_rettramp): New.
17036 (call_media, call_value_media): Simplify.
17037 (sibcall_compact, sibcall_media): New.
17038 (call, call_value): Adjust for SHmedia and SHcompact.
17039 (sibcall, sibcall_value, untyped_call): Likewise.
17040 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
17041 (indirect_jump): Adjust for SHmedia.
17042 (casesi_jump_media): New.
17043 (nop): Re-enable for SHmedia.
17044 (call_site): Restrict to SH1.
17045 (casesi): Adjust for SHmedia.
17046 (casesi_shift_media, casesi_load_media): New.
17047 (return): Explicitly use PR register. Call return trampoline
17048 on SHcompact.
17049 (return_i): Explicitly use PR register.
17050 (shcompact_return_tramp, shcompact_return_tramp_i): New.
17051 (return_media): Adjust.
17052 (shcompact_incoming_args): New.
17053 (epilogue): Adjust.
17054 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
17055 (movstrsi): Disable on SH5.
17056 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
17057 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
17058 (subsf3, subsf3_media): Likewise.
17059 (mulsf3, mulsf3_media, mac_media): Likewise.
17060 (divsf3, divsf3_media): Likewise.
17061 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
17062 (floatsisf2, fux_truncsfsi2): Likewise.
17063 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
17064 constraints.
17065 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
17066 (cmpunsf_media, cmpsf): Likewise.
17067 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
17068 (abssf2, abssf2_media): Likewise.
17069 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
17070 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
17071 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
17072 (floatsidf2, fix_truncdfsi2): Likewise.
17073 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
17074 constraints.
17075 (cmpeqdf_media, cmpgtdf_media): Likewise.
17076 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
17077 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
17078 (absdf2, absdf2_media): Likewise.
17079 (extendsfdf2, extendsfdf2_media): Likewise.
17080 (truncsfdf2, truncsfdf2_media): Likewise.
17081 * config/sh/sh64.h: New file.
17082 * config/sh/t-sh64: New file.
17083 * config/sh/shmedia.h: New file.
17084 * config/sh/ushmedia.h: New file.
17085 * config/sh/sshmedia.h: New file.
17086 * configure.in: Added sh64-*-elf.
17087 * configure: Rebuilt.
17088 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
17089 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
17090 (reg_class_from_letter): Use `b' for TARGET_REGS.
17091 (print_operand): Support `%M', `%m', `AND' and
17092 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
17093 (andcosts): Adjust for SHmedia.
17094 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
17095 Likewise.
17096 (target_reg_operand): New function.
17097 * config/sh/sh-protos.h (target_reg_operand): Declare.
17098 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
17099 FP registers on SH5.
17100 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
17101 on SH4.
17102 (TARGET_REGISTER_P): New macro.
17103 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
17104 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
17105 (EXTRA_CONSTRAINT_S): New macro.
17106 (EXTRA_CONSTRAINT): Adjust.
17107 (FLOAT_TYPE_SIZE): Define to 32.
17108 (Pmode): DImode on SHmedia.
17109 (CONST_COSTS): Adjust for SHmedia literals.
17110 (PREDICATE_CODES): Added target_reg_operand.
17111 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
17112 * config/sh/sh.md: Remove all attrs from SHmedia insns.
17113 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
17114 (cmpdi): Accept SHmedia.
17115 (movdicc_false, movdicc_true): New insns.
17116 (movdicc): New expand.
17117 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
17118 no_new_pseudos.
17119 (addsi3_media): Match `S' constraint.
17120 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
17121 (negdi2): Expand for SHmedia.
17122 (one_cmpldi2): New expand.
17123 (zero_extendsidi2): Change from expand to insn.
17124 (extendsidi2): Add constraints.
17125 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
17126 LD/ST address. Fix SI immediate loading split.
17127 (movhi_media, movqi_media, lduw, ldub): New insns.
17128 (movhi, movqi): Accept SHmedia.
17129 (shori_media, movdi_media): Relax input constraints. Split
17130 symbolic constants.
17131 (movdf_media, movsf_media): New insn. New split to movdi.
17132 (movdf, movsf): Match on SHmedia.
17133 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
17134 bgeu_media): New insns and splits. New insns with `_i' suffix.
17135 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
17136 (bunordered): New expand.
17137 (jump_compact): Renamed from `jump'.
17138 (jump_media): New insn.
17139 (jump): New expand.
17140 (call_media, call_value_media): New insns.
17141 (call, call_value): Adjust.
17142 (indirect_jump_compact): Renamed from `indirect_jump'.
17143 (indirect_jump_media): New insn.
17144 (indirect_jump): New expand.
17145 (untyped_call, return): Accept SHmedia.
17146 (return_media): New insn.
17147 (prologue, epilogue, blockage): Accept SHmedia.
17148 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
17149 (sunordered): New expand.
17150 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
17151 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
17152 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
17153 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
17154 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
17155 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
17156 abssf2_media): New insns.
17157 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
17158 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
17159 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
17160 floatdidf2, floatsidf2_media, fix_truncdfdi2,
17161 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
17162 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
17163 absdf2_media): New insns.
17164 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
17165 (extendsfdf2_media, truncdfsf2_media): New insns.
17166 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
17167 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
17168 * config/sh/sh.h (CONST_OK_FOR_J): Document.
17169 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
17170 * config/sh/sh.md (adddi3): New expand.
17171 (adddi3_media, adddi3z_media): New insns.
17172 (adddi3_compact): Renamed from adddi3.
17173 (addsi3_media): Use add.l r63 to add constant zero.
17174 (subdi3): New expand.
17175 (subdi3_media): New insn.
17176 (subdi3_compact): Renamed from subdi3.
17177 (mulsidi3): New expand.
17178 (mulsidi3_media): New insn.
17179 (mulsidi3_compact): Renamed from mulsidi3.
17180 (umulsidi3): New expand.
17181 (umulsidi3_media): New insn.
17182 (umulsidi3_compact): Renamed from umulsidi3.
17183 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
17184 (ashlsi3, ashrsi3, lshrsi3): Use them.
17185 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
17186 (ashldi3, ashrdi3, lshrdi3): Use them.
17187 (zero_extendsidi2): New expand.
17188 (extendsidi2): New insn.
17189 (movsi_media): New insn. Split to movdi to load constants.
17190 (movsi): Enable for shmedia.
17191 (movdi_media): New insn. Use shori_media to load wide constants.
17192 (short_media): New insn.
17193 (movdi): Enable for shmedia.
17194 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
17195 * config/sh/sh.h (CPP_SPEC): Added `m5'.
17196 (SUBTARGET_CPP_SPEC): Added `!m5'.
17197 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
17198 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
17199 to all other SH variants.
17200 (TARGET_DEFAULT): Set to SH1_BIT.
17201 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
17202 (BITS_PER_WORD): Raise to 64 on shmedia.
17203 (MAX_BITS_PER_WORD): Change to 64.
17204 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
17205 (INT_TYPE_SIZE): Keep as 32.
17206 (UNITS_PER_WORD): Raise to 8 on shmedia.
17207 (MIN_UNITS_PER_WORD): Keep as 4.
17208 (POINTER_SIZE): Raise to 64 on shmedia.
17209 (CONST_OK_FOR_J): New macro.
17210 (CONST_OK_FOR_LETTER_P): Use it.
17211 (processor_type): Add PROCESSOR_SH5.
17212 * config/sh/sh.md: Conditionalize all expands, insns and
17213 splits to TARGET_SH1.
17214 (cpu): Added sh5.
17215 (addsi3_compact): Renamed from...
17216 (addsi3): Now an expand.
17217 (addsi3_media, subsi3_media): New insns.
17218 (subsi3): Don't negate constants with SHmedia.
17219
e4ec2cac
AO
17220 * hooks.c: New file.
17221 * hooks.h: New file.
17222 * Makefile.in (HOOKS_H): New.
17223 (TARGET_DEF_H): Added $(HOOKS_H).
17224 (OBJS): Added hooks.o.
17225 (cfgcleanup.o, bb-reorder.o): Added target.h.
17226 (hooks.o): Added dependencies.
17227 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
17228 (TARGET_INITIALIZER): this.
17229 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
17230 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
17231 * bb-reorder.c: Include target.h.
17232 (reorder_basic_blocks): Skip if cannot modify jumps.
17233 * cfgcleanup.c: Include target.h.
17234 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
17235
246a46e0
CD
172362002-02-08 Chris Demetriou <cgd@broadcom.com>
17237
831c4e87
KC
17238 * config/mips/mips.md (casesi_internal, casesi_internal_di):
17239 Protect jump delay slot instructions with .set noreorder and
17240 .set nomacro.
246a46e0
CD
17241
172422002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
17243
17244 * config/mips/mips.md (casesi_internal_di): Calculate
17245 the index into the target offset table correctly.
17246
fdf473ae
RH
172472002-02-08 Richard Henderson <rth@redhat.com>
17248
17249 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
17250 * final.c (output_addr_const): Accept and discard SUBREG.
17251 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
17252 mark them unknown instead.
17253 (simplify_subtraction): Handle RTX_UNKNOWN.
17254 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
17255
c50503ac
DE
172562002-02-08 David Edelsohn <edelsohn@gnu.org>
17257
17258 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
17259
3660d217
RH
172602002-02-08 Richard Henderson <rth@redhat.com>
17261
17262 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
17263
56547299
AJ
172642002-02-08 Andreas Jaeger <aj@suse.de>
17265
17266 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
17267 * config/i386/t-linux64: New file.
17268
1cf537c5
JJ
172692002-02-08 Jakub Jelinek <jakub@redhat.com>
17270
17271 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
17272 * c-parse.in (compstmt): Clear last_expr_type.
17273
5c7f5a5f
RH
172742002-02-07 Richard Henderson <rth@redhat.com>
17275
17276 * loop.c (strength_reduce): Sink final_value when not
17277 eliminating a biv.
17278
b1138bf3
DB
172792002-02-07 David O'Brien <obrien@FreeBSD.org>
17280
17281 * config/sparc/freebsd.h: Fix mismatched spec {.
17282
b6878a45
RH
172832002-02-07 Richard Henderson <rth@redhat.com>
17284
17285 * cfgrtl.c: Include recog.h and insn-config.h.
17286 (keep_with_call_p): Fix general_operand invocation.
17287 * Makefile.in (cfgrtl.o): Update dependencies.
17288
ae19f5ef
KH
172892002-02-07 Kazu Hirata <kazu@hxi.com>
17290
17291 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
17292 comment. Accept HImode only if TARGET_H8300.
17293
b137f9fc
EC
172942002-02-07 Eric Christopher <echristo@redhat.com>
17295
17296 * config/mips/crtn.asm: Cleanup #ifdefs.
17297
172982002-02-07 Eric Christopher <echristo@redhat.com>
17299
17300 * config/mips/crti.asm: Add changes for mips16. mips16 uses
17301 register 7 as RA instead of $31.
17302 * config/mips/crtn.asm: Ditto.
17303 * config/mips/mips.c (mips_move_2words): Add case for
17304 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
17305 (compute_frame_size): Fix typo.
17306 (save_restore_insns): Ditto. Make documentation about using
17307 register $7 as return register more precise.
17308 (mips_expand_epilogue): Fix comment. Add code to work around not
17309 being able to add to the stack pointer directly.
17310 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
17311 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
17312 epilogue.
17313
768070a0
TR
173142002-02-07 Tom Rix <trix@redhat.com>
17315
b137f9fc 17316 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
17317 immediates in ldu and stdu DS opcode field.
17318 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
17319 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
17320 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
17321
225909c3
JS
173222002-02-07 Jeff Sturm <jsturm@one-point.com>
17323
17324 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
17325 offset for stack bias.
17326
15fae023
L
173272002-02-07 H.J. Lu <hjl@gnu.org>
17328
17329 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
17330
fde5badd
UW
173312002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
17332
17333 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
17334
162f023b
JH
17335Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
17336
17337 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
17338 * i386.c (x86_order_regs_for_local_alloc): New global function.
17339 * i386.h (REG_ALLOC_ORDER): CLeanup.
17340 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
17341
9b462c42
RH
173422002-02-07 Richard Henderson <rth@redhat.com>
17343
85aa876c 17344 PR optimization/2463
9b462c42
RH
17345 * alias.c (find_base_value): Recall base values for fixed hard regs.
17346 * loop.c (loop_regs_update): Don't use single_set on non-insns.
17347
06e455a9
AO
173482002-02-07 Alexandre Oliva <aoliva@redhat.com>
17349
17350 * config/mips/mips.md (define_delay) [mips16]: Adjust required
17351 length.
17352
edd1967d
RH
173532002-02-06 Richard Henderson <rth@redhat.com>
17354
17355 PR c/5609
17356 * stmt.c (resolve_operand_name_1): Take more care with mixed
17357 named and unnamed operands.
17358
a2cd028f
JJ
173592002-02-06 Janis Johnson <janis187@us.ibm.com>
17360 Jan Hubicka <jh@suse.cz>
17361
17362 * loop.c (remove_constant_addition): Avoid clobbering a shared
17363 CONST expression.
17364
e8487c04
UW
173652002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
17366
17367 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
17368 * config/s390/t-linux64: New file.
17369 * config/s390/libgcc-glibc.ver: New file.
17370
58d10f89
UW
173712002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
17372
17373 * config/s390/linux64.h: Delete file.
17374 * config/s390/s390x.h: New file.
17375 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
17376 as target header file.
17377 * config/s390/linux.h (TARGET_VERSION): Define depending on
17378 DEFAULT_TARGET_64BIT.
17379 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
17380 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
17381 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
17382 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
17383 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
17384 (EXTRA_SPEC): New define.
17385 * config/s390/s390.h (TARGET_VERSION): Define depending on
17386 DEFAULT_TARGET_64BIT.
17387 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
17388
5ce89b2e
JM
173892002-02-06 Jason Merrill <jason@redhat.com>
17390
17391 * c-decl.c (finish_function): Warn about a non-void function with
17392 no return statement and no abnormal exit.
17393 (current_function_returns_abnormally): New variable.
17394 (start_function): Clear it.
17395 (struct c_language_function): Add returns_abnormally.
17396 (push_c_function_context): Save it.
17397 (pop_c_function_context): Restore it.
17398 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
17399 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
17400 an explicit return type.
17401 * c-tree.h: Declare current_function_returns_abnormally.
17402 (C_FUNCTION_IMPLICIT_INT): New macro.
17403 * c-typeck.c (build_function_call): Set it.
17404 (c_expand_return): Set current_function_returns_value even if the
17405 value is erroneous.
17406
caaf2272
JJ
174072002-02-06 Jakub Jelinek <jakub@redhat.com>
17408
17409 PR c/5420:
17410 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
17411 unsafe for reevaluation.
17412
d5129288
JJ
174132002-02-06 Jakub Jelinek <jakub@redhat.com>
17414
17415 PR c/5482:
17416 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
17417 EXPR_STMT, but COMPOUND_STMT, recurse into it.
17418
7fb75099
RH
174192002-02-06 Richard Henderson <rth@redhat.com>
17420
17421 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
17422 be a general_operand. Dest for function value must be a pseudo.
17423
d3a8b6a6
NC
174242002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
17425
17426 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
17427 as SYMBOL_REFs from the constant pool.
17428
3c1299c5
AO
174292002-02-06 Alexandre Oliva <aoliva@redhat.com>
17430
17431 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
17432 passed by invisible reference.
17433
c2c9f6c9
RH
174342002-02-05 Richard Henderson <rth@redhat.com>
17435
17436 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
17437
a824924d
HPN
174382002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
17439
17440 Implement using "base addresses" in insn operands as default.
17441 * config/mmix/mmix.c (mmix_conditional_register_usage): if
17442 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
17443 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
17444 used to read the rtx value.
17445 (mmix_target_asm_function_epilogue): Fix spacing.
17446 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
17447 (mmix_legitimate_address): Ditto.
17448 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
17449 should be loaded with a GETA insn. Don't allocate needless extra
17450 char for nul termination and fix misleading comment.
17451 (mmix_print_operand_address): Handle constants if
17452 TARGET_BASE_ADDRESSES.
17453 (mmix_output_register_setting): Use base addressing if
17454 TARGET_BASE_ADDRESSES and the number of insns is 3.
17455 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
17456 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
17457 to use R as constraint, add LDA to match s.
17458 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
17459 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
17460 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
17461 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
17462 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
17463 order with other fixed registers.
17464 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
17465 other parameter/call-clobbered registers.
17466 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
17467 -mbase-addresses, -mno-base-addresses.
17468 (MMIX Options): Ditto.
17469
73c342b9
JDA
174702002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
17471
17472 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
17473
ef238c58
AH
174742002-02-06 Aldy Hernandez <aldyh@redhat.com>
17475
831c4e87 17476 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 17477
ad08e60e
JT
174782002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
17479
17480 * config/netbsd.h (WCHAR_TYPE): Define.
17481 (WCHAR_TYPE_SIZE): Ditto.
17482 (WINT_TYPE): Ditto.
17483 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
17484 (WCHAR_UNSIGNED): Ditto.
17485 (WCHAR_TYPE_SIZE): Ditto.
17486 (WINT_TYPE): Ditto.
17487 * config/arm/netbsd.h: Likewise.
17488 * config/i386/netbsd-elf.h: Likewise.
17489 * config/i386/netbsd.h: Likewise.
17490 * config/m68k/netbsd-elf.h: Likewise.
17491 * config/m68k/netbsd.h: Likewise.
17492 * config/ns32k/netbsd.h: Likewise.
17493 * config/sparc/netbsd.h: Likewise.
17494 * config/vax/netbsd.: Likewise.
17495
f913c102
AO
174962002-02-05 Alexandre Oliva <aoliva@redhat.com>
17497
17498 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
17499 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
17500 (TARGET_INITIALIZER): this.
17501 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
17502 (BITFIELD_NBYTES_LIMITED): Markup fix.
17503 * tree.h (default_ms_bitfield_layout_p): Declare.
17504 (record_layout_info): Added prev_field.
17505 * tree.c (default_ms_bitfield_layout_p): New fn.
17506 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
17507 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
17508 * stor-layout.c: Include target.h.
17509 (start_record_layout): Initialize prev_field.
17510 (place_field): Handle MS bit-field layout, and disregard
17511 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
17512 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
17513 * Makefile.in (stor-layout.o): Adjust dependencies.
17514
c13db5d1
JM
175152002-02-05 Jason Merrill <jason@redhat.com>
17516
c13db5d1
JM
17517 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
17518
4505024e
AJ
175192002-02-05 Andreas Jaeger <aj@suse.de>
17520
17521 * crtstuff.c: Fix comments.
17522
794ad79d
RH
175232002-02-05 Richard Henderson <rth@redhat.com>
17524
2e279a9b
RH
17525 PR fortran/3393
17526 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
17527 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
17528
794ad79d
RH
17529 PR fortran/3392
17530 * config/mips/mips.c (function_arg): Handle TImode.
17531 (function_arg_advance): Likewise.
17532
8f909017
AH
175332002-02-05 Aldy Hernandez <aldyh@redhat.com>
17534
c13db5d1
JM
17535 * config/rs6000/altivec.h (vec_step_help): Rename to
17536 __vec_step_help.
8f909017 17537
66daa9e3
AH
175382002-02-05 Aldy Hernandez <aldyh@redhat.com>
17539
c13db5d1 17540 * config/rs6000/altivec.h: Fix typos.
66daa9e3 17541
2696e97b
JT
175422002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
17543
17544 * config/arm/netbsd.h: Correct a comment.
17545
3deb2758
AH
175462002-02-05 Aldy Hernandez <aldyh@redhat.com>
17547
c13db5d1
JM
17548 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
17549 building void typed builtins.
3deb2758 17550
c13db5d1
JM
17551 * config/rs6000/altivec.h (vec_ld*): Fix typos.
17552 (vec_step): Implement for C++.
3deb2758 17553
c13db5d1 17554Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
17555
17556 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
17557
ebbb0a63
RH
175582002-02-04 Richard Henderson <rth@redhat.com>
17559
17560 * combine.c (nonzero_bits): Re-introduce special case for
17561 sp/fp/ap wrt REGNO_POINTER_ALIGN.
17562
ae4b4a02
AH
175632002-02-05 Aldy Hernandez <aldyh@redhat.com>
17564
c13db5d1
JM
17565 * doc/extend.texi: Warn about unsupported usage of altivec
17566 builtins.
ae4b4a02 17567
c13db5d1
JM
17568 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
17569 (altivec_predicate_*): New.
ae4b4a02 17570
c13db5d1
JM
17571 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
17572 Add C++ version of vec_*() functions.
ae4b4a02 17573
c13db5d1
JM
17574 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
17575 (bdesc_2arg): Remove altivec predicates.
17576 (altivec_expand_builtin): Handle predicates.
17577 (altivec_init_builtins): Handle predicates.
17578 (altivec_expand_predicate_builtin): New.
ae4b4a02 17579
f6bcf44c
JDA
175802002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
17581
17582 * pa.c (DO_FRAME_NOTES): Move forward.
17583 (store_reg): Revise handling of frame notes.
17584 (load_reg): Likewise.
17585 (set_reg_plus_d): Likewise.
17586 (hppa_expand_prologue): Likewise.
17587 (hppa_expand_epilogue): Likewise.
b137f9fc 17588
703b0080
JDA
175892002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
17590
17591 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
17592
6f9fdf4d
JJ
175932002-02-04 Jakub Jelinek <jakub@redhat.com>
17594
17595 PR c/4475, c++/3780:
17596 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
17597 * c-common.h (SWITCH_TYPE): Define.
17598 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
17599 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
17600 Rename spareness variable to sparseness.
17601 (expand_end_case_type): Renamed from expand_end_case, use orig_type
17602 if non-NULL instead of TREE_TYPE (orig_index).
17603 * tree.h (expand_end_case_type): Renamed from expand_end_case.
17604 (expand_end_case): Define using expand_end_case_type.
17605 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
17606 to expand_end_case_type.
17607 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
17608
79109502
JDA
176092002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
17610
17611 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
17612 (BIGGEST_ALIGNMENT): Change to 128.
17613
e62a5987
JDA
176142002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
17615
17616 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
17617
219f24a4
JDA
176182002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
17619
17620 * pa.md (call_internal_reg_64bit): Remove unused variable.
17621
3cb66fd7
NC
176222002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
17623
17624 * config/arm/arm.h (machine_function): Add uses_anonymous_args
17625 field.
831c4e87 17626 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 17627 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
17628 replace uses with cfun->machine->uses_anonymous_args.
17629 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
17630
17631 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
17632 any geenral register.
b137f9fc 17633
5d5603e2 176342001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
17635
17636 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
17637 the entry block.
17638
563c12b0
RH
176392002-02-04 Richard Henderson <rth@redhat.com>
17640
17641 * combine.c (force_to_mode): Remove STACK_BIAS code.
17642 (nonzero_bits): Likewise. Replace sp/fp special case with
17643 REGNO_POINTER_ALIGN.
17644
17645 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
17646 (HARD_FRAME_POINTER_REGNUM): New.
17647 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
17648 (FIXED_REGS, CALL_USED_REGS): Update.
17649 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
17650 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
17651 (HARD_REGNO_NREGS): Update for SFP.
17652 (STACK_POINTER_OFFSET): Include bias here ...
17653 (FIRST_PARM_OFFSET): ... not here.
17654 (STACK_BIAS): Remove.
17655 (INIT_EXPANDERS): New.
17656 (STARTING_FRAME_OFFSET): Do not include bias.
17657 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
17658 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
17659 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
17660 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
17661 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
17662 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
17663 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
17664 (MUST_SAVE_REGISTER): Likewise.
17665 (sparc_flat_function_prologue): Likewise.
17666 (sparc_flat_function_epilogue): Likewise.
17667 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
17668 (sparc_init_modes): SFP is GENERAL_REGS.
17669 (sparc_builtin_saveregs): SFP does not have bias applied.
17670
14691f8d
RH
176712002-02-04 Richard Henderson <rth@redhat.com>
17672
17673 * config/alpha/alpha.c (current_function_is_thunk): Don't check
17674 current_function_is_thunk.
17675 (alpha_sa_mask): Distinguish between current_function_is_thunk
17676 called from ASM_OUTPUT_MI_THUNK and not.
17677 (alpha_does_function_need_gp): Thunks always need gp.
17678 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
17679 (alpha_output_mi_thunk_osf): New.
17680 * config/alpha/alpha-protos.h: Update.
17681 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
17682
af702de8
RS
176832002-02-04 Richard Sandiford <rsandifo@redhat.com>
17684
17685 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
17686 function types, not when they're taken away.
17687
5b1cacd8
JL
17688Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
17689
17690 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
17691 CODE_LABEL and jump table when replacing a table jump with a
17692 simple jump.
17693
f3e9edff
UW
176942002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
17695
17696 * config/s390/s390-protos.h (legitimize_la_operand,
17697 s390_secondary_input_reload_class, s390_plus_operand,
17698 s390_expand_plus_operand): Add prototypes.
17699
17700 config/s390/s390.c (s390_secondary_input_reload_class,
17701 s390_plus_operand, s390_expand_plus_operand): New functions.
17702
17703 (struct s390_address): New member 'pointer'.
17704 (s390_decompose_address): Compute it.
17705 (legitimate_la_operand_p): Use it.
17706 (legitimize_la_operand): New function.
17707 (movti, movdi, movdf splitters): Call it.
17708
17709 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
17710 (PREDICATE_CODES): Add s390_plus_operand.
17711
17712 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
17713 (la_ccclobber): Allow GENERAL_REGS as output operand.
17714
17715 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
17716 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
17717 (*la_64, *la_31, reload_indi, reload_insi): ... these.
17718
3c9a08ec
UW
177192002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
17720
17721 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
17722 register names for regular asm () construct.
17723
ac300a45
JJ
177242002-02-04 Jakub Jelinek <jakub@redhat.com>
17725
17726 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
17727 registers.
17728
fa852403
JJ
177292002-02-04 Jakub Jelinek <jakub@redhat.com>
17730
17731 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
17732 pat for recog.
17733
fecaac37
HP
177342002-02-04 Hartmut Penner <hpenner@de.ibm.com>
17735
831c4e87
KC
17736 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
17737 constant pool to be identical by string address and index.
fecaac37 17738
10c45943
AG
177392002-02-04 Anthony Green <green@redhat.com>
17740
17741 * output.h (SECTION_OVERRIDE): Define.
17742 * varasm.c (named_section): Obey SECTION_OVERRIDE.
17743
69474c3c
JT
177442002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
17745
17746 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
17747 by existing arm*-*-netbsd* (a.out) target.
17748 (ns32k-*-netbsdelf*): Likewise.
17749 (sparc-*-netbsdelf*): Likewise.
17750 (vax-*-netbsdelf*): Likewise.
17751
939a46f6 177522002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
17753
17754 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
17755 headers and libobjc headers.
17756
177572002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
17758
17759 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
17760 (_mingw.h): Remove duplicate include.
17761
2fd95d71
JT
177622002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
17763
17764 * config.gcc: Set cpu_type to m68k for 68010, as well.
17765 (m68010-*-netbsdelf*): New...
17766 (m68k*-*-netbsdelf*): ...targets.
17767 * config/m68k/netbsd-elf.h: New file.
17768
0ea6f6a0
KH
177692002-02-02 Kazu Hirata <kazu@hxi.com>
17770
17771 * config/h8300/h8300.c (hand_list): Move inside function_arg.
17772
cbf1b2da
KH
177732002-02-02 Kazu Hirata <kazu@hxi.com>
17774
17775 * config/h8300/h8300.c (h8_push_ops): Move inside
17776 h8300_init_once.
17777 (h8_pop_ops): Likewise.
17778 (h8_move_ops): Likewise.
17779
0869f126
KH
177802002-02-02 Kazu Hirata <kazu@hxi.com>
17781
17782 * config/h8300/h8300.c (os_task): Make it static.
17783 (monitor): Likewise.
17784 (pragma_saveall): Likewise.
17785
90e65b70
AO
177862002-02-02 Alexandre Oliva <aoliva@redhat.com>
17787
17788 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
17789 constant is a valid sign-extension for Pmode.
17790
9cbcd983
KH
177912002-02-02 Kazu Hirata <kazu@hxi.com>
17792
17793 * config/h8300/h8300.c: Fix formatting.
17794
7a27efc4
KH
177952002-02-02 Kazu Hirata <kazu@hxi.com>
17796
17797 * config/h8300/h8300.md: Fix formatting.
17798
54175a44
KH
177992002-02-02 Kazu Hirata <kazu@hxi.com>
17800
17801 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
17802 predicates of operands[1]. Split the patterns for each
17803 processor variant.
17804
eceb1755
KH
178052002-02-02 Kazu Hirata <kazu@hxi.com>
17806
17807 * config/h8300/h8300.md (xor patterns): Tighten the predicates
17808 of operands[1] to register_operand.
17809
0fef3fd0
NB
178102002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
17811
17812 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
17813 * cpphash.c (_cpp_init_hashtable): Similarly.
17814 * cppinit.c (cpp_create_reader): Default the signed_char flag.
17815 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
17816 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
17817 (cpp_handle_option): Handle the new options.
17818 * cpplex.c (cpp_interpret_charconst): Use new flag.
17819 * cpplib.h (struct cpp_options): New member signed_char.
17820 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
17821 (cpp_options): Handle -fsigned-char and -funsigned-char.
17822 (static_specs): Remove signed_char_spec.
17823 (do_spec1): Don't handle %c.
17824 * system.h: Poison SIGNED_CHAR_SPEC.
17825 * tradcif.y (yylex): Use flag_signed_char.
17826 * tradcpp.h (flag_signed_char): New.
17827 * tradcpp.c (flag_signed_char): New.
17828 (main): Handle new command-line options.
17829 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
17830config:
17831 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
17832 * avr/avr.h: Remove old comments.
17833 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
17834 (CC1_SPEC): Pass -fsigned-char if -mic*.
17835 (SIGNED_CHAR_SPEC): Remove.
17836doc:
17837 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
17838
0617ed52
EC
178392002-02-01 Eric Christopher <echristo@redhat.com>
17840
17841 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
17842 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
17843 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
17844 (ASM_OUTPUT_REG_POP): Ditto.
17845
dfd48d76
NB
178462002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
17847
17848 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
17849 patch.
17850
4a23409e
JJ
178512002-02-02 Jakub Jelinek <jakub@redhat.com>
17852
17853 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
17854
d3c52658
JJ
178552002-02-02 Jakub Jelinek <jakub@redhat.com>
17856
17857 PR c/5304:
17858 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
17859 unconditionally.
17860
02c5a3bd
JJ
178612002-02-01 Janis Johnson <janis187@us.ibm.com>
17862
17863 * cfganal.c: Include tm_p.h.
17864 (keep_with_call_p): Fix the test that determines if a register holds
17865 the return value of a call.
17866
3968de80
DD
178672002-02-01 DJ Delorie <dj@redhat.com>
17868
17869 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
17870 we are given conflicting registers, switch to the other one we
17871 had allocated for us.
17872 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
17873 as TImode so we know when the "other" register is available.
17874
1338ea6c
DB
178752002-02-01 David O'Brien <obrien@FreeBSD.org>
17876
17877 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
17878 sparc/sparc_bi.h.
17879
f015be23
JJ
178802002-02-01 Janis Johnson <janis187@us.ibm.com>
17881
17882 * cfganal.c (keep_with_call_p): New function.
17883 (flow_call_edges_add): Prevent splitting a block between a call and
17884 a single-set instruction that should be kept in the same block.
17885
63708ffc
CR
178862002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
17887
17888 * doc/install.texi (avr): Update outdated URL.
17889
5ee4950e
AH
178902002-01-30 Andrew Haley <aph@cambridge.redhat.com>
17891
831c4e87
KC
17892 * config/stormy16/stormy16.md (pushqi): New.
17893 (popqi): New.
17894 (pushhi): New.
17895 (pophi): New.
17896 (movhi): Remove stack operands.
17897 (movqi): Likewise.
17898 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
17899 nonimmediate_nonstack_operand.
17900 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
17901 New.
17902 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
17903 New.
5ee4950e 17904
b88c0704
JM
179052002-01-31 Jason Merrill <jason@redhat.com>
17906
17907 * Makefile.in (c-parse.c): Handle .output file.
17908 * objc/Make-lang.in (objc-parse.c): Likewise.
17909
ac282977
AO
179102002-02-01 Alexandre Oliva <aoliva@redhat.com>
17911
17912 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
17913 the -me[lb] option is given. Don't output the default flag
17914 twice.
17915
bebc7e8b
ZW
179162002-01-31 Zack Weinberg <zack@codesourcery.com>
17917
17918 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
17919 the primary source file; this has not been done yet.
17920 * c-decl.c (c_expand_body): Reset input_filename from
17921 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
17922
5809eb5f
KH
179232002-01-31 Kazu Hirata <kazu@hxi.com>
17924
17925 * rtlanal.c (subreg_regno_offset): Do not use
17926 SUBREG_REGNO_OFFSET.
17927 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
17928 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
17929
8512bbd7
JM
179302002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
17931
17932 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
17933 version rather than GNATS version in --version output.
17934
74cb3cc8
RS
179352002-01-31 Richard Sandiford <rsandifo@redhat.com>
17936
17937 * ifcvt.c (noce_process_if_block): Make a copy of the destination
17938 when copying back from a temporary.
17939
874b5b14
RH
179402002-01-30 Richard Henderson <rth@redhat.com>
17941
17942 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
17943 and new_dest are the same.
17944
e803a64b
RH
179452002-01-30 Richard Henderson <rth@redhat.com>
17946
89cf7be5 17947 PR opt/5076
e803a64b
RH
17948 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
17949 * rtl.c (note_insn_name): Update.
17950 * emit-rtl.c (remove_unnecessary_notes): Kill it.
17951 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
17952 to perform loop rotation.
17953 (expand_exit_loop_top_cond): New.
17954 * tree.h (expand_exit_loop_top_cond): Declare it.
17955 * c-semantics.c (genrtl_while_stmt): Use it.
17956 (genrtl_for_stmt): Likewise.
17957
0b51254d
AO
179582002-01-30 Alexandre Oliva <aoliva@redhat.com>
17959
17960 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
17961 arguments to 64-bit boundaries on 64-bit ABIs.
17962
71cef493
SE
179632002-01-30 Steve Ellcey <sje@cup.hp.com>
17964
17965 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
17966
6169e5fd
JM
179672002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
17968
17969 * c-decl.c (grokdeclarator): Handle type being a typedef for an
17970 invalid type.
17971
86f808dc
DB
179722002-01-30 David O'Brien <obrien@FreeBSD.org>
17973
17974 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
17975 * config/sparc/sparc_bi.h: Remove file.
17976 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
17977
5748ebeb
RH
179782002-01-30 Richard Henderson <rth@redhat.com>
17979
17980 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
17981
20d32cc2
ZW
179822002-01-30 Zack Weinberg <zack@codesourcery.com>
17983
17984 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
17985
b88c0704 179862002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
17987
17988 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
17989 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
17990 (reg_save): Use DW_CFA_offset_extended_sf instead.
17991
17992 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
17993
37060e78
JJ
179942002-01-29 Jakub Jelinek <jakub@redhat.com>
17995
17996 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
17997 in cselib_lookup.
17998
d18dba68
AH
179992002-01-29 Aldy Hernandez <aldyh@redhat.com>
18000
bebc7e8b
ZW
18001 * rs6000.md ("*call_value_local32"): Remove constraints.
18002 ("*call_value_local64"): Same.
18003 ("*call_value_indirect_nonlocal_aix32"): Same.
18004 ("*call_value_nonlocal_aix32"): Same.
18005 ("*call_value_indirect_nonlocal_aix64"): Same.
18006 ("*call_value_nonlocal_aix64"): Same.
18007 ("*call_value_nonlocal_sysv"): Same.
d18dba68 18008
80a8aac6
RH
180092002-01-29 Richard Henderson <rth@redhat.com>
18010
18011 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
18012
12beba6f
RH
180132002-01-29 Richard Henderson <rth@redhat.com>
18014
18015 * expr.c (force_operand): Ignore flag_pic for detecting pic
18016 address loads.
18017 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
18018 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
18019 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
18020 instead of open-coded loop.
18021 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
18022 be fixed when in use.
18023
2583081e
RH
180242002-01-29 Richard Henderson <rth@redhat.com>
18025
18026 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
18027 * sched-rgn.c (propagate_deps): Update them.
18028 * sched-deps.c (sched_analyze_insn): Update them. Flush the
18029 clobbers list when either gets too long.
18030
3b8d200e
JJ
180312002-01-29 Jakub Jelinek <jakub@redhat.com>
18032
18033 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
18034 and INDEX_REGS the same as GENERAL_REGS.
18035 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
18036
2d3115eb
NB
180372002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
18038
bebc7e8b 18039 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 18040
ecbe845e
UW
180412002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
18042
bebc7e8b 18043 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 18044 movstrsix_31): Remove, replace by ...
bebc7e8b 18045 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
18046 movstrsi_long): ... these. New.
18047 (movstrdi, movstrsi): Adapt.
18048
18049 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 18050 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
18051 Remove unnecessary CC clobber.
18052 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
18053 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
18054
18055 (divmoddi4): Don't partially initialize TImode register.
18056
0b32fca5
GK
180572002-01-29 Geoffrey Keating <geoffk@redhat.com>
18058
18059 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
18060
08ef5437
RH
180612002-01-29 Richard Henderson <rth@redhat.com>
18062
18063 * flow.c (print_rtl_and_abort): Remove.
18064 (print_rtl_and_abort_fcn): Remove.
18065 (verify_local_live_at_start): Use dump_bb instead.
18066 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
18067 (verify_wide_reg_1): Return 2 on mode test failure.
18068
8469e54e
NB
180692002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
18070
18071 PR c/3325, c/3326, c/2511, c/3347
18072 * c-decl.c (enum_decl_context): Remove BITFIELD.
18073 (grokdeclarator): Take bitfield width as an input.
18074 Ensure bitfields are given the correct type. Perform
18075 bitfield width validation with build_bitfield_integer_type
18076 rather than waiting for finish_struct.
18077 (grok_typename, grok_typename_in_parm_context, start_decl,
18078 push_parmdecl, grokfield, start_function): Update calls to
18079 grokdeclarator.
18080 (build_bitfield_integer_type): New function.
18081 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 18082 and build_bitfield_integer_type.
8469e54e
NB
18083 * tree.c (build_nonstandard_integer_type): New function.
18084 * tree.h (build_nonstandard_integer_type): New prototype.
18085objc:
18086 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
18087
ffdeea47
JJ
180882002-01-29 Jakub Jelinek <jakub@redhat.com>
18089
18090 PR other/1502:
18091 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
18092 don't ignore unrecognized -W* options.
18093 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
18094 * cpplib.h (cpp_handle_option): Adjust prototype.
18095 * c-decl.c (c_decode_options): Pass 0 as last argument to
18096 cpp_handle_option.
18097
18098 PR c/2896:
18099 * gcc.c (cpp_unique_options): Split from cpp_options.
18100 (cpp_options): Source cpp_unique_options.
18101 (default_compilers): Use cpp_unique_options instead of cpp_options
18102 when used together with cc1_options.
18103 (static_specs): Add cpp_unique_options.
18104 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
18105 when used together with cc1_options.
18106
1a275226
KH
181072002-01-29 Kazu Hirata <kazu@hxi.com>
18108
18109 * config/h8300/h8300-protos.h: Update the prototype of
18110 output_a_shift.
18111 * config/h8300/h8300.c (output_a_shift): Remove an unused
18112 argument 'insn'. Remove redundant code.
18113 * config/h8300/h8300.md: Adust to the new prototype of
18114 output_a_shift.
18115
a11d9dfc
KH
181162002-01-29 Kazu Hirata <kazu@hxi.com>
18117
18118 * config/h8300/h8300-protos.h: Update the prototypes of
18119 emit_a_rotate and expand_a_rotate.
18120 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
18121 first argument to 'enum rtx_code'.
18122 (expand_a_rotate): Likewise.
18123
871f73e3
KH
181242002-01-28 Kazu Hirata <kazu@hxi.com>
18125
18126 * config/h8300/h8300-protos.h: Update the prototype of
18127 output_simode_bld.
18128 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
18129 'log2'.
18130 * config/h8300/h8300.md: Adjust to the new prototype.
18131
5fc4b751
KH
181322002-01-28 Kazu Hirata <kazu@hxi.com>
18133
18134 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
18135 redundant code.
18136
2d67bd7b
JDA
181372002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
18138
18139 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
18140 is a fixed register before returning pic_offset_table_rtx.
18141 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
18142 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
18143
5a852b3e
JM
181442002-01-28 Jason Merrill <jason@redhat.com>
18145
6bb28965 18146 * dwarf2.h: Sync with src version.
5a852b3e 18147
3bca17dd
PK
181482002-01-28 Paul Koning <pkoning@equallogic.com>
18149
18150 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
18151 BT_FN_VOID_PTR_VAR.
18152 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
18153 * doc/extend.texi (__builtin_prefetch): Update documentation:
18154 first argument is now const void ptr.
18155
7dc3f8c0
KH
181562002-01-28 Kazu Hirata <kazu@hxi.com>
18157
18158 * config/h8300/h8300-protos.h: Remove an unused prototype.
18159
e83cb5f0
RZ
181602002-01-28 Roman Zippel <zippel@linux-m68k.org>
18161
18162 * toplev.c (lang_independent_init): Round up identifier size.
18163
5721cd84
RE
181642002-01-28 Richard Earnshaw <rearnsha@arm.com>
18165
18166 * config.gcc: Revert previous change.
18167
d534119e
AP
181682002-01-28 Andris Pavenis <pavenis@latnet.lv>
18169
18170 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
18171
5a721dab
RE
181722002-01-28 Richard Earnshaw <rearnsha@arm.com>
18173
18174 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
18175 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
18176 other non-elf netbsd config frags.
18177 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
18178 collect2 will does that.
18179 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
18180 shared-lib frobbing will work.
18181
da1775d6
KH
181822002-01-28 Kazu Hirata <kazu@hxi.com>
18183
18184 * config/h8300/h8300.h: Fix formatting.
18185 * config/h8300/h8300.md: Likewise.
18186
8f2e963b
LR
181872002-01-28 Loren J. Rittle <ljrittle@acm.org>
18188
18189 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
18190 the old, removed AAA_standards fix.
18191 * fixinc/fixincl.x: Rebuilt.
18192
fdae5767
HPN
181932002-01-28 Hans-Peter Nilsson <hp@axis.com>
18194
18195 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
18196 atexit call in crtbegin, hooked in after call to frame_dummy;
18197 register EH before registering __fini__start.
18198
2a2ecb63
AH
181992002-01-28 Aldy Hernandez <aldyh@redhat.com>
18200
18201 * config/rs6000/altivec.h: Remove spurious semicolons.
18202
8ed43adf
KH
182032002-01-27 Kazu Hirata <kazu@hxi.com>
18204
18205 * config/h8300/h8300.md: Replace dead bit extraction patterns
18206 with ones that work.
18207
917afb0c
RK
18208Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18209
18210 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
18211 if not STRICT_ALIGNMENT.
18212 * rtl.h (MEM_ALIGN): Likewise.
18213
f70a54cb
CR
182142002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
18215
18216 * doc/invoke.texi (-fdump-translation-unit): Revert this
18217 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
18218
d8fd4914
KH
182192002-01-27 Kazu Hirata <kazu@hxi.com>
18220
18221 * config/h8300/h8300.md (define_constants): New.
18222 (anonymous patterns) Use defined constants appropriately.
18223
15e0e275
KH
182242002-01-27 Kazu Hirata <kazu@hxi.com>
18225
18226 * config/h8300/h8300.c (function_arg): Remove redundant code.
18227
37a0f8a5
RH
182282002-01-26 Richard Henderson <rth@redhat.com>
18229
18230 * sched-deps.c (reg_pending_uses_head): New.
18231 (reg_pending_barrier): Rename from reg_pending_sets_all.
18232 (find_insn_list): Don't mark inline.
18233 (find_insn_mem_list): Remove.
18234 (add_dependence_list, add_dependence_list_and_free): New.
18235 (flush_pending_lists): Replace only_write param with separate
18236 for_read and for_write parameters. Update all callers. Use
18237 add_dependence_list_and_free.
18238 (sched_analyze_1): Do not add reg dependencies here; just set
18239 the pending bits. Use add_dependence_list.
18240 (sched_analyze_2): Likewise.
18241 (sched_analyze_insn): Replace schedule_barrier_found with
18242 reg_pending_barrier. Add all dependencies for pending reg
18243 uses, sets, and clobbers.
18244 (sched_analyze): Don't add reg dependencies for calls, just
18245 set pending bits. Use regs_invalidated_by_call. Treat
18246 sched_before_next_call as a normal list, not a fake insn.
18247 (init_deps): No funny init for sched_before_next_call.
18248 (free_deps): Free pending mems lists. Don't zero reg_last.
18249 (init_deps_global): Init reg_pending_uses.
18250 (finish_deps_global): Free it.
18251 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
18252 (find_insn_mem_list): Remove.
18253 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
18254 (propagate_deps): Use them. Zero temp mem lists.
18255
cea3bd3e
RH
182562002-01-26 Richard Henderson <rth@redhat.com>
18257
18258 * Makefile.in (CRTSTUFF_CFLAGS): New.
18259 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
18260 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
18261 crtstuff.c instead of alpha assembly version.
18262 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
18263 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
18264 not FORCE_{INIT,FINI}_SECTION_ALIGN.
18265 (__do_global_dtors_aux): Mark used.
18266 (frame_dummy, __do_global_ctors_aux): Mark used.
18267 (fini_dummy, init_dummy): Remove.
18268
18269 * config/alpha/crtbegin.asm: Remove file.
18270 * config/alpha/crtend.asm: Remove file.
18271 * config/alpha/t-crtbe: Remove file.
18272 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
18273 (LINK_EH_SPEC): New.
18274
18275 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
18276 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
18277 calling constructors.
18278 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
18279
18280 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
18281 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
18282 CRT_END_INIT_DUMMY hack.
18283 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
18284 FORCE_{INIT,FINI}_SECTION_ALIGN.
18285
18286 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
18287 FORCE_{INIT,FINI}_SECTION_ALIGN.
18288
18289 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
18290 invocation sequence.
18291 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
18292
18293 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
18294 (FORCE_CODE_SECTION_ALIGN): New.
18295
60ffa0e5
RH
182962002-01-26 Richard Henderson <rth@redhat.com>
18297
18298 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
18299
61334ebe
RH
183002002-01-26 Richard Henderson <rth@redhat.com>
18301
18302 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
18303 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
18304
1d788fb6
KH
183052002-01-26 Kazu Hirata <kazu@hxi.com>
18306
18307 * config/h8300/h8300.md: Remove bit extraction patterns that
18308 cannot be triggered.
18309 Restrict each bit extraction pattern to a variant on which the
18310 pattern is tested.
18311
87611f88
JM
183122002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
18313
18314 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
18315
cd74ec59
KH
183162002-01-26 Kazu Hirata <kazu@hxi.com>
18317
18318 * config/h8300/h8300.md: Remove bit test patterns that cannot
18319 be triggered.
18320 Restrict each bit test pattern to a variant on which the
18321 pattern is tested.
18322
93051e0f
KG
183232002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18324
18325 * builtins.c (expand_builtin_strncat): Remove redundant check for
18326 INTEGER_CST.
18327
216c995f
DB
183282002-01-25 David O'Brien <obrien@FreeBSD.org>
18329
18330 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
18331 default setting.
18332 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
18333 existing setting.
18334
33c7f925
GK
183352002-01-25 Geoffrey Keating <geoffk@redhat.com>
18336
18337 * dbxout.c (dbxout_init): Use assemble_name rather than just
18338 stripping off the first character.
18339 (dbxout_source_file): Likewise.
18340
6cd444b4
DD
183412002-01-25 DJ Delorie <dj@redhat.com>
18342
18343 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
18344 using rtx_equal_p, not by comparing pointers.
18345
751551d5
SE
183462002-01-25 Steve Ellcey <sje@cup.hp.com>
18347
18348 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
18349 for PIC_OFFSET_TABLE_REGNUM.
18350 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
18351
e564e618
DB
183522002-01-25 David O'Brien <obrien@FreeBSD.org>
18353
18354 * config.gcc (x86_64-*-freebsd*): New target.
18355 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
18356 value.
18357 (i[34567]86-*-freebsd*): Don't include svr4.h.
18358 * config/i386/freebsd64.h: New file.
18359
ff3aaf17
DR
183602002-01-25 Douglas B Rupp <rupp@gnat.com>
18361
4857d29d
DR
18362 * config/alpha/x-vms (version): Make static.
18363
18364 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
18365 in previous checkin.
18366
ff3aaf17
DR
18367 * Makefile.in (install-headers-cp): New target.
18368 * config.gcc (alpha-dec-*vms*): Install headers with
18369 install-headers-cp
18370
48d79c43
JH
18371Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
18372
18373 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
18374 avoid it's copies.
18375
995b5904
RK
18376Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18377
18378 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
18379 of compare_tree_int.
18380 (expand_builtin_strncat): Likewise.
18381 * c-decl.c (finish_struct): Use tree_low_cst.
18382 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
18383 * tree.c (compare_tree_int): Likewise.
18384
75eefe3f
UW
183852002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
18386
18387 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
18388 adjustments even if they are implemented by more than two insns.
18389
5a133afd
JH
18390Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
18391
995b5904 18392 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
18393 * df.h (struct ref): Kill B.
18394 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
18395
18396 * basic-block.h (PROP_EQUAL_NOTES): New flag.
18397 * flow.c (propagate_one_insn): Use it.
18398 (mark_used_regs): Handle NIL.
18399
ead39bdf 184002002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
18401
18402 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
18403 to help folding.
18404
01a2ccd0
DE
184052002-01-25 David Edelsohn <edelsohn@gnu.org>
18406
18407 * rs6000.md (prefetch): Make address V4SI mode so that the address
18408 is restricted to legitimate form for instruction.
18409
fd29f6ea
BW
184102002-01-25 Bob Wilson <bob.wilson@acm.org>
18411
18412 * doc/install.texi (xtensa-*-elf): New target.
18413 (xtensa-*-linux*): New target.
18414 * doc/contrib.texi: Add myself.
18415
55492b32
NC
184162002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
18417
18418 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
18419 purpose register to hold an SImode (or smaller) value.
18420
72c7c913
JJ
184212002-01-25 Jakub Jelinek <jakub@redhat.com>
18422
18423 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
18424 registry only.
18425 * crtstuff.c: Likewise.
18426
c4df4ceb
KH
184272002-01-25 Kazu Hirata <kazu@hxi.com>
18428
18429 * config/h8300/h8300.md (negation patterns): Tighten
18430 predicates to register_operand.
18431
70e531f5
AH
184322002-01-24 Aldy Hernandez <aldyh@redhat.com>
18433
3bca17dd
PK
18434 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
18435 mode, not Pmode.
70e531f5 18436
3bca17dd 18437 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 18438
a4f76ef9
AO
184392002-01-24 Alexandre Oliva <aoliva@redhat.com>
18440
18441 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
18442 modes.
18443
9bf25b09
KH
184442002-01-24 Kazu Hirata <kazu@hxi.com>
18445
18446 * config/h8300/h8300.c (print_operand): Remove support for
18447 operand character 'A'.
18448 * config/h8300/h8300.md (three anonymous patterns): Replace
18449 operand character 'A' with either 'T' or 'S'.
18450
974af6a5
KH
184512002-01-24 Kazu Hirata <kazu@hxi.com>
18452
18453 * config/h8300/h8300.c (print_operand): Remove support for
18454 operand character 'U'.
18455
7a5bb7b8
AP
184562002-01-24 Andris Pavenis <pavenis@latnet.lv>
18457
3bca17dd 18458 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 18459
92a4639e
NC
184602002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
18461
18462 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
18463 values to be assigned to the stack pointer.
18464
467cb2da
HP
184652002-01-14 Hartmut Penner <hpenner@de.ibm.com>
18466
bebc7e8b 18467 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
18468 to const_double needs to be done right for big-endian systems.
18469
3b6cb920
JM
184702002-01-24 Jason Merrill <jason@redhat.com>
18471
b08dd119 18472 PR c++/2432
3b6cb920
JM
18473 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
18474 to can_throw_internal.
18475
f3077311
RH
184762002-01-23 Richard Henderson <rth@redhat.com>
18477
18478 * fold-const.c (fold): Change UINT_MAX test to check vs precision
18479 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
18480
e1d71275
AO
184812002-01-24 Alexandre Oliva <aoliva@redhat.com>
18482
18483 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
18484 (symGOT2reg): Use them, then set as GOT value as unchanging.
18485 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
18486 as a temporary, if possible.
18487 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
18488 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
18489
dc271dbe
KH
184902002-01-23 Kazu Hirata <kazu@hxi.com>
18491
18492 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
18493 accept to accept 0x80 as operands[2].
18494
1a9017f9
AO
184952002-01-24 Alexandre Oliva <aoliva@redhat.com>
18496
18497 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
18498
6932f033
RH
184992002-01-23 Richard Henderson <rth@redhat.com>
18500
18501 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
18502
709619d9
AH
185032002-01-23 Aldy Hernandez <aldyh@redhat.com>
18504
3bca17dd
PK
18505 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
18506 (parmlist_or_identifiers_1): Verify that only a parmlist follows
18507 an attribute.
709619d9 18508
3d709fd3
RH
185092002-01-23 Richard Henderson <rth@redhat.com>
18510
18511 * expr.c (move_by_pieces_1): Extend size before negation.
18512
88a446c0
RH
18513 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
18514 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
18515 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
18516 * config/m68k/t-m68kelf: Likewise.
18517
03984308
BW
185182002-01-23 Bob Wilson <bob.wilson@acm.org>
18519
18520 * config/xtensa/elf.h: New file.
18521 * config/xtensa/lib1funcs.asm: New file.
18522 * config/xtensa/lib2funcs.S: New file.
18523 * config/xtensa/linux.h: New file.
18524 * config/xtensa/t-xtensa: New file.
18525 * config/xtensa/xtensa-config.h: New file.
18526 * config/xtensa/xtensa-protos.h: New file.
18527 * config/xtensa/xtensa.c: New file.
18528 * config/xtensa/xtensa.h: New file.
18529 * config/xtensa/xtensa.md: New file.
18530 * config.gcc (xtensa-*-elf*): New target.
18531 (xtensa-*-linux*): New target.
18532 * cse.c (canon_hash): Compare rtx pointers instead of register
18533 numbers. This is required for the Xtensa port.
18534 * integrate.c (copy_insn_list): Handle case where the static
18535 chain is in memory and the memory address has to be copied to
18536 a register.
18537 * doc/invoke.texi (Option Summary): Add Xtensa options.
18538 (Xtensa Options): New node.
18539 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
18540
c3d5c3fa
ZW
185412002-01-23 Zack Weinberg <zack@codesourcery.com>
18542
a63bea75
ZW
18543 * diagnostic.c (internal_error): Do ICE suppression only
18544 when ENABLE_CHECKING is not defined.
18545
c3d5c3fa
ZW
18546 * c-typeck.c (require_complete_type): Return error_mark_node
18547 if type is error_mark_node.
18548
1398974c
JJ
185492002-01-23 Janis Johnson <janis187@us.ibm.com>
18550
18551 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
18552 -Os and issue a warning.
18553
807633e5
ZW
185542002-01-23 Zack Weinberg <zack@codesourcery.com>
18555
18556 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
18557 current (lack of) need for host configuration by hand.
18558
18559 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
18560 references. Documentation of some target macros moved from
18561 hostconfig.texi to tm.texi.
18562
cf8002d0
WC
185632002-01-23 Will Cohen <wcohen@redhat.com>
18564
18565 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
18566 defined.
18567
d1e76310
KH
185682002-01-23 Kazu Hirata <kazu@hxi.com>
18569
18570 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
18571 operand[3].
18572
b2115575
JM
185732002-01-23 Jason Merrill <jason@redhat.com>
18574
f893c16e
JM
18575 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
18576
b2115575
JM
18577 * function.c (assign_parms): Don't put args of inline functions
18578 into registers when not optimizing.
18579
6bacc7b0
NC
185802002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
18581
18582 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
18583 (prologue_use): New pattern.
18584 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
18585 preference to gen_rtx_USE.
18586 (thumb_expand_prologue): Use gen_prologue_use in preference to
18587 gen_rtx_USE.
18588 (thumb_expand_epilogue): Use gen_prologue_use in preference to
18589 gen_rtx_USE.
18590
a415f7bc
HPN
185912002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
18592
18593 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
18594
5372b3fb
NB
185952002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
18596
18597 PR c/3504
18598 * doc/extend.texi: Correct documentation of __alignof__.
18599
bd571ffc
ZW
186002002-01-22 Zack Weinberg <zack@codesourcery.com>
18601
18602 * params.h: Rename arguments of DEFPARAM so that it will be
18603 recognized as a translation keyword.
18604
333c8841
AH
186052002-01-22 Aldy Hernandez <aldyh@redhat.com>
18606
bd571ffc
ZW
18607 * extend.texi: Document altivec functions.
18608 Fix N-bit adjectives in X86 builtin documentation.
333c8841 18609
38979c65
AO
186102002-01-22 Alexandre Oliva <aoliva@redhat.com>
18611
18612 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
18613 auto_inc_dec values.
18614
7458a9f0
RE
186152002-01-22 Richard Earnshaw <rearnsha@arm.com>
18616
18617 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
18618 after backslash.
18619 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
18620
129bd0c4
AO
186212002-01-22 Alexandre Oliva <aoliva@redhat.com>
18622
18623 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
18624
8b9b74a9
RH
186252002-01-22 Richard Henderson <rth@redhat.com>
18626
18627 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
18628 copy_insn not copy_rtx.
18629
d0c9db30
AM
186302002-01-23 Alan Modra <amodra@bigpond.net.au>
18631
18632 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
18633 "nonzero" as that might add "1" bits. Ensure "constop" is
18634 properly sign extened.
18635 (force_to_mode): Tweak for sign extended constop.
18636
1e7e480e
RH
186372002-01-22 Richard Henderson <rth@redhat.com>
18638
18639 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
18640 for_each_rtx instead of assuming we're already looking at the MEM.
18641 (split_small_symbolic_mem_operand): Likewise.
18642 * config/alpha/alpha.h (PREDICATE_CODES): Update.
18643 * config/alpha/alpha.md (small symbolic memory splitters): Update.
18644
186452002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
18646
18647 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
18648 sequence number for the literal.
18649 (divmoddi_internal_er): Likewise.
18650
b7f2fb96
CR
186512002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
18652
18653 PR java/4972
18654 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
18655 in LIBICONV variable.
18656 * configure: Regenerated.
18657
f66a0046
KW
186582002-01-22 Krister Walfridsson <cato@df.lth.se>
18659
18660 * dependence.c (build_def_use): Remove array_idx.
18661
e3b0efd1
KW
18662 * dwarfout.c (last_filename): Remove.
18663 (output_compile_unit_die): Remove last_filename.
18664
d8086cbb
RS
186652002-01-22 Roger Sayle <roger@eyesopen.com>
18666 Richard Henderson <rth@redhat.com>
18667
18668 PR opt/3640
18669 * fold-const.c (fold): Optimize unsigned comparisons against
18670 UINT_MAX (and similar unsigned constants).
18671
e8d52ba0
JJ
186722002-01-22 Janis Johnson <janis187@us.ibm.com>
18673
d8086cbb 18674 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 18675 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 18676 against the predicate.
11303d15 18677
e8d52ba0
JJ
18678 PR target/5379
18679 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
18680 for the address operand.
18681
cc7b420e
RH
186822002-01-22 Richard Henderson <rth@redhat.com>
18683
18684 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
18685
816e265a
CR
186862002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
18687
18688 PR other/5450
cc7b420e
RH
18689 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
18690 preprocessor flags.
816e265a 18691
7c884404
JT
186922002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
18693
18694 * config.gcc (x86_64-*-netbsd*): New target.
18695 * config/i386/netbsd64.h: New file.
18696
2b672c08
AH
186972002-01-22 Aldy Hernandez <aldyh@redhat.com>
18698
d8086cbb 18699 * regrename.c (kill_value): Fix typo.
2b672c08
AH
18700
187012002-01-22 Aldy Hernandez <aldyh@redhat.com>
18702
d8086cbb 18703 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 18704
d8086cbb 18705 * config/rs6000/rs6000.h: Same.
2b672c08 18706
d8086cbb
RS
18707 * function.c (instantiate_virtual_regs): Remove
18708 STARTING_FRAME_PHASE.
18709 (assign_stack_local_1): Same.
18710 Calculate frame phase.
2b672c08 18711
4b02997f
NC
187122002-01-22 Nick Clifton <nickc@redhat.com>
18713
18714 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
18715 variable declaration to outer scope in order to simplify
18716 future extensions.
18717 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
18718 arm_hard_regno_mode_ok.
18719 * config/arm/arm-protos.h: Add a prototype for
18720 arm_hard_regno_mode_ok.
18721 * config/arm/arm.c (soft_df_operand): Remove now redundant
18722 check for DImode values using IP_REGNUM.
18723 (nonimmediate_soft_df_operand): Remove now redundant check for
18724 DImode values using IP_REGNUM.
18725 (arm_hard_regno_mode_ok): New function. New check: make sure
18726 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
18727
18728 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
18729 note with a USE.
18730 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
18731
8a827ab2
JM
187322002-01-22 Jason Merrill <jason@redhat.com>
18733
18734 * c-semantics.c (genrtl_compound_stmt): Only check nesting
18735 consistency if this COMPOUND_STMT is scoped.
18736
cf403648
KH
187372002-01-22 Kazu Hirata <kazu@hxi.com>
18738
18739 * predict.c: Fix formatting.
18740 * print-tree.c: Likewise.
18741 * protoize.c: Likewise.
18742 * real.h: Likewise.
18743 * rtl.h: Likewise.
18744 * sbitmap.h: Likewise.
18745 * scan.c: Likewise.
18746 * sched-deps.c: Likewise.
18747 * sched-vis.c: Likewise.
18748 * sdbout.c: Likewise.
18749 * sibcall.c: Likewise.
18750 * ssa.c: Likewise.
18751 * ssa-ccp.c: Likewise.
18752 * ssa-dce.c: Likewise.
18753 * stmt.c: Likewise.
18754 * stor-layout.c: Likewise.
18755 * system.h: Likewise.
18756
aea9695c
RK
18757Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18758
a8765ae7
RK
18759 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
18760 if fits in bounds of base type.
18761
aea9695c
RK
18762 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
18763 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
18764 (add_bound_info, default): If can't find a context, make a
18765 SAVE_EXPR.
18766 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
18767
58bf601b
HPN
187682002-01-22 Hans-Peter Nilsson <hp@axis.com>
18769
18770 * c-typeck.c (parser_build_binary_op): If result from
18771 build_binary_op is ERROR_MARK just return error_mark_node without
18772 further processing.
18773
f982f805
JT
187742002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
18775
18776 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
18777 Split a.out-specific bits into...
18778 * config/netbsd-aout.h: ...this.
18779 * config/netbsd-elf.h: New file.
18780 * config/alpha/netbsd-elf.h: Remove.
18781 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
18782 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 18783 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
18784 (ENDFILE_SPEC): Likewise.
18785 (LINK_SPEC): Likewise.
18786 (CPP_SPEC): Likewise.
18787 (ASM_SPEC): Likewise.
18788 (LIB_SPEC): Likewise.
18789 (SWITCH_TAKES_ARG): Likewise.
18790 (TARGET_MEM_FUNCTIONS): Likewise.
18791 (CPP_PREDEFINES): Redefine.
18792 (ASM_FINAL_SPEC): Remove redefinition.
18793 (ASM_COMMENT_START): Redefine.
18794 (FUNCTION_PROFILER): Define.
18795 (TARGET_VERSION): Redefine.
18796 Comment and formatting cleanup.
18797 * config/i386/netbsd.h: Include <netbsd-aout.h>.
18798 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
18799 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
18800 big- or little-endian.
18801 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
18802 * config.gcc (*-*-netbsd*): Add definitions common to all
18803 NetBSD configs.
18804 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
18805 gnu_ld definitions. Add netbsd-elf.h to and remove
18806 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
18807 tmake_file, and don't lose previous tmake_file contents.
18808 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
18809 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
18810 gnu_ld definitions. Add netbsd-elf.h to tm_file.
18811 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
18812 (mipsel-*-netbsd*): Rename this to...
18813 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
18814 mips/little.h to tm_file for mips*el-*.
18815 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
18816 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
18817 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
18818
2e396476
JDA
188192002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
18820
18821 * pa-protos.h (reg_before_reload_operand): New function prototype.
18822 * pa.c (reg_before_reload_operand): New function implementation.
18823 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
18824 contraints to "*m".
18825
3b5708e7
FS
188262002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18827
18828 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
18829
85e79f96
JDA
188302002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
18831
18832 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
18833 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
18834 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
18835 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
18836 (ENDFILE_SPEC): Undefine.
18837 (STARTFILE_SPEC): Redefine for PA.
18838
38abadee
FS
188392002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18840
18841 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
18842
94f1d97c
DJ
188432002-01-21 Daniel Jacobowitz <drow@mvista.com>
18844
18845 * config.gcc: Add entries to supported PowerPC --with-cpu
18846 types.
18847
0333394e
JJ
188482002-01-21 Jakub Jelinek <jakub@redhat.com>
18849
18850 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
18851 true for 64-bit mode only SSE registers in 32-bit mode.
18852
e9d1b155
KH
188532002-01-21 Kazu Hirata <kazu@hxi.com>
18854
18855 * unwind-dw2.c: Fix formatting.
18856 * unwind-dw2-fde.c: Likewise.
18857 * unwind-dw2-fde.h: Likewise.
18858 * unwind-pe.h: Likewise.
18859 * varasm.c: Likewise.
18860 * varray.h: Likewise.
18861
07338cf8
HPN
188622002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
18863
18864 Remove workaround for register stack overwrite bug in mmix.
18865 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
18866 support for TARGET_REG_STACK_FILL_BUG.
18867 * config/mmix/mmix.h: Remove member has_call_without_parameters.
18868 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
18869 Delete.
18870 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
18871 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
18872 -mno-reg-stack-fill-bug-workaround.
18873 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
18874 machine member has_call_without_parameters.
18875 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
18876 -mreg-stack-fill-bug-workaround and
18877 -mno-reg-stack-fill-bug-workaround.
18878 (MMIX Options): Ditto.
18879
7192cbf1
KH
188802002-01-21 Kazu Hirata <kazu@hxi.com>
18881
18882 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
18883 as appropriate.
18884 Remove redundant code.
18885
d1552d7b
JM
188862002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
18887
18888 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
18889 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
18890 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
18891 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
18892 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
18893 out target macro definitions and non-target-specific comments
18894 mostly taken from old versions of the manual.
18895
ed168e45
KH
188962002-01-20 Kazu Hirata <kazu@hxi.com>
18897
18898 * config/h8300/h8300.h: Fix comment formatting.
18899 * config/ia64/aix.h: Likewise.
18900 * config/ia64/ia64-protos.h: Likewise.
18901 * config/ia64/ia64.c: Likewise.
18902 * config/ia64/ia64.h: Likewise.
18903 * config/ia64/ia64intrin.h: Likewise.
18904 * config/ia64/linux.h: Likewise.
18905 * config/ia64/unwind-aix.c: Likewise.
18906 * config/ia64/unwind-ia64.c: Likewise.
18907
005e3e05
KH
189082002-01-20 Kazu Hirata <kazu@hxi.com>
18909
18910 * config/h8300/h8300.c: Revise comments about shift code.
18911
64bead4c
KH
189122002-01-20 Kazu Hirata <kazu@hxi.com>
18913
18914 * config/h8300/h8300.c (function_arg): Update a comment.
18915
ed863595
KH
189162002-01-20 Kazu Hirata <kazu@hxi.com>
18917
18918 * config/h8300/h8300.md: Update the comments at the beginning
18919 of the file.
18920
5904dc87
KH
189212002-01-20 Kazu Hirata <kazu@hxi.com>
18922
18923 * config/i370/i370.c: Fix comment formatting.
18924 * config/i370/i370.h: Likewise.
18925 * config/i370/i370.md: Likewise.
18926 * config/i370/linux.h: Likewise.
18927
9702143f
RK
18928Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18929
cbafacd1
RK
18930 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
18931
9702143f
RK
18932 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
18933 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
18934 in incomplete case.
18935
6b6996b8
GS
189362002-01-20 Graham Stott <grahams@redhat.com>
18937
18938 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
18939
eab854f6
JDA
189402002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
18941
18942 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
18943
5b029315
TR
189442002-01-19 Tom Rix <trix@redhat.com>
18945
18946 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
18947
1d690052
AH
189482002-01-18 Aldy Hernandez <aldyh@redhat.com>
18949
d8086cbb 18950 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 18951
d8086cbb
RS
18952 * function.c (assign_stack_local_1): Adjust x_frame_offset with
18953 STARTING_FRAME_PHASE.
18954 (STARTING_FRAME_PHASE): New.
18955 (instantiate_virtual_regs): Check saneness of
18956 STARTING_FRAME_PHASE.
1d690052 18957
d8086cbb 18958 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 18959
4dd8c093
AO
189602002-01-19 Alexandre Oliva <aoliva@redhat.com>
18961
18962 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
18963
6f2a28d7
CR
189642002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
18965
18966 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
18967 be used for bootstrapping GCC 3.0.
18968
8763a465
KH
189692002-01-18 Kazu Hirata <kazu@hxi.com>
18970
18971 * config/h8300/h8300.md: Fix an insn length.
18972
3ef42a0c
KH
189732002-01-18 Kazu Hirata <kazu@hxi.com>
18974
18975 * bitmap.h: Fix comment formatting.
18976 * combine.c: Likewise.
18977 * cppfiles.c: Likewise.
18978 * c-pragma.h: Likewise.
18979 * c-typeck.c: Likewise.
18980 * df.c: Likewise.
18981 * dwarf2out.c: Likewise.
18982 * function.c: Likewise.
18983 * gcc.c: Likewise.
18984 * genattrtab.c: Likewise.
18985 * gthr-win32.h: Likewise.
18986 * haifa-sched.c: Likewise.
18987 * predict.c: Likewise.
18988 * rtlanal.c: Likewise.
18989 * rtl.h: Likewise.
18990 * unwind-dw2-fde.h: Likewise.
18991 * unwind-pe.h: Likewise.
18992 * vmsdbgout.c: Likewise.
18993
dd4dc3cd
RK
18994Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18995
18996 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
18997 if type_required and passed decl.
18998
5fb4cf24
AH
189992002-01-17 Aldy Hernandez <aldyh@redhat.com>
19000
d8086cbb
RS
19001 * config.gcc (cpu_type): Include altivec.h in powerpc
19002 extra_headers.
19003 Same for darwin.
5fb4cf24 19004
d8086cbb 19005 * config/rs6000/altivec.h: New.
5fb4cf24 19006
2705baf5
DE
190072002-01-17 David Edelsohn <edelsohn@gnu.org>
19008
19009 * doc/install.texi (*-ibm-aix*): Update assembler and exception
19010 handling information.
19011 * doc/trouble.texi (Interoperation): Add libstdc++ information
19012 for AIX.
19013 (Misunderstandings): Add template instantiation and static template
19014 member information for AIX.
19015
dbd680e1
JM
190162002-01-17 Jason Merrill <jason@redhat.com>
19017
821adc5e
JM
19018 * dbxout.c (dbxout_type): Support const and volatile.
19019
dbd680e1
JM
19020 * except.c (add_partial_entry): Remove backwards compatibility code.
19021 (end_protect_partials): Likewise.
19022
d0e82870
JJ
190232002-01-17 Jakub Jelinek <jakub@redhat.com>
19024
19025 * config/ia64/ia64.md (prologue_use): New.
19026 * config/ia64/ia64.c (ia64_expand_prologue): Use
19027 gen_prologue_use instead of gen_rtx_USE.
19028 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
19029 as CODE_FOR_pred_rel_mutex.
19030 (ia64_sched_reorder2): Likewise.
19031
f9f45c65
EC
190322002-01-16 Eric Christopher <echristo@redhat.com>
19033
19034 * config/mips/r3900.h: Reformat.
19035 (SUBTARGET_CPP_SIZE_SPEC): Remove.
19036 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
19037 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
19038 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
19039 * config/mips/t-elf: Remove mips3 multilib.
19040
c66c8b0e
L
190412002-01-16 H.J. Lu <hjl@gnu.org>
19042
19043 * config/mips/linux.h: Include "mips/abi64.h".
19044
5f083b72
L
190452002-01-16 H.J. Lu <hjl@gnu.org>
19046
19047 * config/mips/t-linux: New.
19048
19049 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
19050
19051 * config/mips/linux.h: Don't include "gofast.h".
19052 (INIT_SUBTARGET_OPTABS): Removed.
19053
af3c90a6
KH
190542002-01-16 Kazu Hirata <kazu@hxi.com>
19055
19056 * config/h8300/h8300-protos.h: Replace emit_a_shift with
19057 output_a_shift.
19058 * config/h8300/h8300.c: Likewise.
19059 * config/h8300/h8300.md: Likewise.
19060
a1bf0a16
KH
190612002-01-16 Kazu Hirata <kazu@hxi.com>
19062
19063 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
19064 spaces after an opcode name.
19065 (pushqi1_h8300hs): Likewise.
19066 (pushhi1_h8300hs): Likewise.
19067
88ab0d1c
KH
190682002-01-16 Kazu Hirata <kazu@hxi.com>
19069
19070 * doc/extend.texi: Replace "option" with "attribute"
19071 appropriately.
19072
51c561e3
JJ
190732002-01-16 Jakub Jelinek <jakub@redhat.com>
19074
19075 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
19076 (and:DI () (const_int -8)).
19077 (split_small_symbolic_mem_operand): Split
19078 (mem (and:DI () (const_int -8)).
19079
b8c1a6b8
JJ
190802002-01-16 Jakub Jelinek <jakub@redhat.com>
19081
19082 PR target/5309:
d8086cbb 19083 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
19084 same way as TYPE_IMUL.
19085 (ultrasparc_sched_reorder): Likewise.
19086 * config/sparc/sparc.md (type): Add comment to update
19087 ultrasparc_sched_reorder when making changes.
19088
1e4e4df2
KH
190892002-01-16 Kazu Hirata <kazu@hxi.com>
19090
19091 * doc/invoke.texi: Change the dump file name of block
19092 reordering pass from 28.bbro to 29.bbro.
19093 Mention -dk option.
19094
14d920c0
JH
19095Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
19096
19097 * i386.md (minsf splitter): Fix pasto.
19098
2e99323f
NC
190992002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
19100
19101 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
19102 to frame pointer initialisation instruction.
19103 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
19104 initialisation instruction.
ab8081c1
NC
19105 (soft_df_operand): Do not accept the IP register.
19106 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 19107
c4031a04
JJ
191082002-01-16 Jakub Jelinek <jakub@redhat.com>
19109
19110 PR target/5357:
19111 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
19112 MASK_V8 being both set.
19113
44b8152b
UW
191142002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
19115
19116 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
19117 insn for GOT register; add REG_MAYBE_DEAD notes instead.
19118 config/s390/s390.md (call, call_value): Add GOT register to
19119 CALL_INSN_FUNCTION_USAGE where needed.
19120 (call_exp, call_value_exp): New.
19121
1d6e90ac
NC
191222002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
19123
19124 * config/arm/arm.c: General formatting tidy up.
19125
191262002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
19127
19128 * calls.c (try_to_integrate): Use "(size_t)" intermediate
19129 cast and when casting an integer literal to "rtx" pointer.
19130 (expand_call): Likewise.
19131 * flow.c (try_pre_increment): Likewise.
19132 (find_use_as_address): Likewise.
19133 * integrate.c (expand_iline_function): Likewise.
19134 * regmove.c (try_auto_increment): Likewise.
19135
1d6e90ac 191362002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
19137
19138 * sched-rgn.c (passed): Use sbitmap_free.
19139 (header): Likewise.
19140 (inner): Likewise.
19141 (in_queue): Likewise.
19142 (in_stack): Likewise.
19143
31fce3c4
EC
191442002-01-15 Eric Christopher <echristo@redhat.com>
19145
19146 * flow.c (propagate_one_insn): Change to use fatal_insn.
19147
c99d986a
KH
191482002-01-15 Kazu Hirata <kazu@hxi.com>
19149
19150 * expmed.c (extract_fixed_bit_field): Remove unused code.
19151 * system.h: Poison SLOW_ZERO_EXTEND.
19152 * doc/tm.texi: Remove.
19153 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
19154 * config/arm/arm.h: Likewise.
19155 * config/avr/avr.h: Likewise.
19156 * config/clipper/clipper.h: Likewise.
19157 * config/convex/convex.h: Likewise.
19158 * config/d30v/d30v.h: Likewise.
19159 * config/dsp16xx/dsp16xx.h: Likewise.
19160 * config/elxsi/elxsi.h: Likewise.
19161 * config/fr30/fr30.h: Likewise.
19162 * config/h8300/h8300.h: Likewise.
19163 * config/i370/i370.h: Likewise.
19164 * config/i386/i386.h: Likewise.
19165 * config/m68k/m68k.h: Likewise.
19166 * config/mips/mips.h: Likewise.
19167 * config/ns32k/ns32k.h: Likewise.
19168 * config/pdp11/pdp11.h: Likewise.
19169 * config/pj/pj.h: Likewise.
19170 * config/s390/s390.h: Likewise.
19171 * config/sh/sh.h: Likewise.
19172 * config/stormy16/stormy16.h: Likewise.
19173 * config/v850/v850.h: Likewise.
19174 * config/vax/vax.h: Likewise.
19175 * config/we32k/we32k.h: Likewise.
19176
acfab996
AH
191772002-01-15 Aldy Hernandez <aldyh@redhat.com>
19178
d8086cbb
RS
19179 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
19180 (altivec_lvsl): Change constraint to b.
19181 (altivec_lvsr): Same.
19182 (altivec_lvebx): Same.
19183 (altivec_lvehx): Same.
19184 (altivec_lvewx): Same.
19185 (altivec_lvxl): Same.
19186 (altivec_lvx): Same.
19187 (altivec_stvx): Add parallel.
19188 (altivec_stvxl): Same.
19189 (altivec_stvehx): Same.
19190 (altivec_stvebx): Same.
19191 (altivec_stvebx): Same.
acfab996 19192
5e505bc9
AH
191932002-01-15 Aldy Hernandez <aldyh@redhat.com>
19194
d8086cbb 19195 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 19196
d8086cbb 19197 * config/rs6000/altivec.h: Delete.
5e505bc9 19198
d8086cbb 19199 * config/rs6000/altivec-defs.h: Add.
5e505bc9 19200
5c41fdfb
JDA
192012002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
19202
19203 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
19204 and UMOD modes.
19205
19206 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
19207 less than or equal to eight bytes.
19208
19209 * vax.md (andsi3): Remove constraints and change SET destination
19210 operand type to nonimmediate_operand.
19211 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
19212 when it is a CONST_INT.
19213
de097a2d
JM
192142002-01-15 Jason Merrill <jason@redhat.com>
19215
19216 * c-common.def (FILE_STMT): New code.
19217 * c-common.c (statement_code_p): It's a statement.
19218 * c-common.h (stmt_tree_s): Add x_last_filename.
19219 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
19220 (last_expr_filename): New macro.
19221 * c-semantics.c (begin_stmt_tree): Initialize it.
19222 (add_stmt): If the filename changed, also insert a
19223 FILE_STMT.
19224 (expand_stmt): Handle seeing one.
19225
4a913dd6
EC
192262002-01-15 Eric Christopher <echristo@redhat.com>
19227
19228 * flow.c (propagate_one_insn): Add error message and print out
19229 insn for debugging.
19230
006946e4
JM
192312002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
19232
19233 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
19234 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
19235 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
19236 TRAMPOLINE_ALIGNMENT.
19237 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
19238 to be in bits.
19239 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
19240 PCC_BITFIELD_TYPE_MATTERS.
19241 * config/interix.h (STDC_VALUE): Remove. Use
19242 STDC_0_IN_SYSTEM_HEADERS.
19243 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
19244 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
19245 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
19246
751a1458
CR
192472002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
19248
19249 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
19250 not work on this platform currently.
19251
57771fe8
JM
192522002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
19253
19254 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
19255 readonly_warning in _().
19256
0e83ceb1 192572002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 19258
0e83ceb1 19259 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 19260
8e2e89f7
KH
192612002-01-15 Kazu Hirata <kazu@hxi.com>
19262
0e83ceb1
DR
19263 * config/h8300/h8300.c (print_operand): Remove support for
19264 unused operand characters.
19265
8e2e89f7
KH
19266 * read-rtl.c: Fix formatting.
19267 * real.c: Likewise.
19268 * recog.c: Likewise.
19269 * regclass.c: Likewise.
19270 * regmove.c: Likewise.
19271 * reg-stack.c: Likewise.
19272 * reload1.c: Likewise.
19273 * rtlanal.c: Likewise.
19274
b531087a
KH
192752002-01-15 Kazu Hirata <kazu@hxi.com>
19276
19277 * config/i386/i386.c: Fix formatting.
19278
7c94ce7f
JJ
192792002-01-15 Jakub Jelinek <jakub@redhat.com>
19280
19281 * c-typeck.c (process_init_element): Don't save_expr
19282 COMPOUND_LITERAL_EXPR if just its initializer will be used.
19283
6041bf2f
DE
192842002-01-15 David Edelsohn <edelsohn@gnu.org>
19285
19286 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
19287 emit optional traceback table if optimize_size or TARGET_ELF.
19288 * config/rs6000/rs6000.md (prefetch): New.
19289
8559c8c0
AJ
192902002-01-15 Andreas Jaeger <aj@suse.de>
19291
19292 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
19293
70f122f2
KH
192942002-01-15 Kazu Hirata <kazu@hxi.com>
19295
19296 * mips-tfile.c: Fix formatting.
19297
6a7b4ca6
JH
19298Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
19299
19300 * unroll.c (final_reg_note_copy): Fix previous commit.
19301
e7afe229
KH
193022002-01-14 Kazu Hirata <kazu@hxi.com>
19303
19304 * config/h8300/h8300-protos.h: Remove the prototype for
19305 eq_operator.
19306 * config/h8300/h8300.c (eq_operator): Remove.
19307
7d378549
RH
193082002-01-14 Richard Henderson <rth@redhat.com>
19309
19310 * config/i386/i386.md (prefetch): Tidy.
19311 (prefetch_3dnow): Fix locality operand.
19312
ab093b81
RH
193132002-01-14 Richard Henderson <rth@redhat.com>
19314
19315 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
19316 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
19317
d300f51f
HPN
193182002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
19319
19320 * reload1.c (reload_combine): Pass reg_sum replacement through
19321 copy_rtx in loop performing multiple changes.
19322
655dd289
JJ
193232002-01-14 Jakub Jelinek <jakub@redhat.com>
19324
19325 * except.c (remove_unreachable_regions): New.
19326 (free_eh_status): Clear exception_handler_labels.
19327 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
19328 (find_exception_handler_labels): Don't add the same label more than
19329 once.
19330 (remove_exception_handler_label): Don't die if
19331 find_exception_handler_labels hasn't been called for the current
19332 function yet.
19333
1fba46a7
JH
19334Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
19335
19336 * toplev.c (rest_of_compilation): Rebuild jump labels after
19337 gcse.
19338
0975678f
JM
193392002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
19340
19341 * doc/extend.texi: Move documentation of X86 built-in functions
19342 here.
19343 * doc/invoke.texi: From here.
19344 * doc/sourcebuild.texi: Document location of documentation for
19345 machine built-in functions.
19346
969815c7
CF
193472002-01-13 Christopher Faylor <cgf@redhat.com>
19348
19349 * cppfiles.c (TEST_THRESHOLD): New macro.
19350 (SHOULD_MMAP): Ditto.
19351 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
19352 be used.
19353
494c950b
JH
19354Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
19355
19356 * unroll.c (final_reg_note_copy): Properly handle
19357 REG_LABEL
19358 (unroll_loops): Fix LOOP_CONDITION heuristics.
19359
69a0611f
GK
193602002-01-14 Geoffrey Keating <geoffk@redhat.com>
19361
19362 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
19363 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
19364
b90e45ae
JH
19365Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
19366
19367 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
19368 threaded loop.
19369
8377288b
TR
193702002-01-14 Tom Rix <trix@redhat.com>
19371
19372 * config/rs6000/rs6000.md: Fix typo with sradi.
19373
9f37ccb1
UW
193742002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
19375
19376 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
19377 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
19378 (clrstrdi, clrstrsi): Adapt callers.
19379
19380 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
19381
8559c8c0 19382 (movti splitter): Never use register 0 as base register.
9f37ccb1 19383
6c2d03d0
HP
193842002-01-14 Hartmut Penner <hpenner@de.ibm.com>
19385
8559c8c0
AJ
19386 * combine.c (simplify_shift_const): Always generate new rtx
19387 for shift expression instead of reusing given expression.
6c2d03d0 19388
d3e98208
RK
19389Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19390
19391 * config/alpha/alpha.c (alpha_expand_mov): Don't call
19392 alpha_legitimize_address unless mode is Pmode.
19393
9f339dde
GK
193942002-01-13 Geoffrey Keating <geoffk@redhat.com>
19395
19396 * doc/md.texi (Modifiers): Document the '*' constraint for the
19397 user.
19398
19399 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
19400 * doc/extend.texi (Function Attributes): 'interrupt' is valid
19401 for xstormy16 too.
19402
02a10130
RH
194032002-01-13 Richard Henderson <rth@redhat.com>
19404
19405 * reload.c (find_reloads): Use a hard reg destination as reload reg
19406 for an input reload of the source.
19407
61d47787
GP
194082002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19409
19410 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
19411 more generic.
19412
f0df8029
DR
19413Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
19414
19415 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
19416 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
19417
d2a37256
DR
19418 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
19419
a9e8a5ee
RK
19420Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19421
19422 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
19423
bc06712d
TR
194242002-01-12 Tom Rix <trix@redhat.com>
19425
8559c8c0 19426 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
19427 TARGET_POWERPC64.
19428
7cbe9bb7
RH
194292002-01-12 Richard Henderson <rth@redhat.com>
19430
38b29e64
RH
19431 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
19432
58605ba0
RH
19433 * doc/invoke.texi: Update Alpha options.
19434
7cbe9bb7
RH
19435 * doc/invoke.texi: Update i386 built-in function lists.
19436
9d560860
JH
19437Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
19438
19439 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
19440 referencing outside.
19441
bb93b973
RK
19442Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19443
19444 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
19445 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
19446 offsets, and change line folding.
19447 * optabs.c (expand_binop): Remove warnings.
19448 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 19449
f9f6b7df
GS
194502002-01-12 Graham Stott <grahams@redhat.com>
19451
19452 * attribs.c (handle_deprecated_attribute): constify WHAT.
19453 * diagnostic.c (warn_deprecated_use): Add braces, fixes
19454 dangling else warning and constify WHAT.
19455 * except.h (struct function, struct inline_remap): Move
19456 struct tag forward defs before all prototypes.
19457 (duplicate_eh_regions): Whitespace.
19458
4a692617
NC
194592002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
19460
19461 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
19462 MODE_BASE_REG_CLASS.
19463 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
19464
e37af218
RH
194652002-01-12 Richard Henderson <rth@redhat.com>
19466
19467 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
19468 (ix86_expand_vector_move): New.
19469 (bdesc_2arg): Remove andps, andnps, orps, xorps.
19470 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
19471 Remove old prefetch builtins. Special case the logicals removed above.
19472 (ix86_expand_builtin): Likewise.
19473 (safe_vector_operand): Use V4SFmode, not TImode.
19474 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
19475 (ix86_expand_timode_binop_builtin): New.
19476 * config/i386/i386-protos.h: Update.
19477 * config/i386/i386.h (enum ix86_builtins): Update.
19478 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
19479 Use ix86_expand_vector_move in vector move expanders.
19480 (movti_internal, movti_rex64): Add xorps alternative.
19481 (sse_clrv4sf): Rename and adjust from sse_clrti.
19482 (prefetch): Don't work so hard.
19483 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
19484 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
19485 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
19486
6f1a6c5b
RH
194872002-01-11 Richard Henderson <rth@redhat.com>
19488
19489 * config/i386/mmintrin.h: New file.
19490 * config/i386/xmmintrin.h: New file.
19491 * config.gcc (i?86-*-*): Add extra_headers.
19492 * simplify-rtx.c (simplify_unary_operation): Handle saturating
19493 truncation codes.
19494 (simplify_binary_operation): Handle saturating arithmetic codes.
19495 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
19496 not the lowpart subreg.
19497 (ix86_expand_builtin): Return a TImode dummy register instead of 0
19498 on error.
19499 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
19500
cdb574d3
MH
195012002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
19502
19503 * conflict.c (conflict_graph_compute): Free regsets when finished.
19504 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 19505
cf11ac55
HB
195062002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
19507
19508 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
19509 every where we allocate a register.
19510
76ac938b
MH
195112002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
19512
19513 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
19514 * lcm.c (compute_earliest, compute_farthest): Likewise.
19515
a84b4898
JJ
195162002-01-11 Janis Johnson <janis187@us.ibm.com>
19517
19518 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
19519
aaef1c12
JJ
195202002-01-11 Janis Johnson <janis187@us.ibm.com>
19521
19522 * doc/rtl.texi (Insns): Fix 2 typos.
19523
5d22c1a5
JM
195242002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
19525
19526 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
19527 options. Use @table @gcctabopt for MMIX options. Add index
19528 entries for MMIX options. Start new paragraph with first
19529 heading of the machine-dependent options.
19530
3e92902c
CR
195312002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
19532
19533 PR other/5299
19534 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
19535 * combine.c (force_to_mode): Same.
19536 * reload1.c (clear_reload_reg_in_use): Same.
19537
96ae8197
NC
195382002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
19539
19540 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
19541 and 'subtargets'.
19542
9b780582
AJ
195432002-01-11 Andreas Jaeger <aj@suse.de>,
19544 Brad Lucier <lucier@math.purdue.edu>
19545
19546 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
19547 mcpu.
19548
12300dad
DR
19549Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
19550
19551 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
19552 Protect with IN_LIBGCC.
19553 (LINK_EH_SPEC): Add required trailing space.
19554
27511a9a
NP
19555Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
19556
9b780582 19557 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
19558 under the filename which contains them.
19559 (check_identifier, finish_decl_top_level,
19560 lookup_name_current_level_global, shadow_record_fields): Remove.
19561
4daeab16
AJ
195622002-01-11 Andreas Jaeger <aj@suse.de>
19563
19564 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
19565 march.
19566
40571d67
RH
195672002-01-10 Richard Henderson <rth@redhat.com>
19568
19569 * config/alpha/alpha.c (print_operand): Add 'J'.
19570 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
19571 new operand with the sequence number for the lituse. When splitting
19572 the insns, use gen_movdi_er_high_g and generate a sequence number.
19573 (gen_movdi_er_high_g): Print the sequence number if non-zero.
19574
6525c0e7
AH
195752002-01-10 Aldy Hernandez <aldyh@redhat.com>
19576
d8086cbb
RS
19577 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
19578 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
19579 stvxl.
19580 (altivec_expand_builtin): Same.
19581 (altivec_expand_stv_builtin): New.
19582
19583 * config/rs6000/rs6000.h (rs6000_builtins): Same.
19584
19585 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
19586 ("altivec_lvehx"): New.
19587 ("altivec_lvewx"): New.
19588 ("altivec_lvxl"): New.
19589 ("altivec_lvx"): New.
19590 ("altivec_stvx"): New.
19591 ("altivec_stvebx"): New.
19592 ("altivec_stvehx"): New.
19593 ("altivec_stvewx"): New.
19594 ("altivec_stvxl"): New.
6525c0e7 19595
cda94cbb
RH
195962002-01-10 Richard Henderson <rth@redhat.com>
19597
19598 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
19599 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
19600 care not to delete instructions twice.
19601
df2c9a44
ZW
196022002-01-10 Zack Weinberg <zack@codesourcery.com>
19603
19604 * toplev.c: Don't declare environ (it's not used anywhere).
19605 * configure.in: Don't check for declaration of environ.
19606 * config/i386/xm-mingw32.h: Don't #define environ.
19607 * config.in, configure: Regenerate.
19608
5dd8a9b1
ZW
196092002-01-10 Zack Weinberg <zack@codesourcery.com>
19610
19611 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
19612 * configure: Regenerate.
19613
19614 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
19615 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
19616 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
19617 alpha/xm-vms.h.
19618 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
19619 LIMITS_H_TEST here, not in m68k/x-next.
19620 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
19621 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
19622
19623 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
19624 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
19625 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
19626
19627 * config/i386/x-djgpp: Renamed i386/t-djgpp.
19628 * config/m88k/x-dolph: Renamed m88k/t-dolph.
19629 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
19630 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
19631 replacement of quadlib.asm with quadlib.c.
19632
19633 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
19634 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
19635 config/rs6000/xm-beos.h: Delete file.
19636
19637 * config.gcc: Update to match above changes.
19638
d10dd44c
KH
196392002-01-10 Kazu Hirata <kazu@hxi.com>
19640
19641 * config/h8300/h8300.h: Fix comment typos.
19642 * config/h8300/h8300.md: Likewise.
19643 * config/h8300/lib1funcs.asm: Likewise.
19644
04894c5a
DJ
196452002-01-10 Dale Johannesen <dalej@apple.com>
19646
19647 PR optimization/5269
19648 * unroll.c (precondition_loop_p): Make *increment be the correct
19649 sign when n_iterations known, to avoid confusing caller.
19650
adc9fe67
KH
196512002-01-10 Kazu Hirata <kazu@hxi.com>
19652
19653 * doc/extend.texi (deprecated): Fix a typo.
19654
b446e5a2
JH
19655Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
19656
19657 * basic-block.h (update_br_prob_note): Declare.
19658 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
19659 (try_forward_edges): Care negative frequencies and update note.
19660 (outgoing_edges_match): Tweek conditional merging heuristics.
19661 (try_crossjump_to_edge): use update_br_prob_note.
19662 * cfglayout.c (fixup_reorder_chain): Likewise.
19663 * cfrtl.c (update_br_prob_note): New.
19664 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
19665
19666 * i386.c (ix86_decompose_address): Return -1 if address contains
19667 shift.
19668 (legitimate_address_p): Require ix86_decompose_address to return 1.
19669
19670 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
19671 (cprop_insn): Likewise.
19672
a01da83b
KH
196732002-01-10 Kazu Hirata <kazu@hxi.com>
19674
19675 * toplev.c: Fix formatting.
19676 * tree.c: Likewise.
19677 * tree-dump.c: Likewise.
19678 * unroll.c: Likewise.
19679 * unwind-dw2.c: Likewise.
19680 * unwind-dw2-fde.c: Likewise.
19681 * unwind-dw2-fde-glibc.c: Likewise.
19682 * unwind-sjlj.c: Likewise.
19683
9f85bca7
JM
196842002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
19685
19686 * doc/invoke.texi: Document PDP-11 options.
19687
f48f56b1
KH
196882002-01-10 Kazu Hirata <kazu@hxi.com>
19689
19690 * config/h8300/h8300.h: Fix formatting.
19691
ead39bdf 196922002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
19693
19694 Add __attribute__ ((deprecated)).
19695 * extend.texi: Document __attribute__ ((deprecated)).
19696 * invoke.texi: Document -Wno-deprecated-declarations.
19697 * testsuite/g++.dg/other/deprecated.C: New C++ test.
19698 * testsuite/gcc.dg/deprecated.c: New C test.
19699 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
19700 (c_common_attribute_table): Add "deprecated" entry.
19701 (handle_deprecated_attribute): New function.
19702 * c-decl.c (deprecated_states): New enum.
19703 deprecated_state: State of "deprecated" handling.
19704 (start_decl): Set deprecated_state based on attributes.
19705 (grokdeclarator): Test for deprecated uses, propagate attribute.
19706 * c-typeck.c (build_component_ref): Test for deprecated fields.
19707 (build_external_ref): Test for deprecated primaries.
19708 * diagnostic.c (warn_deprecated_use) New function to issue
19709 warnings about __attribute__ ((depricated)) references.
19710 * flags.h (warn_deprecated_decl): Extern declared for
19711 -W[no-]deprecated-declarations option.
19712 * print-tree.c (print_node): Show deprecated flag status.
19713 * toplev.c (warn_deprecated_decl): Defined.
19714 (W_options): Added "deprecated-declaration".
19715 * toplev.h (warn_deprecated_use): Extern declared.
19716 * tree.h (struct tree_common): Define deprecated_flag.
19717 (TREE_DEPRECATED): New macro to access flag.
19718 * cp/call.c (build_call): Test for deprecated calls.
19719 * cp/class.c (add_implicitly_declared_members): Set global
19720 flag to tell grokdeclarator to not issue deprecated warnings.
19721 * cp/cp-tree.h: Add extern for adding_implicit_members.
19722 * cp/decl.c (deprecated_states): New enum.
19723 (start_decl): Set deprecated_state based on attributes.
19724 (grokdeclarator): Test for deprecated uses, propagate attribute.
19725 * cp/lex.c (do_identifier): Test for deprecated primaries.
19726 * cp/typeck.c (build_component_ref): Test for deprecated fields.
19727
ead39bdf 197282002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
19729
19730 Fix to assign attributes to inline member functions.
19731 * cp/decl.c (start_method): Handle attrlist.
19732
47073a38
KH
197332002-01-10 Kazu Hirata <kazu@hxi.com>
19734
19735 * combine.c (expand_field_assignment): Use subreg_lsb().
19736
d288e53d
DE
197372002-01-10 David Edelsohn <edelsohn@gnu.org>
19738
19739 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
19740 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
19741 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
19742 Recurse for any operand of AND as long as constant is non-zero.
19743
08a02ffa
KH
197442002-01-10 Kazu Hirata <kazu@hxi.com>
19745
19746 * config/h8300/h8300.md: Remove constraints from expanders.
19747
c203e7fe
KH
197482002-01-10 Kazu Hirata <kazu@hxi.com>
19749
19750 * varasm.c: Fix formatting.
19751 * varray.c: Likewise.
19752 * vmsdbgout.c: Likewise.
19753 * xcoffout.c: Likewise.
19754
bcb3bc6d
JH
19755Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
19756
19757 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 19758 update edge probabilities to match.
bcb3bc6d 19759
0a553c7e
JM
197602002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
19761
19762 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
19763 dependencies.
19764 * doc/languages.texi, doc/sourcebuild.texi: New files.
19765 * doc/configfiles.texi: Make a subsubsection. Update.
19766 * doc/configterms.texi: Add @node. Remove warning that this isn't
19767 instructions for building GCC.
19768 * doc/makefile.texi: Make a subsection.
19769 * doc/gccint.texi: Update.
19770
adc7fcb8
JH
19771Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
19772
19773 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
19774
5a4dd0b3
NP
19775Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
19776
19777 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
19778
3987b9db
JH
19779Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
19780
19781 * optabs.c (expand_fix): Look for wider integer modes first.
19782
19783 * i386.md (mov?f): Avoid the fake const double trick for medium
19784 memory model.
19785 (min?f*/max?f*): Prohibit memory operands for i387 variant.
19786 (fop_df_4): Disable for SSE compilation.
19787
ceb15948 197882002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
19789
19790 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 19791 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 19792
e1623399
RH
197932002-01-10 Richard Henderson <rth@redhat.com>
19794
19795 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
19796
c4abb293
RH
197972002-01-10 Richard Henderson <rth@redhat.com>
19798
19799 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
19800 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
19801
d2604ae9
KH
198022002-01-10 Kazu Hirata <kazu@hxi.com>
19803
19804 * combine.c (can_combine_p): Fix a comment typo.
19805
766c7ad1
ZW
198062002-01-09 Zack Weinberg <zack@codesourcery.com>
19807
19808 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
19809 empty list correctly. Change loop index $t to $f for
19810 consistency with rest of Makefile.
19811
95385cbb
AH
198122002-01-08 Aldy Hernandez <aldyh@redhat.com>
19813
19814 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
19815 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
19816
19817 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
19818 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
19819 (altivec_init_builtins): Same.
19820 (altivec_expand_unop_builtin): Return NULL_RTX on error.
19821 (altivec_expand_binop_builtin): Same.
19822 (altivec_expand_ternop_builtin): Same.
19823 (bdesc_dst): New.
19824
19825 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
19826 ("altivec_vctuxs"): Fix typo.
19827 ("altivec_vnmsubfp"): Same.
19828 ("altivec_dssall"): New.
19829 ("altivec_mfvscr"): New.
19830 ("altivec_dss"): New.
19831 ("altivec_lvsl"): New.
19832 ("altivec_lvsr"): New.
19833 ("altivec_dstt"): New.
19834 ("altivec_dstst"): New.
19835 ("altivec_dststt"): New.
19836 ("altivec_dst"): New.
19837
19838 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
19839 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
19840
e4ac76b4
RH
198412002-01-09 Richard Henderson <rth@redhat.com>
19842
19843 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
19844
c893e4a4
HPN
198452002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
19846
19847 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
19848 function.
19849 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
19850 prototype.
7387c700 19851 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 19852
f4f4d0f8
KH
198532002-01-09 Kazu Hirata <kazu@hxi.com>
19854
19855 * read-rtl.c: Fix formatting.
19856 * real.c: Likewise.
19857 * regclass.c: Likewise.
19858 * regrename.c: Likewise.
19859 * reg-stack.c: Likewise.
19860 * reload1.c: Likewise.
19861 * reload.c: Likewise.
19862 * rtl.c: Likewise.
19863
cc863bea
KH
198642002-01-09 Kazu Hirata <kazu@hxi.com>
19865
19866 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
19867 to extract items in the expr_list chain.
19868
7b4dfe3d
RH
198692002-01-09 Richard Henderson <rth@redhat.com>
19870
19871 * config/vax/vax.c (vax_rtx_cost): Never abort.
19872
1d969638
RH
19873 * config/vax/vax.h (REAL_ARITHMETIC): Define.
19874
7d5ab30e
JH
198752002-01-09 Jan Hubicka <jh@suse.cz>
19876
19877 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
19878
9503f3d1
RH
198792002-01-09 Richard Henderson <rth@redhat.com>
19880
19881 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
19882 Unify code from various alternatives.
19883
42bd17b7
RH
198842002-01-09 Richard Henderson <rth@redhat.com>
19885
19886 * regrename.c (copy_value): Ignore the copy if the source register
19887 is present in the value chain with a narrower mode.
19888
bdca3c33
HB
198892002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
19890
cda94cbb
RH
19891 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
19892 for the c4x target. Also improve layout.
bdca3c33 19893
c73a5e94
RH
198942002-01-09 Richard Henderson <rth@redhat.com>
19895
19896 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
19897 * config/m32r/m32r.md (and ior xor splitters): Swap operands
19898 to match insn patterns.
19899
dd0a18c0
RH
199002002-01-09 Richard Henderson <rth@redhat.com>
19901
19902 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
19903 (copyprop_hardreg_forward_1): Likewise.
19904
1fd9ac1e
JDA
199052002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
19906
19907 * pa.md (decrement_and_branch_until_zero): Change predicate for
19908 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
19909
5cb265ec
BM
199102002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
19911
19912 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
19913 gets undefined. For Darwin.
19914
fcd8fa8b
HB
199152002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
19916
19917 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
19918
bd3ab23a
MH
199192002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
19920
19921 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
19922
21e16bd6
RH
199232002-01-08 Richard Henderson <rth@redhat.com>
19924
19925 * regrename.c (copy_value): Ignore overlapping copies.
19926
a5376276
RH
199272002-01-08 Richard Henderson <rth@redhat.com>
19928
19929 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
19930 as needed to avoid shared structure.
19931
18cf8dda
KH
199322002-01-08 Kazu Hirata <kazu@hxi.com>
19933
19934 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
19935 H8/300H and H8/S.
19936
16c484c7
JM
199372002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
19938
19939 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
19940 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
19941 documentation of obsolete macros.
19942 * system.h: Poison these macros.
19943 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
19944 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
19945 config/c4x/c4x.h, config/clipper/clipper.h,
19946 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
19947 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
19948 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
19949 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
19950 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
19951 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
19952 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
19953 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
19954 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
19955 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
19956 config/sparc/sparc.h, config/stormy16/stormy16.h,
19957 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
19958 definitions and commented out definitions of obsolete macros.
19959 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
19960 of MAX_INT_TYPE_SIZE.
19961
14b3e8ef
UW
199622002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
19963
19964 * config/s390/s390.c (s390_preferred_reload_class): Never
19965 return ADDR_REGS if it isn't a subset of the given class.
19966 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
19967 FP_REGS, but all superclasses as well.
19968
19969 * config/s390/s390.c (s390_function_profiler): Fix thinko.
19970
19971 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
19972 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
19973 must not be a const_int.
19974
a693284d
RH
199752002-01-08 Richard Henderson <rth@redhat.com>
19976
19977 * Makefile.in (toplev.o): Depend on options.h.
19978 (gcc.o): Depend on specs.h.
19979
b3ca30df
JJ
199802002-01-08 Jakub Jelinek <jakub@redhat.com>
19981
19982 * expr.c (store_expr): Convert VOIDmode constants back to target's
19983 mode.
19984
24dbb440
GP
199852002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19986
19987 * doc/invoke.texi: Markup gcc as @command. Refer to
19988 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
19989 of http://gcc.gnu.org/thanks.html.
19990
234e114c
DJ
199912002-01-08 Dale Johannesen <dalej@apple.com>
19992
19993 * config/rs6000/rs6000.md: Add missing int register
19994 target case to movdf_low.
19995
0d24f4d1
ZW
199962002-01-08 Zack Weinberg <zack@codesourcery.com>
19997
19998 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
19999 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
20000 (cppinit.o): Depend on except.h.
20001 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
20002 s-specs): New rules.
20003
20004 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
20005 Don't create specs.h/options.h/gencheck.h here. Remove
20006 unnecessary variable settings from last argument of AC_OUTPUT.
20007 * config.in, configure: Regenerate.
20008 * intl.c: Hardcode package name as "gcc".
20009
20010 * cppinit.c: Include except.h.
20011 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
20012 appropriate.
20013 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
20014 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
20015 (!)USING_SJLJ_EXCEPTIONS.
20016 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
20017
ed722f66
JM
200182002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
20019
20020 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
20021 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
20022 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
20023 documentation of obsolete macros.
20024 * system.h: Poison these macros.
20025 * config/d30v/d30v.h, config/ns32k/encore.h,
20026 config/stormy16/stormy16.h: Remove definitions and commented out
20027 definitions of obsolete macros.
20028
31e5e29a
NP
20029Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
20030
20031 * objc/objc-act.c (handle_class_ref): Mark the declaration of
20032 %sobjc_class_ref_%s as used - to prevent unwanted compiler
20033 warnings.
20034
bc1fa59c
UW
200352002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
20036
20037 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
20038 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
20039 to insn adjusting stack/frame pointer.
0d24f4d1 20040 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
20041 accept operands that cause the insn to be non-splittable.
20042
a8086abf
GS
200432002-01-08 Graham Stott <grahams@redhat.com>
20044
20045 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
20046 (C_TYPE_FIELDS_VOLATILE): Likewise.
20047 (C_TYPE_BEING_DEFINED): Likewise.
20048 (C_IS_RESERVED_WORD): Likewise.
20049 (C_TYPE_VARIABLE_SIZE): Likewise.
20050 (C_DECL_VARIABLE_SIZE): Likewise.
20051 (C_MISSING_PROTOTYPE_WARNED): Likewise.
20052 (C_SET_EXP_ORIGINAL_CODE): Likewise.
20053 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
20054 parenthesis.
20055 (C_DECL_ANTICIPATED): Likewise.
20056 (c_build_type_variant): Add parenthesis.
20057
3f595aa1
JM
200582002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
20059
20060 * gcc.c (option_map): Remove --version.
20061 (process_command): Handle -fversion following the GNU Coding
20062 Standards. Partially addresses PR other/704.
20063
5bc5a8f9
GS
200642002-01-08 Graham Stott <grahams@redhat.com>
20065
20066 * combine.c (combine_instructions): Fix typo.
20067
16ec4ebf
GS
200682002-01-08 Graham Stott <grahams@redhat.com>
20069
20070 * debug.h: Use "tree" and "rtx" throughout.
20071
20072 * debug.c: Likewise.
20073
4b69f385
NC
200742002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
20075
20076 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
20077 constant pool, use the pool's version of the symbol instead.
20078
57d1019b
RH
200792002-01-07 Richard Henderson <rth@redhat.com>
20080
20081 * regrename.c (find_oldest_value_reg): Ignore the value chain if
20082 the original register was copied in a mode with a fewer number of
20083 hard registers than the desired mode.
20084 (copyprop_hardreg_forward_1): Likewise.
20085 (debug_value_data): Fix loop test.
20086 * toplev.c (parse_options_and_default_flags): Reenable
20087 -fcprop-registers at -O1.
20088
200892002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 20090
0d24f4d1
ZW
20091 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
20092 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 20093
0d24f4d1
ZW
20094 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
20095 predicates.
fa066a23 20096
0d24f4d1 20097 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 20098
8f949e7e
JDA
200992002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
20100
20101 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
20102 (pa_output_function_prologue): Output local label at the beginning of
20103 the prologue when profiling.
20104 (hppa_profile_hook): Use the local label rather than the function label.
20105 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
20106
c62f2db5
AH
201072002-01-07 Aldy Hernandez <aldyh@redhat.com>
20108
0d24f4d1
ZW
20109 * config/rs6000/rs6000.c (print_operand): Remove extra space.
20110 (altivec_expand_unop_builtin): Fix thinko.
20111 (altivec_expand_binop_builtin): Same.
20112 (altivec_expand_ternop_builtin): Same.
20113 (altivec_expand_builtin): Same.
c62f2db5 20114
b5235ba7
RH
201152002-01-07 Richard Henderson <rth@redhat.com>
20116
20117 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
20118
7d8ac293
JM
201192002-01-07 Jason Merrill <jason@redhat.com>
20120
20121 * unwind-dw2.c (execute_cfa_program): Use < again.
20122
571a03b8
JJ
201232002-01-07 Jakub Jelinek <jakub@redhat.com>
20124
20125 * predict.c (combine_predictions_for_insn): Avoid division by zero.
20126
2e951384
JJ
201272002-01-07 Jakub Jelinek <jakub@redhat.com>
20128
20129 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
20130 Don't allow -1 - x -> ~x simplifications in the first pass.
20131
20e26713
AH
201322002-01-07 Aldy Hernandez <aldyh@redhat.com>
20133
0d24f4d1
ZW
20134 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
20135 arguments.
20136 (altivec_expand_binop_builtin): Same.
20137 (altivec_expand_unop_builtin): Same.
20138 (print_operand): Fix typo.
20139 (bdesc_1arg): Add vupk* variants.
20e26713 20140
0d24f4d1 20141 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 20142
0d24f4d1 20143 * rs6000.md: Add altivec_vupk* variants.
20e26713 20144
4dd57c18
JM
201452002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
20146
20147 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
20148 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
20149 and last update dates.
20150
0341c5d2
JJ
201512002-01-07 Janis Johnson <janis187@us.ibm.com>
20152
20153 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
20154
c7f3e0b0
MM
201552002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
20156
20157 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
20158 * config/avr/avr.h (CPP_SPEC): Likewise.
20159 (LINK_SPEC): Likewise.
20160 (CRT_BINUTILS_SPECS): Likewise.
20161 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
20162 * doc/invoke.texi (AVR Options): Document them.
20163
6ba4d630
JH
20164Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
20165
20166 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
20167 LABEL_NUSES.
20168
6253d571
GS
201692002-01-07 Graham Stott <grahams@redhat.com>
20170
0d24f4d1
ZW
20171 * config/i386/i386.h: Update copyright date.
20172 (HALF_PIC_PTR): Add parenthesis.
20173 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
20174 (CONSTANT_ALIGNMENT): Add parenthesis.
20175 (DATA_ALIGNMENT): Likewise.
20176 (LOCAL_ALIGNMENT): Likewise.
20177 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
20178 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
20179 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
20180 (HARD_REGNO_NREGS): Add paranethesis.
20181 (VALID_SSE_REG_MODE): Whitespace.
20182 (VALID_MMX_REG_MODE): Whitespace.
20183 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
20184 (ix86_hard_regno_mode_ok): Add parenthesis.
20185 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
20186 (RETURN_IN_MEMORY): Whitespace.
20187 (N_REG_CLASSES): Add parenthesis.
20188 (INTEGER_CLASS_P): Add parenthesis and wrap.
20189 (FLOAT_CLASS_P): Likewise.
20190 (SSE_CLASS_P): Likewise.
20191 (MMX_CLASS_P): Likewise.
20192 (MAYBE_INTEGER_CLASS_P): Likewise.
20193 (MAYBE_FLOAT_CLASS_P): Likewise.
20194 (MAYBE_SSE_CLASS_P): Likewise.
20195 (MAYBE_MMX_CLASS_P): Likewise.
20196 (Q_CLASS_P): Likewise.
20197 (GENERAL_REGNO_P): Uppercase macro parameter.
20198 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
20199 (FP_REGNO_P): Likewise.
20200 (ANY_FP_REGNO_P): Uppercase macro parameter.
20201 (SSE_REGNO_P): Likewise.
20202 (SSE_REGNO): Likewise.
20203 (SSE_REG_P): Likewise.
20204 (SSE_FLOAT_MODE_P): Likewise.
20205 (MMX_REGNO_P): Likewise.
20206 (MMX_REG_P):Likewise.
20207 (STACK_REG_P): Likewise.
20208 (NON_STACK_REG_P): Likewise.
20209 (STACK_TOP_P): Likewise.
20210 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
20211 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
20212 (SECONDARY_MEMORY_NEEDED): Likewise.
20213 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
20214 (MD_ASM_CLOBBERS): Whitespace and wrap.
20215 (MUST_PASS_IN_STACK): Whitespace and wrap.
20216 (RETURN_POPS_ARGS): Add parenthesis.
20217 (INIT_CUMULATIVE_ARGS): Likewise.
20218 (FUNCTION_ARG): Likewise.
20219 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
20220 (SETUP_INCOMING_VARARGS): Likewise.
20221 (BUILD_VA_LIST_TYPE): Add parenthesis.
20222 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
20223 parenthsis.
20224 (EXPAND_BUILTIN_VA_ARG): Likewise.
20225 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
20226 (INITIALIZE_TRAMPOLINE): Add parenthesis.
20227 (INITIAL_ELIMINATION_OFFSET): Likewise.
20228 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
20229 (REGNO_OK_FOR_BASE_P): Likewise.
20230 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
20231 (REGNO_OK_FOR_DIREG_P): Likewise.
20232 (REG_OK_FOR_INDEX_P): Whitespace.
20233 (REG_OK_FOR_BASE_P): Whitespace.
20234 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
20235 parenthesis.
20236 (FIND_BASE_TERM): Fix typo.
20237 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
20238 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
20239 (SYMBOLIC_CONST; Whitespace.
20240 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
20241 (ENCODE_SECTION_INFO): Whitespace.
20242 (FINALIZE_PIC): Remove do { ... } while (0).
20243 (PROMOTE_MODE): Wrap in do { ... } while (0).
20244 (CONST_COSTS): Whitespace.
20245 (RTX_COSTS): Add paramethesis, whitespace and wrap.
20246 (REGISTER_MOVE_COST): Add parenthesis.
20247 (MEMORY_MOVE_COST): Likewise.
20248 (EXTRA_CC_MODES): Whitespace.
20249 (SELECT_CC_MODE): Add parenthesis and whitespace.
20250 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
20251 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
20252 (ASM_OUTPUT_LABEL): Add paramethesis.
20253 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
20254 (ASM_OUTPUT_REG_POP): Likewise.
20255 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
20256 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 20257
07933f72
GS
20258 * config/i386/i386.c: Update copyright.
20259 (CHECK_STACK_LIMIT): Add parenthesis.
20260 (AT_BP): Uppercase macro parameter.
20261 (x86_64_int_parameter_registers): Constify.
20262 (x86_64_int_return_registers): Likewise.
20263 (ix86_compare_op0): Use rtx.
20264 (construct_container): Constify INTREG parameter.
20265 (function_arg): Use rtx.
20266
0b4d32c9
GS
20267 * diagnostic.h: Update copyright date.
20268 (output_buffer_state): Add parenthesis.
20269 (output_buffer_format_args): Likewise.
20270
6253d571
GS
20271 * combine.c (combine_instructions): Replace XEXP (links, 0)
20272 with link.
20273
68f3f6f1
L
202742002-01-06 H.J. Lu <hjl@gnu.org>
20275
20276 * cfgcleanup.c (thread_jump): Fix 2 typos.
20277
202782002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 20279
0d24f4d1 20280 * config.gcc: Add support for --enable-altivec.
480f7f3a 20281
13b8c631
CR
202822002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
20283
20284 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
20285
58ad89b1
JJ
202862002-01-06 Jakub Jelinek <jakub@redhat.com>
20287
20288 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
20289 __objc_class_name_*.
20290
e403b4bc
CR
202912002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
20292
20293 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
20294
e41c7831
RH
202952002-01-06 Richard Henderson <rth@redhat.com>
20296
20297 * reorg.c (emit_delay_sequence): Remove death notes, not merely
20298 nop them out. Increment label reference count for REG_LABEL.
20299 (fill_slots_from_thread): Frob label reference count around
20300 delete_related_insns.
20301
3b3b1e32
RH
203022002-01-05 Richard Henderson <rth@redhat.com>
20303
20304 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
20305 jump threading.
20306
c28abdf0
RH
203072002-01-05 Richard Henderson <rth@redhat.com>
20308
20309 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
20310 * integrate.c (output_inline_function): Likewise.
20311 * toplev.c (rest_of_compilation): Do it here instead. Move call
20312 to remove_unnecessary_notes after emitting abstract instance.
20313 Force an emitted nested function to have its parent emited as well.
20314 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
20315 for null.
20316 (rtl_for_decl_location): Do not look at reload data structures
20317 before reload has run.
20318
c4f2c499
KH
203192002-01-05 Kazu Hirata <kazu@hxi.com>
20320
20321 * cse.c: Fix formatting.
20322 * dwarf2asm.c: Likewise.
20323 * dwarf2out.c: Likewise.
20324 * explow.c: Likewise.
20325 * expmed.c: Likewise.
20326 * function.c: Likewise.
20327 * gcov.c: Likewise.
20328 * gencheck.c: Likewise.
20329 * genrecog.c: Likewise.
20330 * ggc-common.c: Likewise.
20331 * ggc-page.c: Likewise.
20332 * global.c: Likewise.
20333
cf0d9408
KH
203342002-01-05 Kazu Hirata <kazu@hxi.com>
20335
20336 * combine.c: Fix formatting.
20337
bedca03a
CR
203382002-01-05 Craig Rodrigues <crodrigu@bbn.com>
20339
20340 PR middle-end/1557
20341 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
20342
0134bf2d
DE
203432002-01-05 David Edelsohn <edelsohn@gnu.org>
20344
20345 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
20346 as 1 for __powerpc64__ as well.
20347
20348 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
20349
20350 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
20351 return it.
20352
9ca88d5a
DB
203532002-01-05 Daniel Berlin <dan@dberlin.org>
20354
20355 * lcm.c: Revert change, due to performance regression it causes on
20356 SPEC because it's slightly more conservative (sigh, I hate
20357 edge-based LCM).
0d24f4d1 20358
1c570418
JH
20359Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
20360
20361 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
20362
d83bb9f7
NB
203632002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
20364
20365 * doc/cppinternals.texi: Update.
20366
3e0f61ac
HPN
203672002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
20368
20369 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
20370 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
20371 negatives.
20372 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
20373 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
20374 kludge for pre-october-14th mmix versions to handle new-found bug
20375 with PUSHJ/PUSHGO and the register stack.
20376 * config/mmix/mmix.h (struct machine_function): Rename member
20377 has_call_value_without_parameters to has_call_without_parameters.
20378 All referers changed.
20379 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
20380 TARGET_MASK_BRANCH_PREDICT): New macros.
20381 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
20382 -mno-reg-stack-fill-bug-workaround.
20383 * config/mmix/mmix.md ("call"): Set struct machine member
20384 has_call_without_parameters.
20385
4deaa2f8
JH
20386Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
20387
20388 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
20389
9f16e871
JH
20390Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
20391
20392 * cfgcleanup.c: Include tm_p.h
20393 (mark_effect): Fix handling of hard register; fix handling of SET
20394
96eb1157
KH
203952002-01-04 Kazu Hirata <kazu@hxi.com>
20396
20397 * config/h8300/h8300.md (anonymous patterns): Check that
20398 operands are registers before using REGNO on them.
20399
48180d68
RM
204002002-01-03 Roland McGrath <roland@frob.com>
20401
20402 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
20403
b0832fe1
JJ
204042002-01-04 Jakub Jelinek <jakub@redhat.com>
20405
20406 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
20407 * c-common.h (genrtl_expr_stmt_value): Likewise.
20408 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
20409 (expand_expr_stmt_value): Add maybe_last argument.
20410 Don't warn about statement with no effect if it is the last statement
20411 in expression statement.
20412 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
20413 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
20414 expand_expr_stmt_value.
20415 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
20416 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
20417 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
20418 as maybe_last to expand_expr_stmt_value.
20419
c1e14513
JL
20420Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
20421
0d24f4d1
ZW
20422 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
20423 be passed in, do not build it.
20424 (c_begin_if_stmt): New function.
20425 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
20426 * c-common.h (c_expand_start_cond): Update prototype.
20427 (c_begin_if_stmt): Prototype new function.
20428 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
20429 * c-parse.in (if_prefix): Use c_begin_if_stmt,
20430 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 20431
b6ec437a
WC
204322002-01-04 William Cohen <wcohen@redhat.com>
20433
20434 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
20435 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
20436 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
20437 * config/pa/som.h (ASM_FILE_START): Likewise.
20438
ead39bdf 204392002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
20440
20441 * lcm.c: Include df.h.
20442 Add available_transfer_function prototype.
20443 (compute_available): Rework to use iterative dataflow framework.
20444 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
20445 with bb_info in df.h
20446 (available_transfer_function): New function.
20447
20448 * Makefile.in (lcm.o): add df.h to dependencies.
20449
551cc6fd
RH
204502002-01-04 Richard Henderson <rth@redhat.com>
20451
20452 * config/alpha/alpha.c (some_operand): Accept HIGH.
20453 (input_operand): Likewise; accept simple references to globals.
20454 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
20455 (alpha_const_double_ok_for_letter_p): Likewise.
20456 (alpha_extra_constraint): Likewise.
20457 (alpha_preferred_reload_class): Likewise. Do not force
20458 symbolic constants to memory.
20459 (alpha_legitimate_address_p): Accept simple references
20460 to small_symbolic_operand.
20461 (alpha_legitimize_address): New arg scratch. Be prepared to be
20462 called when no_new_pseudos. Emit simple symbolic references.
20463 Split integers into low, high, and rest.
20464 (alpha_expand_mov): Use alpha_legitimize_address.
20465 (some_small_symbolic_mem_operand): New.
20466 (split_small_symbolic_mem_operand): New.
20467 * config/alpha/alpha-protos.h: Update.
20468 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
20469 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
20470 (EXTRA_CONSTRAINT): Likewise.
20471 (PREFERRED_RELOAD_CLASS): Likewise.
20472 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
20473 (PREDICATE_CODES): Update.
20474 * config/alpha/alpha.md: New post-reload splitters to convert
20475 simplfied symbolic operands to the form that references $29.
20476 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
20477 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
20478
1eaea054
RH
204792002-01-03 Richard Henderson <rth@redhat.com>
20480
20481 * local-alloc.c (function_invariant_p): Update commentary.
20482
c4cc12b7
L
204832002-01-04 H.J. Lu <hjl@gnu.org>
20484
20485 * toplev.c (rest_of_compilation): Fix a typo when calling
20486 cleanup_cfg.
20487
173bf5be
KH
204882002-01-03 Kazu Hirata <kazu@hxi.com>
20489
20490 * c-common.c: Fix formatting.
20491 * diagnostic.c: Likewise.
20492 * doloop.c: Likewise.
20493 * dwarf2out.c: Likewise.
20494
187462ac
KH
204952002-01-03 Kazu Hirata <kazu@hxi.com>
20496
20497 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
20498 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
20499
5d8ebbd8
NB
205002002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
20501
20502 * cpperror.c: Update comments and copyright.
20503 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
20504 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
20505
518c1311
JDA
205062002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
20507
20508 * collect2.c (main): Use strcmp when testing for "-shared".
20509
d15a58c0
NB
205102002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
20511
20512 * cppmacro.c: Don't include intl.h. Update comments.
20513 (new_number_token): Allocate enough buffer for 64-bit unsigned
20514 integers; update prototype.
20515 * cppmain.c: Update comments.
20516
70f4f91c
WC
205172002-01-03 William Cohen <wcohen@redhat.com>
20518
20519 * function.h (struct function): Add profile.
20520 (current_function_profile): New.
20521 doc/extend.texi: Update documentation.
20522 * final.c (final_start_function): Use current_function_profile
20523 instead of profile_flag.
20524 (profile_after_prologue): Likewise.
20525 * function.c (expand_function_start): Likewise.
20526 (expand_function_start): Likewise.
c4cc12b7 20527 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
20528 (alpha_does_function_need_gp): Likewise.
20529 (alpha_expand_prologue): Likewise.
20530 * config/arm/arm.c (arm_expand_prologue): Likewise.
20531 thumb_expand_prologue: Likewise.
20532 * config/d30v/d30v.c (d30v_stack_info): Likewise.
20533 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
20534 (fr30_expand_prologue): Likewise.
20535 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
20536 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
20537 * config/i386/i386.h (FINALIZE_PIC): Likewise.
20538 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
20539 * config/i960/i960.c (i960_output_function_prologue): Likewise.
20540 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
20541 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
20542 (m32r_expand_prologue): Likewise.
20543 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
20544 (m88k_expand_prologue): Likewise.
20545 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
20546 * config/mips/mips.c (compute_frame_size): Likewise.
20547 (mips_expand_prologue): Likewise.
20548 (mips_can_use_return_insn): Likewise.
20549 * config/pa/elf.h (ASM_FILE_START): Likewise.
20550 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
20551 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
20552 * config/pa/som.h (ASM_FILE_START): Likewise.
20553 * config/romp/romp.c (romp_using_r14): Likewise.
20554 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
20555 (rs6000_stack_info): Likewise.
20556 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 20557 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
20558 * config/v850/v850.c (compute_register_save_size): Likewise.
20559
cb1ac742
JJ
205602002-01-03 Jakub Jelinek <jakub@redhat.com>
20561
20562 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
20563 gen_lowpart_common fails, use gen_lowpart_SUBREG.
20564
61d951df 205652002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 20566
61d951df
TC
20567 * darwin.c (machopic_output_possible_stub_label): Don't generate
20568 stub routines for pseudo-stubs which we've just defined.
20569
505ddab6
KH
205702002-01-03 Kazu Hirata <kazu@hxi.com>
20571
20572 * builtins.c: Fix formatting.
20573 * c-typeck.c: Likewise.
20574 * combine.c: Likewise.
20575 * expr.c: Likewise.
20576 * loop.c: Likewise.
20577
b7e30d8a
AS
205782002-01-03 Andreas Schwab <schwab@suse.de>
20579
20580 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
20581 and return true if _cpp_push_next_buffer pushed a new include
20582 file.
20583 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
20584 _cpp_pop_file_buffer did not push a new file.
20585 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
20586
ff81832f
EC
205872002-01-02 Eric Christopher <echristo@redhat.com>
20588
20589 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
20590 FIND_REG_INC_NOTE call. Update copyright.
20591 * loop.c (canonicalize_condition): Ditto.
20592 * reorg.c (delete_scheduled_jump): Ditto.
20593
8e42ace1
KH
205942002-01-03 Kazu Hirata <kazu@hxi.com>
20595
20596 * gcse.c: Fix formatting.
20597
fb2bf631
GS
205982002-01-03 Graham Stott <grahams@redhat.com>
20599
20600 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
20601 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 20602 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
20603
20604 * system.h: Move forward defs for struct tags rtx_def, union_tree,
20605 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 20606 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
20607
206082002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
20609
20610 * tree.h: Update copyright date.
20611 (IS_EXPR_CODE_CLASS): Add parenthesis.
20612 (TREE_SET_CODE): Add whitespace.
20613 (TREE_CHECK): Add parenthesis.
20614 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
20615 (CST_OR_CONSTRUCTOR_CHECK):
20616 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
20617 (TREE_SYMBOL_REFERENCED): Whitespace.
20618 (INT_CST_LT): Likewise.
20619 (INT_CST_LT_UNSIGNED): Likewise.
20620 (tree_real_cst): Unwrap comment.
20621 (tree_string): Likewise.
20622 (tree_complex): Likewise.
20623 (IDENTIFIER_POINTER): correct cast.
20624 (SAVE_EXPR_CONTEXT): Whitespace.
20625 (EXPR_WFL_FILENAME_NODE): Likewise.
20626 (EXPR_WFL_FILENAME): Remove parenthesis.
20627 (DECL_ORIGIN): Add parenthesis.
20628 (DECL_FROM_INLINE): Use NULL_TREE.
20629 (build_int_2): Whitespace.
20630 (build_type_variant): Add parenthesis.
20631
20632 * gcc/jcf-parse.c: Update copyright date.
20633 (yyparse): Constify resource_filename.
20634
f52eda29
GS
206352002-01-03 Graham Stott <grahams@redhat.com>
20636
20637 * rtl.h: Update copyright date.
20638 (RTL_CHECK1): Wrap long line.
20639 (RTL_CHECK2): Likewise.
20640 (RTL_CHECKC1): Wrap long line and whitespace.
20641 (RTL_CHECKC2): Likewise.
20642 (XWINT): Whitespace.
20643 (XINT): Likewise.
20644 (XSTR): Likewise.
20645 (XEXP): Likewise.
20646 (XVEC): Likewise.
20647 (XMODE): Likewise.
20648 (XBITMAP): Likewise.
20649 (XTREE): Likewise.
20650 (XBBDEF): Likewise.
20651 (XTMPL): Likewise.
20652 (X0WINT): Likewise.
20653 (X0INT):Likewise.
20654 (X0UINT): Likewise.
20655 (X0STR): Likewise.
20656 (X0EXP): Likewise.
20657 (X0VEC): Likewise.
20658 (X0MODE): Likewise.
20659 (X0BITMAP): Likewise.
20660 (X0TREE): Likewise.
20661 (X0BBDEF): Likewise.
20662 (X0ADVFLAGS): Likewise.
20663 (X0CSELIB): Likewise.
20664 (X0MEMATTR): Likewise.
20665 (XCWINT): Likewise.
20666 (XCINT): Likewise.
20667 (XCUINT): Likewise.
20668 (XCSTR): Likewise.
20669 (XCEXP): Likewise.
20670 (XCVEC): Likewise.
20671 (XCMODE): Likewise.
20672 (XCBITMAP): Likewise.
20673 (XCTREE): Likewise.
20674 (XCBBDEF): Likewise.
20675 (XCADVFLAGS): Likewise.
20676 (XCCSELIB): Likewise.
20677 (XC2EXP): Likewise.
20678 (INSN_UID): Likewise.
20679 (PREV_INSN): Likewise.
20680 (PATTERN): Likewise.
20681 (INSN_CODE): Likewise.
20682 (PUT_REG_NOTE_KIND): Likewise.
20683 (CODE_LABEL_NUMBER): Likewise.
20684 (NOTE_SOURCE_FILE): Likewise.
20685 (NOTE_BLOCK): Likewise.
20686 (NOTE_EH_HANDLER): Likewise.
20687 (NOTE_RANGE_INFO): Likewise.
20688 (NOTE_LIVE_INFO): Likewise.
20689 (NOTE_BASIC_BLOCK): Likewise.
20690 (NOTE_EXPECTED_VALUE): Likewise.
20691 (NOTE_LINE_NUMBER): Likewise.
20692 (LABEL_NAME): Likewise.
20693 (LABEL_NUSES): Likewise.
20694 (LABEL_ALTERNATE_NAME): Likewise.
20695 (ADDRESSOF_DECL): Likewise.
20696 (JUMP_LABEL): Likewise.
20697 (LABEL_NEXTREF): Likewise.
20698 (REGNO): Likewise.
20699 (ORIGINAL_REGNO: Likewise.
20700 (HARD_REGISTER_NUM_P): Add parenthesis.
20701 (SUBREG_REG): Whitespace.
20702 (SUBREG_BYTE): Likewise.
20703 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
20704 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
20705 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
20706 (ASM_OPERANDS_INPUT_VEC): Likewise.
20707 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
20708 (ASM_OPERANDS_INPUT): Likewise.
20709 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
20710 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
20711 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
20712 (ASM_OPERANDS_INPUT_MODE): Likewise.
20713 (ASM_OPERANDS_SOURCE_FILE): Likewise.
20714 (ASM_OPERANDS_SOURCE_LINE): Likewise.
20715 (MEM_SET_IN_STRUCT_P): Minor reformat.
20716 (TRAP_CONDITION): Whitespace.
20717 (TRAP_CODE): Likewise.
20718 (COND_EXEC_TEST): Likewise.
20719 (COND_EXEC_CODE): Likewise.
20720 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
20721 (PHI_NODE_P): Add parenthesis.
20722 (plus_constant): Whitespace and add parenthesis.
20723
e03f5d43
KH
207242002-01-03 Kazu Hirata <kazu@hxi.com>
20725
20726 * config/avr/avr.c: Fix comment typos.
20727 * config/c4x/c4x.md: Likewise.
20728 * config/dsp16xx/dsp16xx.h: Likewise.
20729 * config/dsp16xx/dsp16xx.md: Likewise.
20730 * config/i386/i386.md: Likewise.
20731 * config/ia64/ia64.c: Likewise.
20732 * config/m32r/m32r.h: Likewise.
20733 * config/m68hc11/m68hc11.md: Likewise.
20734 * config/mmix/mmix.c: Likewise.
20735 * config/mn10200/mn10200.c: Likewise.
20736 * config/romp/romp.c: Likewise.
20737 * config/sh/sh.c: Likewise.
20738 * config/stormy16/stormy16.c: Likewise.
20739 * config/stormy16/stormy16.h: Likewise.
20740 * config/stormy16/stormy16.md: Likewise.
20741
97e300e9
GS
207422002-01-03 Graham Stott <grahams@redhat.com>
20743
20744 * loop.h: Update copyright date.
0d24f4d1
ZW
20745 (LOOP_MOVABLES): Fix typo.
20746 (LOOP_REGS): Likewise.
20747 (LOOP_IVS): Likewise.
ff81832f 20748
745b26b3
GS
207492002-01-03 Graham Stott <grahams@redhat.com>
20750
20751 * cppinit.c: Update copyright date.
20752 Don't include output.h
20753 * Makefile.in: Update copyright date.
20754 Update dependency.
20755
0a379b7a
CR
207562002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
20757
20758 PR c/5226
20759 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
20760 (-pthread) Add to RS/6000 options.
20761
a8154559
KH
207622002-01-02 Kazu Hirata <kazu@hxi.com>
20763
20764 * except.c: Fix comment typos.
20765 * loop.c: Likewise.
20766 * varasm.c: Likewise.
20767 * doc/tm.texi: Fix a typo.
20768
e6ecc89b
JJ
207692002-01-02 Jakub Jelinek <jakub@redhat.com>
20770
20771 * c-typeck.c (output_init_element): Allow initializing static storage
20772 duration objects with compound literals.
20773
d1094b40
RH
207742002-01-02 Richard Henderson <rth@redhat.com>
20775
20776 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
20777 after abusing it.
20778
0c5d8c82
KG
207792002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20780
5e65297b
KG
20781 * gcc.c (default_compilers): Const-ify.
20782 * mips-tdump.c (stab_names): Likewise.
20783 * mips-tfile.c (map_coff_types, map_coff_storage,
20784 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
20785 pseudo_ops_t, pseudo_ops): Likewise.
20786 * protoize.c (default_include): Likewise
20787
0c5d8c82
KG
20788 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
20789 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
20790 Add array size in declaration.
20791 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
20792 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
20793 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
20794 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
20795 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
20796 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
20797 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
20798 emtens, make_nan): Const-ify.
20799 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
20800 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
20801
817e13c4
JM
208022002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
20803
20804 * config.gcc (ia64-*-*): Set extra_headers.
20805 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
20806 * config/alpha/t-osf: Remove.
20807 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
20808
98095e2b
DE
208092002-01-02 David Edelsohn <edelsohn@gnu.org>
20810
20811 * config/rs6000/t-aix43: Revert previous change.
20812
a4200657
JM
208132002-01-02 Jason Merrill <jason@redhat.com>
20814
20815 * c-decl.c (c_expand_body): Call outlining_inline_function when
20816 emitting an inline function out of line.
20817
54ba1f0d
RH
208182002-01-02 Richard Henderson <rth@redhat.com>
20819
20820 * dwarf2out.c (limbo_die_node): Add created_for member.
20821 (new_die): New argument created_for. Update all callers.
20822 (mark_limbo_die_list): New.
20823 (dwarf2out_init): Register limbo_die_list as a root.
20824 (dwarf2out_finish): Force insert limbo dies into their function
20825 context.
20826
323728aa
NS
208272002-01-02 Nathan Sidwell <nathan@codesourcery.com>
20828
20829 PR c++/5089
20830 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
20831
aefc5826
KH
208322002-01-02 Kazu Hirata <kazu@hxi.com>
20833
20834 * config/h8300/fixunssfsi.c: Update copyright.
20835 Fix comment typos.
20836 Fix formatting.
20837 * config/h8300/h8300.c: Update copyright.
20838 Eliminate warnings.
20839
b1c9bc51
KH
208402002-01-02 Kazu Hirata <kazu@hxi.com>
20841
20842 * config/romp/romp.c: Fix comment formatting.
20843 * config/romp/romp.h: Likewise.
20844 * config/romp/romp.md: Likewise.
20845 * config/s390/s390.c: Likewise.
20846 * config/stormy16/stormy16.c: Likewise.
20847 * config/stormy16/stormy16.h: Likewise.
20848
1574ef13
AO
208492002-01-02 Alexandre Oliva <aoliva@redhat.com>
20850
20851 * c-common.h (genrtl_expr_stmt_value): Declare.
20852 * c-semantics.c (genrtl_goto_stmt): Redirect to...
20853 (genrtl_goto_stmt_value): ... this new function. Pass new
20854 argument down to expand_expr_stmt_value, taking
20855 TREE_ADDRESSABLE into account.
20856 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
20857 STMT_EXPR as addressable, i.e., one whose result we want.
20858 * expr.c (expand_expr): Don't save expression statement value
20859 of labeled_blocks or loop_exprs.
20860 * stmt.c (expand_expr_stmt): Redirect to...
20861 (expand_expr_stmt_value): ... this new function. Use new
20862 argument to tell whether to save expression value.
20863 (expand_end_stmt_expr): Reset last_expr_type and
20864 last_expr_value if we don't have either.
20865 * tree-inline.c (declare_return_variable): Mark its use
20866 statement as addressable.
20867 * tree.h: Document new use of TREE_ADDRESSABLE.
20868 (expand_expr_stmt_value): Declare.
20869
252b88f7
TR
208702002-01-01 Tom Rix <trix@redhat.com>
20871
20872 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
20873 rs6000_emit_allocate_stack.
20874
29f7a208
JM
208752002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
20876
20877 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
20878 ${srcdir}/ginclude/ to every entry in extra_headers.
20879 * configure: Regenerate.
20880 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
20881 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
20882 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
20883 * ginclude/proto.h: Rename to config/convex/proto.h.
20884
2cc2d4bb
RK
20885Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20886
20887 * attribs.c (handle_vector_size_attribute): Use host_integerp
20888 and tree_int_cst; remove warnings.
20889 * caller-save.c (insert_restore): Add cast to get rid of warning.
20890 (insert_save): Likewise.
20891 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
20892 * regmove.c (find_matches): Add temporary var to kill a warning.
20893
f01c9bcd
DR
208942002-01-01 Douglas B Rupp <rupp@gnat.com>
20895
16b61764
DR
20896 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
20897 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
20898 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
20899 (vms-dwarf2eh.o): Add Makefile rule.
20900 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
20901 * config/alpha/vms-dwarf2eh.asm: New file.
20902
f01c9bcd
DR
20903 * gcc.c (delete_if_ordinary): Delete all versions.
20904
91312b81
HPN
209052002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
20906
20907 * config/mmix/mmix.md: Update FIXME to not mention
20908 define_constants.
20909 (MMIX_rJ_REGNUM): New define_constants constant.
20910 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
20911 "*movdicc_real"): Adjust contraints formatting.
20912 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
20913 for branch prediction.
20914 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
20915 output template.
20916 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
20917 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
20918 number. Delete related FIXMEs.
20919 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
20920 from number to MMIX_rJ_REGNUM.
20921 (TARGET_MASK_BRANCH_PREDICT): New.
20922 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
20923 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
20924 value. Add -mbranch-predict and -mno-branch-predict.
20925 (TARGET_VERSION): Drop date.
20926 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
20927 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
20928 for finding out global symbols.
20929 (mmix_asm_output_labelref): Revert condition for global symbol.
20930 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
20931 (mmix_print_operand_punct_valid_p): A '+' is valid.
20932
619acae7 20933See ChangeLog.6 for earlier changes.